From f156980db88dbb06b1052c65ea4a059860804029 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Fri, 5 Dec 2025 15:37:18 +0000 Subject: [PATCH 01/12] model changed for #70 --- project/excel/opencloning_linkml.xlsx | Bin 30965 -> 31733 bytes project/graphql/opencloning_linkml.graphql | 23 +- .../jsonld/opencloning_linkml.context.jsonld | 30 +- project/jsonld/opencloning_linkml.jsonld | 280 +-- .../jsonschema/opencloning_linkml.schema.json | 132 +- project/owl/opencloning_linkml.owl.ttl | 1055 +++++------ project/protobuf/opencloning_linkml.proto | 23 +- project/python/opencloning_linkml.py | 205 +- project/shacl/opencloning_linkml.shacl.ttl | 1644 +++++++++-------- project/shex/opencloning_linkml.shex | 39 +- project/sqlschema/opencloning_linkml.sql | 43 +- src/opencloning_linkml/datamodel/_models.py | 296 ++- .../migrations/model_archive/v0_4_9.py | 0 .../transformations/v0_4_6_to_v0_4_9.py | 0 .../schema/opencloning_linkml.yaml | 73 +- tests/migration/v0.4.9/genbank_id.json | 28 + .../migration/v0.4.9/genome_coordinates.json | 55 + tests/migration/v0.4.9/manually_typed.json | 49 + 18 files changed, 1995 insertions(+), 1980 deletions(-) create mode 100644 src/opencloning_linkml/migrations/model_archive/v0_4_9.py create mode 100644 src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py create mode 100644 tests/migration/v0.4.9/genbank_id.json create mode 100644 tests/migration/v0.4.9/genome_coordinates.json create mode 100644 tests/migration/v0.4.9/manually_typed.json diff --git a/project/excel/opencloning_linkml.xlsx b/project/excel/opencloning_linkml.xlsx index 1be39a90ed0db6d60dab80d747923078f113d120..b7df50295d42d90d466b31d9c9f7578cbda160e4 100644 GIT binary patch delta 5249 zcmai1c_5Tq*q<3@?6U8BCS;d=U$RG*>wD*&x>EQ1zWL+KIluFJp7WgNJm-1dv%Ugf--Oec8IzDQ!C)|QSZHi&F3lhG z;GaWDk)Yrb2=>5XFnYkun+c1{H96TKMV+?S{VL|ujY_U^3Dz4Wn%ZX>(jD?69dy53 zdwg@URY=@Hft0nv@$bzQjJ_9cwi_8s+lwiqo${7_nB}+~7B0BT#drHK2Ybfx5vHZn zQh9@NTy4hd{D;V`?A|16<=N+@7#8k4DJ;R+iyQ5+f3+)PcFsYG>pCN`$)d(=CwB2J zrYymkliD;LX4LD?E3?=hsHwF)@0l&h68z)QiF@`z%w~C1XQOj9vf`)|o@}V@G$%yk zjsz-4IeHXK*T;`6+%LM>eY?vJSMVZR?ty7lbg84p*Bb4q(1y?dcs#%;Jk8L&xBTht zW7Y#+aVT=cPry}BB%o{X9OOQ5sFO~SOYCq_p%JtMugx4~^>G0`Hh}=>nc4B4G=W6I zIBhhsV@ro6cE;#)h#g8vn0YP2-+m-Ev~)-`W<=jk!;h@9H43@h>(^6 zav5dt7wt5Od`T`{1i>D_K}-;Tg@+Rw;G6iuh#l#}X2faf!)W|1wCFx}M~KLU1l5jy z7jzKQ_`w&%w@ZlqI{<0}QFspNBM2ITak}vezDx)h><=K3hXX5fOd`_HH|x~6|8*(4 zZ_Lvkr-WW_l#^e)Trs(J&EmE9c;~Z3_#L)GK3DE;?{HrcG>J%l#k%a+JE7WXnB(r_ z17rQ>m49EPy2Qt$c>F<{-UyYi7EpQoCAoh2twukZbb$npCz3*d&l~bvc9%#e@m&lH z#d#c8OI}Z!DBW=2|T#C3zT%9*sn9R-<9(ciE~g(s+uR>!Z5!Crv!6 z;qHswk*2KSBT4U3ap(Z;E&<1!tl))voc?RobG23( zJ)>upw}WEBLQJk;tud{#BNBDP@uJCp57=yz4h^pI;x?a_DOpkKJ}wfy){rO`zbs-o zsNB6^I4UCjqEPq(rR?Li(ThG0;3dPa+?XB2$DEUT%U-04VC=LQH)|JX>sJ}6H^l6naeL^N;oDDC_ ziBd9&kEx+DUyNwG4gepcw|C5YE9cw~#ne6N;g1r`3(^VyM0uPx9yiu#Xe(tiB^>OP zh;F31-JkBJbDxxD;6rY;nD$VT5%+1@bHnBo-6@6>^H+TtEMM5O$KFk>?qOK)zi|1o zp&}(V=Yj{0b>e8b;GcY*tkc6rFafQ?8;eq$^rz0Lm9Ixyjx^#!-gVtM zfB%fFI}rHMM>|VohmNl`qWId7dfutkFLbiI2J^YIvzRU29;a@HZ-lJ1z8Q!F6 zrE%Vr)36N5Av3k%MfWE1pBI-)Tz3T&*U3sPuw1y6g0)B1Yeq6bh+dbbp=Ra^5#^Jr z*|zg5L&9ohRdJpsUW?Y$QDmM&WZeVrjNG^{ZfmTWtn{3ve}-W>&l&Q?o1o+`@>$Q}NKwl;D}>UBsq*eDFk974*47{4y&nDVHy5{tv-3}(ob3(b_& zyY}JA+#XbMJipKFgX`)x^M#*t`dvK10GkgA`|hWs!1!^Fs*PPuJ8l$w}?q{KpqX3#~aHf z6Nhn%Xt)CYx?(JGn4pFRmQ+x93ymmZn#CA+>o5iys<{YzXL!r z1cl$yB<67-K}`@}q`g0j*F65yU{-g30A%ZvL2E%N+FPGs+C}|LqF!D@f@!*jYx~Ra zg`w~?Ci}|(f0|O_tu(@kj0>iMfU_AHzTPy22&kH&;nD}{0WfTihRfi;nFDaBCL!5s z7nH%8#E1Z|8#_Yw7{1BUfH>9MRWCCMP8}iKL~u$Lf7I#|Q7@Yf8ZL)dx7plZM*iPr zpaO86+lr|T6wU+Qn{xtX5lH+u`)(q;+Yt>{#4kIJK|}nDGttB%V&w7xGAUTfb!>nH z22-a4)X%bF1470W>7KSyP8|w-r(rmLVvZV}5_yD%x?;}9MN*H^Zq+cDVRi20UE{x- zna5*DZ12Y}bob%y1 zv))mYd}q(>M>CiWbWI1}(UR)H$&$S(yjk^)_mY=v?I4y5<|`h3>P2H_OPreS{h{kC z%SLv>yBgc(8mrIVKZ#X+C#l~zvCPdn!Bb_v>7XflyJ=bun;gtxQl6`Hv%sNp`%2!W z^M2QGbT5UM0#uXkKhW%O;Qc@{UgZDy?&Q;1)hr1i+Q!+jk)`w5eU2CV-tjEe*jM{E z)|S;2rB+(|VLRMjyEt-8Y4J>26u0Q-y_U*an)KKX3_KRg<*zEaQ+OwtM&^~x#AJWe zDCS%`*-g&PG-oPo10NMz0s|tSRI_HtjR8?fDy&;p|3U6!`&wq<)oXJOujdiLqxZtw z8u{2*3s+RmZMU)&kWMj3%RArsP$JOLc#?F9@sUzgEjRX9f0aU8>=CI_diN#Q@p00` z7P>M?QqR|0eb-<@`3NEG@tNS7G)0Sk+X0P2-y*usa~KkIx6F-G+!(t(-;}fH{E~b0 znHJ%hl@Am3*!^+p9}=Glmvq{G#NWN6shxiOmfF+cJ><#Ot(U9RnR#)UVXdcCd!$#)m{|k(o~0uNl^&mQoM(D^e`tlW?Vy ztQt}&gE2|#Ex}i2*S{@v=%NmHS!C;CHTJHSUSLTxFF#rPadNPlB9Z%)1 zpxNIV^CIr%V<&4j$lRj&-)74>e(9!3rF7L+;%_%CWXF=Mn{oxnR>$hd9ygCSsO2>k z=3<;lC5>@Wd+Us<+#~(8mu(}~s40TpW9r$ner)M=9xaKPbS9OvT@iX+ zc%Mra{swiN!BH%mo?Lx4a~Nwq8*;-pH}8I7 z*J^BjKH387d%iMeEfx9b`tHTE8qeh>ZVhYPOuMVc;h81B9iBCrYq4Zdr(&ICGr!UJ z^1*b#`)4xULhKt|_7paS_dfmerZTxGUteY+x5;d9vBsf#vUpxm(0t=rt(v>V(Q)+r zIH#Ie2)o-wvHq`ALmdf8d9#U{rEA%bGW41RsG1%rjbIxeJ})V1D+oPNL7j`-B)1CO zj2(8S)yh9CvylEaraY!{4{0v{ESfX(1ik&FlcG~DU2 zD*lf&nNr{XVS7e1ZRZ^`+=^o?oyJy5HKqNMM|s;)a#=#MMTM3UP7bsEwMN};s>|a} z^#h-5uVx?1Amvw`vf>R&4WIcdX5@KpuMOQ>iEP6A|D}VI?D1zD^KPn{7wiE01+wFPm{_u_Xlsym z35kqtZ~O2sxP0BM&jP6eXki&)nIwU80z$&`I_9Nio-kdKq;h^H8j1^gX0igp96AGq zWd_j(t~uA{&ikPnkndSgO~^SGR5Nmg1@#cQ&4Ox0!dX%6ND5X|2a=u@^#sYzibZuY zbK87x*5^oy+k|gj0{jJ#<1GMjnm=YJDuQd$gCCS^KM3G|LLx2D?=1us-LKx9 zh*%0hTA2k9_o0IzO&?AK9Tngb!Xia@xcp+zPw%*2wJOqpdYFMmA9_g7b5KtoEd=e+ zBE^2yBh%)-cmlM}#vgHU8GkzoX(nG`xzQhHu`f?(i86l|O zmmYFK!wI;1J}5f{R@8$o_?qWO^uSR+PQ+stV8ELNIPFJN6a+#BY!FoO9eNwiiLm5= zpikeSJ&?7;Nr0H37v3)$1eOCh5%N5cNR&TOah5+PB9ae++P*{aft-kC0bs?SXboYg zgN7KU0Yo8!o=ZXyg!>5^5rLqIpCAq~aPurcf*2AI4y1+-fuPS(0)o8*iTVgojT8Zr zlKHO#{`d7t3Z|q3VS@nP2MR-Hvj0x`m180YEv6AfT#P!16Va>yL1{lh9!e1O;yZL1 zWHG9M5GTMMOf>vG2sNrgEQerv=mro!MtMV-5l-ra2_~igFdrZYvS<>*7nlns8bN>_ zYC(`x$Ufw%142Z%6Btyw5ToTM#$7!KLWb@O*%?4kjy@8+;RkOjdnhLYW&}+G-zA(u zsNNWY#(q*VXhMLP6#qB-qfSC1HKs_wFN_-Ucw12+CI*aTelU^`o(i8i=nQ7?(--xd zMTDpww1B49!x$hv*ZpTHQb9chzv=Ni1rb%l8KB6a1Z736At?DfWDY`?Z6K&SoT$zX zv)exhstf%sSpKvl5SeA={%ey2!+IScO|}u=4g2xU{F`B3ry*i#1ko_R2=JOa5g-}a z|MH;2AaX^|0!$YAlrR|0&jAd_xBvqYoY3|@gIeBU0P0Bg(}X0m|JekQ7P0GW!+a*NlD78|aSYrd5O~!Zg6O%X|s){{t#q BPA>oe delta 4861 zcmai1c|278_n#pmJ42eWGkD4}_AOfqQ9_nvPb9L9-56tu5TPq7ds!+GCL#(EWh?4Y zky4~Qma!x>$@k8^p0qr#-*5i-+|PO6_xqf4Kc90ybMDeIa%mpPW^PKq1%*H$m=M$6 zgbcO{5_qw{&U;RI1_Zm22m}{+J?`gbj`#Bqly~#PyUT_7oVt+FYSxBhO>lPq=Uy=2 zC9=;>PQ*+^RDro&)}*Q8%KoeE*G7hctO`slOXte^w^ugB%nv?u6}SoGEYF@)x!Wh@ z`k+*ulL49DgUmCtmW*T%B?etyP?{C>BrO&#Gc{HEwTPZ9-`^%7({@b8%*30|eI;c? zri!u3;7mSuRdQ=QHbrjj6;6spqco%_!Sz~#$Hamm>zjNb=ZO#9gHi);T#AZS9_)So z+(^X{bfckk>|8sFEwVQ)Xkl?<3FSSjw;JfQsaH^AVB}*?$k;4M~cfg;}_*h5RDm4ci5JfBZ4eFH}8a(lhIBjq!TbP@Ix~^!X=FXoZ zyQoP*S4&8FVT32+)5k9FvY32>Ah4 zY2lCd_355LW+dwx4x1;%cs8XgD$}ExPWbNamdaaXOmuwPjf*%P5|ffeu_@;mh_1OJ zm;LhIEmO4&8$Jq=OVX`{B4^P^YT*9(o!j+k~TYt^npniYzkarnBq zm)7qWS09e#A5o0jncIeGOl&)qM>yB#W1nO_&8(t|!ba;h2c#Y~!p@F=5ZUQ;)^MSM znAz+!@$pL?r~k}n`M(FulMY?+td86NEH1}y4)=`ug6~#zq1?S37U44$-I7oR?Zn7W zX6)|dwY`GgqeuR`kxiK`K|SoRBx+JwjmFb#4b9Q+({-)u15*MOj!N-t`UTOIc=I$q zwHpUToNFAp!%Pq_G!Q-}>)uXp4bIm;=DLkh$ROo(f1DAL8ajgeYucXOJAC{5uf>!p z0{h{tv)JfHnYpy4@g=R<&w5e9V+1PlzO5<>tz~1EM;xzMqB6YE8t?c(^cBodI;%0) zXe7+D(iC{k%q&u`%z6LX_Fqa0c%+5}NGc5E1+|UC<&oNT=qLe1w6I83vY}QaYz7!e z&?%~s=k%js`;-nAsZKtxbMD7&AYErGc}YL~UjR!s)`Oh_0R~tyMSmkgfI;ylMSI^* zlySoigUtksR3R&wq`;?ExvMYh1Xy#2!J0$UDXEe_nSTD^0{K%?v^ZPLHk`;>NB|;X zj6l_)Eo6I(7+BzfmY`F{k&zB~*p9Hm0=L2#$i-IhnF^@dV1WWF2C|FIUYJp4i$yAt zdu^v+v(XNVR3^W(TmIn>cx%Ta*p!=1d#n*Bj7h|#%%%;R}Z`yXro6U<~e|O$G4Ma@I#uM34ZbO3<7gT1FAfl z2F#*8#qlx9YqG;<`}YohHO6z}moCfX!% z^KQ9n>1EfY_Nc5?g8vo${nteqe%JEM8+!^ZpNUNS?v4#m6z^^HxX2+^>vNW8vhI2~ z+QDqMzkF)&43DhyioQ-9slM@s;2V<yP_i( z3s&1&mpwb)4cmsRNq%&_x2^ZWXSJT4lqzC7eddMrc$cl~gM~_;V#F9xY|&16w~jNR zlnO6Ks~TpxM2zs1687AsRH^Q`8D!lkG#2aXVBT>HJ+bcUpqOI%;AL#EVO^3y2hqh} zn5nPRp!fl4kF68OVn%DE#Knd*pE717@t9r#|I@o(I#gt?KXdLkuG#^@^w>+iXM0J! zclk^Nh0pPh7k8zb1{=Gr-LsU&KN|Mr;m@8Ka2Xa}sf?bu~S~8aD?d7e{j^~fkclaWHc}+{k!ZoILWKV+oP`g_q zCQ!2d`RS4avj31NG84Ip*Lijk?T1?f0%-7(52KAB;z z?Q!&~H;Ye*M5%5sHdln1w_W~*Agj9c3Bx_TVMhJg9r=t2H|H4bo3mEk*p&}!V)1(< z;=H%Gcns*ion@wq^d%m5DSKX#^j&IAH}RRsq%wa&U!2BtNkWsxwxNjx-8_%)p06W= zsUzc8UbRhomrUIEsi3SyeOX2>25El(#`DXOYj4TzmRbd#5b*-QTTd}kgYN@9RQx;J z>Tif0vk&-?*65+c?Nu&E+K+WBS&Yua6-K+27{}pvdUq@=ITLF-fG1(s7Akd0W-9kT zTn$q%IoZ(L5Y8bgduRSg$(_4NWm9>n)l6`asw<60_k7JTEuE+7qCD!AlJ>MJ zJPv=xPF_LV|8HOuRAcPi94Z1cAB@%)jdlDV!_~3A(fZ$pQ1*xWcL;V%$A?@@>%ra35g_+?-9<|N-HfJs z^(@?4zfik;bI?7IspT%|JP>Mbiljr)|M*SEP7&oZS;rlKA^}~3i8nn`Y`2$BCYwtk+}RY zbiG^<0R~{spA~xUbuf^Z5DixN&$au}gERc@?4}6hEIa_tcn*)DlMsiXmQ4s53d{va z|A^Ej1rf~fu!a_#bteQ}_z5zTffj8T&kYG_p3~(ZNGxy@8pA=*D2@^E3xv1kM+^VQ zldCF054;P6GXpKUc2$U=69fmi3_||u5EQ=wy#pa$O$h1<;)ZJ6&GXFaj>Y@M6Y3Er~vJLs~+t>K+$IaW`B}- z?tx%j2)uGMCdXdDH3Y6+npw9GV%*x&Vu??O?+SXSyvMLzi$ElIB}60@N@#H46}4wu0c@;oQ(06}LwC;sx_u-9&SQXK z-p~?!>5R4^5Ntoc*~k_rpg#fwRWb$CX}bcfgdL8w)!1x`5eSZ7G?K>s^} GjQ;_y{r8pt diff --git a/project/graphql/opencloning_linkml.graphql b/project/graphql/opencloning_linkml.graphql index b369584..597aff6 100644 --- a/project/graphql/opencloning_linkml.graphql +++ b/project/graphql/opencloning_linkml.graphql @@ -223,13 +223,12 @@ type GenomeCoordinatesSource outputName: String databaseId: Integer input: [SourceInput] + repositoryName: RepositoryName! + repositoryId: String! assemblyAccession: String - sequenceAccession: String! locusTag: String geneId: Integer - start: Integer! - end: Integer! - strand: Integer! + location: SimpleSequenceLocation! } type GibsonAssemblySource @@ -301,10 +300,6 @@ type ManuallyTypedSource outputName: String databaseId: Integer input: [SourceInput] - overhangCrick3prime: Integer - overhangWatson3prime: Integer - userInput: String! - circular: Boolean } type NamedThing @@ -312,6 +307,18 @@ type NamedThing id: Integer! } +type NCBISequenceSource + { + id: Integer! + type: String + outputName: String + databaseId: Integer + input: [SourceInput] + repositoryName: RepositoryName! + location: SimpleSequenceLocation + repositoryId: String! + } + type OligoHybridizationSource { id: Integer! diff --git a/project/jsonld/opencloning_linkml.context.jsonld b/project/jsonld/opencloning_linkml.context.jsonld index 20b625f..a241b6b 100644 --- a/project/jsonld/opencloning_linkml.context.jsonld +++ b/project/jsonld/opencloning_linkml.context.jsonld @@ -1,7 +1,7 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2025-11-27T13:31:19", + "generation_date": "2025-12-05T15:35:20", "source": "opencloning_linkml.yaml" }, "@context": { @@ -163,10 +163,6 @@ "assembly_accession": { "@id": "assembly_accession" }, - "end": { - "@type": "xsd:integer", - "@id": "end" - }, "gene_id": { "@type": "xsd:integer", "@id": "gene_id" @@ -174,24 +170,13 @@ "locus_tag": { "@id": "locus_tag" }, - "sequence_accession": { - "@id": "sequence_accession" - }, - "start": { - "@type": "xsd:integer", - "@id": "start" - }, - "strand": { - "@type": "xsd:integer", - "@id": "strand" - }, "id": "@id", - "user_input": { - "@id": "user_input" - }, "name": { "@id": "schema:name" }, + "location": { + "@id": "location" + }, "output_name": { "@id": "output_name" }, @@ -251,6 +236,10 @@ "@type": "xsd:integer", "@id": "start_location" }, + "strand": { + "@type": "xsd:integer", + "@id": "strand" + }, "Type": { "@id": "Type" }, @@ -397,6 +386,9 @@ "NamedThing": { "@id": "schema:Thing" }, + "NCBISequenceSource": { + "@id": "NCBISequenceSource" + }, "OligoHybridizationSource": { "@id": "OligoHybridizationSource" }, diff --git a/project/jsonld/opencloning_linkml.jsonld b/project/jsonld/opencloning_linkml.jsonld index adaf183..451ff02 100644 --- a/project/jsonld/opencloning_linkml.jsonld +++ b/project/jsonld/opencloning_linkml.jsonld @@ -86,6 +86,20 @@ "pattern": "^(\\d+)\\.\\.(\\d+)$", "@type": "TypeDefinition" }, + { + "name": "simple_sequence_location", + "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/SimpleSequenceLocation", + "description": "A simple sequence location defined using genbank syntax (e.g. 1..100 or complement(1..100)), note that 1..100 in genbank is equivalent to 0:100 in python", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "exact_mappings": [ + "GENO:0000965" + ], + "typeof": "string", + "base": "str", + "uri": "http://www.w3.org/2001/XMLSchema#string", + "pattern": "^((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))$", + "@type": "TypeDefinition" + }, { "name": "string", "definition_uri": "https://w3id.org/linkml/String", @@ -407,7 +421,7 @@ }, { "text": "genbank", - "description": "GenBank" + "description": "GenBank / NCBI" }, { "text": "benchling", @@ -682,7 +696,6 @@ "owner": "OligoHybridizationSource", "domain_of": [ "TextFileSequence", - "ManuallyTypedSource", "OligoHybridizationSource" ], "range": "integer", @@ -695,10 +708,9 @@ "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_watson_3prime", "ifabsent": "int(0)", - "owner": "ManuallyTypedSource", + "owner": "TextFileSequence", "domain_of": [ - "TextFileSequence", - "ManuallyTypedSource" + "TextFileSequence" ], "range": "integer", "@type": "SlotDefinition" @@ -998,33 +1010,6 @@ "range": "string", "@type": "SlotDefinition" }, - { - "name": "manuallyTypedSource__user_input", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/user_input", - "alias": "user_input", - "owner": "ManuallyTypedSource", - "domain_of": [ - "ManuallyTypedSource" - ], - "range": "string", - "required": true, - "pattern": "^[acgtACGT]+$", - "@type": "SlotDefinition" - }, - { - "name": "manuallyTypedSource__circular", - "description": "Whether the sequence is circular or not", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/circular", - "alias": "circular", - "owner": "ManuallyTypedSource", - "domain_of": [ - "ManuallyTypedSource" - ], - "range": "boolean", - "@type": "SlotDefinition" - }, { "name": "uploadedFileSource__file_name", "description": "The name of the file", @@ -1103,30 +1088,29 @@ "@type": "SlotDefinition" }, { - "name": "genomeCoordinatesSource__assembly_accession", - "description": "The accession of the assembly", + "name": "nCBISequenceSource__location", + "description": "If provided, represents the location of a subsequence within the sequence identified by the sequence accession.", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/assembly_accession", - "alias": "assembly_accession", - "owner": "GenomeCoordinatesSource", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/location", + "alias": "location", + "owner": "NCBISequenceSource", "domain_of": [ - "GenomeCoordinatesSource" + "NCBISequenceSource" ], - "range": "string", + "range": "simple_sequence_location", "@type": "SlotDefinition" }, { - "name": "genomeCoordinatesSource__sequence_accession", - "description": "The accession of the sequence", + "name": "genomeCoordinatesSource__assembly_accession", + "description": "The accession of the assembly", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/sequence_accession", - "alias": "sequence_accession", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/assembly_accession", + "alias": "assembly_accession", "owner": "GenomeCoordinatesSource", "domain_of": [ "GenomeCoordinatesSource" ], "range": "string", - "required": true, "@type": "SlotDefinition" }, { @@ -1155,48 +1139,6 @@ "range": "integer", "@type": "SlotDefinition" }, - { - "name": "genomeCoordinatesSource__start", - "description": "The starting coordinate (1-based) of the sequence in the sequence accession", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/start", - "alias": "start", - "owner": "GenomeCoordinatesSource", - "domain_of": [ - "GenomeCoordinatesSource" - ], - "range": "integer", - "required": true, - "@type": "SlotDefinition" - }, - { - "name": "genomeCoordinatesSource__end", - "description": "The ending coordinate (1-based) of the sequence in the sequence accession", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/end", - "alias": "end", - "owner": "GenomeCoordinatesSource", - "domain_of": [ - "GenomeCoordinatesSource" - ], - "range": "integer", - "required": true, - "@type": "SlotDefinition" - }, - { - "name": "genomeCoordinatesSource__strand", - "description": "The strand of the sequence in the sequence accession, should be 1 or -1", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/strand", - "alias": "strand", - "owner": "GenomeCoordinatesSource", - "domain_of": [ - "GenomeCoordinatesSource" - ], - "range": "integer", - "required": true, - "@type": "SlotDefinition" - }, { "name": "sequenceCutSource__left_edge", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", @@ -1868,44 +1810,6 @@ "range": "string", "@type": "SlotDefinition" }, - { - "name": "ManuallyTypedSource_overhang_crick_3prime", - "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_crick_3prime", - "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", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "is_a": "overhang_crick_3prime", - "domain": "ManuallyTypedSource", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_crick_3prime", - "ifabsent": "int(0)", - "alias": "overhang_crick_3prime", - "owner": "ManuallyTypedSource", - "domain_of": [ - "ManuallyTypedSource" - ], - "is_usage_slot": true, - "usage_slot_name": "overhang_crick_3prime", - "range": "integer", - "@type": "SlotDefinition" - }, - { - "name": "ManuallyTypedSource_overhang_watson_3prime", - "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_watson_3prime", - "description": "The equivalent of `overhang_crick_3prime` but for the watson strand", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "is_a": "overhang_watson_3prime", - "domain": "ManuallyTypedSource", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/overhang_watson_3prime", - "ifabsent": "int(0)", - "alias": "overhang_watson_3prime", - "owner": "ManuallyTypedSource", - "domain_of": [ - "ManuallyTypedSource" - ], - "is_usage_slot": true, - "usage_slot_name": "overhang_watson_3prime", - "range": "integer", - "@type": "SlotDefinition" - }, { "name": "UploadedFileSource_sequence_file_format", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/sequence_file_format", @@ -2103,6 +2007,42 @@ "pattern": "^[^\\/]+\\/[^\\/]+$", "@type": "SlotDefinition" }, + { + "name": "NCBISequenceSource_repository_id", + "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/repository_id", + "description": "The sequence accession (e.g. X60065.1)", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "is_a": "repository_id", + "domain": "NCBISequenceSource", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/repository_id", + "alias": "repository_id", + "owner": "NCBISequenceSource", + "domain_of": [ + "NCBISequenceSource" + ], + "is_usage_slot": true, + "usage_slot_name": "repository_id", + "range": "string", + "required": true, + "@type": "SlotDefinition" + }, + { + "name": "GenomeCoordinatesSource_location", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "is_a": "nCBISequenceSource__location", + "domain": "GenomeCoordinatesSource", + "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/location", + "alias": "location", + "owner": "GenomeCoordinatesSource", + "domain_of": [ + "GenomeCoordinatesSource" + ], + "is_usage_slot": true, + "usage_slot_name": "location", + "range": "simple_sequence_location", + "required": true, + "@type": "SlotDefinition" + }, { "name": "RestrictionAndLigationSource_restriction_enzymes", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/restriction_enzymes", @@ -2500,28 +2440,9 @@ "type", "output_name", "database_id", - "source__input", - "ManuallyTypedSource_overhang_crick_3prime", - "ManuallyTypedSource_overhang_watson_3prime", - "manuallyTypedSource__user_input", - "manuallyTypedSource__circular" + "source__input" ], "slot_usage": {}, - "attributes": [ - { - "name": "user_input", - "range": "string", - "required": true, - "pattern": "^[acgtACGT]+$", - "@type": "SlotDefinition" - }, - { - "name": "circular", - "description": "Whether the sequence is circular or not", - "range": "boolean", - "@type": "SlotDefinition" - } - ], "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/ManuallyTypedSource", "@type": "ClassDefinition" }, @@ -2765,25 +2686,52 @@ "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/OpenDNACollectionsSource", "@type": "ClassDefinition" }, + { + "name": "NCBISequenceSource", + "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/NCBISequenceSource", + "description": "Represents the source of a sequence that is identified by an NCBI sequence accession", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "is_a": "RepositoryIdSource", + "slots": [ + "id", + "type", + "output_name", + "database_id", + "source__input", + "repositoryIdSource__repository_name", + "nCBISequenceSource__location", + "NCBISequenceSource_repository_id" + ], + "slot_usage": {}, + "attributes": [ + { + "name": "location", + "description": "If provided, represents the location of a subsequence within the sequence identified by the sequence accession.", + "range": "simple_sequence_location", + "@type": "SlotDefinition" + } + ], + "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/NCBISequenceSource", + "@type": "ClassDefinition" + }, { "name": "GenomeCoordinatesSource", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/GenomeCoordinatesSource", "description": "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "is_a": "Source", + "is_a": "NCBISequenceSource", "slots": [ "id", "type", "output_name", "database_id", "source__input", + "repositoryIdSource__repository_name", + "NCBISequenceSource_repository_id", "genomeCoordinatesSource__assembly_accession", - "genomeCoordinatesSource__sequence_accession", "genomeCoordinatesSource__locus_tag", "genomeCoordinatesSource__gene_id", - "genomeCoordinatesSource__start", - "genomeCoordinatesSource__end", - "genomeCoordinatesSource__strand" + "GenomeCoordinatesSource_location" ], "slot_usage": {}, "attributes": [ @@ -2793,13 +2741,6 @@ "range": "string", "@type": "SlotDefinition" }, - { - "name": "sequence_accession", - "description": "The accession of the sequence", - "range": "string", - "required": true, - "@type": "SlotDefinition" - }, { "name": "locus_tag", "description": "The locus tag of the sequence", @@ -2811,27 +2752,6 @@ "description": "The gene id of the sequence", "range": "integer", "@type": "SlotDefinition" - }, - { - "name": "start", - "description": "The starting coordinate (1-based) of the sequence in the sequence accession", - "range": "integer", - "required": true, - "@type": "SlotDefinition" - }, - { - "name": "end", - "description": "The ending coordinate (1-based) of the sequence in the sequence accession", - "range": "integer", - "required": true, - "@type": "SlotDefinition" - }, - { - "name": "strand", - "description": "The strand of the sequence in the sequence accession, should be 1 or -1", - "range": "integer", - "required": true, - "@type": "SlotDefinition" } ], "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/GenomeCoordinatesSource", @@ -3542,9 +3462,9 @@ ], "metamodel_version": "1.7.0", "source_file": "opencloning_linkml.yaml", - "source_file_date": "2025-11-27T13:31:15", - "source_file_size": 26128, - "generation_date": "2025-11-27T13:31:19", + "source_file_date": "2025-12-05T15:35:12", + "source_file_size": 25767, + "generation_date": "2025-12-05T15:35:20", "@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 98efd97..0e3bf81 100644 --- a/project/jsonschema/opencloning_linkml.schema.json +++ b/project/jsonschema/opencloning_linkml.schema.json @@ -568,9 +568,6 @@ { "$ref": "#/$defs/RepositoryIdSource" }, - { - "$ref": "#/$defs/GenomeCoordinatesSource" - }, { "$ref": "#/$defs/SequenceCutSource" }, @@ -648,6 +645,12 @@ }, { "$ref": "#/$defs/OpenDNACollectionsSource" + }, + { + "$ref": "#/$defs/NCBISequenceSource" + }, + { + "$ref": "#/$defs/GenomeCoordinatesSource" } ] }, @@ -706,9 +709,6 @@ { "$ref": "#/$defs/RepositoryIdSource" }, - { - "$ref": "#/$defs/GenomeCoordinatesSource" - }, { "$ref": "#/$defs/SequenceCutSource" }, @@ -786,6 +786,12 @@ }, { "$ref": "#/$defs/OpenDNACollectionsSource" + }, + { + "$ref": "#/$defs/NCBISequenceSource" + }, + { + "$ref": "#/$defs/GenomeCoordinatesSource" } ], "description": "The source of the sequence for this option" @@ -1226,10 +1232,6 @@ "null" ] }, - "end": { - "description": "The ending coordinate (1-based) of the sequence in the sequence accession", - "type": "integer" - }, "gene_id": { "description": "The gene id of the sequence", "type": [ @@ -1258,6 +1260,11 @@ "null" ] }, + "location": { + "description": "If provided, represents the location of a subsequence within the sequence identified by the sequence accession.", + "pattern": "^((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))$", + "type": "string" + }, "locus_tag": { "description": "The locus tag of the sequence", "type": [ @@ -1272,17 +1279,12 @@ "null" ] }, - "sequence_accession": { - "description": "The accession of the sequence", + "repository_id": { + "description": "The sequence accession (e.g. X60065.1)", "type": "string" }, - "start": { - "description": "The starting coordinate (1-based) of the sequence in the sequence accession", - "type": "integer" - }, - "strand": { - "description": "The strand of the sequence in the sequence accession, should be 1 or -1", - "type": "integer" + "repository_name": { + "$ref": "#/$defs/RepositoryName" }, "type": { "description": "Designates the class", @@ -1296,10 +1298,9 @@ } }, "required": [ - "sequence_accession", - "start", - "end", - "strand", + "location", + "repository_id", + "repository_name", "id" ], "title": "GenomeCoordinatesSource", @@ -1695,13 +1696,6 @@ "additionalProperties": false, "description": "Represents the source of a sequence that is manually typed by the user", "properties": { - "circular": { - "description": "Whether the sequence is circular or not", - "type": [ - "boolean", - "null" - ] - }, "database_id": { "description": "The id of an entity in a database", "type": [ @@ -1737,40 +1731,94 @@ "null" ] }, - "overhang_crick_3prime": { - "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", + "type": { + "description": "Designates the class", + "enum": [ + "ManuallyTypedSource" + ], + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "title": "ManuallyTypedSource", + "type": "object" + }, + "NCBISequenceSource": { + "additionalProperties": false, + "description": "Represents the source of a sequence that is identified by an NCBI sequence accession", + "properties": { + "database_id": { + "description": "The id of an entity in a database", "type": [ "integer", "null" ] }, - "overhang_watson_3prime": { - "description": "The equivalent of `overhang_crick_3prime` but for the watson strand", + "id": { + "description": "A unique identifier for a thing", + "type": "integer" + }, + "input": { + "description": "The inputs to this source. If the source represents external import of a sequence, it's empty.", + "items": { + "anyOf": [ + { + "$ref": "#/$defs/SourceInput" + }, + { + "$ref": "#/$defs/AssemblyFragment" + } + ] + }, "type": [ - "integer", + "array", "null" ] }, + "location": { + "description": "If provided, represents the location of a subsequence within the sequence identified by the sequence accession.", + "pattern": "^((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))$", + "type": [ + "string", + "null" + ] + }, + "output_name": { + "description": "Used to specify the name of the output sequence", + "type": [ + "string", + "null" + ] + }, + "repository_id": { + "description": "The sequence accession (e.g. X60065.1)", + "type": "string" + }, + "repository_name": { + "$ref": "#/$defs/RepositoryName" + }, "type": { "description": "Designates the class", "enum": [ - "ManuallyTypedSource" + "NCBISequenceSource" ], "type": [ "string", "null" ] - }, - "user_input": { - "pattern": "^[acgtACGT]+$", - "type": "string" } }, "required": [ - "user_input", + "repository_id", + "repository_name", "id" ], - "title": "ManuallyTypedSource", + "title": "NCBISequenceSource", "type": "object" }, "NamedThing": { diff --git a/project/owl/opencloning_linkml.owl.ttl b/project/owl/opencloning_linkml.owl.ttl index 2455b83..54fb19e 100644 --- a/project/owl/opencloning_linkml.owl.ttl +++ b/project/owl/opencloning_linkml.owl.ttl @@ -15,52 +15,52 @@ opencloning_linkml:CloningStrategy a owl:Class, linkml:ClassDefinition ; rdfs:label "CloningStrategy" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:Primer ; + owl:onProperty opencloning_linkml:primers ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:files ], + owl:allValuesFrom opencloning_linkml:Sequence ; + owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:schema_version ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:backend_version ], + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primers ], + owl:onProperty opencloning_linkml:files ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:schema_version ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:version_number ; owl:onProperty opencloning_linkml:frontend_version ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequences ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequences ], + owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFile ; - owl:onProperty opencloning_linkml:files ], + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Primer ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; owl:minCardinality 0 ; @@ -69,11 +69,11 @@ opencloning_linkml:CloningStrategy a owl:Class, owl:allValuesFrom opencloning_linkml:Source ; owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sources ], + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ] ; + owl:allValuesFrom opencloning_linkml:AssociatedFile ; + owl:onProperty opencloning_linkml:files ] ; skos:definition "Represents a cloning strategy" ; skos:inScheme . @@ -91,31 +91,31 @@ opencloning_linkml:CollectionOption a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOption" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], + owl:allValuesFrom opencloning_linkml:Source ; + owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; owl:onProperty opencloning_linkml:info ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:info ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - 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:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ] ; skos:definition "Represents an option in a collection" ; skos:inScheme . @@ -124,77 +124,81 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOptionInfo" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:resistance ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:well ], + owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:resistance ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOptionType ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:resistance ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], + 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:resistance ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ] ; + owl:onProperty opencloning_linkml:resistance ] ; skos:definition "Additional information about a collection option" ; skos:inScheme . +opencloning_linkml:simple_sequence_location a owl:Class, + linkml:TypeDefinition ; + rdfs:subClassOf linkml:String . + opencloning_linkml:AddgeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AddgeneIdSource" ; rdfs:subClassOf [ 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:allValuesFrom opencloning_linkml:AddgeneSequenceType ; + owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:addgene_sequence_type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ 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 ], + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by an Addgene id" ; skos:inScheme . @@ -213,29 +217,29 @@ 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:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:AnnotationTool ; owl:onProperty opencloning_linkml:annotation_tool ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationReport ; - owl:onProperty opencloning_linkml:annotation_report ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationTool ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:annotation_tool_version ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:AnnotationReport ; + owl:onProperty opencloning_linkml:annotation_report ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:annotation_report ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:annotation_tool_version ], opencloning_linkml:Source ; skos:definition "Represents a computational step in which sequence features are annotated in a sequence" ; skos:inScheme . @@ -244,32 +248,32 @@ opencloning_linkml:AssemblyFragment a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblyFragment" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:right_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_location ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:reverse_complemented ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:reverse_complemented ], + owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:left_location ], + owl:onProperty opencloning_linkml:right_location ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:reverse_complemented ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_location ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:left_location ], opencloning_linkml:SourceInput ; skos:definition "Represents a fragment in an assembly" ; skos:inScheme . @@ -278,6 +282,9 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, linkml:ClassDefinition ; rdfs:label "BenchlingUrlSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; @@ -285,9 +292,6 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a Benchling URL" ; skos:inScheme . @@ -323,44 +327,44 @@ opencloning_linkml:CollectionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:title ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:category_id ], + owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:title ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOption ; owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:title ], [ 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 ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:category_id ], + owl:onProperty opencloning_linkml:description ], opencloning_linkml:Source ; skos:definition "Represents a collection of possible sources in a template" ; skos:inScheme . @@ -379,10 +383,10 @@ opencloning_linkml:DatabaseSource a owl:Class, owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a database id" ; @@ -392,6 +396,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:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^P\\d+$" ] ) ] ; @@ -399,9 +406,6 @@ opencloning_linkml:EuroscarfSource a owl:Class, [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Euroscarf plasmid library" ; skos:inScheme . @@ -420,6 +424,9 @@ opencloning_linkml:GatewaySource a owl:Class, linkml:ClassDefinition ; rdfs:label "GatewaySource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:reaction_type ], + [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; @@ -431,9 +438,6 @@ opencloning_linkml:GatewaySource a owl:Class, [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:GatewayReactionType ; owl:onProperty opencloning_linkml:reaction_type ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:greedy ], @@ -445,69 +449,42 @@ opencloning_linkml:GenomeCoordinatesSource a owl:Class, linkml:ClassDefinition ; rdfs:label "GenomeCoordinatesSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence_accession ], + owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:start ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:locus_tag ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:locus_tag ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:assembly_accession ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:assembly_accession ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:end ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:assembly_accession ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], - opencloning_linkml:Source ; + opencloning_linkml:NCBISequenceSource ; skos:definition "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; skos:inScheme . @@ -522,11 +499,11 @@ opencloning_linkml:IGEMSource a owl:Class, linkml:ClassDefinition ; rdfs:label "IGEMSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], @@ -537,10 +514,10 @@ opencloning_linkml:IGEMSource a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from an iGEM collection" ; @@ -570,46 +547,7 @@ opencloning_linkml:LigationSource a owl:Class, opencloning_linkml:ManuallyTypedSource a owl:Class, linkml:ClassDefinition ; rdfs:label "ManuallyTypedSource" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - 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:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:user_input ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_crick_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:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:user_input ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - opencloning_linkml:Source ; + rdfs:subClassOf opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is manually typed by the user" ; skos:inScheme . @@ -617,13 +555,13 @@ opencloning_linkml:NamedThing a owl:Class, linkml:ClassDefinition ; rdfs:label "NamedThing" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:id ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ] ; skos:exactMatch schema1:Thing ; skos:inScheme . @@ -632,13 +570,13 @@ opencloning_linkml:OligoHybridizationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OligoHybridizationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + 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 ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is generated by oligo hybridization" ; @@ -648,28 +586,28 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OpenDNACollectionsSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Open DNA collections" ; skos:inScheme . @@ -685,13 +623,13 @@ opencloning_linkml:PCRSource a owl:Class, linkml:ClassDefinition ; rdfs:label "PCRSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:add_primer_features ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by PCR" ; @@ -705,127 +643,127 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Feature ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:start_location ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:fragment ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end_location ], + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:strand ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_identity ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:end_location ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:fragment ], + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Type ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:start_location ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:strand ], [ 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:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start_location ], + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:onProperty opencloning_linkml:length_of_found_feature ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:Type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:database ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Feature ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:fragment ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Description ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Type ], opencloning_linkml:AnnotationReport ; skos:definition "Represents a report of an annotation step using Plannotate" ; skos:inScheme . @@ -886,10 +824,10 @@ opencloning_linkml:RestrictionAndLigationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionAndLigationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzymes ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzymes ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by restriction and ligation" ; @@ -899,23 +837,23 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionEnzymeDigestionSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; - owl:onProperty opencloning_linkml:left_edge ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_edge ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:right_edge ], [ 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:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_edge ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + 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 . @@ -924,13 +862,13 @@ opencloning_linkml:RestrictionSequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionSequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + 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 ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzyme ], opencloning_linkml:SequenceCut ; skos:definition "Represents a cut in a DNA sequence that is made by a restriction enzyme" ; @@ -947,11 +885,8 @@ opencloning_linkml:SEVASource a owl:Class, linkml:ClassDefinition ; rdfs:label "SEVASource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], @@ -959,16 +894,19 @@ opencloning_linkml:SEVASource a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a SEVA id" ; skos:inScheme . @@ -997,10 +935,10 @@ opencloning_linkml:SequencingFile a owl:Class, linkml:ClassDefinition ; rdfs:label "SequencingFile" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:alignment ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:alignment ], opencloning_linkml:AssociatedFile ; skos:definition "Represents a sequencing file and its alignment to a sequence" ; @@ -1010,15 +948,15 @@ opencloning_linkml:SnapGenePlasmidSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SnapGenePlasmidSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; @@ -1028,23 +966,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:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circular ], + owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primer_design ], + 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 . @@ -1053,40 +991,40 @@ opencloning_linkml:TextFileSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TextFileSequence" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:file_content ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:file_content ], opencloning_linkml:Sequence ; skos:definition "A sequence (may have features) defined by the content of a text file" ; @@ -1096,49 +1034,49 @@ opencloning_linkml:UploadedFileSource a owl:Class, linkml:ClassDefinition ; rdfs:label "UploadedFileSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:coordinates ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:coordinates ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:coordinates ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:file_name ], + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:coordinates ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:index_in_file ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:index_in_file ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is uploaded as a file" ; @@ -1148,13 +1086,13 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "WekWikGeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -1162,14 +1100,14 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^\\d+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + 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: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 . @@ -1259,39 +1197,64 @@ opencloning_linkml:HomologousRecombinationSource a owl:Class, skos:definition "Represents the source of a sequence that is generated by homologous recombination" ; skos:inScheme . -opencloning_linkml:Primer a owl:Class, +opencloning_linkml:NCBISequenceSource a owl:Class, linkml:ClassDefinition ; - rdfs:label "Primer" ; + rdfs:label "NCBISequenceSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:sequence ], + owl:allValuesFrom opencloning_linkml:simple_sequence_location ; + owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + 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:minCardinality 0 ; + owl:onProperty opencloning_linkml:location ], + opencloning_linkml:RepositoryIdSource ; + skos:definition "Represents the source of a sequence that is identified by an NCBI sequence accession" ; + skos:inScheme . + +opencloning_linkml:Primer a owl:Class, + linkml:ClassDefinition ; + rdfs:label "Primer" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], opencloning_linkml:Sequence ; skos:definition "An oligonucleotide or primer" ; skos:inScheme . @@ -1301,6 +1264,9 @@ opencloning_linkml:SequenceCut a owl:Class, rdfs:label "SequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:overhang ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; @@ -1309,13 +1275,10 @@ opencloning_linkml:SequenceCut a owl:Class, owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang ], - [ a owl:Restriction ; - owl:minCardinality 1 ; owl:onProperty opencloning_linkml:overhang ] ; skos:definition "Represents a cut in a DNA sequence" ; skos:inScheme . @@ -1324,23 +1287,23 @@ opencloning_linkml:SequenceCutSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCutSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:left_edge ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceCut ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:left_edge ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_edge ], + owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceCut ; - owl:onProperty opencloning_linkml:right_edge ], + owl:onProperty opencloning_linkml:left_edge ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; skos:inScheme . @@ -1413,12 +1376,6 @@ opencloning_linkml:database a owl:ObjectProperty, rdfs:label "database" ; skos:inScheme . -opencloning_linkml:end a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "end" ; - skos:definition "The ending coordinate (1-based) of the sequence in the sequence accession" ; - skos:inScheme . - opencloning_linkml:end_location a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "end_location" ; @@ -1504,6 +1461,13 @@ opencloning_linkml:overhang a owl:ObjectProperty, skos:definition "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`." ; skos:inScheme . +opencloning_linkml:overhang_watson_3prime a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "overhang_watson_3prime" ; + rdfs:range linkml:Integer ; + skos:definition "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + skos:inScheme . + opencloning_linkml:percent_identity a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "percent_identity" ; @@ -1560,12 +1524,6 @@ opencloning_linkml:schema_version a owl:ObjectProperty, skos:definition "The version of the schema that was used to generate this cloning strategy" ; skos:inScheme . -opencloning_linkml:sequence_accession a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "sequence_accession" ; - skos:definition "The accession of the sequence" ; - skos:inScheme . - opencloning_linkml:sequence_id a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "sequence_id" ; @@ -1587,15 +1545,14 @@ opencloning_linkml:sseqid a owl:ObjectProperty, rdfs:label "sseqid" ; skos:inScheme . -opencloning_linkml:start a owl:ObjectProperty, +opencloning_linkml:start_location a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "start" ; - skos:definition "The starting coordinate (1-based) of the sequence in the sequence accession" ; + rdfs:label "start_location" ; skos:inScheme . -opencloning_linkml:start_location a owl:ObjectProperty, +opencloning_linkml:strand a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "start_location" ; + rdfs:label "strand" ; skos:inScheme . opencloning_linkml:title a owl:ObjectProperty, @@ -1604,11 +1561,6 @@ opencloning_linkml:title a owl:ObjectProperty, skos:definition "The title of the category" ; skos:inScheme . -opencloning_linkml:user_input a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "user_input" ; - skos:inScheme . - opencloning_linkml:version_number a owl:Class, linkml:TypeDefinition ; rdfs:subClassOf linkml:String . @@ -1626,10 +1578,10 @@ opencloning_linkml:AnnotationReport a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ] ; skos:definition "Represents a report of an annotation step" ; skos:inScheme . @@ -1638,40 +1590,40 @@ opencloning_linkml:AssociatedFile a owl:Class, linkml:ClassDefinition ; rdfs:label "AssociatedFile" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_name ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFileType ; - owl:onProperty opencloning_linkml:file_type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], + 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:sequence_id ], + owl:allValuesFrom opencloning_linkml:AssociatedFileType ; + owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:minCardinality 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:sequence_id ] ; skos:definition "Represents a file associated with a sequence" ; skos:inScheme . @@ -1686,10 +1638,7 @@ opencloning_linkml:SourceInput a owl:Class, linkml:ClassDefinition ; rdfs:label "SourceInput" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; @@ -1699,10 +1648,13 @@ opencloning_linkml:SourceInput a owl:Class, owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ] ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ] ; skos:definition "Represents an input to a source" ; skos:exactMatch schema1:Role ; skos:inScheme . @@ -1725,6 +1677,9 @@ opencloning_linkml:GatewayReactionType a owl:Class, linkml:permissible_values , . +opencloning_linkml:circular a owl:ObjectProperty, + linkml:SlotDefinition . + opencloning_linkml:file_name a owl:ObjectProperty, linkml:SlotDefinition . @@ -1738,11 +1693,17 @@ opencloning_linkml:id a owl:ObjectProperty, opencloning_linkml:left_edge a owl:ObjectProperty, linkml:SlotDefinition . -opencloning_linkml:overhang_watson_3prime a owl:ObjectProperty, +opencloning_linkml:location a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "overhang_watson_3prime" ; + rdfs:label "location" ; + skos:definition "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; + skos:inScheme . + +opencloning_linkml:overhang_crick_3prime a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "overhang_crick_3prime" ; rdfs:range linkml:Integer ; - skos:definition "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + skos:definition "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" ; skos:inScheme . opencloning_linkml:right_edge a owl:ObjectProperty, @@ -1755,27 +1716,24 @@ opencloning_linkml:sequence_file_format a owl:ObjectProperty, skos:definition "The format of a sequence file" ; skos:inScheme . -opencloning_linkml:strand a owl:ObjectProperty, - linkml:SlotDefinition . - opencloning_linkml:Sequence a owl:Class, linkml:ClassDefinition ; rdfs:label "Sequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:id ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], @@ -1784,9 +1742,6 @@ opencloning_linkml:Sequence a owl:Class, skos:exactMatch bioschemas:DNA ; skos:inScheme . -opencloning_linkml:circular a owl:ObjectProperty, - linkml:SlotDefinition . - opencloning_linkml:database_id a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "database_id" ; @@ -1804,13 +1759,6 @@ opencloning_linkml:name a owl:ObjectProperty, skos:definition "A human-readable name for a thing" ; skos:inScheme . -opencloning_linkml:overhang_crick_3prime a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "overhang_crick_3prime" ; - rdfs:range linkml:Integer ; - skos:definition "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" ; - skos:inScheme . - opencloning_linkml:sequence a owl:ObjectProperty, linkml:SlotDefinition . @@ -1820,6 +1768,12 @@ opencloning_linkml:RepositoryIdSource a owl:Class, rdfs:subClassOf [ 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:allValuesFrom opencloning_linkml:RepositoryName ; + owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_name ], @@ -1829,12 +1783,6 @@ opencloning_linkml:RepositoryIdSource a owl:Class, [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RepositoryName ; - owl:onProperty opencloning_linkml:repository_name ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a repository id" ; skos:inScheme . @@ -1854,40 +1802,36 @@ 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" ; skos:inScheme . -opencloning_linkml:sequence_file_url a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "sequence_file_url" ; - rdfs:range [ 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()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; - skos:definition "The URL of a sequence file" ; - skos:inScheme . - opencloning_linkml:Source a owl:Class, linkml:ClassDefinition ; rdfs:label "Source" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:output_name ], + owl:allValuesFrom opencloning_linkml:SourceInput ; + owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:output_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], @@ -1895,25 +1839,29 @@ opencloning_linkml:Source a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:input ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SourceInput ; - owl:onProperty opencloning_linkml:input ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:output_name ], opencloning_linkml:NamedThing ; skos:definition "Represents the source of a sequence" ; skos:exactMatch schema1:CreateAction ; skos:inScheme . +opencloning_linkml:sequence_file_url a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "sequence_file_url" ; + rdfs:range [ 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()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + skos:definition "The URL of a sequence file" ; + skos:inScheme . + opencloning_linkml:RepositoryName a owl:Class, linkml:EnumDefinition ; owl:unionOf ( ) ; @@ -1950,64 +1898,64 @@ opencloning_linkml:type a owl:ObjectProperty, skos:definition "A LinkML data model for OpenCloning" . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; + rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . + owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PCRSource ; + rdfs:subClassOf opencloning_linkml:InFusionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PCRSource . + owl:someValuesFrom opencloning_linkml:InFusionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; + rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . + owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; + rdfs:subClassOf opencloning_linkml:SequenceCutSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . + owl:someValuesFrom opencloning_linkml:SequenceCutSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; + rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . + owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + rdfs:subClassOf opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . + owl:someValuesFrom opencloning_linkml:SourceInput . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; + rdfs:subClassOf opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . + owl:someValuesFrom opencloning_linkml:Sequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; + rdfs:subClassOf opencloning_linkml:DatabaseSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AddgeneIdSource . + owl:someValuesFrom opencloning_linkml:DatabaseSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; + rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . + owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InFusionSource ; + rdfs:subClassOf opencloning_linkml:IGEMSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InFusionSource . + owl:someValuesFrom opencloning_linkml:IGEMSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationSource ; + rdfs:subClassOf opencloning_linkml:PCRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationSource . + owl:someValuesFrom opencloning_linkml:PCRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Sequence ; + rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Sequence . + owl:someValuesFrom opencloning_linkml:AddgeneIdSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:SEVASource ; @@ -2015,44 +1963,44 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:SEVASource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; + rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ReverseComplementSource . + owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TemplateSequence ; + rdfs:subClassOf opencloning_linkml:EuroscarfSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TemplateSequence . + owl:someValuesFrom opencloning_linkml:EuroscarfSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Source ; + rdfs:subClassOf opencloning_linkml:UploadedFileSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Source . + owl:someValuesFrom opencloning_linkml:UploadedFileSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; + rdfs:subClassOf opencloning_linkml:AssemblyFragment ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . + owl:someValuesFrom opencloning_linkml:AssemblyFragment . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; + rdfs:subClassOf opencloning_linkml:AssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . + owl:someValuesFrom opencloning_linkml:AssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GatewaySource ; + rdfs:subClassOf opencloning_linkml:AnnotationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GatewaySource . + owl:someValuesFrom opencloning_linkml:AnnotationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssociatedFile ; + rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssociatedFile . + owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequenceCutSource ; + rdfs:subClassOf opencloning_linkml:TemplateSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequenceCutSource . + owl:someValuesFrom opencloning_linkml:TemplateSequence . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:Primer ; @@ -2060,49 +2008,49 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:Primer . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; + rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . + owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; + rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . + owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; + rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . + owl:someValuesFrom opencloning_linkml:ReverseComplementSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblyFragment ; + rdfs:subClassOf opencloning_linkml:CRISPRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblyFragment . + owl:someValuesFrom opencloning_linkml:CRISPRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:LigationSource ; + rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:LigationSource . + owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:DatabaseSource ; + rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:DatabaseSource . + owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequencingFile ; + rdfs:subClassOf opencloning_linkml:CollectionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequencingFile . + owl:someValuesFrom opencloning_linkml:CollectionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:IGEMSource ; + rdfs:subClassOf opencloning_linkml:AssociatedFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:IGEMSource . + owl:someValuesFrom opencloning_linkml:AssociatedFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; + rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . + owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; @@ -2110,39 +2058,44 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:RepositoryIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SourceInput ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SourceInput . + owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; + rdfs:subClassOf opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . + owl:someValuesFrom opencloning_linkml:AnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationReport ; + rdfs:subClassOf opencloning_linkml:Source ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationReport . + owl:someValuesFrom opencloning_linkml:Source . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; + rdfs:subClassOf opencloning_linkml:LigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . + owl:someValuesFrom opencloning_linkml:LigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:UploadedFileSource ; + rdfs:subClassOf opencloning_linkml:GatewaySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:UploadedFileSource . + owl:someValuesFrom opencloning_linkml:GatewaySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CRISPRSource ; + rdfs:subClassOf opencloning_linkml:SequencingFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CRISPRSource . + owl:someValuesFrom opencloning_linkml:SequencingFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:EuroscarfSource ; + rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:EuroscarfSource . + owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:TextFileSequence ; @@ -2150,16 +2103,16 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:TextFileSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblySource ; + rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblySource . + owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . [] 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:NCBISequenceSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . + owl:someValuesFrom opencloning_linkml:NCBISequenceSource . diff --git a/project/protobuf/opencloning_linkml.proto b/project/protobuf/opencloning_linkml.proto index 3376e16..1d8a4da 100644 --- a/project/protobuf/opencloning_linkml.proto +++ b/project/protobuf/opencloning_linkml.proto @@ -171,13 +171,12 @@ message GenomeCoordinatesSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 + repositoryName repositoryName = 0 + string repositoryId = 0 string assemblyAccession = 0 - string sequenceAccession = 0 string locusTag = 0 integer geneId = 0 - integer start = 0 - integer end = 0 - integer strand = 0 + simpleSequenceLocation location = 0 } // Represents the source of a sequence that is generated by Gibson assembly message GibsonAssemblySource @@ -249,15 +248,23 @@ message ManuallyTypedSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - integer overhangCrick3prime = 0 - integer overhangWatson3prime = 0 - string userInput = 0 - boolean circular = 0 } message NamedThing { integer id = 0 } +// Represents the source of a sequence that is identified by an NCBI sequence accession +message NCBISequenceSource + { + integer id = 0 + string type = 0 + string outputName = 0 + integer databaseId = 0 + repeated sourceInput input = 0 + repositoryName repositoryName = 0 + simpleSequenceLocation location = 0 + string repositoryId = 0 + } // Represents the source of a sequence that is generated by oligo hybridization message OligoHybridizationSource { diff --git a/project/python/opencloning_linkml.py b/project/python/opencloning_linkml.py index ea7b0b9..8f71830 100644 --- a/project/python/opencloning_linkml.py +++ b/project/python/opencloning_linkml.py @@ -1,5 +1,5 @@ # Auto generated from opencloning_linkml.yaml by pythongen.py version: 0.0.1 -# Generation date: 2025-11-27T13:31:19 +# Generation date: 2025-12-05T15:35:21 # Schema: OpenCloning_LinkML # # id: https://opencloning.github.io/OpenCloning_LinkML @@ -63,6 +63,15 @@ class SequenceRange(String): type_model_uri = OPENCLONING_LINKML.SequenceRange +class SimpleSequenceLocation(String): + """A simple sequence location defined using genbank syntax (e.g. 1..100 or complement(1..100)), note that 1..100 in genbank is equivalent to 0:100 in python""" + + type_class_uri = XSD["string"] + type_class_curie = "xsd:string" + type_name = "simple_sequence_location" + type_model_uri = OPENCLONING_LINKML.SimpleSequenceLocation + + # Class references class NamedThingId(extended_int): pass @@ -140,7 +149,11 @@ class OpenDNACollectionsSourceId(RepositoryIdSourceId): pass -class GenomeCoordinatesSourceId(SourceId): +class NCBISequenceSourceId(RepositoryIdSourceId): + pass + + +class GenomeCoordinatesSourceId(NCBISequenceSourceId): pass @@ -709,10 +722,6 @@ class ManuallyTypedSource(Source): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.ManuallyTypedSource id: Union[int, ManuallyTypedSourceId] = None - user_input: str = None - overhang_crick_3prime: Optional[int] = 0 - overhang_watson_3prime: Optional[int] = 0 - circular: Optional[Union[bool, Bool]] = None def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -720,20 +729,6 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, ManuallyTypedSourceId): self.id = ManuallyTypedSourceId(self.id) - if self._is_empty(self.user_input): - self.MissingRequiredField("user_input") - if not isinstance(self.user_input, str): - self.user_input = str(self.user_input) - - if self.overhang_crick_3prime is not None and not isinstance(self.overhang_crick_3prime, int): - self.overhang_crick_3prime = int(self.overhang_crick_3prime) - - if self.overhang_watson_3prime is not None and not isinstance(self.overhang_watson_3prime, int): - self.overhang_watson_3prime = int(self.overhang_watson_3prime) - - if self.circular is not None and not isinstance(self.circular, Bool): - self.circular = Bool(self.circular) - super().__post_init__(**kwargs) self.type = str(self.class_name) @@ -1101,7 +1096,43 @@ def __post_init__(self, *_: str, **kwargs: Any): @dataclass(repr=False) -class GenomeCoordinatesSource(Source): +class NCBISequenceSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by an NCBI sequence accession + """ + + _inherited_slots: ClassVar[list[str]] = [] + + class_class_uri: ClassVar[URIRef] = OPENCLONING_LINKML["NCBISequenceSource"] + class_class_curie: ClassVar[str] = "opencloning_linkml:NCBISequenceSource" + class_name: ClassVar[str] = "NCBISequenceSource" + class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.NCBISequenceSource + + id: Union[int, NCBISequenceSourceId] = None + repository_name: Union[str, "RepositoryName"] = None + repository_id: str = None + location: Optional[Union[str, SimpleSequenceLocation]] = None + + def __post_init__(self, *_: str, **kwargs: Any): + if self._is_empty(self.id): + self.MissingRequiredField("id") + if not isinstance(self.id, NCBISequenceSourceId): + self.id = NCBISequenceSourceId(self.id) + + 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.location is not None and not isinstance(self.location, SimpleSequenceLocation): + self.location = SimpleSequenceLocation(self.location) + + super().__post_init__(**kwargs) + self.type = str(self.class_name) + + +@dataclass(repr=False) +class GenomeCoordinatesSource(NCBISequenceSource): """ Represents the source of a sequence that is identified by genome coordinates, requested from NCBI """ @@ -1114,10 +1145,9 @@ class GenomeCoordinatesSource(Source): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.GenomeCoordinatesSource id: Union[int, GenomeCoordinatesSourceId] = None - sequence_accession: str = None - start: int = None - end: int = None - strand: int = None + repository_name: Union[str, "RepositoryName"] = None + repository_id: str = None + location: Union[str, SimpleSequenceLocation] = None assembly_accession: Optional[str] = None locus_tag: Optional[str] = None gene_id: Optional[int] = None @@ -1128,25 +1158,10 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, GenomeCoordinatesSourceId): self.id = GenomeCoordinatesSourceId(self.id) - if self._is_empty(self.sequence_accession): - self.MissingRequiredField("sequence_accession") - if not isinstance(self.sequence_accession, str): - self.sequence_accession = str(self.sequence_accession) - - if self._is_empty(self.start): - self.MissingRequiredField("start") - if not isinstance(self.start, int): - self.start = int(self.start) - - if self._is_empty(self.end): - self.MissingRequiredField("end") - if not isinstance(self.end, int): - self.end = int(self.end) - - if self._is_empty(self.strand): - self.MissingRequiredField("strand") - if not isinstance(self.strand, int): - self.strand = int(self.strand) + if self._is_empty(self.location): + self.MissingRequiredField("location") + if not isinstance(self.location, SimpleSequenceLocation): + self.location = SimpleSequenceLocation(self.location) if self.assembly_accession is not None and not isinstance(self.assembly_accession, str): self.assembly_accession = str(self.assembly_accession) @@ -1964,7 +1979,7 @@ def __post_init__(self, *_: str, **kwargs: Any): class RepositoryName(EnumDefinitionImpl): addgene = PermissibleValue(text="addgene", description="Addgene") - genbank = PermissibleValue(text="genbank", description="GenBank") + genbank = PermissibleValue(text="genbank", description="GenBank / NCBI") benchling = PermissibleValue(text="benchling", description="Benchling") snapgene = PermissibleValue(text="snapgene", description="SnapGene plasmid library") euroscarf = PermissibleValue(text="euroscarf", description="Euroscarf (plasmids only)") @@ -2356,25 +2371,6 @@ class slots: range=Optional[str], ) -slots.manuallyTypedSource__user_input = Slot( - uri=OPENCLONING_LINKML.user_input, - name="manuallyTypedSource__user_input", - curie=OPENCLONING_LINKML.curie("user_input"), - model_uri=OPENCLONING_LINKML.manuallyTypedSource__user_input, - domain=None, - range=str, - pattern=re.compile(r"^[acgtACGT]+$"), -) - -slots.manuallyTypedSource__circular = Slot( - uri=OPENCLONING_LINKML.circular, - name="manuallyTypedSource__circular", - curie=OPENCLONING_LINKML.curie("circular"), - model_uri=OPENCLONING_LINKML.manuallyTypedSource__circular, - domain=None, - range=Optional[Union[bool, Bool]], -) - slots.uploadedFileSource__file_name = Slot( uri=OPENCLONING_LINKML.file_name, name="uploadedFileSource__file_name", @@ -2429,6 +2425,15 @@ class slots: range=Optional[Union[str, "AddgeneSequenceType"]], ) +slots.nCBISequenceSource__location = Slot( + uri=OPENCLONING_LINKML.location, + name="nCBISequenceSource__location", + curie=OPENCLONING_LINKML.curie("location"), + model_uri=OPENCLONING_LINKML.nCBISequenceSource__location, + domain=None, + range=Optional[Union[str, SimpleSequenceLocation]], +) + slots.genomeCoordinatesSource__assembly_accession = Slot( uri=OPENCLONING_LINKML.assembly_accession, name="genomeCoordinatesSource__assembly_accession", @@ -2438,15 +2443,6 @@ class slots: range=Optional[str], ) -slots.genomeCoordinatesSource__sequence_accession = Slot( - uri=OPENCLONING_LINKML.sequence_accession, - name="genomeCoordinatesSource__sequence_accession", - curie=OPENCLONING_LINKML.curie("sequence_accession"), - model_uri=OPENCLONING_LINKML.genomeCoordinatesSource__sequence_accession, - domain=None, - range=str, -) - slots.genomeCoordinatesSource__locus_tag = Slot( uri=OPENCLONING_LINKML.locus_tag, name="genomeCoordinatesSource__locus_tag", @@ -2465,33 +2461,6 @@ class slots: range=Optional[int], ) -slots.genomeCoordinatesSource__start = Slot( - uri=OPENCLONING_LINKML.start, - name="genomeCoordinatesSource__start", - curie=OPENCLONING_LINKML.curie("start"), - model_uri=OPENCLONING_LINKML.genomeCoordinatesSource__start, - domain=None, - range=int, -) - -slots.genomeCoordinatesSource__end = Slot( - uri=OPENCLONING_LINKML.end, - name="genomeCoordinatesSource__end", - curie=OPENCLONING_LINKML.curie("end"), - model_uri=OPENCLONING_LINKML.genomeCoordinatesSource__end, - domain=None, - range=int, -) - -slots.genomeCoordinatesSource__strand = Slot( - uri=OPENCLONING_LINKML.strand, - name="genomeCoordinatesSource__strand", - curie=OPENCLONING_LINKML.curie("strand"), - model_uri=OPENCLONING_LINKML.genomeCoordinatesSource__strand, - domain=None, - range=int, -) - slots.sequenceCutSource__left_edge = Slot( uri=OPENCLONING_LINKML.left_edge, name="sequenceCutSource__left_edge", @@ -2915,24 +2884,6 @@ class slots: range=Optional[str], ) -slots.ManuallyTypedSource_overhang_crick_3prime = Slot( - uri=OPENCLONING_LINKML.overhang_crick_3prime, - name="ManuallyTypedSource_overhang_crick_3prime", - curie=OPENCLONING_LINKML.curie("overhang_crick_3prime"), - model_uri=OPENCLONING_LINKML.ManuallyTypedSource_overhang_crick_3prime, - domain=ManuallyTypedSource, - range=Optional[int], -) - -slots.ManuallyTypedSource_overhang_watson_3prime = Slot( - uri=OPENCLONING_LINKML.overhang_watson_3prime, - name="ManuallyTypedSource_overhang_watson_3prime", - curie=OPENCLONING_LINKML.curie("overhang_watson_3prime"), - model_uri=OPENCLONING_LINKML.ManuallyTypedSource_overhang_watson_3prime, - domain=ManuallyTypedSource, - range=Optional[int], -) - slots.UploadedFileSource_sequence_file_format = Slot( uri=OPENCLONING_LINKML.sequence_file_format, name="UploadedFileSource_sequence_file_format", @@ -3033,6 +2984,24 @@ class slots: pattern=re.compile(r"^[^\/]+\/[^\/]+$"), ) +slots.NCBISequenceSource_repository_id = Slot( + uri=OPENCLONING_LINKML.repository_id, + name="NCBISequenceSource_repository_id", + curie=OPENCLONING_LINKML.curie("repository_id"), + model_uri=OPENCLONING_LINKML.NCBISequenceSource_repository_id, + domain=NCBISequenceSource, + range=str, +) + +slots.GenomeCoordinatesSource_location = Slot( + uri=OPENCLONING_LINKML.location, + name="GenomeCoordinatesSource_location", + curie=OPENCLONING_LINKML.curie("location"), + model_uri=OPENCLONING_LINKML.GenomeCoordinatesSource_location, + domain=GenomeCoordinatesSource, + range=Union[str, SimpleSequenceLocation], +) + slots.RestrictionAndLigationSource_restriction_enzymes = Slot( uri=OPENCLONING_LINKML.restriction_enzymes, name="RestrictionAndLigationSource_restriction_enzymes", diff --git a/project/shacl/opencloning_linkml.shacl.ttl b/project/shacl/opencloning_linkml.shacl.ttl index 6e8bb75..fe30630 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:description opencloning_linkml:repository_name opencloning_linkml:reaction_type opencloning_linkml:sequence opencloning_linkml:type schema1:object opencloning_linkml:greedy opencloning_linkml:options rdf:type opencloning_linkml:coordinates schema1:name opencloning_linkml:sequence_accession opencloning_linkml:overhang_watson_3prime opencloning_linkml:end opencloning_linkml:strand opencloning_linkml:annotation_tool_version opencloning_linkml:user_input opencloning_linkml:repository_id opencloning_linkml:annotation_report opencloning_linkml:add_primer_features opencloning_linkml:gene_id opencloning_linkml:index_in_file opencloning_linkml:left_edge opencloning_linkml:annotation_tool opencloning_linkml:output_name opencloning_linkml:sequence_file_format opencloning_linkml:category_id opencloning_linkml:primer_design opencloning_linkml:file_name opencloning_linkml:restriction_enzymes opencloning_linkml:assembly_accession opencloning_linkml:circularize opencloning_linkml:start opencloning_linkml:title opencloning_linkml:addgene_sequence_type opencloning_linkml:locus_tag opencloning_linkml:sequence_file_url opencloning_linkml:file_content opencloning_linkml:right_edge opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:image ) ; + sh:ignoredProperties ( opencloning_linkml:overhang_watson_3prime opencloning_linkml:primer_design opencloning_linkml:title opencloning_linkml:addgene_sequence_type opencloning_linkml:location opencloning_linkml:locus_tag opencloning_linkml:annotation_report opencloning_linkml:gene_id rdf:type opencloning_linkml:options opencloning_linkml:overhang_crick_3prime opencloning_linkml:index_in_file opencloning_linkml:category_id opencloning_linkml:repository_id opencloning_linkml:file_content opencloning_linkml:left_edge opencloning_linkml:reaction_type opencloning_linkml:greedy opencloning_linkml:image schema1:name opencloning_linkml:sequence_file_url schema1:object opencloning_linkml:annotation_tool_version opencloning_linkml:output_name opencloning_linkml:repository_name opencloning_linkml:restriction_enzymes opencloning_linkml:sequence_file_format opencloning_linkml:circularize opencloning_linkml:assembly_accession opencloning_linkml:add_primer_features opencloning_linkml:coordinates opencloning_linkml:circular opencloning_linkml:type opencloning_linkml:right_edge opencloning_linkml:sequence opencloning_linkml:description opencloning_linkml:file_name opencloning_linkml:annotation_tool ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -21,29 +21,41 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by an Addgene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh: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 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: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:datatype xsd:string ; + sh:description "The URL of a sequence file" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; + sh:order 6 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The id of the sequence in the repository" ; @@ -52,28 +64,16 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:repository_id ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], [ sh: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:order 5 ; + sh:path opencloning_linkml:output_name ], [ sh:in ( "depositor-full" "addgene-full" ) ; sh:maxCount 1 ; sh:order 1 ; - sh:path opencloning_linkml:addgene_sequence_type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 3 ; - sh:path opencloning_linkml:repository_name ] ; + sh:path opencloning_linkml:addgene_sequence_type ] ; sh:targetClass opencloning_linkml:AddgeneIdSource . opencloning_linkml:AnnotationSource a sh:NodeShape ; @@ -85,69 +85,65 @@ opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:minCount 1 ; sh:order 0 ; sh:path opencloning_linkml:annotation_tool ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd: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 opencloning_linkml:AnnotationReport ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; sh:path opencloning_linkml:annotation_report ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The version of the annotation tool" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:annotation_tool_version ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ] ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:AnnotationSource . opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:closed true ; sh:description "Represents a fragment in an assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is reverse complemented in the assembly" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:reverse_complemented ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:maxCount 1 ; + [ sh: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 0 ; - sh:path opencloning_linkml:left_location ], + sh:order 2 ; + sh:path opencloning_linkml:reverse_complemented ], [ sh:class bioschemas:DNA ; sh:description "The input sequence" ; sh:maxCount 1 ; @@ -155,6 +151,10 @@ opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 4 ; sh:path opencloning_linkml:sequence ], + [ sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:left_location ], [ sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; @@ -164,19 +164,8 @@ opencloning_linkml:AssemblyFragment a sh:NodeShape ; opencloning_linkml:AssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is an assembly of other sequences" ; - sh:ignoredProperties ( opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type opencloning_linkml:add_primer_features opencloning_linkml:greedy rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:add_primer_features opencloning_linkml:reaction_type opencloning_linkml:greedy opencloning_linkml:restriction_enzymes rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -189,50 +178,64 @@ opencloning_linkml:AssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:circular ] ; + sh:path opencloning_linkml:circular ], + [ sh: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: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:AssemblySource . opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a Benchling URL" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd: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:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The url of the gb file associated with the sequence" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ], + [ sh: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:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -240,28 +243,24 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:order 4 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The url of the gb file associated with the sequence" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ] ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ; sh:targetClass opencloning_linkml:BenchlingUrlSource . opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by CRISPR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -275,6 +274,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:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -286,51 +291,35 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ] ; + sh:path opencloning_linkml:circular ] ; sh:targetClass opencloning_linkml:CRISPRSource . opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:closed true ; sh:description "Represents a cloning strategy" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class 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 backend that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:backend_version ], - [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; + sh:property [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path opencloning_linkml:frontend_version ], + [ sh:description "The version of the schema that was used to generate this cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:schema_version ], [ sh:datatype xsd:string ; sh:description "A description of the cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:description ], - [ sh:description "The version of the schema that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:schema_version ], - [ sh:class bioschemas:DNA ; - sh:description "The sequences that are used in the cloning strategy" ; + [ sh: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 0 ; - sh:path opencloning_linkml:sequences ], + sh:order 1 ; + sh:path opencloning_linkml:sources ], [ sh:class opencloning_linkml:AssociatedFile ; sh:description "Files associated with this cloning strategy" ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -340,10 +329,21 @@ opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:description "The primers that are used in the cloning strategy" ; sh:nodeKind sh:IRI ; sh:order 2 ; - sh:path opencloning_linkml:primers ] ; - sh:targetClass opencloning_linkml:CloningStrategy . - -opencloning_linkml:CollectionSource a sh:NodeShape ; + sh:path opencloning_linkml:primers ], + [ sh:class bioschemas:DNA ; + sh:description "The sequences that are used in the cloning strategy" ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path opencloning_linkml:sequences ], + [ sh:description "The version of the backend that was used to generate this cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path opencloning_linkml:backend_version ] ; + sh: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 ) ; @@ -352,24 +352,11 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:image ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], [ sh:class opencloning_linkml:CollectionOption ; sh:description "The options available in this category." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path opencloning_linkml:options ], - [ sh:datatype xsd:string ; - sh:description "The title of the category" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:title ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -377,65 +364,77 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; 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 5 ; + sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "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 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:category_id ], [ sh:datatype xsd:string ; sh:description "A description of the category" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:description ], + [ sh:datatype xsd:string ; + sh:description "The title of the category" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:title ], [ sh:datatype xsd: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 "The identifier of the category of the part in the template" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:category_id ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 8 ; - sh:path schema1:object ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:CollectionSource . opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Cre - Lox recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 3 ; 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 2 ; - sh:path opencloning_linkml:output_name ], + 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:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -443,10 +442,11 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:circular ], [ 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 . @@ -454,30 +454,30 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a database id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd: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:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 0 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -491,7 +491,19 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Euroscarf plasmid library" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh: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 ; @@ -504,76 +516,46 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^P\\d+$" ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 6 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml: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:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:greedy ], - [ sh:datatype xsd:string ; + sh: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: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 ( "LR" "BP" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:reaction_type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:in ( "LR" "BP" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:reaction_type ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -586,6 +568,24 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; 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:boolean ; + sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:greedy ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:GatewaySource . @@ -593,82 +593,72 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The accession of the sequence" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:sequence_accession ], + sh:order 8 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; - sh:description "The ending coordinate (1-based) of the sequence in the sequence accession" ; + sh:description "The gene id of the sequence" ; 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:order 2 ; + sh:path opencloning_linkml:gene_id ], + [ sh:datatype xsd:string ; + sh:description "The sequence accession (e.g. X60065.1)" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path schema1:identifier ], + sh:order 4 ; + sh:path opencloning_linkml:repository_id ], [ 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 7 ; - sh:path opencloning_linkml:type ], + sh:path opencloning_linkml:output_name ], [ 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 ; - sh:order 10 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The starting coordinate (1-based) of the sequence in the sequence accession" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:start ], - [ sh:datatype xsd:integer ; - sh:description "The gene id of the sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:gene_id ], + sh:order 6 ; + 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:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The strand of the sequence in the sequence accession, should be 1 or -1" ; + sh:order 10 ; + 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 5 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:string ; + sh:description "The locus tag of the sequence" ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:strand ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:order 1 ; + sh:path opencloning_linkml:locus_tag ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 9 ; + sh:path schema1:object ], + [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path schema1:identifier ] ; + sh:order 3 ; + sh:path opencloning_linkml:location ] ; sh:targetClass opencloning_linkml:GenomeCoordinatesSource . opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; @@ -679,19 +669,25 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; 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:order 2 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -699,12 +695,6 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -717,13 +707,7 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by homologous recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -736,6 +720,12 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -759,7 +749,32 @@ 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:class schema1:Role ; + sh:property [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:string ; + sh:description "The URL of the sequence file, for now github repository" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^.*.gb$" ], + [ sh:datatype xsd:string ; + sh:description "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 ; @@ -771,12 +786,6 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:repository_id ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -789,26 +798,7 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; - sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, for now github repository" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^.*.gb$" ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:IGEMSource . opencloning_linkml:InFusionSource a sh:NodeShape ; @@ -820,13 +810,6 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -850,6 +833,13 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:InFusionSource . @@ -857,12 +847,17 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:property [ sh:datatype xsd: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:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -882,40 +877,41 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh: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 3 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:InVivoAssemblySource . opencloning_linkml:LigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + 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 0 ; - sh:path opencloning_linkml:circular ], + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd: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:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -928,13 +924,7 @@ opencloning_linkml:LigationSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ] ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:LigationSource . opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; @@ -942,84 +932,100 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is manually typed by the user" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd: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 6 ; + sh:order 2 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - 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 0 ; - sh:path opencloning_linkml:overhang_crick_3prime ], + 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 5 ; + 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 7 ; + sh:order 3 ; + sh:path schema1:object ] ; + sh:targetClass opencloning_linkml:ManuallyTypedSource . + +opencloning_linkml:NCBISequenceSource a sh:NodeShape ; + sh:closed true ; + sh:description "Represents the source of a sequence that is identified by an NCBI sequence accession" ; + sh:ignoredProperties ( opencloning_linkml:locus_tag opencloning_linkml:gene_id opencloning_linkml:assembly_accession rdf:type ) ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; + [ 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 2 ; - sh:path opencloning_linkml:user_input ; - sh:pattern "^[acgtACGT]+$" ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is circular or not" ; + 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:circular ], - [ sh:datatype xsd:integer ; - sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The sequence accession (e.g. X60065.1)" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:overhang_watson_3prime ], + sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ] ; - sh:targetClass opencloning_linkml:ManuallyTypedSource . + sh:order 7 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:location ] ; + sh:targetClass opencloning_linkml:NCBISequenceSource . opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by oligo hybridization" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:overhang_crick_3prime ], - [ sh: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 ; @@ -1037,7 +1043,19 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path schema1:identifier ] ; + 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 ; + sh:order 4 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:OligoHybridizationSource . opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; @@ -1046,9 +1064,23 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "The URL of a sequence file" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:string ; sh:description "Subpath of the sequence in the Open DNA collections repository" ; sh:maxCount 1 ; @@ -1057,66 +1089,41 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^[^\\/]+\\/[^\\/]+$" ], - [ 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 "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The URL of a sequence file" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:OpenDNACollectionsSource . opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by ligation of PCR products as part of overlap extension PCR. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh: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:boolean ; - sh:description "Whether the assembly is circular or not" ; + 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 0 ; - sh:path opencloning_linkml:circular ], + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1130,12 +1137,23 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ] ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:OverlapExtensionPCRLigationSource . opencloning_linkml:PCRSource a sh:NodeShape ; @@ -1148,42 +1166,42 @@ opencloning_linkml:PCRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:add_primer_features ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:circular ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:circular ] ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:PCRSource . opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; @@ -1191,46 +1209,51 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; sh:description "Represents a report of an annotation step using Plannotate" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 14 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; + sh:order 0 ; + sh:path opencloning_linkml:sseqid ], + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path opencloning_linkml:sequence ], + sh:order 8 ; + sh:path opencloning_linkml:fragment ], [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:percent_identity ], + sh:order 7 ; + sh:path opencloning_linkml:percent_match_length ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path opencloning_linkml:database ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 12 ; sh:path opencloning_linkml:Description ], - [ sh:datatype xsd:boolean ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path opencloning_linkml:fragment ], + sh:order 14 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sseqid ], - [ sh:datatype xsd:float ; + sh:order 10 ; + sh:path opencloning_linkml:Feature ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:percent_match_length ], - [ sh:datatype xsd:integer ; + sh:order 13 ; + sh:path opencloning_linkml:sequence ], + [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:strand ], + sh:order 4 ; + sh:path opencloning_linkml:percent_identity ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1244,28 +1267,23 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:start_location ], + sh:order 3 ; + sh:path opencloning_linkml:strand ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:full_length_of_feature_in_db ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 10 ; - sh:path opencloning_linkml:Feature ], - [ sh:datatype xsd:string ; + sh:order 2 ; + sh:path opencloning_linkml:end_location ], + [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path opencloning_linkml:database ], + sh:order 5 ; + sh:path opencloning_linkml:full_length_of_feature_in_db ], [ 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:targetClass opencloning_linkml:PlannotateAnnotationReport . opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; @@ -1278,37 +1296,55 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], [ sh: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:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass 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 rdf:type opencloning_linkml:addgene_sequence_type ) ; + sh:ignoredProperties ( opencloning_linkml:location opencloning_linkml:addgene_sequence_type opencloning_linkml:locus_tag opencloning_linkml:gene_id rdf:type opencloning_linkml:sequence_file_url opencloning_linkml:assembly_accession ) ; 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:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1320,18 +1356,6 @@ opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The id of the sequence in the repository" ; sh:maxCount 1 ; @@ -1339,24 +1363,36 @@ opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:repository_id ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml: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:minCount 1 ; + sh:order 1 ; + sh:path opencloning_linkml:repository_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:boolean ; + sh:property [ sh:datatype xsd:string ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:restriction_enzymes ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1378,24 +1414,6 @@ opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:restriction_enzymes ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:RestrictionAndLigationSource . @@ -1403,11 +1421,30 @@ 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:class opencloning_linkml:RestrictionSequenceCut ; + 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:class opencloning_linkml:RestrictionSequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 1 ; sh:path opencloning_linkml:right_edge ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], + [ sh: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 ; @@ -1419,54 +1456,29 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], [ sh:class opencloning_linkml:RestrictionSequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; - sh:path opencloning_linkml:left_edge ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ] ; + sh:path opencloning_linkml:left_edge ] ; sh:targetClass opencloning_linkml:RestrictionEnzymeDigestionSource . opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the in-silico transformation of a sequence into its reverse complement" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh: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 1 ; - sh:path opencloning_linkml:output_name ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 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 ; @@ -1478,36 +1490,51 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "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: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:property [ 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: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: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:string ; - sh:description "Designates the class" ; + sh:description "The SEVA plasmid name" ; sh:maxCount 1 ; + sh:minCount 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:order 1 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^pSEVA\\d+.*$" ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1521,20 +1548,11 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:order 2 ; sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; - sh:description "The SEVA plasmid name" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^pSEVA\\d+.*$" ], - [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:SEVASource . opencloning_linkml:SequenceCutSource a sh:NodeShape ; @@ -1542,18 +1560,35 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:class opencloning_linkml:SequenceCut ; + sh: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 ; @@ -1563,36 +1598,19 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; - sh:path opencloning_linkml:left_edge ], - [ sh:class opencloning_linkml:SequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path opencloning_linkml:right_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:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:path opencloning_linkml:left_edge ] ; 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 "Designates the class" ; + sh:property [ sh:description "The type of file" ; + sh:in ( NCIT:C171177 ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:minCount 1 ; + sh:order 4 ; + sh:path opencloning_linkml:file_type ], [ sh:datatype xsd:string ; sh:description "The name of the file" ; sh:maxCount 1 ; @@ -1600,25 +1618,25 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:file_name ], - [ sh:description "The type of file" ; - sh:in ( NCIT:C171177 ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 4 ; - sh:path opencloning_linkml:file_type ], [ sh:datatype xsd:string ; - sh:description "The alignment of the sequencing read to the sequence. List of strings representing aligned sequences." ; - sh:minCount 1 ; + sh:description "Designates the class" ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:alignment ], + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:class bioschemas:DNA ; sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 2 ; - sh:path opencloning_linkml:sequence_id ] ; + sh:path opencloning_linkml:sequence_id ], + [ sh:datatype xsd:string ; + sh:description "The alignment of the sequencing read to the sequence. List of strings representing aligned sequences." ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:alignment ] ; sh:targetClass opencloning_linkml:SequencingFile . opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; @@ -1632,73 +1650,73 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:order 2 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /." ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^[^\\/]+\\/[^\\/]+$" ], + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh: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:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:SnapGenePlasmidSource . opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:string ; + sh:description "Can be used to indicate the intended primer design for this sequence in the template" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:primer_design ], + [ sh:datatype xsd:boolean ; sh: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: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:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:TemplateSequence . opencloning_linkml:TextFileSequence a sh:NodeShape ; @@ -1718,41 +1736,36 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + [ sh:description "The format of a sequence file" ; + sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:overhang_watson_3prime ], + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_format ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:file_content ], + [ sh:datatype xsd:integer ; + sh:description "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: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:path opencloning_linkml:overhang_crick_3prime ] ; sh:targetClass opencloning_linkml:TextFileSequence . opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is uploaded as a file" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:coordinates ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1765,12 +1778,35 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:index_in_file ], + [ 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: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 "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 "The name of the file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:file_name ], + [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:coordinates ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1787,25 +1823,7 @@ opencloning_linkml:UploadedFileSource 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 8 ; - 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 6 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence should be circularized (FASTA only)" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:circularize ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ] ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:UploadedFileSource . opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; @@ -1817,45 +1835,45 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The id of the gene in the WeKwikGene database" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^\\d+$" ], - [ sh: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:order 7 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The URL of a sequence file" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "The id of the gene in the WeKwikGene database" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The URL of a sequence file" ; + sh:order 1 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^\\d+$" ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; - sh: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:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1867,7 +1885,7 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; opencloning_linkml:AnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step" ; - sh:ignoredProperties ( opencloning_linkml:Type opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:start_location opencloning_linkml:sseqid opencloning_linkml:percent_match_length opencloning_linkml:Description opencloning_linkml:strand opencloning_linkml:length_of_found_feature opencloning_linkml:Feature rdf:type opencloning_linkml:fragment opencloning_linkml:percent_identity opencloning_linkml:end_location opencloning_linkml:sequence opencloning_linkml:database ) ; + sh:ignoredProperties ( opencloning_linkml:percent_identity opencloning_linkml:Type opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:length_of_found_feature opencloning_linkml:database opencloning_linkml:Description rdf:type opencloning_linkml:end_location opencloning_linkml:fragment opencloning_linkml:percent_match_length opencloning_linkml:Feature opencloning_linkml:sequence opencloning_linkml:sseqid opencloning_linkml:start_location opencloning_linkml:strand ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1879,13 +1897,20 @@ opencloning_linkml:AnnotationReport a sh:NodeShape ; opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a file associated with a sequence" ; - sh:ignoredProperties ( rdf:type opencloning_linkml:alignment ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:ignoredProperties ( opencloning_linkml:alignment rdf:type ) ; + sh:property [ sh:description "The type of file" ; + sh:in ( NCIT:C171177 ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 3 ; + sh:path opencloning_linkml:file_type ], + [ sh:datatype xsd:string ; + sh:description "The name of the file" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:file_name ], [ sh:class bioschemas:DNA ; sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; @@ -1894,18 +1919,11 @@ opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:sequence_id ], [ sh:datatype xsd:string ; - sh:description "The name of the file" ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:file_name ], - [ sh:description "The type of file" ; - sh:in ( NCIT:C171177 ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 3 ; - sh:path opencloning_linkml:file_type ] ; + sh:order 0 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:AssociatedFile . opencloning_linkml:CollectionOption a sh:NodeShape ; @@ -1919,19 +1937,19 @@ opencloning_linkml:CollectionOption a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:name ], - [ sh:class opencloning_linkml:CollectionOptionInfo ; - sh:description "Additional information about this option" ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path opencloning_linkml:info ], [ sh:class schema1:CreateAction ; sh:description "The source of the sequence for this option" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; - sh:path opencloning_linkml:source ] ; + sh:path opencloning_linkml:source ], + [ sh:class opencloning_linkml:CollectionOptionInfo ; + sh:description "Additional information about this option" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path opencloning_linkml:info ] ; sh:targetClass opencloning_linkml:CollectionOption . opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; @@ -1939,41 +1957,48 @@ 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 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:datatype xsd:string ; + sh:description "The well position in the kit plate" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:type ], + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:well ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a thing" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path schema1:name ], [ sh:datatype xsd:string ; sh:description "A description of the option" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:description ], - [ sh:datatype xsd:string ; - sh:description "The well position in the kit plate" ; + [ 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:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:well ] ; + sh:order 2 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:CollectionOptionInfo . opencloning_linkml:Primer a sh:NodeShape ; sh:closed true ; sh:description "An oligonucleotide or primer" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1986,31 +2011,29 @@ opencloning_linkml:Primer a sh:NodeShape ; sh:order 1 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:sequence ; + sh:pattern "^[acgtACGT]+$" ], [ sh:datatype xsd:string ; + sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:sequence ; - sh:pattern "^[acgtACGT]+$" ] ; + 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:description opencloning_linkml:repository_name opencloning_linkml:reaction_type opencloning_linkml:greedy opencloning_linkml:options rdf:type opencloning_linkml:coordinates opencloning_linkml:sequence_accession opencloning_linkml:overhang_watson_3prime opencloning_linkml:end opencloning_linkml:strand opencloning_linkml:annotation_tool_version opencloning_linkml:user_input opencloning_linkml:repository_id opencloning_linkml:annotation_report opencloning_linkml:add_primer_features opencloning_linkml:gene_id opencloning_linkml:index_in_file opencloning_linkml:left_edge opencloning_linkml:annotation_tool opencloning_linkml:sequence_file_format opencloning_linkml:category_id opencloning_linkml:file_name opencloning_linkml:restriction_enzymes opencloning_linkml:assembly_accession opencloning_linkml:circularize opencloning_linkml:start opencloning_linkml:title opencloning_linkml:addgene_sequence_type opencloning_linkml:locus_tag opencloning_linkml:sequence_file_url opencloning_linkml:right_edge opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:image ) ; - sh:property [ sh:datatype xsd:string ; + sh:ignoredProperties ( opencloning_linkml:location opencloning_linkml:title opencloning_linkml:addgene_sequence_type opencloning_linkml:locus_tag opencloning_linkml:annotation_report opencloning_linkml:gene_id rdf:type opencloning_linkml:options opencloning_linkml:index_in_file opencloning_linkml:overhang_crick_3prime opencloning_linkml:category_id opencloning_linkml:repository_id opencloning_linkml:left_edge opencloning_linkml:reaction_type opencloning_linkml:greedy opencloning_linkml:image opencloning_linkml:sequence_file_url opencloning_linkml:annotation_tool_version opencloning_linkml:repository_name opencloning_linkml:restriction_enzymes opencloning_linkml:sequence_file_format opencloning_linkml:circularize opencloning_linkml:assembly_accession opencloning_linkml:add_primer_features opencloning_linkml:coordinates opencloning_linkml:circular opencloning_linkml:right_edge opencloning_linkml:description opencloning_linkml:file_name opencloning_linkml:annotation_tool ) ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -2023,23 +2046,18 @@ schema1:CreateAction a sh:NodeShape ; 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 "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:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ] ; sh:targetClass schema1:CreateAction . opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; @@ -2091,37 +2109,37 @@ opencloning_linkml:SequenceCut a sh:NodeShape ; bioschemas:DNA a sh:NodeShape ; sh:closed false ; sh:description "Represents a sequence" ; - sh:ignoredProperties ( opencloning_linkml:overhang_watson_3prime opencloning_linkml:sequence_file_format rdf:type opencloning_linkml:file_content opencloning_linkml:primer_design schema1:name opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:sequence ) ; - sh:property [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:overhang_watson_3prime opencloning_linkml:primer_design opencloning_linkml:circular rdf:type opencloning_linkml:sequence_file_format opencloning_linkml:overhang_crick_3prime schema1:name opencloning_linkml:sequence opencloning_linkml:file_content ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:path schema1:identifier ] ; sh:targetClass bioschemas:DNA . schema1:Role a sh:NodeShape ; sh:closed true ; sh:description "Represents an input to a source" ; - sh:ignoredProperties ( opencloning_linkml:right_location rdf:type opencloning_linkml:left_location opencloning_linkml:reverse_complemented ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], - [ sh:class bioschemas:DNA ; + sh: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 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; - sh:path opencloning_linkml:sequence ] ; + sh:path opencloning_linkml:sequence ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ] ; sh:targetClass schema1:Role . diff --git a/project/shex/opencloning_linkml.shex b/project/shex/opencloning_linkml.shex index e837642..432f45e 100644 --- a/project/shex/opencloning_linkml.shex +++ b/project/shex/opencloning_linkml.shex @@ -11,6 +11,8 @@ PREFIX bioschemas: xsd:string + xsd:string + linkml:String xsd:string linkml:Integer xsd:integer @@ -218,15 +220,12 @@ linkml:Sparqlpath xsd:string } CLOSED { - ( $ ( & ; - rdf:type [ schema1:CreateAction ] ? ; + ( $ ( & ; + rdf:type [ ] ? ; @linkml:String ? ; - @linkml:String ; @linkml:String ? ; @linkml:Integer ? ; - @linkml:Integer ; - @linkml:Integer ; - @linkml:Integer + @ ) ; rdf:type [ ] ) @@ -286,11 +285,7 @@ linkml:Sparqlpath xsd:string CLOSED { ( $ ( & ; - rdf:type [ schema1:CreateAction ] ? ; - @linkml:Integer ? ; - @linkml:Integer ? ; - @linkml:String ; - @linkml:Boolean ? + rdf:type [ schema1:CreateAction ] ? ) ; rdf:type [ ] ) @@ -304,6 +299,18 @@ linkml:Sparqlpath xsd:string } OR @ OR @ ) + ( + CLOSED { + ( $ ( & ; + rdf:type [ ] ? ; + @ ? ; + @linkml:String + ) ; + rdf:type [ ] + ) + } OR @ +) + CLOSED { ( $ ( & ; rdf:type [ schema1:CreateAction ] ? ; @@ -398,8 +405,8 @@ linkml:Sparqlpath xsd:string ) ; rdf:type [ ] ) - } OR @ OR @ OR @ OR @ OR @ OR - @ OR @ OR @ + } OR @ OR @ OR @ OR @ OR @ OR + @ OR @ OR @ OR @ ) CLOSED { @@ -502,9 +509,9 @@ linkml:Sparqlpath xsd:string } ( - @ OR @ OR @ OR @ OR @ OR - @ OR @ OR @ OR @ OR - @ OR @ OR @ + @ OR @ OR @ OR @ OR @ OR + @ OR @ OR @ OR @ OR + @ OR @ ) { diff --git a/project/sqlschema/opencloning_linkml.sql b/project/sqlschema/opencloning_linkml.sql index 4b7bdb4..b854a6b 100644 --- a/project/sqlschema/opencloning_linkml.sql +++ b/project/sqlschema/opencloning_linkml.sql @@ -41,6 +41,7 @@ -- * Slot: EuroscarfSource_id Description: Autocreated FK slot -- * Slot: IGEMSource_id Description: Autocreated FK slot -- * Slot: OpenDNACollectionsSource_id Description: Autocreated FK slot +-- * Slot: NCBISequenceSource_id Description: Autocreated FK slot -- * Slot: GenomeCoordinatesSource_id Description: Autocreated FK slot -- * Slot: SequenceCutSource_id Description: Autocreated FK slot -- * Slot: RestrictionEnzymeDigestionSource_id Description: Autocreated FK slot @@ -102,10 +103,6 @@ -- * Slot: resistance Description: The antibiotic resistance of the plasmid -- * Slot: well Description: The well position in the kit plate -- # Class: "ManuallyTypedSource" Description: "Represents the source of a sequence that is manually typed by the user" --- * Slot: overhang_crick_3prime 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 --- * Slot: overhang_watson_3prime Description: The equivalent of `overhang_crick_3prime` but for the watson strand --- * Slot: user_input Description: --- * Slot: circular Description: Whether the sequence is circular or not -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -189,14 +186,21 @@ -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database -- * Slot: id Description: A unique identifier for a thing +-- # Class: "NCBISequenceSource" Description: "Represents the source of a sequence that is identified by an NCBI sequence accession" +-- * Slot: location Description: If provided, represents the location of a subsequence within the sequence identified by the sequence accession. +-- * Slot: repository_id Description: The sequence accession (e.g. X60065.1) +-- * Slot: repository_name Description: +-- * Slot: type Description: Designates the class +-- * Slot: output_name Description: Used to specify the name of the output sequence +-- * Slot: database_id Description: The id of an entity in a database +-- * Slot: id Description: A unique identifier for a thing -- # Class: "GenomeCoordinatesSource" Description: "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" -- * Slot: assembly_accession Description: The accession of the assembly --- * Slot: sequence_accession Description: The accession of the sequence -- * Slot: locus_tag Description: The locus tag of the sequence -- * Slot: gene_id Description: The gene id of the sequence --- * Slot: start Description: The starting coordinate (1-based) of the sequence in the sequence accession --- * Slot: end Description: The ending coordinate (1-based) of the sequence in the sequence accession --- * Slot: strand Description: The strand of the sequence in the sequence accession, should be 1 or -1 +-- * Slot: location Description: If provided, represents the location of a subsequence within the sequence identified by the sequence accession. +-- * Slot: repository_id Description: The sequence accession (e.g. X60065.1) +-- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -430,10 +434,6 @@ CREATE TABLE "CollectionOptionInfo" ( PRIMARY KEY (id) ); CREATE TABLE "ManuallyTypedSource" ( - overhang_crick_3prime INTEGER, - overhang_watson_3prime INTEGER, - user_input TEXT NOT NULL, - circular BOOLEAN, type TEXT, output_name TEXT, database_id INTEGER, @@ -539,14 +539,23 @@ CREATE TABLE "OpenDNACollectionsSource" ( id INTEGER NOT NULL, PRIMARY KEY (id) ); +CREATE TABLE "NCBISequenceSource" ( + location TEXT, + repository_id TEXT NOT NULL, + repository_name VARCHAR(20) NOT NULL, + type TEXT, + output_name TEXT, + database_id INTEGER, + id INTEGER NOT NULL, + PRIMARY KEY (id) +); CREATE TABLE "GenomeCoordinatesSource" ( assembly_accession TEXT, - sequence_accession TEXT NOT NULL, locus_tag TEXT, gene_id INTEGER, - start INTEGER NOT NULL, - "end" INTEGER NOT NULL, - strand INTEGER NOT NULL, + location TEXT NOT NULL, + repository_id TEXT NOT NULL, + repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -795,6 +804,7 @@ CREATE TABLE "SourceInput" ( "EuroscarfSource_id" INTEGER, "IGEMSource_id" INTEGER, "OpenDNACollectionsSource_id" INTEGER, + "NCBISequenceSource_id" INTEGER, "GenomeCoordinatesSource_id" INTEGER, "SequenceCutSource_id" INTEGER, "RestrictionEnzymeDigestionSource_id" INTEGER, @@ -830,6 +840,7 @@ CREATE TABLE "SourceInput" ( FOREIGN KEY("EuroscarfSource_id") REFERENCES "EuroscarfSource" (id), FOREIGN KEY("IGEMSource_id") REFERENCES "IGEMSource" (id), FOREIGN KEY("OpenDNACollectionsSource_id") REFERENCES "OpenDNACollectionsSource" (id), + FOREIGN KEY("NCBISequenceSource_id") REFERENCES "NCBISequenceSource" (id), FOREIGN KEY("GenomeCoordinatesSource_id") REFERENCES "GenomeCoordinatesSource" (id), FOREIGN KEY("SequenceCutSource_id") REFERENCES "SequenceCutSource" (id), FOREIGN KEY("RestrictionEnzymeDigestionSource_id") REFERENCES "RestrictionEnzymeDigestionSource" (id), diff --git a/src/opencloning_linkml/datamodel/_models.py b/src/opencloning_linkml/datamodel/_models.py index a0ac6bf..a9ed6b2 100644 --- a/src/opencloning_linkml/datamodel/_models.py +++ b/src/opencloning_linkml/datamodel/_models.py @@ -83,6 +83,21 @@ def __contains__(self, key: str) -> bool: "pattern": "^(\\d+)\\.\\.(\\d+)$", "typeof": "string", }, + "simple_sequence_location": { + "description": "A simple sequence " + "location defined using " + "genbank syntax (e.g. " + "1..100 or " + "complement(1..100)), " + "note that 1..100 in " + "genbank is equivalent " + "to 0:100 in python", + "exact_mappings": ["GENO:0000965"], + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "name": "simple_sequence_location", + "pattern": "^((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))$", + "typeof": "string", + }, "version_number": { "description": "A version number", "exact_mappings": ["IAO:0000129"], @@ -102,7 +117,7 @@ class RepositoryName(str, Enum): """ genbank = "genbank" """ - GenBank + GenBank / NCBI """ benchling = "benchling" """ @@ -260,12 +275,7 @@ class TemplateSequence(Sequence): circular: Optional[bool] = Field( default=None, description="""Whether the sequence is circular or linear""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) primer_design: Optional[str] = Field( default=None, @@ -328,7 +338,7 @@ class TextFileSequence(Sequence): json_schema_extra={ "linkml_meta": { "alias": "overhang_crick_3prime", - "domain_of": ["TextFileSequence", "ManuallyTypedSource", "OligoHybridizationSource"], + "domain_of": ["TextFileSequence", "OligoHybridizationSource"], "ifabsent": "int(0)", } }, @@ -337,11 +347,7 @@ class TextFileSequence(Sequence): default=0, description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", json_schema_extra={ - "linkml_meta": { - "alias": "overhang_watson_3prime", - "domain_of": ["TextFileSequence", "ManuallyTypedSource"], - "ifabsent": "int(0)", - } + "linkml_meta": {"alias": "overhang_watson_3prime", "domain_of": ["TextFileSequence"], "ifabsent": "int(0)"} }, ) file_content: Optional[str] = Field( @@ -778,7 +784,6 @@ class CollectionOption(ConfiguredBaseModel): ManuallyTypedSource, UploadedFileSource, RepositoryIdSource, - GenomeCoordinatesSource, SequenceCutSource, AssemblySource, OligoHybridizationSource, @@ -805,6 +810,8 @@ class CollectionOption(ConfiguredBaseModel): EuroscarfSource, IGEMSource, OpenDNACollectionsSource, + NCBISequenceSource, + GenomeCoordinatesSource, ] = Field( default=..., description="""The source of the sequence for this option""", @@ -884,51 +891,8 @@ class ManuallyTypedSource(Source): Represents the source of a sequence that is manually typed by the user """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( - { - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_usage": { - "overhang_crick_3prime": {"ifabsent": "int(0)", "name": "overhang_crick_3prime"}, - "overhang_watson_3prime": {"ifabsent": "int(0)", "name": "overhang_watson_3prime"}, - }, - } - ) + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) - overhang_crick_3prime: Optional[int] = Field( - default=0, - 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""", - json_schema_extra={ - "linkml_meta": { - "alias": "overhang_crick_3prime", - "domain_of": ["TextFileSequence", "ManuallyTypedSource", "OligoHybridizationSource"], - "ifabsent": "int(0)", - } - }, - ) - overhang_watson_3prime: Optional[int] = Field( - default=0, - description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", - json_schema_extra={ - "linkml_meta": { - "alias": "overhang_watson_3prime", - "domain_of": ["TextFileSequence", "ManuallyTypedSource"], - "ifabsent": "int(0)", - } - }, - ) - user_input: str = Field( - default=..., json_schema_extra={"linkml_meta": {"alias": "user_input", "domain_of": ["ManuallyTypedSource"]}} - ) - circular: Optional[bool] = Field( - default=None, - description="""Whether the sequence is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, - ) type: Literal["ManuallyTypedSource"] = Field( default="ManuallyTypedSource", description="""Designates the class""", @@ -976,19 +940,6 @@ class ManuallyTypedSource(Source): }, ) - @field_validator("user_input") - def pattern_user_input(cls, v): - pattern = re.compile(r"^[acgtACGT]+$") - if isinstance(v, list): - for element in v: - if isinstance(element, str) and not pattern.match(element): - err_msg = f"Invalid user_input format: {element}" - raise ValueError(err_msg) - elif isinstance(v, str) and not pattern.match(v): - err_msg = f"Invalid user_input format: {v}" - raise ValueError(err_msg) - return v - class UploadedFileSource(Source): """ @@ -1993,23 +1944,99 @@ def pattern_repository_id(cls, v): return v -class GenomeCoordinatesSource(Source): +class NCBISequenceSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by an NCBI sequence accession + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": {"description": "The sequence accession (e.g. " "X60065.1)", "name": "repository_id"} + }, + } + ) + + location: Optional[str] = Field( + default=None, + description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", + json_schema_extra={"linkml_meta": {"alias": "location", "domain_of": ["NCBISequenceSource"]}}, + ) + repository_id: str = Field( + default=..., + description="""The sequence accession (e.g. X60065.1)""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["NCBISequenceSource"] = Field( + default="NCBISequenceSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class GenomeCoordinatesSource(NCBISequenceSource): """ Represents the source of a sequence that is identified by genome coordinates, requested from NCBI """ - linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"location": {"name": "location", "required": True}}, + } + ) assembly_accession: Optional[str] = Field( default=None, description="""The accession of the assembly""", json_schema_extra={"linkml_meta": {"alias": "assembly_accession", "domain_of": ["GenomeCoordinatesSource"]}}, ) - sequence_accession: str = Field( - default=..., - description="""The accession of the sequence""", - json_schema_extra={"linkml_meta": {"alias": "sequence_accession", "domain_of": ["GenomeCoordinatesSource"]}}, - ) locus_tag: Optional[str] = Field( default=None, description="""The locus tag of the sequence""", @@ -2020,22 +2047,19 @@ class GenomeCoordinatesSource(Source): description="""The gene id of the sequence""", json_schema_extra={"linkml_meta": {"alias": "gene_id", "domain_of": ["GenomeCoordinatesSource"]}}, ) - start: int = Field( + location: str = Field( default=..., - description="""The starting coordinate (1-based) of the sequence in the sequence accession""", - json_schema_extra={"linkml_meta": {"alias": "start", "domain_of": ["GenomeCoordinatesSource"]}}, + description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", + json_schema_extra={"linkml_meta": {"alias": "location", "domain_of": ["NCBISequenceSource"]}}, ) - end: int = Field( + repository_id: str = Field( default=..., - description="""The ending coordinate (1-based) of the sequence in the sequence accession""", - json_schema_extra={"linkml_meta": {"alias": "end", "domain_of": ["GenomeCoordinatesSource"]}}, + description="""The sequence accession (e.g. X60065.1)""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - strand: int = Field( + repository_name: RepositoryName = Field( default=..., - description="""The strand of the sequence in the sequence accession, should be 1 or -1""", - json_schema_extra={ - "linkml_meta": {"alias": "strand", "domain_of": ["GenomeCoordinatesSource", "PlannotateAnnotationReport"]} - }, + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, ) type: Literal["GenomeCoordinatesSource"] = Field( default="GenomeCoordinatesSource", @@ -2286,12 +2310,7 @@ class AssemblySource(Source): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["AssemblySource"] = Field( default="AssemblySource", @@ -2358,12 +2377,7 @@ class PCRSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["PCRSource"] = Field( default="PCRSource", @@ -2423,12 +2437,7 @@ class LigationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["LigationSource"] = Field( default="LigationSource", @@ -2488,12 +2497,7 @@ class HomologousRecombinationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["HomologousRecombinationSource"] = Field( default="HomologousRecombinationSource", @@ -2553,12 +2557,7 @@ class GibsonAssemblySource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["GibsonAssemblySource"] = Field( default="GibsonAssemblySource", @@ -2618,12 +2617,7 @@ class InFusionSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["InFusionSource"] = Field( default="InFusionSource", @@ -2683,12 +2677,7 @@ class OverlapExtensionPCRLigationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["OverlapExtensionPCRLigationSource"] = Field( default="OverlapExtensionPCRLigationSource", @@ -2748,12 +2737,7 @@ class InVivoAssemblySource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["InVivoAssemblySource"] = Field( default="InVivoAssemblySource", @@ -2828,12 +2812,7 @@ class RestrictionAndLigationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["RestrictionAndLigationSource"] = Field( default="RestrictionAndLigationSource", @@ -2903,12 +2882,7 @@ class GatewaySource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["GatewaySource"] = Field( default="GatewaySource", @@ -2968,12 +2942,7 @@ class CreLoxRecombinationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["CreLoxRecombinationSource"] = Field( default="CreLoxRecombinationSource", @@ -3033,12 +3002,7 @@ class CRISPRSource(HomologousRecombinationSource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={ - "linkml_meta": { - "alias": "circular", - "domain_of": ["TemplateSequence", "ManuallyTypedSource", "AssemblySource"], - } - }, + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, ) type: Literal["CRISPRSource"] = Field( default="CRISPRSource", @@ -3101,7 +3065,7 @@ class OligoHybridizationSource(Source): json_schema_extra={ "linkml_meta": { "alias": "overhang_crick_3prime", - "domain_of": ["TextFileSequence", "ManuallyTypedSource", "OligoHybridizationSource"], + "domain_of": ["TextFileSequence", "OligoHybridizationSource"], } }, ) @@ -3228,7 +3192,6 @@ class CloningStrategy(ConfiguredBaseModel): ManuallyTypedSource, UploadedFileSource, RepositoryIdSource, - GenomeCoordinatesSource, SequenceCutSource, AssemblySource, OligoHybridizationSource, @@ -3255,6 +3218,8 @@ class CloningStrategy(ConfiguredBaseModel): EuroscarfSource, IGEMSource, OpenDNACollectionsSource, + NCBISequenceSource, + GenomeCoordinatesSource, ] ] = Field( default=..., @@ -3346,9 +3311,7 @@ class PlannotateAnnotationReport(AnnotationReport): ) strand: Optional[int] = Field( default=None, - json_schema_extra={ - "linkml_meta": {"alias": "strand", "domain_of": ["GenomeCoordinatesSource", "PlannotateAnnotationReport"]} - }, + json_schema_extra={"linkml_meta": {"alias": "strand", "domain_of": ["PlannotateAnnotationReport"]}}, ) percent_identity: Optional[float] = Field( default=None, @@ -3658,6 +3621,7 @@ class SequencingFile(AssociatedFile): EuroscarfSource.model_rebuild() IGEMSource.model_rebuild() OpenDNACollectionsSource.model_rebuild() +NCBISequenceSource.model_rebuild() GenomeCoordinatesSource.model_rebuild() SequenceCutSource.model_rebuild() RestrictionEnzymeDigestionSource.model_rebuild() diff --git a/src/opencloning_linkml/migrations/model_archive/v0_4_9.py b/src/opencloning_linkml/migrations/model_archive/v0_4_9.py new file mode 100644 index 0000000..e69de29 diff --git a/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py new file mode 100644 index 0000000..e69de29 diff --git a/src/opencloning_linkml/schema/opencloning_linkml.yaml b/src/opencloning_linkml/schema/opencloning_linkml.yaml index 6e2e962..435e572 100644 --- a/src/opencloning_linkml/schema/opencloning_linkml.yaml +++ b/src/opencloning_linkml/schema/opencloning_linkml.yaml @@ -40,6 +40,14 @@ types: exact_mappings: - GENO:0000965 pattern: ^(\d+)\.\.(\d+)$ + simple_sequence_location: + typeof: string + description: >- + A simple sequence location defined using genbank syntax (e.g. 1..100 or complement(1..100)), note that 1..100 in genbank is equivalent to 0:100 in python + exact_mappings: + - GENO:0000965 + pattern: ^((\d+)\.\.(\d+)|complement\((\d+)\.\.(\d+)\))$ + classes: NamedThing: @@ -269,25 +277,6 @@ classes: is_a: Source description: >- Represents the source of a sequence that is manually typed by the user - # TODO: See if we can define a type of raw DNA seq with its own constraints, - # should be the same as in primer - slots: - - overhang_crick_3prime - - overhang_watson_3prime - attributes: - - user_input: - required: true - range: string - pattern: ^[acgtACGT]+$ - - circular: - range: boolean - description: >- - Whether the sequence is circular or not - slot_usage: - overhang_crick_3prime: - ifabsent: int(0) - overhang_watson_3prime: - ifabsent: int(0) UploadedFileSource: is_a: Source @@ -431,8 +420,24 @@ classes: Subpath of the sequence in the Open DNA collections repository pattern: ^[^\/]+\/[^\/]+$ + NCBISequenceSource: + is_a: RepositoryIdSource + description: >- + Represents the source of a sequence that is identified by an NCBI sequence accession + slot_usage: + repository_id: + description: >- + The sequence accession (e.g. X60065.1) + attributes: + - location: + range: simple_sequence_location + description: >- + If provided, represents the location of a subsequence within the sequence identified by + the sequence accession. + required: false + GenomeCoordinatesSource: - is_a: Source + is_a: NCBISequenceSource description: >- Represents the source of a sequence that is identified by genome coordinates, requested from NCBI attributes: @@ -441,11 +446,6 @@ classes: description: >- The accession of the assembly required: false - - sequence_accession: - range: string - description: >- - The accession of the sequence - required: true - locus_tag: range: string description: >- @@ -456,23 +456,10 @@ classes: description: >- The gene id of the sequence required: false - # TODO: Move to sequencelocation - - start: - range: integer - description: >- - The starting coordinate (1-based) of the sequence in the sequence accession - required: true - - end: - range: integer - description: >- - The ending coordinate (1-based) of the sequence in the sequence accession - required: true - # TODO: constrain to 1 / -1 - - strand: - range: integer - description: >- - The strand of the sequence in the sequence accession, should be 1 or -1 - required: true + slot_usage: + location: + required: true + SequenceCutSource: is_a: Source @@ -855,7 +842,7 @@ enums: Addgene genbank: description: >- - GenBank + GenBank / NCBI benchling: description: >- Benchling diff --git a/tests/migration/v0.4.9/genbank_id.json b/tests/migration/v0.4.9/genbank_id.json new file mode 100644 index 0000000..6585e46 --- /dev/null +++ b/tests/migration/v0.4.9/genbank_id.json @@ -0,0 +1,28 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "file_content": "LOCUS X60065 1136 bp DNA linear MAM 26-JUL-2016\nDEFINITION B.bovis beta-2-gpI mRNA for beta-2-glycoprotein I.\nACCESSION X60065\nVERSION X60065.1\nKEYWORDS beta-2 glycoprotein I.\nSOURCE Bos taurus (domestic cattle)\n ORGANISM Bos taurus\n Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi;\n Mammalia; Eutheria; Laurasiatheria; Artiodactyla; Ruminantia;\n Pecora; Bovidae; Bovinae; Bos.\nREFERENCE 1\n AUTHORS Bendixen,E., Halkier,T., Magnusson,S., Sottrup-Jensen,L. and\n Kristensen,T.\n TITLE Complete primary structure of bovine beta 2-glycoprotein I:\n localization of the disulfide bridges\n JOURNAL Biochemistry 31 (14), 3611-3617 (1992)\n PUBMED 1567819\nREFERENCE 2 (bases 1 to 1136)\n AUTHORS Kristensen,T.\n TITLE Direct Submission\n JOURNAL Submitted (11-JUN-1991) T. Kristensen, Dept of Mol Biology,\n University of Aarhus, C F Mollers Alle 130, DK-8000 Aarhus C,\n DENMARK\nFEATURES Location/Qualifiers\n source 1..1136\n /organism=\"Bos taurus\"\n /mol_type=\"mRNA\"\n /db_xref=\"taxon:9913\"\n /clone=\"pBB2I\"\n /tissue_type=\"liver\"\n gene <1..1136\n /gene=\"beta-2-gpI\"\n CDS <1..1029\n /gene=\"beta-2-gpI\"\n /codon_start=1\n /product=\"beta-2-glycoprotein I\"\n /protein_id=\"CAA42669.1\"\n /db_xref=\"GOA:P17690\"\n /db_xref=\"InterPro:IPR000436\"\n /db_xref=\"InterPro:IPR015104\"\n /db_xref=\"InterPro:IPR016060\"\n /db_xref=\"UniProtKB/Swiss-Prot:P17690\"\n /translation=\"PALVLLLGFLCHVAIAGRTCPKPDELPFSTVVPLKRTYEPGEQIV\n FSCQPGYVSRGGIRRFTCPLTGLWPINTLKCMPRVCPFAGILENGTVRYTTFEYPNTIS\n FSCHTGFYLKGASSAKCTEEGKWSPDLPVCAPITCPPPPIPKFASLSVYKPLAGNNSFY\n GSKAVFKCLPHHAMFGNDTVTCTEHGNWTQLPECREVRCPFPSRPDNGFVNHPANPVLY\n YKDTATFGCHETYSLDGPEEVECSKFGNWSAQPSCKASCKLSIKRATVIYEGERVAIQN\n KFKNGMLHGQKVSFFCKHKEKKCSYTEDAQCIDGTIEIPKCFKEHSSLAFWKTDASDVK\n PC\"\n sig_peptide <1..48\n /gene=\"beta-2-gpI\"\n mat_peptide 49..1026\n /gene=\"beta-2-gpI\"\n /product=\"beta-2-glycoprotein I\"\n regulatory 1101..1106\n /regulatory_class=\"polyA_signal_sequence\"\n /gene=\"beta-2-gpI\"\n polyA_site 1130\n /gene=\"beta-2-gpI\"\nORIGIN\n 1 ccagcgctcg tcttgctgtt ggggtttctc tgccacgttg ctatcgcagg acgaacctgc\n 61 cccaagccag atgagctacc gttttccacg gtggttccac tgaaacggac ctatgagccc\n 121 ggggagcaga tagtcttctc ctgccagccg ggctacgtgt cccggggagg gatccggcgg\n 181 tttacatgcc cgctcacagg actctggccc atcaacacgc tgaaatgcat gcccagagta\n 241 tgtccttttg ctgggatctt agaaaacgga acggtacgct atacaacgtt tgagtatccc\n 301 aacaccatca gcttttcttg ccacacgggg ttttatctga aaggagctag ttctgcaaaa\n 361 tgcactgagg aagggaagtg gagcccagac cttcctgtct gtgcccctat aacctgccct\n 421 ccaccaccca tacccaagtt tgcaagtctc agcgtttaca agccgttggc tgggaacaac\n 481 tccttctatg gcagcaaggc agtctttaag tgcttgccac accacgcgat gtttggaaat\n 541 gacaccgtta cctgcacgga acatgggaac tggacgcagt tgccagaatg cagggaagta\n 601 agatgcccat tcccatcaag accagacaat gggtttgtga accatcctgc aaatccagtg\n 661 ctctactata aggacaccgc cacctttggc tgccatgaaa cgtattcctt ggatggaccg\n 721 gaagaagtag aatgcagcaa attcggaaac tggtctgcac agccaagctg taaagcatct\n 781 tgtaagttat ctattaaaag agctactgtg atatatgaag gagagagagt agctatccag\n 841 aacaaattta agaatggaat gctgcatggc caaaaggttt ctttcttctg caagcataag\n 901 gaaaagaagt gcagctacac agaagatgct cagtgcatag acggcaccat cgagattccc\n 961 aaatgcttca aggagcacag ttctttagct ttctggaaaa cggatgcatc tgacgtaaaa\n 1021 ccatgctaag ctggttttca cactgaaaat taaatgtcat gcttatatgt gtctgtctga\n 1081 gaatctgatg gaaacggaaa aataaagaga ctgaatttac cgtgtcaaga aaaaaa\n//" + } + ], + "sources": [ + { + "id": 1, + "type": "RepositoryIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "X60065.1", + "repository_name": "genbank" + } + ], + "description": "", + "primers": [], + "backend_version": "0.4.11", + "schema_version": "0.4.8", + "frontend_version": "v0.4.24" +} diff --git a/tests/migration/v0.4.9/genome_coordinates.json b/tests/migration/v0.4.9/genome_coordinates.json new file mode 100644 index 0000000..e4751fb --- /dev/null +++ b/tests/migration/v0.4.9/genome_coordinates.json @@ -0,0 +1,55 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "file_content": "LOCUS NC_003424 101 bp DNA linear CON 16-AUG-2024\nDEFINITION Schizosaccharomyces pombe strain 972h- genome assembly, chromosome:\n I.\nACCESSION NC_003424\nVERSION NC_003424.3\nDBLINK BioProject: PRJNA127\n BioSample: SAMEA3138176\n Assembly: GCF_000002945.2\nKEYWORDS RefSeq.\nSOURCE Schizosaccharomyces pombe (fission yeast)\n ORGANISM Schizosaccharomyces pombe\n Eukaryota; Fungi; Dikarya; Ascomycota; Taphrinomycotina;\n Schizosaccharomycetes; Schizosaccharomycetales;\n Schizosaccharomycetaceae; Schizosaccharomyces.\nREFERENCE 1 (bases 1 to 101)\n AUTHORS Schafer,B., Hansen,M. and Lang,B.F.\n TITLE Transcription and RNA-processing in fission yeast mitochondria\n JOURNAL RNA 11 (5), 785-795 (2005)\n PUBMED 15811919\nREFERENCE 2 (bases 1 to 101)\n AUTHORS Wood,V., Gwilliam,R., Rajandream,M.A., Lyne,M., Lyne,R., Stewart,A.,\n Sgouros,J., Peat,N., Hayles,J., Baker,S., Basham,D., Bowman,S.,\n Brooks,K., Brown,D., Brown,S., Chillingworth,T., Churcher,C.,\n Collins,M., Connor,R., Cronin,A., Davis,P., Feltwell,T., Fraser,A.,\n Gentles,S., Goble,A., Hamlin,N., Harris,D., Hidalgo,J., Hodgson,G.,\n Holroyd,S., Hornsby,T., Howarth,S., Huckle,E.J., Hunt,S., Jagels,K.,\n James,K., Jones,L., Jones,M., Leather,S., McDonald,S., McLean,J.,\n Mooney,P., Moule,S., Mungall,K., Murphy,L., Niblett,D., Odell,C.,\n Oliver,K., O'Neil,S., Pearson,D., Quail,M.A., Rabbinowitsch,E.,\n Rutherford,K., Rutter,S., Saunders,D., Seeger,K., Sharp,S.,\n Skelton,J., Simmonds,M., Squares,R., Squares,S., Stevens,K.,\n Taylor,K., Taylor,R.G., Tivey,A., Walsh,S., Warren,T., Whitehead,S.,\n Woodward,J., Volckaert,G., Aert,R., Robben,J., Grymonprez,B.,\n Weltjens,I., Vanstreels,E., Rieger,M., Schafer,M., Muller-Auer,S.,\n Gabel,C., Fuchs,M., Dusterhoft,A., Fritzc,C., Holzer,E., Moestl,D.,\n Hilbert,H., Borzym,K., Langer,I., Beck,A., Lehrach,H., Reinhardt,R.,\n Pohl,T.M., Eger,P., Zimmermann,W., Wedler,H., Wambutt,R.,\n Purnelle,B., Goffeau,A., Cadieu,E., Dreano,S., Gloux,S., Lelaure,V.,\n Mottier,S., Galibert,F., Aves,S.J., Xiang,Z., Hunt,C., Moore,K.,\n Hurst,S.M., Lucas,M., Rochet,M., Gaillardin,C., Tallada,V.A.,\n Garzon,A., Thode,G., Daga,R.R., Cruzado,L., Jimenez,J., Sanchez,M.,\n del Rey,F., Benito,J., Dominguez,A., Revuelta,J.L., Moreno,S.,\n Armstrong,J., Forsburg,S.L., Cerutti,L., Lowe,T., McCombie,W.R.,\n Paulsen,I., Potashkin,J., Shpakovski,G.V., Ussery,D., Barrell,B.G.\n and Nurse,P.\n TITLE The genome sequence of Schizosaccharomyces pombe\n JOURNAL Nature 415 (6874), 871-880 (2002)\n PUBMED 11859360\n REMARK Erratum:[Nature 2003 Jan 2;421(6918):94. Cerrutti L [corrected to\n Cerutti L]]\nREFERENCE 3\n AUTHORS Wood,V., Gwilliam,R., Rajandream,M.A., Lyne,M., Lyne,R., Stewart,A.,\n Sgouros,J., Peat,N., Hayles,J., Baker,S., Basham,D., Bowman,S.,\n Brooks,K., Brown,D., Brown,S., Chillingworth,T., Churcher,C.,\n Collins,M., Connor,R., Cronin,A., Davis,P., Feltwell,T., Fraser,A.,\n Gentles,S., Goble,A., Hamlin,N., Harris,D., Hidalgo,J., Hodgson,G.,\n Holroyd,S., Hornsby,T., Howarth,S., Huckle,E.J., Hunt,S., Jagels,K.,\n James,K., Jones,L., Jones,M., Leather,S., McDonald,S., McLean,J.,\n Mooney,P., Moule,S., Mungall,K., Murphy,L., Niblett,D., Odell,C.,\n Oliver,K., O'Neil,S., Pearson,D., Quail,M.A., Rabbinowitsch,E.,\n Rutherford,K., Rutter,S., Saunders,D., Seeger,K., Sharp,S.,\n Skelton,J., Simmonds,M., Squares,R., Squares,S., Stevens,K.,\n Taylor,K., Taylor,R.G., Tivey,A., Walsh,S., Warren,T., Whitehead,S.,\n Woodward,J., Volckaert,G., Aert,R., Robben,J., Grymonprez,B.,\n Weltjens,I., Vanstreels,E., Rieger,M., Schafer,M., Muller-Auer,S.,\n Gabel,C., Fuchs,M., Dusterhoft,A., Fritzc,C., Holzer,E., Moestl,D.,\n Hilbert,H., Borzym,K., Langer,I., Beck,A., Lehrach,H., Reinhardt,R.,\n Pohl,T.M., Eger,P., Zimmermann,W., Wedler,H., Wambutt,R.,\n Purnelle,B., Goffeau,A., Cadieu,E., Dreano,S., Gloux,S., Lelaure,V.,\n Mottier,S., Galibert,F., Aves,S.J., Xiang,Z., Hunt,C., Moore,K.,\n Hurst,S.M., Lucas,M., Rochet,M., Gaillardin,C., Tallada,V.A.,\n Garzon,A., Thode,G., Daga,R.R., Cruzado,L., Jimenez,J., Sanchez,M.,\n del Rey,F., Benito,J., Dominguez,A., Revuelta,J.L., Moreno,S.,\n Armstrong,J., Forsburg,S.L., Cerutti,L., Lowe,T., McCombie,W.R.,\n Paulsen,I., Potashkin,J., Shpakovski,G.V., Ussery,D., Barrell,B.G.\n and Nurse,P.\n TITLE The genome sequence of Schizosaccharomyces pombe\n JOURNAL Nature 415 (6874), 871-880 (2002)\n PUBMED 11859360\n REMARK Erratum:[Nature 2003 Jan 2;421(6918):94. Cerrutti L [corrected to\n Cerutti L]]\nREFERENCE 4 (bases 1 to 101)\n AUTHORS Trinkl,H., Lang,B.F. and Wolf,K.\n TITLE Nucleotide sequence of the gene encoding the small ribosomal RNA in\n the mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe\n JOURNAL Nucleic Acids Res 17 (16), 6730 (1989)\n PUBMED 2780299\nREFERENCE 5 (bases 1 to 101)\n AUTHORS Lang,B.F., Cedergren,R. and Gray,M.W.\n TITLE The mitochondrial genome of the fission yeast, Schizosaccharomyces\n pombe. Sequence of the large-subunit ribosomal RNA gene, comparison\n of potential secondary structure in fungal mitochondrial\n large-subunit rRNAs and evolutionary considerations\n JOURNAL Eur J Biochem 169 (3), 527-537 (1987)\n PUBMED 2446871\nREFERENCE 6 (bases 1 to 101)\n AUTHORS Lang,B.F., Ahne,F. and Bonen,L.\n TITLE The mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe. The cytochrome b gene has an intron closely related to the\n first two introns in the Saccharomyces cerevisiae cox1 gene\n JOURNAL J Mol Biol 184 (3), 353-366 (1985)\n PUBMED 4046021\nREFERENCE 7 (bases 1 to 101)\n AUTHORS Lang,B.F.\n TITLE The mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe: highly homologous introns are inserted at the same position\n of the otherwise less conserved cox1 genes in Schizosaccharomyces\n pombe and Aspergillus nidulans\n JOURNAL EMBO J 3 (9), 2129-2136 (1984)\n PUBMED 6092057\nREFERENCE 8 (bases 1 to 101)\n CONSRTM NCBI Genome Project\n TITLE Direct Submission\n JOURNAL Submitted (16-AUG-2024) National Center for Biotechnology\n Information, NIH, Bethesda, MD 20894, USA\nREFERENCE 9\n AUTHORS Wood,V. and Rutherford,K.\n CONSRTM PomBase\n TITLE Direct Submission\n JOURNAL Submitted (13-MAR-2024) University of Cambridge, PomBase, Hopkins\n building, Tennis Court Rd, Cambridge, United Kingdom\nREFERENCE 10\n AUTHORS Wood,V.\n CONSRTM The Schizosaccharomyces pombe Genome Sequencing Consortium\n TITLE Direct Submission\n JOURNAL Submitted (29-JUN-2007) European Schizosaccharomyces genome\n sequencing project, Sanger Institute, The Wellcome Trust Genome\n Campus, Hinxton, Cambridge CB10 1SA\nCOMMENT ##Genome-Annotation-Data-START##\n Annotation Provider :: PomBase\n Annotation Status :: Full annotation\n Annotation Pipeline :: Eukaryotic Annotation Propagation Pipeline\n ##Genome-Annotation-Data-END##\n PROVISIONAL REFSEQ: This record has not yet been subject to final\n NCBI review. The reference sequence is identical to CU329670.\n On Dec 11, 2007 this sequence version replaced NC_003424.2.\nFEATURES Location/Qualifiers\n source 1..101\n /organism=\"Schizosaccharomyces pombe\"\n /mol_type=\"genomic DNA\"\n /strain=\"972h-\"\n /db_xref=\"taxon:4896\"\n /chromosome=\"I\"\n gene <1..>101\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n mRNA <1..>101\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /product=\"uncharacterized protein\"\n /transcript_id=\"NM_001018956.3\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n CDS <1..>101\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /note=\"conserved fungal protein\"\n /codon_start=1\n /product=\"uncharacterized protein\"\n /protein_id=\"NP_593522.2\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n /translation=\"MMTRMELRPLEIGFSKALTEVAPVTCQCECWDHNLCSSQASEMDL\n IYQSQDTHSCASKQDAVFQLLSETKIPVPNRYRKISHRLSTLSNKKTLKSQLDRFLSSS\n KKLHNDDVNRGDYCFLLSTPVECSASTNSHSYDCLWNFSCNSFPEYSSYSASETSSVAS\n YSYYSGPNPATPSSSSCNLVNANSLDIYLNINNLKKSKSVPRLRGQFMEPVEHNHPLSK\n SLEEQSSFLEQSKDASSNLTACNRSGSSLSSNFYSSRLSKKTSLASLNKSRASLQHKIM\n SLSRNIIRRVFHKPEVHLDPSASILNLSSSHGESNLTNGLLCQNFKLFQDDWLMEDCAP\n DANFTLYTPLQPWEKRSVKPEIRRPRLNPNFFRVFVLEAQMRRAGKLSANTAGRAQLIY\n LPKPAVTFSTSPLHVEL\"\n gene complement(<1..>101)\n /locus_tag=\"SPOM_SPNCRNA.2846\"\n /db_xref=\"GeneID:90819331\"\n /db_xref=\"PomBase:SPNCRNA.2846\"\n ncRNA complement(<1..>101)\n /ncRNA_class=\"lncRNA\"\n /locus_tag=\"SPOM_SPNCRNA.2846\"\n /product=\"non-coding RNA\"\n /transcript_id=\"NR_192214.1\"\n /db_xref=\"GeneID:90819331\"\n /db_xref=\"PomBase:SPNCRNA.2846\"\nORIGIN\n 1 atcatcagac gtgtatttca caagccagaa gtgcatttgg atccaagtgc ctccatttta\n 61 aatctctcat cttcgcatgg cgaaagcaac ctgacaaatg g\n//" + }, + { + "id": 2, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "file_content": "LOCUS NC_003424 101 bp DNA linear CON 16-AUG-2024\nDEFINITION Schizosaccharomyces pombe strain 972h- genome assembly, chromosome:\n I.\nACCESSION NC_003424\nVERSION NC_003424.3\nDBLINK BioProject: PRJNA127\n BioSample: SAMEA3138176\n Assembly: GCF_000002945.2\nKEYWORDS RefSeq.\nSOURCE Schizosaccharomyces pombe (fission yeast)\n ORGANISM Schizosaccharomyces pombe\n Eukaryota; Fungi; Dikarya; Ascomycota; Taphrinomycotina;\n Schizosaccharomycetes; Schizosaccharomycetales;\n Schizosaccharomycetaceae; Schizosaccharomyces.\nREFERENCE 1 (bases 1 to 101)\n AUTHORS Schafer,B., Hansen,M. and Lang,B.F.\n TITLE Transcription and RNA-processing in fission yeast mitochondria\n JOURNAL RNA 11 (5), 785-795 (2005)\n PUBMED 15811919\nREFERENCE 2 (bases 1 to 101)\n AUTHORS Wood,V., Gwilliam,R., Rajandream,M.A., Lyne,M., Lyne,R., Stewart,A.,\n Sgouros,J., Peat,N., Hayles,J., Baker,S., Basham,D., Bowman,S.,\n Brooks,K., Brown,D., Brown,S., Chillingworth,T., Churcher,C.,\n Collins,M., Connor,R., Cronin,A., Davis,P., Feltwell,T., Fraser,A.,\n Gentles,S., Goble,A., Hamlin,N., Harris,D., Hidalgo,J., Hodgson,G.,\n Holroyd,S., Hornsby,T., Howarth,S., Huckle,E.J., Hunt,S., Jagels,K.,\n James,K., Jones,L., Jones,M., Leather,S., McDonald,S., McLean,J.,\n Mooney,P., Moule,S., Mungall,K., Murphy,L., Niblett,D., Odell,C.,\n Oliver,K., O'Neil,S., Pearson,D., Quail,M.A., Rabbinowitsch,E.,\n Rutherford,K., Rutter,S., Saunders,D., Seeger,K., Sharp,S.,\n Skelton,J., Simmonds,M., Squares,R., Squares,S., Stevens,K.,\n Taylor,K., Taylor,R.G., Tivey,A., Walsh,S., Warren,T., Whitehead,S.,\n Woodward,J., Volckaert,G., Aert,R., Robben,J., Grymonprez,B.,\n Weltjens,I., Vanstreels,E., Rieger,M., Schafer,M., Muller-Auer,S.,\n Gabel,C., Fuchs,M., Dusterhoft,A., Fritzc,C., Holzer,E., Moestl,D.,\n Hilbert,H., Borzym,K., Langer,I., Beck,A., Lehrach,H., Reinhardt,R.,\n Pohl,T.M., Eger,P., Zimmermann,W., Wedler,H., Wambutt,R.,\n Purnelle,B., Goffeau,A., Cadieu,E., Dreano,S., Gloux,S., Lelaure,V.,\n Mottier,S., Galibert,F., Aves,S.J., Xiang,Z., Hunt,C., Moore,K.,\n Hurst,S.M., Lucas,M., Rochet,M., Gaillardin,C., Tallada,V.A.,\n Garzon,A., Thode,G., Daga,R.R., Cruzado,L., Jimenez,J., Sanchez,M.,\n del Rey,F., Benito,J., Dominguez,A., Revuelta,J.L., Moreno,S.,\n Armstrong,J., Forsburg,S.L., Cerutti,L., Lowe,T., McCombie,W.R.,\n Paulsen,I., Potashkin,J., Shpakovski,G.V., Ussery,D., Barrell,B.G.\n and Nurse,P.\n TITLE The genome sequence of Schizosaccharomyces pombe\n JOURNAL Nature 415 (6874), 871-880 (2002)\n PUBMED 11859360\n REMARK Erratum:[Nature 2003 Jan 2;421(6918):94. Cerrutti L [corrected to\n Cerutti L]]\nREFERENCE 3\n AUTHORS Wood,V., Gwilliam,R., Rajandream,M.A., Lyne,M., Lyne,R., Stewart,A.,\n Sgouros,J., Peat,N., Hayles,J., Baker,S., Basham,D., Bowman,S.,\n Brooks,K., Brown,D., Brown,S., Chillingworth,T., Churcher,C.,\n Collins,M., Connor,R., Cronin,A., Davis,P., Feltwell,T., Fraser,A.,\n Gentles,S., Goble,A., Hamlin,N., Harris,D., Hidalgo,J., Hodgson,G.,\n Holroyd,S., Hornsby,T., Howarth,S., Huckle,E.J., Hunt,S., Jagels,K.,\n James,K., Jones,L., Jones,M., Leather,S., McDonald,S., McLean,J.,\n Mooney,P., Moule,S., Mungall,K., Murphy,L., Niblett,D., Odell,C.,\n Oliver,K., O'Neil,S., Pearson,D., Quail,M.A., Rabbinowitsch,E.,\n Rutherford,K., Rutter,S., Saunders,D., Seeger,K., Sharp,S.,\n Skelton,J., Simmonds,M., Squares,R., Squares,S., Stevens,K.,\n Taylor,K., Taylor,R.G., Tivey,A., Walsh,S., Warren,T., Whitehead,S.,\n Woodward,J., Volckaert,G., Aert,R., Robben,J., Grymonprez,B.,\n Weltjens,I., Vanstreels,E., Rieger,M., Schafer,M., Muller-Auer,S.,\n Gabel,C., Fuchs,M., Dusterhoft,A., Fritzc,C., Holzer,E., Moestl,D.,\n Hilbert,H., Borzym,K., Langer,I., Beck,A., Lehrach,H., Reinhardt,R.,\n Pohl,T.M., Eger,P., Zimmermann,W., Wedler,H., Wambutt,R.,\n Purnelle,B., Goffeau,A., Cadieu,E., Dreano,S., Gloux,S., Lelaure,V.,\n Mottier,S., Galibert,F., Aves,S.J., Xiang,Z., Hunt,C., Moore,K.,\n Hurst,S.M., Lucas,M., Rochet,M., Gaillardin,C., Tallada,V.A.,\n Garzon,A., Thode,G., Daga,R.R., Cruzado,L., Jimenez,J., Sanchez,M.,\n del Rey,F., Benito,J., Dominguez,A., Revuelta,J.L., Moreno,S.,\n Armstrong,J., Forsburg,S.L., Cerutti,L., Lowe,T., McCombie,W.R.,\n Paulsen,I., Potashkin,J., Shpakovski,G.V., Ussery,D., Barrell,B.G.\n and Nurse,P.\n TITLE The genome sequence of Schizosaccharomyces pombe\n JOURNAL Nature 415 (6874), 871-880 (2002)\n PUBMED 11859360\n REMARK Erratum:[Nature 2003 Jan 2;421(6918):94. Cerrutti L [corrected to\n Cerutti L]]\nREFERENCE 4 (bases 1 to 101)\n AUTHORS Trinkl,H., Lang,B.F. and Wolf,K.\n TITLE Nucleotide sequence of the gene encoding the small ribosomal RNA in\n the mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe\n JOURNAL Nucleic Acids Res 17 (16), 6730 (1989)\n PUBMED 2780299\nREFERENCE 5 (bases 1 to 101)\n AUTHORS Lang,B.F., Cedergren,R. and Gray,M.W.\n TITLE The mitochondrial genome of the fission yeast, Schizosaccharomyces\n pombe. Sequence of the large-subunit ribosomal RNA gene, comparison\n of potential secondary structure in fungal mitochondrial\n large-subunit rRNAs and evolutionary considerations\n JOURNAL Eur J Biochem 169 (3), 527-537 (1987)\n PUBMED 2446871\nREFERENCE 6 (bases 1 to 101)\n AUTHORS Lang,B.F., Ahne,F. and Bonen,L.\n TITLE The mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe. The cytochrome b gene has an intron closely related to the\n first two introns in the Saccharomyces cerevisiae cox1 gene\n JOURNAL J Mol Biol 184 (3), 353-366 (1985)\n PUBMED 4046021\nREFERENCE 7 (bases 1 to 101)\n AUTHORS Lang,B.F.\n TITLE The mitochondrial genome of the fission yeast Schizosaccharomyces\n pombe: highly homologous introns are inserted at the same position\n of the otherwise less conserved cox1 genes in Schizosaccharomyces\n pombe and Aspergillus nidulans\n JOURNAL EMBO J 3 (9), 2129-2136 (1984)\n PUBMED 6092057\nREFERENCE 8 (bases 1 to 101)\n CONSRTM NCBI Genome Project\n TITLE Direct Submission\n JOURNAL Submitted (16-AUG-2024) National Center for Biotechnology\n Information, NIH, Bethesda, MD 20894, USA\nREFERENCE 9\n AUTHORS Wood,V. and Rutherford,K.\n CONSRTM PomBase\n TITLE Direct Submission\n JOURNAL Submitted (13-MAR-2024) University of Cambridge, PomBase, Hopkins\n building, Tennis Court Rd, Cambridge, United Kingdom\nREFERENCE 10\n AUTHORS Wood,V.\n CONSRTM The Schizosaccharomyces pombe Genome Sequencing Consortium\n TITLE Direct Submission\n JOURNAL Submitted (29-JUN-2007) European Schizosaccharomyces genome\n sequencing project, Sanger Institute, The Wellcome Trust Genome\n Campus, Hinxton, Cambridge CB10 1SA\nCOMMENT ##Genome-Annotation-Data-START##\n Annotation Provider :: PomBase\n Annotation Status :: Full annotation\n Annotation Pipeline :: Eukaryotic Annotation Propagation Pipeline\n ##Genome-Annotation-Data-END##\n PROVISIONAL REFSEQ: This record has not yet been subject to final\n NCBI review. The reference sequence is identical to CU329670.\n On Dec 11, 2007 this sequence version replaced NC_003424.2.\nFEATURES Location/Qualifiers\n source 1..101\n /organism=\"Schizosaccharomyces pombe\"\n /mol_type=\"genomic DNA\"\n /strain=\"972h-\"\n /db_xref=\"taxon:4896\"\n /chromosome=\"I\"\n gene <1..>101\n /locus_tag=\"SPOM_SPNCRNA.2846\"\n /db_xref=\"GeneID:90819331\"\n /db_xref=\"PomBase:SPNCRNA.2846\"\n ncRNA <1..>101\n /ncRNA_class=\"lncRNA\"\n /locus_tag=\"SPOM_SPNCRNA.2846\"\n /product=\"non-coding RNA\"\n /transcript_id=\"NR_192214.1\"\n /db_xref=\"GeneID:90819331\"\n /db_xref=\"PomBase:SPNCRNA.2846\"\n gene complement(<1..>101)\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n mRNA complement(<1..>101)\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /product=\"uncharacterized protein\"\n /transcript_id=\"NM_001018956.3\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n CDS complement(<1..>101)\n /locus_tag=\"SPOM_SPAPB1A10.08\"\n /note=\"conserved fungal protein\"\n /codon_start=1\n /product=\"uncharacterized protein\"\n /protein_id=\"NP_593522.2\"\n /db_xref=\"GeneID:2543374\"\n /db_xref=\"PomBase:SPAPB1A10.08\"\n /translation=\"MMTRMELRPLEIGFSKALTEVAPVTCQCECWDHNLCSSQASEMDL\n IYQSQDTHSCASKQDAVFQLLSETKIPVPNRYRKISHRLSTLSNKKTLKSQLDRFLSSS\n KKLHNDDVNRGDYCFLLSTPVECSASTNSHSYDCLWNFSCNSFPEYSSYSASETSSVAS\n YSYYSGPNPATPSSSSCNLVNANSLDIYLNINNLKKSKSVPRLRGQFMEPVEHNHPLSK\n SLEEQSSFLEQSKDASSNLTACNRSGSSLSSNFYSSRLSKKTSLASLNKSRASLQHKIM\n SLSRNIIRRVFHKPEVHLDPSASILNLSSSHGESNLTNGLLCQNFKLFQDDWLMEDCAP\n DANFTLYTPLQPWEKRSVKPEIRRPRLNPNFFRVFVLEAQMRRAGKLSANTAGRAQLIY\n LPKPAVTFSTSPLHVEL\"\nORIGIN\n 1 ccatttgtca ggttgctttc gccatgcgaa gatgagagat ttaaaatgga ggcacttgga\n 61 tccaaatgca cttctggctt gtgaaataca cgtctgatga t\n//" + } + ], + "sources": [ + { + "id": 1, + "type": "GenomeCoordinatesSource", + "output_name": null, + "database_id": null, + "input": [], + "assembly_accession": "GCF_000002945.2", + "sequence_accession": "NC_003424.3", + "locus_tag": null, + "gene_id": null, + "start": 1877189, + "end": 1877289, + "strand": 1 + }, + { + "id": 2, + "type": "GenomeCoordinatesSource", + "output_name": null, + "database_id": null, + "input": [], + "assembly_accession": "GCF_000002945.2", + "sequence_accession": "NC_003424.3", + "locus_tag": null, + "gene_id": null, + "start": 1877189, + "end": 1877289, + "strand": -1 + } + ], + "description": "", + "primers": [], + "backend_version": "0.4.11", + "schema_version": "0.4.8", + "frontend_version": "v0.4.24" +} diff --git a/tests/migration/v0.4.9/manually_typed.json b/tests/migration/v0.4.9/manually_typed.json new file mode 100644 index 0000000..a1cece9 --- /dev/null +++ b/tests/migration/v0.4.9/manually_typed.json @@ -0,0 +1,49 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "file_content": "LOCUS name 12 bp DNA circular UNK 01-JAN-1980\nDEFINITION description.\nACCESSION id\nVERSION id\nKEYWORDS .\nSOURCE .\n ORGANISM .\n .\nFEATURES Location/Qualifiers\nORIGIN\n 1 aaaaaaaaaa aa\n//" + }, + { + "id": 2, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 2, + "overhang_watson_3prime": 3, + "file_content": "LOCUS name 9 bp DNA linear UNK 01-JAN-1980\nDEFINITION description.\nACCESSION id\nVERSION id\nKEYWORDS .\nSOURCE .\n ORGANISM .\n .\nFEATURES Location/Qualifiers\nORIGIN\n 1 aaaaaaaaa\n//" + } + ], + "sources": [ + { + "id": 1, + "type": "ManuallyTypedSource", + "output_name": null, + "database_id": null, + "input": [], + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "user_input": "aaaaaaaaaaaa", + "circular": true + }, + { + "id": 2, + "type": "ManuallyTypedSource", + "output_name": null, + "database_id": null, + "input": [], + "overhang_crick_3prime": 2, + "overhang_watson_3prime": 3, + "user_input": "aaaaaaaaa", + "circular": false + } + ], + "description": "", + "primers": [], + "backend_version": "0.4.11", + "schema_version": "0.4.8", + "frontend_version": "v0.4.24" +} From 1d95da3d8b5bd2344073d09704763c6824d4e129 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Fri, 5 Dec 2025 15:42:24 +0000 Subject: [PATCH 02/12] re-order tests --- tests/test_migration.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/test_migration.py b/tests/test_migration.py index b549142..2815e7d 100644 --- a/tests/test_migration.py +++ b/tests/test_migration.py @@ -98,17 +98,6 @@ def test_0_2_8_to_0_2_9(self): self.assertEqual(cs.sources[0].assembly[0].right_location, "0^1") self.assertEqual(cs.sources[1].coordinates, "1..100") - def test_0_4_0_to_0_4_6(self): - from opencloning_linkml.migrations.model_archive.v0_4_6 import CloningStrategy as new_CloningStrategy - - with open(os.path.join(test_folder, "migration/v0.4.0/output_field.json"), "r") as f: - data = json.load(f) - self.assertIn("output", data["sources"][0]) - migrated_data = migrate(data, "0.4.6") - # Just has to pass the validation - new_CloningStrategy(**migrated_data) - self.assertNotIn("output", migrated_data["sources"][0]) - def test_0_2_9_to_0_4_0(self): from opencloning_linkml.migrations.model_archive.v0_2_9 import CloningStrategy as old_CloningStrategy from opencloning_linkml.migrations.model_archive.v0_4_0 import CloningStrategy as new_CloningStrategy @@ -131,6 +120,17 @@ def test_0_2_9_to_0_4_0(self): for file in migrated_data["files"]: self.assertEqual(file["sequence_id"], 1) + def test_0_4_0_to_0_4_6(self): + from opencloning_linkml.migrations.model_archive.v0_4_6 import CloningStrategy as new_CloningStrategy + + with open(os.path.join(test_folder, "migration/v0.4.0/output_field.json"), "r") as f: + data = json.load(f) + self.assertIn("output", data["sources"][0]) + migrated_data = migrate(data, "0.4.6") + # Just has to pass the validation + new_CloningStrategy(**migrated_data) + self.assertNotIn("output", migrated_data["sources"][0]) + def test_migration_script(self): with tempfile.TemporaryDirectory() as tmp_dir: From 244cc613e5177058b5cf1871ea965ecbe1af6504 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Fri, 5 Dec 2025 15:46:45 +0000 Subject: [PATCH 03/12] closes #69 --- src/opencloning_linkml/migrations/__init__.py | 2 + .../migrations/model_archive/v0_4_9.py | 3649 +++++++++++++++++ .../transformations/v0_4_6_to_v0_4_9.py | 28 + tests/test_migration.py | 18 + 4 files changed, 3697 insertions(+) diff --git a/src/opencloning_linkml/migrations/__init__.py b/src/opencloning_linkml/migrations/__init__.py index 9747c29..1de73d5 100644 --- a/src/opencloning_linkml/migrations/__init__.py +++ b/src/opencloning_linkml/migrations/__init__.py @@ -20,12 +20,14 @@ def load_migrations() -> MigrationDict: from .transformations.v0_2_8_to_v0_2_9 import migrate_0_2_8_to_0_2_9 # noqa: F401 from .transformations.v0_2_9_to_v_0_4_0 import migrate_0_2_9_to_0_4_0 # noqa: F401 from .transformations.v0_4_0_to_v0_4_6 import migrate_0_4_0_to_0_4_6 # noqa: F401 + from .transformations.v0_4_6_to_v0_4_9 import migrate_0_4_6_to_0_4_9 # noqa: F401 return { ("0.2.6.1", "0.2.8"): migrate_0_2_6_1_to_0_2_8, ("0.2.8", "0.2.9"): migrate_0_2_8_to_0_2_9, ("0.2.9", "0.4.0"): migrate_0_2_9_to_0_4_0, ("0.4.0", "0.4.6"): migrate_0_4_0_to_0_4_6, + ("0.4.6", "0.4.9"): migrate_0_4_6_to_0_4_9, } diff --git a/src/opencloning_linkml/migrations/model_archive/v0_4_9.py b/src/opencloning_linkml/migrations/model_archive/v0_4_9.py index e69de29..a9ed6b2 100644 --- a/src/opencloning_linkml/migrations/model_archive/v0_4_9.py +++ b/src/opencloning_linkml/migrations/model_archive/v0_4_9.py @@ -0,0 +1,3649 @@ +from __future__ import annotations + +import re +import sys +from datetime import date, datetime, time +from decimal import Decimal +from enum import Enum +from typing import Any, ClassVar, Literal, Optional, Union + +from pydantic import BaseModel, ConfigDict, Field, RootModel, field_validator + + +metamodel_version = "None" +version = "None" + + +class ConfiguredBaseModel(BaseModel): + model_config = ConfigDict( + validate_assignment=True, + validate_default=True, + extra="forbid", + arbitrary_types_allowed=True, + use_enum_values=True, + strict=False, + ) + pass + + +class LinkMLMeta(RootModel): + root: dict[str, Any] = {} + model_config = ConfigDict(frozen=True) + + def __getattr__(self, key: str): + return getattr(self.root, key) + + def __getitem__(self, key: str): + return self.root[key] + + def __setitem__(self, key: str, value): + self.root[key] = value + + def __contains__(self, key: str) -> bool: + return key in self.root + + +linkml_meta = LinkMLMeta( + { + "default_prefix": "opencloning_linkml", + "default_range": "string", + "description": "A LinkML data model for OpenCloning", + "id": "https://opencloning.github.io/OpenCloning_LinkML", + "imports": ["linkml:types"], + "license": "MIT", + "name": "OpenCloning_LinkML", + "prefixes": { + "GENO": {"prefix_prefix": "GENO", "prefix_reference": "http://purl.obolibrary.org/obo/GENO_"}, + "IAO": {"prefix_prefix": "IAO", "prefix_reference": "http://purl.obolibrary.org/obo/IAO_"}, + "NCIT": {"prefix_prefix": "NCIT", "prefix_reference": "http://purl.obolibrary.org/obo/NCIT_"}, + "OBI": {"prefix_prefix": "OBI", "prefix_reference": "http://purl.obolibrary.org/obo/OBI_"}, + "PATO": {"prefix_prefix": "PATO", "prefix_reference": "http://purl.obolibrary.org/obo/PATO_"}, + "biolink": {"prefix_prefix": "biolink", "prefix_reference": "https://w3id.org/biolink/"}, + "bioschemas": {"prefix_prefix": "bioschemas", "prefix_reference": "https://bioschemas.org/"}, + "example": {"prefix_prefix": "example", "prefix_reference": "https://example.org/"}, + "linkml": {"prefix_prefix": "linkml", "prefix_reference": "https://w3id.org/linkml/"}, + "opencloning_linkml": { + "prefix_prefix": "opencloning_linkml", + "prefix_reference": "https://opencloning.github.io/OpenCloning_LinkML/", + }, + "schema": {"prefix_prefix": "schema", "prefix_reference": "http://schema.org/"}, + }, + "see_also": ["https://pypi.org/project/opencloning-linkml/"], + "source_file": "src/opencloning_linkml/schema/opencloning_linkml.yaml", + "title": "OpenCloning_LinkML", + "types": { + "sequence_range": { + "description": "A sequence range defined using " + "genbank syntax (e.g. 1..100), " + "note that 1..100 in genbank is " + "equivalent to 0:100 in python", + "exact_mappings": ["GENO:0000965"], + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "name": "sequence_range", + "pattern": "^(\\d+)\\.\\.(\\d+)$", + "typeof": "string", + }, + "simple_sequence_location": { + "description": "A simple sequence " + "location defined using " + "genbank syntax (e.g. " + "1..100 or " + "complement(1..100)), " + "note that 1..100 in " + "genbank is equivalent " + "to 0:100 in python", + "exact_mappings": ["GENO:0000965"], + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "name": "simple_sequence_location", + "pattern": "^((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))$", + "typeof": "string", + }, + "version_number": { + "description": "A version number", + "exact_mappings": ["IAO:0000129"], + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "name": "version_number", + "typeof": "string", + }, + }, + } +) + + +class RepositoryName(str, Enum): + addgene = "addgene" + """ + Addgene + """ + genbank = "genbank" + """ + GenBank / NCBI + """ + benchling = "benchling" + """ + Benchling + """ + snapgene = "snapgene" + """ + SnapGene plasmid library + """ + euroscarf = "euroscarf" + """ + Euroscarf (plasmids only) + """ + igem = "igem" + """ + iGEM collection + """ + wekwikgene = "wekwikgene" + """ + WekWikGene + """ + seva = "seva" + """ + SEVA (Standard European Vector Architecture) + """ + open_dna_collections = "open_dna_collections" + """ + Open DNA collections + """ + + +class Collection(str, Enum): + AddgenePlasmid = "AddgenePlasmid" + """ + A plasmid from Addgene + """ + OligoPair = "OligoPair" + """ + A pair of oligonucleotides for hybridization + """ + + +class SequenceFileFormat(str, Enum): + fasta = "fasta" + genbank = "genbank" + snapgene = "snapgene" + embl = "embl" + + +class AddgeneSequenceType(str, Enum): + depositor_full = "depositor-full" + """ + Full sequence of the plasmid submitted by the depositor + """ + addgene_full = "addgene-full" + """ + Full sequence of the plasmid performed by Addgene + """ + + +class GatewayReactionType(str, Enum): + LR = "LR" + """ + LR reaction + """ + BP = "BP" + """ + BP reaction + """ + + +class AnnotationTool(str, Enum): + plannotate = "plannotate" + + +class AssociatedFileType(str, Enum): + Sequencing_file = "Sequencing file" + """ + A file containing sequencing data + """ + + +class CollectionOptionType(str, Enum): + OligoPair = "OligoPair" + """ + A pair of oligonucleotides for hybridization + """ + AddgenePlasmid = "AddgenePlasmid" + """ + A plasmid from Addgene + """ + + +class NamedThing(ConfiguredBaseModel): + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + {"class_uri": "schema:Thing", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML"} + ) + + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class Sequence(NamedThing): + """ + Represents a sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "abstract": True, + "class_uri": "bioschemas:DNA", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + } + ) + + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["Sequence"] = Field( + default="Sequence", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + +class TemplateSequence(Sequence): + """ + Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the sequence is circular or linear""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + primer_design: Optional[str] = Field( + default=None, + description="""Can be used to indicate the intended primer design for this sequence in the template""", + json_schema_extra={"linkml_meta": {"alias": "primer_design", "domain_of": ["TemplateSequence"]}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["TemplateSequence"] = Field( + default="TemplateSequence", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + +class TextFileSequence(Sequence): + """ + A sequence (may have features) defined by the content of a text file + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "overhang_crick_3prime": {"ifabsent": "int(0)", "name": "overhang_crick_3prime"}, + "overhang_watson_3prime": {"ifabsent": "int(0)", "name": "overhang_watson_3prime"}, + "sequence_file_format": {"name": "sequence_file_format", "required": True}, + }, + } + ) + + sequence_file_format: SequenceFileFormat = Field( + default=..., + description="""The format of a sequence file""", + json_schema_extra={ + "linkml_meta": {"alias": "sequence_file_format", "domain_of": ["TextFileSequence", "UploadedFileSource"]} + }, + ) + overhang_crick_3prime: Optional[int] = Field( + default=0, + 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""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_crick_3prime", + "domain_of": ["TextFileSequence", "OligoHybridizationSource"], + "ifabsent": "int(0)", + } + }, + ) + overhang_watson_3prime: Optional[int] = Field( + default=0, + description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", + json_schema_extra={ + "linkml_meta": {"alias": "overhang_watson_3prime", "domain_of": ["TextFileSequence"], "ifabsent": "int(0)"} + }, + ) + file_content: Optional[str] = Field( + default=None, json_schema_extra={"linkml_meta": {"alias": "file_content", "domain_of": ["TextFileSequence"]}} + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["TextFileSequence"] = Field( + default="TextFileSequence", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + +class Primer(Sequence): + """ + An oligonucleotide or primer + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + name: Optional[str] = Field( + default=None, + description="""A human-readable name for a thing""", + json_schema_extra={ + "linkml_meta": { + "alias": "name", + "domain_of": ["Primer", "CollectionOption", "CollectionOptionInfo"], + "slot_uri": "schema:name", + } + }, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + sequence: Optional[str] = Field( + default=None, + json_schema_extra={ + "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + }, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["Primer"] = Field( + default="Primer", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + @field_validator("sequence") + def pattern_sequence(cls, v): + pattern = re.compile(r"^[acgtACGT]+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence format: {v}" + raise ValueError(err_msg) + return v + + +class SourceInput(ConfiguredBaseModel): + """ + Represents an input to a source + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "class_uri": "schema:Role", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "represents_relationship": True, + } + ) + + type: Literal["SourceInput"] = Field( + default="SourceInput", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + sequence: int = Field( + default=..., + description="""The input sequence""", + json_schema_extra={ + "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + }, + ) + + +class SequenceCut(ConfiguredBaseModel): + """ + Represents a cut in a DNA sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + cut_watson: int = Field( + default=..., + 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.""", + json_schema_extra={"linkml_meta": {"alias": "cut_watson", "domain_of": ["SequenceCut"]}}, + ) + overhang: int = Field( + default=..., + 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`.""", + json_schema_extra={"linkml_meta": {"alias": "overhang", "domain_of": ["SequenceCut"]}}, + ) + + +class RestrictionSequenceCut(SequenceCut): + """ + Represents a cut in a DNA sequence that is made by a restriction enzyme + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"restriction_enzyme": {"name": "restriction_enzyme", "required": True}}, + } + ) + + restriction_enzyme: str = Field( + default=..., + json_schema_extra={ + "linkml_meta": { + "alias": "restriction_enzyme", + "domain_of": ["RestrictionSequenceCut"], + "exact_mappings": ["OBI:0000732"], + } + }, + ) + cut_watson: int = Field( + default=..., + 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.""", + json_schema_extra={"linkml_meta": {"alias": "cut_watson", "domain_of": ["SequenceCut"]}}, + ) + overhang: int = Field( + default=..., + 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`.""", + json_schema_extra={"linkml_meta": {"alias": "overhang", "domain_of": ["SequenceCut"]}}, + ) + + +class Source(NamedThing): + """ + Represents the source of a sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "abstract": True, + "class_uri": "schema:CreateAction", + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + } + ) + + type: Literal["Source"] = Field( + default="Source", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class DatabaseSource(Source): + """ + Represents the source of a sequence that is identified by a database id + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"database_id": {"name": "database_id", "required": True}}, + } + ) + + database_id: int = Field( + default=..., + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + type: Literal["DatabaseSource"] = Field( + default="DatabaseSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class CollectionSource(Source): + """ + Represents a collection of possible sources in a template + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + category_id: Optional[str] = Field( + default=None, + description="""The identifier of the category of the part in the template""", + json_schema_extra={"linkml_meta": {"alias": "category_id", "domain_of": ["CollectionSource"]}}, + ) + title: str = Field( + default=..., + description="""The title of the category""", + json_schema_extra={"linkml_meta": {"alias": "title", "domain_of": ["CollectionSource"]}}, + ) + description: Optional[str] = Field( + default=None, + description="""A description of the category""", + json_schema_extra={ + "linkml_meta": { + "alias": "description", + "domain_of": ["CollectionSource", "CollectionOptionInfo", "CloningStrategy"], + } + }, + ) + image: Optional[list[str]] = Field( + default=None, + description="""URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size].""", + json_schema_extra={"linkml_meta": {"alias": "image", "domain_of": ["CollectionSource"]}}, + ) + options: Optional[list[CollectionOption]] = Field( + default=None, + description="""The options available in this category.""", + json_schema_extra={"linkml_meta": {"alias": "options", "domain_of": ["CollectionSource"]}}, + ) + type: Literal["CollectionSource"] = Field( + default="CollectionSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class CollectionOption(ConfiguredBaseModel): + """ + Represents an option in a collection + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"name": {"name": "name", "required": True}}, + } + ) + + name: str = Field( + default=..., + description="""A human-readable name for a thing""", + json_schema_extra={ + "linkml_meta": { + "alias": "name", + "domain_of": ["Primer", "CollectionOption", "CollectionOptionInfo"], + "slot_uri": "schema:name", + } + }, + ) + source: Union[ + Source, + DatabaseSource, + CollectionSource, + ManuallyTypedSource, + UploadedFileSource, + RepositoryIdSource, + SequenceCutSource, + AssemblySource, + OligoHybridizationSource, + PolymeraseExtensionSource, + AnnotationSource, + ReverseComplementSource, + PCRSource, + LigationSource, + HomologousRecombinationSource, + GibsonAssemblySource, + InFusionSource, + OverlapExtensionPCRLigationSource, + InVivoAssemblySource, + RestrictionAndLigationSource, + GatewaySource, + CreLoxRecombinationSource, + CRISPRSource, + RestrictionEnzymeDigestionSource, + AddgeneIdSource, + WekWikGeneIdSource, + SEVASource, + BenchlingUrlSource, + SnapGenePlasmidSource, + EuroscarfSource, + IGEMSource, + OpenDNACollectionsSource, + NCBISequenceSource, + GenomeCoordinatesSource, + ] = Field( + default=..., + description="""The source of the sequence for this option""", + json_schema_extra={"linkml_meta": {"alias": "source", "domain_of": ["CollectionOption"]}}, + ) + info: Optional[CollectionOptionInfo] = Field( + default=None, + description="""Additional information about this option""", + json_schema_extra={"linkml_meta": {"alias": "info", "domain_of": ["CollectionOption"]}}, + ) + + +class CollectionOptionInfo(ConfiguredBaseModel): + """ + Additional information about a collection option + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"name": {"name": "name", "required": False}}, + } + ) + + name: Optional[str] = Field( + default=None, + description="""A human-readable name for a thing""", + json_schema_extra={ + "linkml_meta": { + "alias": "name", + "domain_of": ["Primer", "CollectionOption", "CollectionOptionInfo"], + "slot_uri": "schema:name", + } + }, + ) + description: Optional[str] = Field( + default=None, + description="""A description of the option""", + json_schema_extra={ + "linkml_meta": { + "alias": "description", + "domain_of": ["CollectionSource", "CollectionOptionInfo", "CloningStrategy"], + } + }, + ) + type: Optional[CollectionOptionType] = Field( + default=None, + description="""The type of the option, this is redundant with the type of the source, and could be removed.""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + resistance: Optional[str] = Field( + default=None, + description="""The antibiotic resistance of the plasmid""", + json_schema_extra={"linkml_meta": {"alias": "resistance", "domain_of": ["CollectionOptionInfo"]}}, + ) + well: Optional[str] = Field( + default=None, + description="""The well position in the kit plate""", + json_schema_extra={"linkml_meta": {"alias": "well", "domain_of": ["CollectionOptionInfo"]}}, + ) + + +class ManuallyTypedSource(Source): + """ + Represents the source of a sequence that is manually typed by the user + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + type: Literal["ManuallyTypedSource"] = Field( + default="ManuallyTypedSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class UploadedFileSource(Source): + """ + Represents the source of a sequence that is uploaded as a file + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"sequence_file_format": {"name": "sequence_file_format", "required": True}}, + } + ) + + sequence_file_format: SequenceFileFormat = Field( + default=..., + description="""The format of a sequence file""", + json_schema_extra={ + "linkml_meta": {"alias": "sequence_file_format", "domain_of": ["TextFileSequence", "UploadedFileSource"]} + }, + ) + file_name: Optional[str] = Field( + default=None, + description="""The name of the file""", + json_schema_extra={ + "linkml_meta": {"alias": "file_name", "domain_of": ["UploadedFileSource", "AssociatedFile"]} + }, + ) + index_in_file: Optional[int] = Field( + default=None, + description="""The index of the sequence in the file""", + json_schema_extra={"linkml_meta": {"alias": "index_in_file", "domain_of": ["UploadedFileSource"]}}, + ) + circularize: Optional[bool] = Field( + default=None, + description="""Whether the sequence should be circularized (FASTA only)""", + json_schema_extra={"linkml_meta": {"alias": "circularize", "domain_of": ["UploadedFileSource"]}}, + ) + coordinates: Optional[str] = Field( + default=None, + description="""If provided, coordinates within the sequence of the file to extract a subsequence""", + json_schema_extra={"linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource"]}}, + ) + type: Literal["UploadedFileSource"] = Field( + default="UploadedFileSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class RepositoryIdSource(Source): + """ + Represents the source of a sequence that is identified by a repository id + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + repository_id: str = Field( + default=..., + description="""The id of the sequence in the repository""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["RepositoryIdSource"] = Field( + default="RepositoryIdSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class AddgeneIdSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by an Addgene id + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + sequence_file_url: Optional[str] = Field( + default=None, + description="""The URL of a sequence file""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence_file_url", + "domain_of": [ + "AddgeneIdSource", + "WekWikGeneIdSource", + "SEVASource", + "IGEMSource", + "OpenDNACollectionsSource", + ], + } + }, + ) + addgene_sequence_type: Optional[AddgeneSequenceType] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "addgene_sequence_type", "domain_of": ["AddgeneIdSource"]}}, + ) + repository_id: str = Field( + default=..., + description="""The id of the sequence in the repository""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["AddgeneIdSource"] = Field( + default="AddgeneIdSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("sequence_file_url") + def pattern_sequence_file_url(cls, v): + pattern = re.compile( + r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" + ) + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence_file_url format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence_file_url format: {v}" + raise ValueError(err_msg) + return v + + +class WekWikGeneIdSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by a WeKwikGene id + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The id of the gene in the " "WeKwikGene database", + "name": "repository_id", + "pattern": "^\\d+$", + } + }, + } + ) + + sequence_file_url: Optional[str] = Field( + default=None, + description="""The URL of a sequence file""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence_file_url", + "domain_of": [ + "AddgeneIdSource", + "WekWikGeneIdSource", + "SEVASource", + "IGEMSource", + "OpenDNACollectionsSource", + ], + } + }, + ) + repository_id: str = Field( + default=..., + description="""The id of the gene in the WeKwikGene database""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["WekWikGeneIdSource"] = Field( + default="WekWikGeneIdSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("sequence_file_url") + def pattern_sequence_file_url(cls, v): + pattern = re.compile( + r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" + ) + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence_file_url format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence_file_url format: {v}" + raise ValueError(err_msg) + return v + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^\d+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class SEVASource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by a SEVA id + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The SEVA plasmid name", + "name": "repository_id", + "pattern": "^pSEVA\\d+.*$", + }, + "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.", + "name": "sequence_file_url", + }, + }, + } + ) + + 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": { + "alias": "sequence_file_url", + "domain_of": [ + "AddgeneIdSource", + "WekWikGeneIdSource", + "SEVASource", + "IGEMSource", + "OpenDNACollectionsSource", + ], + } + }, + ) + repository_id: str = Field( + default=..., + description="""The SEVA plasmid name""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["SEVASource"] = Field( + default="SEVASource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("sequence_file_url") + def pattern_sequence_file_url(cls, v): + pattern = re.compile( + r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" + ) + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence_file_url format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence_file_url format: {v}" + raise ValueError(err_msg) + return v + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^pSEVA\d+.*$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class BenchlingUrlSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by a Benchling URL + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The url of the gb file " "associated with the sequence", + "name": "repository_id", + "pattern": "^https:\\/\\/benchling\\.com\\/.+\\.gb$", + } + }, + } + ) + + repository_id: str = Field( + default=..., + description="""The url of the gb file associated with the sequence""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["BenchlingUrlSource"] = Field( + default="BenchlingUrlSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^https:\/\/benchling\.com\/.+\.gb$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class SnapGenePlasmidSource(RepositoryIdSource): + """ + Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/ + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The subpath of the plasmid " + "in the SnapGene plasmid " + "library. Requesting the " + "plasmid is possible with " + "https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} " + "where category_path is the " + "left part of the subpath " + "before the first / and " + "plasmid is the subpath after " + "the /.", + "name": "repository_id", + "pattern": "^[^\\/]+\\/[^\\/]+$", + } + }, + } + ) + + repository_id: str = Field( + default=..., + 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 /.""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["SnapGenePlasmidSource"] = Field( + default="SnapGenePlasmidSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^[^\/]+\/[^\/]+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class EuroscarfSource(RepositoryIdSource): + """ + Represents the source of a sequence from the Euroscarf plasmid library + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The id of the plasmid in the " "Euroscarf plasmid library", + "name": "repository_id", + "pattern": "^P\\d+$", + } + }, + } + ) + + repository_id: str = Field( + default=..., + description="""The id of the plasmid in the Euroscarf plasmid library""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["EuroscarfSource"] = Field( + default="EuroscarfSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^P\d+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class IGEMSource(RepositoryIdSource): + """ + Represents the source of a sequence from an iGEM collection + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "The unique identifier of the " + "sequence in the iGEM " + "collection (for now, " + "{part_id}-{plasmid_backbone}) " + "pattern: ^[^-]+-[^-]+$", + "name": "repository_id", + }, + "sequence_file_url": { + "description": "The URL of the sequence " "file, for now github " "repository", + "name": "sequence_file_url", + "pattern": "^.*.gb$", + "required": True, + }, + }, + } + ) + + sequence_file_url: str = Field( + default=..., + description="""The URL of the sequence file, for now github repository""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence_file_url", + "domain_of": [ + "AddgeneIdSource", + "WekWikGeneIdSource", + "SEVASource", + "IGEMSource", + "OpenDNACollectionsSource", + ], + } + }, + ) + repository_id: str = Field( + default=..., + description="""The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["IGEMSource"] = Field( + default="IGEMSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("sequence_file_url") + def pattern_sequence_file_url(cls, v): + pattern = re.compile(r"^.*.gb$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence_file_url format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence_file_url format: {v}" + raise ValueError(err_msg) + return v + + +class OpenDNACollectionsSource(RepositoryIdSource): + """ + Represents the source of a sequence from the Open DNA collections + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": { + "description": "Subpath of the sequence in " "the Open DNA collections " "repository", + "name": "repository_id", + "pattern": "^[^\\/]+\\/[^\\/]+$", + } + }, + } + ) + + sequence_file_url: Optional[str] = Field( + default=None, + description="""The URL of a sequence file""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence_file_url", + "domain_of": [ + "AddgeneIdSource", + "WekWikGeneIdSource", + "SEVASource", + "IGEMSource", + "OpenDNACollectionsSource", + ], + } + }, + ) + repository_id: str = Field( + default=..., + description="""Subpath of the sequence in the Open DNA collections repository""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["OpenDNACollectionsSource"] = Field( + default="OpenDNACollectionsSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + @field_validator("sequence_file_url") + def pattern_sequence_file_url(cls, v): + pattern = re.compile( + r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" + ) + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence_file_url format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence_file_url format: {v}" + raise ValueError(err_msg) + return v + + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^[^\/]+\/[^\/]+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + + +class NCBISequenceSource(RepositoryIdSource): + """ + Represents the source of a sequence that is identified by an NCBI sequence accession + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "repository_id": {"description": "The sequence accession (e.g. " "X60065.1)", "name": "repository_id"} + }, + } + ) + + location: Optional[str] = Field( + default=None, + description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", + json_schema_extra={"linkml_meta": {"alias": "location", "domain_of": ["NCBISequenceSource"]}}, + ) + repository_id: str = Field( + default=..., + description="""The sequence accession (e.g. X60065.1)""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["NCBISequenceSource"] = Field( + default="NCBISequenceSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class GenomeCoordinatesSource(NCBISequenceSource): + """ + Represents the source of a sequence that is identified by genome coordinates, requested from NCBI + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"location": {"name": "location", "required": True}}, + } + ) + + assembly_accession: Optional[str] = Field( + default=None, + description="""The accession of the assembly""", + json_schema_extra={"linkml_meta": {"alias": "assembly_accession", "domain_of": ["GenomeCoordinatesSource"]}}, + ) + locus_tag: Optional[str] = Field( + default=None, + description="""The locus tag of the sequence""", + json_schema_extra={"linkml_meta": {"alias": "locus_tag", "domain_of": ["GenomeCoordinatesSource"]}}, + ) + gene_id: Optional[int] = Field( + default=None, + description="""The gene id of the sequence""", + json_schema_extra={"linkml_meta": {"alias": "gene_id", "domain_of": ["GenomeCoordinatesSource"]}}, + ) + location: str = Field( + default=..., + description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", + json_schema_extra={"linkml_meta": {"alias": "location", "domain_of": ["NCBISequenceSource"]}}, + ) + repository_id: str = Field( + default=..., + description="""The sequence accession (e.g. X60065.1)""", + json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, + ) + repository_name: RepositoryName = Field( + default=..., + json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, + ) + type: Literal["GenomeCoordinatesSource"] = Field( + default="GenomeCoordinatesSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class SequenceCutSource(Source): + """ + Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting. + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + left_edge: Optional[SequenceCut] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "alias": "left_edge", + "domain_of": ["SequenceCutSource", "RestrictionEnzymeDigestionSource"], + } + }, + ) + right_edge: Optional[SequenceCut] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "alias": "right_edge", + "domain_of": ["SequenceCutSource", "RestrictionEnzymeDigestionSource"], + } + }, + ) + type: Literal["SequenceCutSource"] = Field( + default="SequenceCutSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class RestrictionEnzymeDigestionSource(SequenceCutSource): + """ + Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes. + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + left_edge: Optional[RestrictionSequenceCut] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "alias": "left_edge", + "domain_of": ["SequenceCutSource", "RestrictionEnzymeDigestionSource"], + } + }, + ) + right_edge: Optional[RestrictionSequenceCut] = Field( + default=None, + json_schema_extra={ + "linkml_meta": { + "alias": "right_edge", + "domain_of": ["SequenceCutSource", "RestrictionEnzymeDigestionSource"], + } + }, + ) + type: Literal["RestrictionEnzymeDigestionSource"] = Field( + default="RestrictionEnzymeDigestionSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class AssemblyFragment(SourceInput): + """ + Represents a fragment in an assembly + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + left_location: Optional[str] = Field( + default=None, json_schema_extra={"linkml_meta": {"alias": "left_location", "domain_of": ["AssemblyFragment"]}} + ) + right_location: Optional[str] = Field( + default=None, json_schema_extra={"linkml_meta": {"alias": "right_location", "domain_of": ["AssemblyFragment"]}} + ) + reverse_complemented: bool = Field( + default=..., + description="""Whether the sequence is reverse complemented in the assembly""", + json_schema_extra={"linkml_meta": {"alias": "reverse_complemented", "domain_of": ["AssemblyFragment"]}}, + ) + type: Literal["AssemblyFragment"] = Field( + default="AssemblyFragment", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + sequence: int = Field( + default=..., + description="""The input sequence""", + json_schema_extra={ + "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + }, + ) + + +class AssemblySource(Source): + """ + Represents the source of a sequence that is an assembly of other sequences + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["AssemblySource"] = Field( + default="AssemblySource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class PCRSource(AssemblySource): + """ + Represents the source of a sequence that is generated by PCR + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + add_primer_features: Optional[bool] = Field( + default=False, + description="""Whether to add primer features to the PCR product""", + json_schema_extra={ + "linkml_meta": {"alias": "add_primer_features", "domain_of": ["PCRSource"], "ifabsent": "boolean(false)"} + }, + ) + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["PCRSource"] = Field( + default="PCRSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class LigationSource(AssemblySource): + """ + Represents the source of a sequence that is generated by ligation with sticky or blunt ends. + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["LigationSource"] = Field( + default="LigationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class HomologousRecombinationSource(AssemblySource): + """ + Represents the source of a sequence that is generated by homologous recombination + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["HomologousRecombinationSource"] = Field( + default="HomologousRecombinationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class GibsonAssemblySource(AssemblySource): + """ + Represents the source of a sequence that is generated by Gibson assembly + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["GibsonAssemblySource"] = Field( + default="GibsonAssemblySource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class InFusionSource(AssemblySource): + """ + Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["InFusionSource"] = Field( + default="InFusionSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class OverlapExtensionPCRLigationSource(AssemblySource): + """ + 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. + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["OverlapExtensionPCRLigationSource"] = Field( + default="OverlapExtensionPCRLigationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class InVivoAssemblySource(AssemblySource): + """ + Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly. + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["InVivoAssemblySource"] = Field( + default="InVivoAssemblySource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class RestrictionAndLigationSource(AssemblySource): + """ + Represents the source of a sequence that is generated by restriction and ligation + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": {"restriction_enzymes": {"name": "restriction_enzymes", "required": True}}, + } + ) + + restriction_enzymes: list[str] = Field( + default=..., + json_schema_extra={ + "linkml_meta": { + "alias": "restriction_enzymes", + "domain_of": ["RestrictionAndLigationSource"], + "exact_mappings": ["OBI:0000732"], + } + }, + ) + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["RestrictionAndLigationSource"] = Field( + default="RestrictionAndLigationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class GatewaySource(AssemblySource): + """ + Represents the source of a sequence that is generated by Gateway cloning + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + reaction_type: GatewayReactionType = Field( + default=..., json_schema_extra={"linkml_meta": {"alias": "reaction_type", "domain_of": ["GatewaySource"]}} + ) + greedy: Optional[bool] = Field( + default=False, + description="""Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)""", + json_schema_extra={ + "linkml_meta": {"alias": "greedy", "domain_of": ["GatewaySource"], "ifabsent": "boolean(false)"} + }, + ) + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["GatewaySource"] = Field( + default="GatewaySource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class CreLoxRecombinationSource(AssemblySource): + """ + Represents the source of a sequence that is generated by Cre - Lox recombination + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["CreLoxRecombinationSource"] = Field( + default="CreLoxRecombinationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class CRISPRSource(HomologousRecombinationSource): + """ + Represents the source of a sequence that is generated by CRISPR + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + circular: Optional[bool] = Field( + default=None, + description="""Whether the assembly is circular or not""", + json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + ) + type: Literal["CRISPRSource"] = Field( + default="CRISPRSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class OligoHybridizationSource(Source): + """ + Represents the source of a sequence that is generated by oligo hybridization + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + overhang_crick_3prime: Optional[int] = Field( + default=None, + 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""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_crick_3prime", + "domain_of": ["TextFileSequence", "OligoHybridizationSource"], + } + }, + ) + type: Literal["OligoHybridizationSource"] = Field( + default="OligoHybridizationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class PolymeraseExtensionSource(Source): + """ + Represents the source of a sequence that is generated by polymerase extension + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + type: Literal["PolymeraseExtensionSource"] = Field( + default="PolymeraseExtensionSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class CloningStrategy(ConfiguredBaseModel): + """ + Represents a cloning strategy + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + sequences: list[Union[Sequence, TemplateSequence, TextFileSequence, Primer]] = Field( + default=..., + description="""The sequences that are used in the cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "sequences", "domain_of": ["CloningStrategy"]}}, + ) + sources: list[ + Union[ + Source, + DatabaseSource, + CollectionSource, + ManuallyTypedSource, + UploadedFileSource, + RepositoryIdSource, + SequenceCutSource, + AssemblySource, + OligoHybridizationSource, + PolymeraseExtensionSource, + AnnotationSource, + ReverseComplementSource, + PCRSource, + LigationSource, + HomologousRecombinationSource, + GibsonAssemblySource, + InFusionSource, + OverlapExtensionPCRLigationSource, + InVivoAssemblySource, + RestrictionAndLigationSource, + GatewaySource, + CreLoxRecombinationSource, + CRISPRSource, + RestrictionEnzymeDigestionSource, + AddgeneIdSource, + WekWikGeneIdSource, + SEVASource, + BenchlingUrlSource, + SnapGenePlasmidSource, + EuroscarfSource, + IGEMSource, + OpenDNACollectionsSource, + NCBISequenceSource, + GenomeCoordinatesSource, + ] + ] = Field( + default=..., + description="""The sources of the sequences that are used in the cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "sources", "domain_of": ["CloningStrategy"]}}, + ) + primers: Optional[list[Primer]] = Field( + default=None, + description="""The primers that are used in the cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "primers", "domain_of": ["CloningStrategy"]}}, + ) + description: Optional[str] = Field( + default=None, + description="""A description of the cloning strategy""", + json_schema_extra={ + "linkml_meta": { + "alias": "description", + "domain_of": ["CollectionSource", "CollectionOptionInfo", "CloningStrategy"], + } + }, + ) + files: Optional[list[Union[AssociatedFile, SequencingFile]]] = Field( + default=None, + description="""Files associated with this cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "files", "domain_of": ["CloningStrategy"]}}, + ) + schema_version: Optional[str] = Field( + default=None, + description="""The version of the schema that was used to generate this cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "schema_version", "domain_of": ["CloningStrategy"]}}, + ) + backend_version: Optional[str] = Field( + default=None, + description="""The version of the backend that was used to generate this cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "backend_version", "domain_of": ["CloningStrategy"]}}, + ) + frontend_version: Optional[str] = Field( + default=None, + description="""The version of the frontend that was used to generate this cloning strategy""", + json_schema_extra={"linkml_meta": {"alias": "frontend_version", "domain_of": ["CloningStrategy"]}}, + ) + + +class AnnotationReport(ConfiguredBaseModel): + """ + Represents a report of an annotation step + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + type: Literal["AnnotationReport"] = Field( + default="AnnotationReport", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + +class PlannotateAnnotationReport(AnnotationReport): + """ + Represents a report of an annotation step using Plannotate + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + sseqid: Optional[str] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "sseqid", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + start_location: Optional[int] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "start_location", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + end_location: Optional[int] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "end_location", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + strand: Optional[int] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "strand", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + percent_identity: Optional[float] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "percent_identity", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + full_length_of_feature_in_db: Optional[int] = Field( + default=None, + json_schema_extra={ + "linkml_meta": {"alias": "full_length_of_feature_in_db", "domain_of": ["PlannotateAnnotationReport"]} + }, + ) + length_of_found_feature: Optional[int] = Field( + default=None, + json_schema_extra={ + "linkml_meta": {"alias": "length_of_found_feature", "domain_of": ["PlannotateAnnotationReport"]} + }, + ) + percent_match_length: Optional[float] = Field( + default=None, + json_schema_extra={ + "linkml_meta": {"alias": "percent_match_length", "domain_of": ["PlannotateAnnotationReport"]} + }, + ) + fragment: Optional[bool] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "fragment", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + database: Optional[str] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "database", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + Feature: Optional[str] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "Feature", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + Type: Optional[str] = Field( + default=None, json_schema_extra={"linkml_meta": {"alias": "Type", "domain_of": ["PlannotateAnnotationReport"]}} + ) + Description: Optional[str] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "Description", "domain_of": ["PlannotateAnnotationReport"]}}, + ) + sequence: Optional[str] = Field( + default=None, + json_schema_extra={ + "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + }, + ) + type: Literal["PlannotateAnnotationReport"] = Field( + default="PlannotateAnnotationReport", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + +class AnnotationSource(Source): + """ + Represents a computational step in which sequence features are annotated in a sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + annotation_tool: AnnotationTool = Field( + default=..., json_schema_extra={"linkml_meta": {"alias": "annotation_tool", "domain_of": ["AnnotationSource"]}} + ) + annotation_tool_version: Optional[str] = Field( + default=None, + description="""The version of the annotation tool""", + json_schema_extra={"linkml_meta": {"alias": "annotation_tool_version", "domain_of": ["AnnotationSource"]}}, + ) + annotation_report: Optional[list[Union[AnnotationReport, PlannotateAnnotationReport]]] = Field( + default=None, + json_schema_extra={"linkml_meta": {"alias": "annotation_report", "domain_of": ["AnnotationSource"]}}, + ) + type: Literal["AnnotationSource"] = Field( + default="AnnotationSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class ReverseComplementSource(Source): + """ + Represents the in-silico transformation of a sequence into its reverse complement + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + type: Literal["ReverseComplementSource"] = Field( + default="ReverseComplementSource", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + output_name: Optional[str] = Field( + default=None, + description="""Used to specify the name of the output sequence""", + json_schema_extra={"linkml_meta": {"alias": "output_name", "domain_of": ["Source"]}}, + ) + database_id: Optional[int] = Field( + default=None, + description="""The id of an entity in a database""", + json_schema_extra={ + "linkml_meta": { + "alias": "database_id", + "domain_of": ["Primer", "Source", "DatabaseSource"], + "slot_uri": "schema:identifier", + } + }, + ) + input: Optional[list[Union[SourceInput, AssemblyFragment]]] = Field( + default_factory=list, + description="""The inputs to this source. If the source represents external import of a sequence, it's empty.""", + json_schema_extra={"linkml_meta": {"alias": "input", "domain_of": ["Source"], "slot_uri": "schema:object"}}, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + + +class AssociatedFile(ConfiguredBaseModel): + """ + Represents a file associated with a sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + type: Literal["AssociatedFile"] = Field( + default="AssociatedFile", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + sequence_id: int = Field( + default=..., + description="""The sequence this file is associated with""", + json_schema_extra={"linkml_meta": {"alias": "sequence_id", "domain_of": ["AssociatedFile"]}}, + ) + file_name: str = Field( + default=..., + description="""The name of the file""", + json_schema_extra={ + "linkml_meta": {"alias": "file_name", "domain_of": ["UploadedFileSource", "AssociatedFile"]} + }, + ) + file_type: AssociatedFileType = Field( + default=..., + description="""The type of file""", + json_schema_extra={"linkml_meta": {"alias": "file_type", "domain_of": ["AssociatedFile"]}}, + ) + + +class SequencingFile(AssociatedFile): + """ + Represents a sequencing file and its alignment to a sequence + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) + + alignment: list[str] = Field( + default=..., + description="""The alignment of the sequencing read to the sequence. List of strings representing aligned sequences.""", + json_schema_extra={"linkml_meta": {"alias": "alignment", "domain_of": ["SequencingFile"]}}, + ) + type: Literal["SequencingFile"] = Field( + default="SequencingFile", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + sequence_id: int = Field( + default=..., + description="""The sequence this file is associated with""", + json_schema_extra={"linkml_meta": {"alias": "sequence_id", "domain_of": ["AssociatedFile"]}}, + ) + file_name: str = Field( + default=..., + description="""The name of the file""", + json_schema_extra={ + "linkml_meta": {"alias": "file_name", "domain_of": ["UploadedFileSource", "AssociatedFile"]} + }, + ) + file_type: AssociatedFileType = Field( + default=..., + description="""The type of file""", + json_schema_extra={"linkml_meta": {"alias": "file_type", "domain_of": ["AssociatedFile"]}}, + ) + + +# Model rebuild +# see https://pydantic-docs.helpmanual.io/usage/models/#rebuilding-a-model +NamedThing.model_rebuild() +Sequence.model_rebuild() +TemplateSequence.model_rebuild() +TextFileSequence.model_rebuild() +Primer.model_rebuild() +SourceInput.model_rebuild() +SequenceCut.model_rebuild() +RestrictionSequenceCut.model_rebuild() +Source.model_rebuild() +DatabaseSource.model_rebuild() +CollectionSource.model_rebuild() +CollectionOption.model_rebuild() +CollectionOptionInfo.model_rebuild() +ManuallyTypedSource.model_rebuild() +UploadedFileSource.model_rebuild() +RepositoryIdSource.model_rebuild() +AddgeneIdSource.model_rebuild() +WekWikGeneIdSource.model_rebuild() +SEVASource.model_rebuild() +BenchlingUrlSource.model_rebuild() +SnapGenePlasmidSource.model_rebuild() +EuroscarfSource.model_rebuild() +IGEMSource.model_rebuild() +OpenDNACollectionsSource.model_rebuild() +NCBISequenceSource.model_rebuild() +GenomeCoordinatesSource.model_rebuild() +SequenceCutSource.model_rebuild() +RestrictionEnzymeDigestionSource.model_rebuild() +AssemblyFragment.model_rebuild() +AssemblySource.model_rebuild() +PCRSource.model_rebuild() +LigationSource.model_rebuild() +HomologousRecombinationSource.model_rebuild() +GibsonAssemblySource.model_rebuild() +InFusionSource.model_rebuild() +OverlapExtensionPCRLigationSource.model_rebuild() +InVivoAssemblySource.model_rebuild() +RestrictionAndLigationSource.model_rebuild() +GatewaySource.model_rebuild() +CreLoxRecombinationSource.model_rebuild() +CRISPRSource.model_rebuild() +OligoHybridizationSource.model_rebuild() +PolymeraseExtensionSource.model_rebuild() +CloningStrategy.model_rebuild() +AnnotationReport.model_rebuild() +PlannotateAnnotationReport.model_rebuild() +AnnotationSource.model_rebuild() +ReverseComplementSource.model_rebuild() +AssociatedFile.model_rebuild() +SequencingFile.model_rebuild() diff --git a/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py index e69de29..f1e7250 100644 --- a/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py +++ b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py @@ -0,0 +1,28 @@ +from ..model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy +from ..model_archive.v0_4_6 import CloningStrategy as old_CloningStrategy + +from copy import deepcopy + + +def migrate_manually_typed_source(source: dict) -> dict: + new_source = deepcopy(source) + for key in ["overhang_crick_3prime", "overhang_watson_3prime", "user_input", "circular"]: + if key in new_source: + del new_source[key] + return new_source + + +def migrate_source(source: dict) -> dict: + if source["type"] == "ManuallyTypedSource": + return migrate_manually_typed_source(source) + return source + + +def migrate_0_4_6_to_0_4_9(data: dict) -> dict: + """Migrate data from version 0.4.6 to 0.4.9.""" + old = old_CloningStrategy.model_validate(data) + old_dict = old.model_dump() + old_dict["sources"] = [migrate_source(s) for s in old_dict["sources"]] + new = new_CloningStrategy.model_validate(old_dict) + new.schema_version = "0.4.9" + return new.model_dump() diff --git a/tests/test_migration.py b/tests/test_migration.py index 2815e7d..b20af6b 100644 --- a/tests/test_migration.py +++ b/tests/test_migration.py @@ -131,6 +131,24 @@ def test_0_4_0_to_0_4_6(self): new_CloningStrategy(**migrated_data) self.assertNotIn("output", migrated_data["sources"][0]) + def test_0_4_6_to_0_4_9(self): + from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy + + with open(os.path.join(test_folder, "migration/v0.4.9/manually_typed.json"), "r") as f: + data = json.load(f) + self.assertIn("overhang_crick_3prime", data["sources"][0]) + self.assertIn("overhang_watson_3prime", data["sources"][0]) + self.assertIn("user_input", data["sources"][0]) + self.assertIn("circular", data["sources"][0]) + migrated_data = migrate(data, "0.4.9") + + # Passes the validation + new_CloningStrategy(**migrated_data) + self.assertNotIn("overhang_crick_3prime", migrated_data["sources"][0]) + self.assertNotIn("overhang_watson_3prime", migrated_data["sources"][0]) + self.assertNotIn("user_input", migrated_data["sources"][0]) + self.assertNotIn("circular", migrated_data["sources"][0]) + def test_migration_script(self): with tempfile.TemporaryDirectory() as tmp_dir: From 55efc2a07067b9c548a8373b6e41376f6168bc50 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Fri, 5 Dec 2025 16:05:58 +0000 Subject: [PATCH 04/12] closes #65; closes #66 --- .../transformations/v0_4_6_to_v0_4_9.py | 34 ++++++++++++++- .../migration/v0.4.9/genome_coordinates.json | 8 ++-- tests/test_migration.py | 42 ++++++++++++++++++- 3 files changed, 77 insertions(+), 7 deletions(-) diff --git a/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py index f1e7250..05eb59e 100644 --- a/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py +++ b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py @@ -1,5 +1,12 @@ -from ..model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy -from ..model_archive.v0_4_6 import CloningStrategy as old_CloningStrategy +from ..model_archive.v0_4_9 import ( + CloningStrategy as new_CloningStrategy, + NCBISequenceSource, + GenomeCoordinatesSource as new_GenomeCoordinatesSource, +) +from ..model_archive.v0_4_6 import ( + CloningStrategy as old_CloningStrategy, + GenomeCoordinatesSource as old_GenomeCoordinatesSource, +) from copy import deepcopy @@ -12,12 +19,35 @@ def migrate_manually_typed_source(source: dict) -> dict: return new_source +def migrate_repository_id_source(source: dict) -> dict: + new_source = {key: value for key, value in source.items() if key != "type"} + return NCBISequenceSource(**new_source).model_dump() + + def migrate_source(source: dict) -> dict: if source["type"] == "ManuallyTypedSource": return migrate_manually_typed_source(source) + elif source["type"] == "RepositoryIdSource" and source["repository_name"] == "genbank": + return migrate_repository_id_source(source) + elif source["type"] == "GenomeCoordinatesSource": + return migrate_genome_coordinates_source(source) return source +def migrate_genome_coordinates_source(source: dict) -> dict: + old_source = old_GenomeCoordinatesSource.model_validate(source) + if old_source.strand == -1: + location = f"complement({old_source.start}..{old_source.end})" + else: + location = f"{old_source.start}..{old_source.end}" + + excluded_fields = ["type", "strand", "start", "end", "sequence_accession"] + extra_fields = {key: value for key, value in source.items() if key not in excluded_fields} + return new_GenomeCoordinatesSource( + location=location, repository_name="genbank", repository_id=old_source.sequence_accession, **extra_fields + ).model_dump() + + def migrate_0_4_6_to_0_4_9(data: dict) -> dict: """Migrate data from version 0.4.6 to 0.4.9.""" old = old_CloningStrategy.model_validate(data) diff --git a/tests/migration/v0.4.9/genome_coordinates.json b/tests/migration/v0.4.9/genome_coordinates.json index e4751fb..99a361a 100644 --- a/tests/migration/v0.4.9/genome_coordinates.json +++ b/tests/migration/v0.4.9/genome_coordinates.json @@ -26,8 +26,8 @@ "input": [], "assembly_accession": "GCF_000002945.2", "sequence_accession": "NC_003424.3", - "locus_tag": null, - "gene_id": null, + "locus_tag": "blah", + "gene_id": 123, "start": 1877189, "end": 1877289, "strand": 1 @@ -40,8 +40,8 @@ "input": [], "assembly_accession": "GCF_000002945.2", "sequence_accession": "NC_003424.3", - "locus_tag": null, - "gene_id": null, + "locus_tag": "blah2", + "gene_id": 456, "start": 1877189, "end": 1877289, "strand": -1 diff --git a/tests/test_migration.py b/tests/test_migration.py index b20af6b..9882eb9 100644 --- a/tests/test_migration.py +++ b/tests/test_migration.py @@ -131,7 +131,7 @@ def test_0_4_0_to_0_4_6(self): new_CloningStrategy(**migrated_data) self.assertNotIn("output", migrated_data["sources"][0]) - def test_0_4_6_to_0_4_9(self): + def test_0_4_6_to_0_4_9_ManuallyTypedSource(self): from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy with open(os.path.join(test_folder, "migration/v0.4.9/manually_typed.json"), "r") as f: @@ -149,6 +149,46 @@ def test_0_4_6_to_0_4_9(self): self.assertNotIn("user_input", migrated_data["sources"][0]) self.assertNotIn("circular", migrated_data["sources"][0]) + def test_0_4_6_to_0_4_9_RepositoryIdSource(self): + from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy + + with open(os.path.join(test_folder, "migration/v0.4.9/genbank_id.json"), "r") as f: + data = json.load(f) + self.assertIn("repository_id", data["sources"][0]) + migrated_data = migrate(data, "0.4.9") + # Passes the validation + new_CloningStrategy(**migrated_data) + self.assertEqual(migrated_data["sources"][0]["type"], "NCBISequenceSource") + self.assertEqual(migrated_data["sources"][0]["repository_id"], "X60065.1") + self.assertEqual(migrated_data["sources"][0]["repository_name"], "genbank") + self.assertIsNone(migrated_data["sources"][0]["location"]) + + def test_0_4_6_to_0_4_9_GenomeCoordinatesSource(self): + from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy + + with open(os.path.join(test_folder, "migration/v0.4.9/genome_coordinates.json"), "r") as f: + data = json.load(f) + self.assertIn("strand", data["sources"][0]) + self.assertIn("start", data["sources"][0]) + self.assertIn("end", data["sources"][0]) + self.assertIn("strand", data["sources"][1]) + self.assertIn("start", data["sources"][1]) + self.assertIn("end", data["sources"][1]) + migrated_data = migrate(data, "0.4.9") + # Passes the validation + new_CloningStrategy(**migrated_data) + for i in range(2): + location = "complement(1877189..1877289)" if i == 1 else "1877189..1877289" + gene_id = 123 if i == 0 else 456 + locus_tag = "blah" if i == 0 else "blah2" + self.assertEqual(migrated_data["sources"][i]["type"], "GenomeCoordinatesSource") + self.assertEqual(migrated_data["sources"][i]["location"], location) + self.assertEqual(migrated_data["sources"][i]["repository_id"], "NC_003424.3") + self.assertEqual(migrated_data["sources"][i]["repository_name"], "genbank") + self.assertEqual(migrated_data["sources"][i]["assembly_accession"], "GCF_000002945.2") + self.assertEqual(migrated_data["sources"][i]["locus_tag"], locus_tag) + self.assertEqual(migrated_data["sources"][i]["gene_id"], gene_id) + def test_migration_script(self): with tempfile.TemporaryDirectory() as tmp_dir: From 267217311b737177343620b28bea9b3e8c92549e Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Fri, 5 Dec 2025 16:08:07 +0000 Subject: [PATCH 05/12] rename location to coordinates --- project/excel/opencloning_linkml.xlsx | Bin 31733 -> 31740 bytes project/graphql/opencloning_linkml.graphql | 5 +- .../jsonld/opencloning_linkml.context.jsonld | 12 +- project/jsonld/opencloning_linkml.jsonld | 29 +- .../jsonschema/opencloning_linkml.schema.json | 30 +- project/owl/opencloning_linkml.owl.ttl | 919 +++++----- project/protobuf/opencloning_linkml.proto | 5 +- project/python/opencloning_linkml.py | 35 +- project/shacl/opencloning_linkml.shacl.ttl | 1585 ++++++++--------- project/shex/opencloning_linkml.shex | 4 +- project/sqlschema/opencloning_linkml.sql | 8 +- src/opencloning_linkml/datamodel/_models.py | 18 +- .../schema/opencloning_linkml.yaml | 2 +- 13 files changed, 1335 insertions(+), 1317 deletions(-) diff --git a/project/excel/opencloning_linkml.xlsx b/project/excel/opencloning_linkml.xlsx index b7df50295d42d90d466b31d9c9f7578cbda160e4..4008a8d4209e17619252a1a4e37676009e29aa8d 100644 GIT binary patch delta 2741 zcmZvec_5VeAIE0~!{kWgoFhk!qlR=KImXQD<^PiQ09kE%LV_4y!&7 zH#u0ab~-sl>kUDxMuJM&<Wph^M?u^xK!V* zdpl71i(~*kC92yix6$Cw4l+?`mQz|>Mi002-a4SR)ifdcDB0%6ih&b@6Zf2oeZ%hc z29Q)die+-&$$! zEH1=rzhAocc~VR4Y-HV3$!lg*%(CQNLbU8*u0)R1jXL(7;n{0gYhSObb>QlNT9k?MV$ zswp?>-jl=jQ`;*A#@u?Vn?0>BA-t}Ufa#o+*Sxb`zxdqV!~3Q+%xK#zqIzQ2o(&#( zCdd0n)2^1fN+Njon&^iW6K$Fk!zEFcRQ7}kaY>pmY-pG^vy6CWA9N7UbjAzv_HT*Y z?${R`UL{&b=@LBA(;V#c?+q4pclOCx5Gbj_)GwZ0bR){(6&(K5$H zZGTS}c8E(q91A+0Zbx*jxGj2?Km9bNw~v(js{0!Cr_+=@rfmjKb0i+J9ahiFF7I?+ zJR|Y-1<4Csq2jM=Zw$T!B?atIivAu$mT{$15AU_P*_*URL-0 zG3Bo@#TRX2X5XGWIlXEr!~CJf17+v5TN0%fNw=}%9<5}S*0vb%qq7<3WNW&2Y+^S{ zs`d;O)iT%K%W+*8yr=WNC+T{w%cB<+ab)kV0Lqr;?AjaT(X9OP^5|8h!kua*0<}kr zkLWgNb^3`kOK=Xm-4mAoa3o=;TWEr%e4G22hNZ*H*C$RVL{7Gw!`l7nVI}J>pE*S` zJuzx8q>EQM*KgIW7Twp5nkwqmxh?J-ztJo(E(e$K~2$eAjk63u;hpophsm&M^lwZ=!ne{Lw6#&1V*!EFHaQJMhL|&Z6bK zx%gs2p#DbfnXl>m1RW0LvcMLvq92G z$>vUI$}69l?T7LMEcV^Z%Iu};xybkrk<5#4I|Vt@Rz_4lR#mm1hJ(j#V^kA`#TeGw5^S^#xw8v%=xmw9HLnKavD0^l6;MV`CnJ;f@ zrag5Jt?73+yW+Mf(`ci(@|{BX0Qt4cxUA?`SIGA3s|9zO*Pz1y>NMAb%PexiV9>NY z3K-9x0gqT=vnJN2=@Zj~S$2ZCwRjC!!#w-rbIjWDOI+miWxb1qdF5PT)C*r?W0Qkt zuLn!IfAQ6>$9zoB)1YPul>s%R5n+;dJjhG;xd7DEmkacS9~qr6@CAPjFli7!JR6t< zV#&epfO10cz{3s81fJ1|VKn9L#t#yx-idk%Z0#|ls6q`KE1AzPF6a%%9A!)5Y*FFF zIiS*r$rL6w@c`yxavc*zE`Yw69Khrm*AY!OS3!uHc8~qB;Ep$JdBhf9;ziEH!;$aLMOCY0iu*lCZT&pup$eEkY=h1 zVY3Yg?6o06p~-S+Nz}g34xy?_Cg|?~4>q2lEb;m00|;MPgN7mT8YyV(OH!;ope88` zK9#|fq0ki2I9l_(69`|N3ll<;MQMqn~(?tJQ=wN?C}*QNKyP1!ZS~uS#7eozQ~p9isvbWGWI*a!}j9 D+Vg4b delta 3080 zcmZ`*dmz($8{bw&nQJa#Ze`1I&B+->OhyQ~#Z0M2BU3SEY?(_+Idb{gD{3Vrm2QmE zAu5$nLgkW_qN8$&+;UQ#{l2T5df(R{KF{y-JkRI*{GL5~zMGv!PEI2+8(ikiS3)2V zQiv#S7UrTt6gPz`$kWps5phjO1VRCl4_D&xvs~TlOfmbuHa_MIo-V=`8mpcb*xGGV zOr_?qspRn!x6ky{E;FJM=c}Fycr`sna}4DVG)iz~n`s5IeLGfOPY;-hX6b#v>YQ7u zu9jxssWh_5G`r0ld&6Z?S5C@@@;sT8?Vr8Z>F}pJhXs6pBj>Mbe^UySw`8D=$Xg_M z$p$Wq*Ut*Kx~W9|(PJl5w*fPGzbJiiwY7E4{iXpyy55Cb>&yKkls9BcZ;Q*aN#7$) zyfbC>sVX6kkKes2Hh`YnUlHFqbS3Xh@p}G_U31jMlY=Bs4JPLlcm*IowZdndMKlucJ zPZcr&G8P>Mh*rJ_utg;aDFe6KxWe<;V^N#yp%w>qVeI05*bTj;;)HwEqd@528V>Lg z5Z(|cq-$xQWZ|@GFK;ap3V|q>fLa~YAYKGocuB_v#JS_}!X--$Kw0iMj~}`9%QSx2 z3zh?0h&QzTmV**d7*!Q2iX5 zbA?bM2%{hEuHNU+Da{~3MfQ)R91G7@hRdWbNl?FIvJ47)E_IgjpZPt)2F0PH+3Lq! zgQ`v|Y$r;l@b)yG9x7mG`3xr|(VYyIvn8fWaEJr5i;FX5LJT|{(TzDhuJjV5g4J`q ziK%|<%=X_?sU}t`gd-pGZAl|sDN?PRUxMcvMV}8G?VLUM$$O8+b!XSUIo{YUB`xj! zzHE1N<4%gVEn(H`&6fjj))bdKRLs3~z;H#U<6Ytr+%=xf$DDrs3hlO%-%jP`Gz2eX zz6^7%Jh{C3&;aK?7egx`8))YD_^Z$p(sm&#LV7V#mgwlJsiR*%AGR4@+kLHcr5x>Y z(&+)o_?pt=G}E($F0~swlt$gzZmO)#q?hPDxLtM)O9C>|BZta0c21PMz3h|L)U|EZ zOav#I>3U=%k5;>~)3~%F-XQr^tMAPG_O=h&{OP*|mOcx~xAP26Tun5LA0>FTt!f-{ z>LRRoa9ID~!j-otx-!G6k%ErL!OB#lr(2Sm3m&8pXcW?->C3~ffA=%wrgn~VH-(fo zdkin2QEp`r6u(qF{Hnw%7=ujtr;r5w&^1t+#*$<;w)qMv+3uDGw4e@;4U2QT!Imt` zO&!r^Z`KMtGi37fcV^LQP7P5sI9}ob{lY}^;KAuO#e7z-dq@%}4N4@^wm9XR8!S{Z zdTNdS<3XogP%HE%ZswCmbJ5%Fa-7mTO}epq*%515gA46tg()w3ciJ@J4lC$O}+5H_J3mW%2J$rYIq3HF%UyWOqSkk08wDVwozLUj5 zUdBN>U-jAYLcNPR^{V|H&WI%r#TI$XTP?`=%awV110DPJTNh5Uy*ev}%-)9c2d-@P z+Yar16K0oA_$04W8*}tT`%Qj_b{-fA!J+ot$@A8DV) z8FL#iW`?AjuQskZQTKq6dE#UcWHBju+>?jpkL6C>+Bo5C7J+Ksdab=m`4nN5yVW7T zcVq4P)&<3TLR>?KH)3KXL)s-9TYH^@H8W>yJ|JQ`SRMOI{j$8)vpNKfF>Tv&cDwV)#C zA-^EFx>)`G70poI7_`BlKD+DEA^$r41-eb#t1|sUm5!V0uKrR@++K|Lg#}?Q#u8O( zXRuAAYFb^);*a6wjhOSEZTm}Ej$5$;&)co^V?4sM_%5rY2mFA{yXns!j=pkm zXdfw#F){Tqg3MQVb!kac;zF(`cM|QninCJ|!>#?qf6tb%nRpH?$z~#6SYWvqEJ^(8 zlYna>;e?}B3F6&KTSw1G5bahkuv>H2fK?2&knloxTOLSjAr*Z~!wUs#0SEl{_-rZQKR$g0CXHnuRwhS^!^C^8nA?G%41tF$>DS58om{ zSC|*r4g9RF9I(>IX#;Tjv!K~|Fg^_#1n&ABLoh-W3@fSc*FH4EAi|tkxD5=VE_6E;J0RCp-W;0 zHmAg)NIBYhFO*l@G30P|;`IjpzgSkovey_P*gg~f?e%5^dOGtDzhgvDh z&=;m6Tm~fyi>e|5h8*>Sp<4pxxFuS4g9{R+H1GSbC8$6Yzi2h^J`%@gv9PF0E5M9e zp&^}U46JJ$jYS2nfmtOpOZW=?MF-AOv4wP5Dv-Oa1awiH1+&*lfE|rifOSL+G6>RP z>3@4bNt1y)p7q_0DsuqLojHcG4ltM)5ThM~MIoF4;}xR-x>K@sC+07Bl;{82oeCEa zm@iI+>uGa^nMD@=`z4UEkOCVNx0;Pb>3E3VSVc7B;$ynZvj>7i$MlLWg`Yo!Hct?E zg$*if5T%BD1Lm`sk&nfq2pa)oA1fBCYN#;l5sBd?eih621%YX?Kqpy)K(HAm z%&1sKF!R4VmO{PiIC$`eXc$#QEs_2{lp;((_R . @@ -91,31 +91,31 @@ opencloning_linkml:CollectionOption a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOption" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:source ], - [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], + owl:allValuesFrom opencloning_linkml:Source ; + owl:onProperty opencloning_linkml:source ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:info ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:source ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ] ; skos:definition "Represents an option in a collection" ; skos:inScheme . @@ -124,50 +124,50 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOptionInfo" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:resistance ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:resistance ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:well ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionType ; - owl:onProperty opencloning_linkml:type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], - [ 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:resistance ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:well ], + owl:allValuesFrom opencloning_linkml:CollectionOptionType ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:resistance ] ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:well ] ; skos:definition "Additional information about a collection option" ; skos:inScheme . @@ -179,10 +179,7 @@ opencloning_linkml:AddgeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AddgeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; @@ -192,13 +189,16 @@ opencloning_linkml:AddgeneIdSource a owl:Class, owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:addgene_sequence_type ], + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:onProperty opencloning_linkml:addgene_sequence_type ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by an Addgene id" ; skos:inScheme . @@ -217,29 +217,29 @@ opencloning_linkml:AnnotationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AnnotationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationTool ; - owl:onProperty opencloning_linkml:annotation_tool ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:annotation_tool ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:annotation_tool_version ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:annotation_report ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:AnnotationTool ; + owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:annotation_report ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:annotation_tool_version ], opencloning_linkml:Source ; skos:definition "Represents a computational step in which sequence features are annotated in a sequence" ; skos:inScheme . @@ -248,32 +248,32 @@ opencloning_linkml:AssemblyFragment a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblyFragment" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_location ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:left_location ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:reverse_complemented ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:right_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_location ], opencloning_linkml:SourceInput ; skos:definition "Represents a fragment in an assembly" ; skos:inScheme . @@ -282,10 +282,10 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, linkml:ClassDefinition ; rdfs:label "BenchlingUrlSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -327,44 +327,44 @@ opencloning_linkml:CollectionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:image ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:title ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:options ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:image ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOption ; owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:title ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:options ], opencloning_linkml:Source ; skos:definition "Represents a collection of possible sources in a template" ; skos:inScheme . @@ -396,7 +396,7 @@ opencloning_linkml:EuroscarfSource a owl:Class, linkml:ClassDefinition ; rdfs:label "EuroscarfSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -404,7 +404,7 @@ opencloning_linkml:EuroscarfSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^P\\d+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + 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" ; @@ -424,22 +424,22 @@ opencloning_linkml:GatewaySource a owl:Class, linkml:ClassDefinition ; rdfs:label "GatewaySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom opencloning_linkml:GatewayReactionType ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:greedy ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:GatewayReactionType ; - owl:onProperty opencloning_linkml:reaction_type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:greedy ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by Gateway cloning" ; @@ -449,40 +449,40 @@ opencloning_linkml:GenomeCoordinatesSource a owl:Class, linkml:ClassDefinition ; rdfs:label "GenomeCoordinatesSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:gene_id ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:assembly_accession ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:assembly_accession ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:location ], + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:locus_tag ], + owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:gene_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:locus_tag ], [ 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 ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:assembly_accession ], opencloning_linkml:NCBISequenceSource ; skos:definition "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; @@ -499,26 +499,26 @@ opencloning_linkml:IGEMSource a owl:Class, linkml:ClassDefinition ; rdfs:label "IGEMSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; + owl:maxCardinality 1 ; 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:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from an iGEM collection" ; skos:inScheme . @@ -555,13 +555,13 @@ opencloning_linkml:NamedThing a owl:Class, linkml:ClassDefinition ; rdfs:label "NamedThing" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ] ; skos:exactMatch schema1:Thing ; skos:inScheme . @@ -570,14 +570,14 @@ opencloning_linkml:OligoHybridizationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OligoHybridizationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is generated by oligo hybridization" ; skos:inScheme . @@ -586,18 +586,7 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OpenDNACollectionsSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - 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 ; @@ -605,9 +594,20 @@ 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 [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Open DNA collections" ; skos:inScheme . @@ -623,13 +623,13 @@ opencloning_linkml:PCRSource a owl:Class, linkml:ClassDefinition ; rdfs:label "PCRSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:add_primer_features ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by PCR" ; @@ -640,130 +640,130 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, rdfs:label "PlannotateAnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_identity ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:strand ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:percent_match_length ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sseqid ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:fragment ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:fragment ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Type ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; 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:start_location ], + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:fragment ], + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_match_length ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Type ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:database ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Description ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:end_location ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:strand ], + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_match_length ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:minCardinality 0 ; - 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:sequence ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:Description ], opencloning_linkml:AnnotationReport ; skos:definition "Represents a report of an annotation step using Plannotate" ; skos:inScheme . @@ -824,10 +824,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" ; @@ -838,6 +838,9 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class, rdfs:label "RestrictionEnzymeDigestionSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:right_edge ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; @@ -845,12 +848,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 ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], @@ -862,13 +862,13 @@ opencloning_linkml:RestrictionSequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionSequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], opencloning_linkml:SequenceCut ; skos:definition "Represents a cut in a DNA sequence that is made by a restriction enzyme" ; @@ -888,10 +888,9 @@ opencloning_linkml:SEVASource a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -903,10 +902,11 @@ opencloning_linkml:SEVASource a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; + owl: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 that is identified by a SEVA id" ; skos:inScheme . @@ -935,10 +935,10 @@ opencloning_linkml:SequencingFile a owl:Class, linkml:ClassDefinition ; rdfs:label "SequencingFile" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:alignment ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:alignment ], opencloning_linkml:AssociatedFile ; skos:definition "Represents a sequencing file and its alignment to a sequence" ; @@ -948,15 +948,15 @@ opencloning_linkml:SnapGenePlasmidSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SnapGenePlasmidSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; @@ -966,11 +966,11 @@ opencloning_linkml:TemplateSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TemplateSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - 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 ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:primer_design ], @@ -978,10 +978,10 @@ opencloning_linkml:TemplateSequence a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], opencloning_linkml:Sequence ; skos:definition "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; @@ -991,41 +991,41 @@ opencloning_linkml:TextFileSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TextFileSequence" ; 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:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_content ], + [ 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 ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_content ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:file_content ], + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], opencloning_linkml:Sequence ; skos:definition "A sequence (may have features) defined by the content of a text file" ; skos:inScheme . @@ -1034,17 +1034,26 @@ opencloning_linkml:UploadedFileSource a owl:Class, linkml:ClassDefinition ; rdfs:label "UploadedFileSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:coordinates ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circularize ], @@ -1052,32 +1061,23 @@ opencloning_linkml:UploadedFileSource a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:coordinates ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circularize ], - [ a owl:Restriction ; - owl:minCardinality 1 ; + 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 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:circularize ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_name ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is uploaded as a file" ; skos:inScheme . @@ -1086,13 +1086,7 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "WekWikGeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -1101,13 +1095,19 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, 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:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a WeKwikGene id" ; skos:inScheme . @@ -1201,23 +1201,23 @@ opencloning_linkml:NCBISequenceSource a owl:Class, linkml:ClassDefinition ; rdfs:label "NCBISequenceSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:simple_sequence_location ; - owl:onProperty opencloning_linkml:location ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:location ], + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom opencloning_linkml:simple_sequence_location ; + owl:onProperty opencloning_linkml:coordinates ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:location ], + owl:onProperty opencloning_linkml:coordinates ], + [ 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 an NCBI sequence accession" ; skos:inScheme . @@ -1227,10 +1227,16 @@ opencloning_linkml:Primer a owl:Class, rdfs:label "Primer" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], @@ -1240,21 +1246,15 @@ opencloning_linkml:Primer a owl:Class, owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:Sequence ; skos:definition "An oligonucleotide or primer" ; skos:inScheme . @@ -1263,14 +1263,11 @@ opencloning_linkml:SequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:overhang ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:cut_watson ], - [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; 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 ], @@ -1279,6 +1276,9 @@ opencloning_linkml:SequenceCut a owl:Class, owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:cut_watson ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:overhang ] ; skos:definition "Represents a cut in a DNA sequence" ; skos:inScheme . @@ -1287,22 +1287,22 @@ opencloning_linkml:SequenceCutSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCutSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:right_edge ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_edge ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:left_edge ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceCut ; + owl:onProperty opencloning_linkml:right_edge ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_edge ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; @@ -1359,12 +1359,6 @@ opencloning_linkml:circularize a owl:ObjectProperty, skos:definition "Whether the sequence should be circularized (FASTA only)" ; skos:inScheme . -opencloning_linkml:coordinates a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "coordinates" ; - skos:definition "If provided, coordinates within the sequence of the file to extract a subsequence" ; - skos:inScheme . - opencloning_linkml:cut_watson a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "cut_watson" ; @@ -1590,41 +1584,41 @@ opencloning_linkml:AssociatedFile a owl:Class, linkml:ClassDefinition ; rdfs:label "AssociatedFile" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:file_type ], + [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], + owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_type ], + owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:file_type ], + 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 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:sequence_id ] ; + owl:onProperty opencloning_linkml:type ] ; skos:definition "Represents a file associated with a sequence" ; skos:inScheme . @@ -1638,23 +1632,23 @@ opencloning_linkml:SourceInput a owl:Class, linkml:ClassDefinition ; rdfs:label "SourceInput" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequence ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ] ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:Sequence ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ] ; skos:definition "Represents an input to a source" ; skos:exactMatch schema1:Role ; skos:inScheme . @@ -1680,6 +1674,9 @@ opencloning_linkml:GatewayReactionType a owl:Class, opencloning_linkml:circular a owl:ObjectProperty, linkml:SlotDefinition . +opencloning_linkml:coordinates a owl:ObjectProperty, + linkml:SlotDefinition . + opencloning_linkml:file_name a owl:ObjectProperty, linkml:SlotDefinition . @@ -1693,12 +1690,6 @@ opencloning_linkml:id a owl:ObjectProperty, opencloning_linkml:left_edge a owl:ObjectProperty, linkml:SlotDefinition . -opencloning_linkml:location a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "location" ; - skos:definition "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; - skos:inScheme . - opencloning_linkml:overhang_crick_3prime a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "overhang_crick_3prime" ; @@ -1720,23 +1711,23 @@ opencloning_linkml:Sequence a owl:Class, linkml:ClassDefinition ; rdfs:label "Sequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:id ], opencloning_linkml:NamedThing ; skos:definition "Represents a sequence" ; skos:exactMatch bioschemas:DNA ; @@ -1766,11 +1757,11 @@ opencloning_linkml:RepositoryIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RepositoryIdSource" ; rdfs:subClassOf [ 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:allValuesFrom opencloning_linkml:RepositoryName ; owl:onProperty opencloning_linkml:repository_name ], @@ -1781,8 +1772,8 @@ opencloning_linkml:RepositoryIdSource a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_name ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a repository id" ; skos:inScheme . @@ -1802,10 +1793,10 @@ opencloning_linkml:AssemblySource a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is an assembly of other sequences" ; @@ -1816,37 +1807,37 @@ opencloning_linkml:Source a owl:Class, rdfs:label "Source" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database_id ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:output_name ], + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:SourceInput ; + owl:onProperty opencloning_linkml:input ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; 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:input ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:output_name ], opencloning_linkml:NamedThing ; skos:definition "Represents the source of a sequence" ; skos:exactMatch schema1:CreateAction ; @@ -1898,59 +1889,59 @@ opencloning_linkml:type a owl:ObjectProperty, skos:definition "A LinkML data model for OpenCloning" . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + rdfs:subClassOf opencloning_linkml:InFusionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . + owl:someValuesFrom opencloning_linkml:InFusionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InFusionSource ; + rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InFusionSource . + owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; + rdfs:subClassOf opencloning_linkml:AssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . + owl:someValuesFrom opencloning_linkml:AssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequenceCutSource ; + rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequenceCutSource . + owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; + rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . + owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SourceInput ; + rdfs:subClassOf opencloning_linkml:TemplateSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SourceInput . + owl:someValuesFrom opencloning_linkml:TemplateSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Sequence ; + rdfs:subClassOf opencloning_linkml:AssemblyFragment ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Sequence . + owl:someValuesFrom opencloning_linkml:AssemblyFragment . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:DatabaseSource ; + rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:DatabaseSource . + owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; + rdfs:subClassOf opencloning_linkml:SequenceCutSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . + owl:someValuesFrom opencloning_linkml:SequenceCutSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:IGEMSource ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:IGEMSource . + owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PCRSource ; + rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PCRSource . + owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; @@ -1958,69 +1949,74 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:AddgeneIdSource . [] 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:HomologousRecombinationSource ; + rdfs:subClassOf opencloning_linkml:UploadedFileSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . + owl:someValuesFrom opencloning_linkml:UploadedFileSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:EuroscarfSource ; + rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:EuroscarfSource . + owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:UploadedFileSource ; + rdfs:subClassOf opencloning_linkml:AnnotationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:UploadedFileSource . + owl:someValuesFrom opencloning_linkml:AnnotationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblyFragment ; + rdfs:subClassOf opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblyFragment . + owl:someValuesFrom opencloning_linkml:AnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblySource ; + rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblySource . + owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationSource ; + rdfs:subClassOf opencloning_linkml:SequencingFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationSource . + owl:someValuesFrom opencloning_linkml:SequencingFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; + rdfs:subClassOf opencloning_linkml:DatabaseSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . + owl:someValuesFrom opencloning_linkml:DatabaseSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TemplateSequence ; + rdfs:subClassOf opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TemplateSequence . + owl:someValuesFrom opencloning_linkml:SourceInput . [] 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:OverlapExtensionPCRLigationSource ; + rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . + owl:someValuesFrom opencloning_linkml:ReverseComplementSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; + rdfs:subClassOf opencloning_linkml:Source ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . + owl:someValuesFrom opencloning_linkml:Source . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; + rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ReverseComplementSource . + owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:NCBISequenceSource ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:NCBISequenceSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:CRISPRSource ; @@ -2028,74 +2024,74 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:CRISPRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; + rdfs:subClassOf opencloning_linkml:GatewaySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . + owl:someValuesFrom opencloning_linkml:GatewaySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; + rdfs:subClassOf opencloning_linkml:EuroscarfSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . + owl:someValuesFrom opencloning_linkml:EuroscarfSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CollectionSource ; + rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CollectionSource . + owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssociatedFile ; + rdfs:subClassOf opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssociatedFile . + owl:someValuesFrom opencloning_linkml:Sequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; + rdfs:subClassOf opencloning_linkml:AssociatedFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . + owl:someValuesFrom opencloning_linkml:AssociatedFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml: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:ManuallyTypedSource ; + rdfs:subClassOf opencloning_linkml:SEVASource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . + owl:someValuesFrom opencloning_linkml:SEVASource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationReport ; + rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationReport . + owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Source ; + rdfs:subClassOf opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Source . + owl:someValuesFrom opencloning_linkml:Primer . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:LigationSource ; + rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:LigationSource . + owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GatewaySource ; + rdfs:subClassOf opencloning_linkml:IGEMSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GatewaySource . + owl:someValuesFrom opencloning_linkml:IGEMSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequencingFile ; + rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequencingFile . + owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; + rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . + owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; + rdfs:subClassOf opencloning_linkml:PCRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . + owl:someValuesFrom opencloning_linkml:PCRSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:TextFileSequence ; @@ -2103,16 +2099,11 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:TextFileSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; - owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . - -[] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; + rdfs:subClassOf opencloning_linkml:LigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . + owl:someValuesFrom opencloning_linkml:LigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:NCBISequenceSource ; + rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:NCBISequenceSource . + owl:someValuesFrom opencloning_linkml:RepositoryIdSource . diff --git a/project/protobuf/opencloning_linkml.proto b/project/protobuf/opencloning_linkml.proto index 1d8a4da..396a3f9 100644 --- a/project/protobuf/opencloning_linkml.proto +++ b/project/protobuf/opencloning_linkml.proto @@ -172,11 +172,12 @@ message GenomeCoordinatesSource integer databaseId = 0 repeated sourceInput input = 0 repositoryName repositoryName = 0 + simpleSequenceLocation coordinates = 0 string repositoryId = 0 string assemblyAccession = 0 string locusTag = 0 integer geneId = 0 - simpleSequenceLocation location = 0 + string location = 0 } // Represents the source of a sequence that is generated by Gibson assembly message GibsonAssemblySource @@ -262,7 +263,7 @@ message NCBISequenceSource integer databaseId = 0 repeated sourceInput input = 0 repositoryName repositoryName = 0 - simpleSequenceLocation location = 0 + simpleSequenceLocation coordinates = 0 string repositoryId = 0 } // Represents the source of a sequence that is generated by oligo hybridization diff --git a/project/python/opencloning_linkml.py b/project/python/opencloning_linkml.py index 8f71830..a2e6aac 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-12-05T15:35:21 +# Generation date: 2025-12-05T16:07:12 # Schema: OpenCloning_LinkML # # id: https://opencloning.github.io/OpenCloning_LinkML @@ -1111,7 +1111,7 @@ class NCBISequenceSource(RepositoryIdSource): id: Union[int, NCBISequenceSourceId] = None repository_name: Union[str, "RepositoryName"] = None repository_id: str = None - location: Optional[Union[str, SimpleSequenceLocation]] = None + coordinates: Optional[Union[str, SimpleSequenceLocation]] = None def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -1124,8 +1124,8 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.repository_id, str): self.repository_id = str(self.repository_id) - if self.location is not None and not isinstance(self.location, SimpleSequenceLocation): - self.location = SimpleSequenceLocation(self.location) + if self.coordinates is not None and not isinstance(self.coordinates, SimpleSequenceLocation): + self.coordinates = SimpleSequenceLocation(self.coordinates) super().__post_init__(**kwargs) self.type = str(self.class_name) @@ -1147,7 +1147,7 @@ class GenomeCoordinatesSource(NCBISequenceSource): id: Union[int, GenomeCoordinatesSourceId] = None repository_name: Union[str, "RepositoryName"] = None repository_id: str = None - location: Union[str, SimpleSequenceLocation] = None + location: str = None assembly_accession: Optional[str] = None locus_tag: Optional[str] = None gene_id: Optional[int] = None @@ -1160,8 +1160,8 @@ def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.location): self.MissingRequiredField("location") - if not isinstance(self.location, SimpleSequenceLocation): - self.location = SimpleSequenceLocation(self.location) + if not isinstance(self.location, str): + self.location = str(self.location) if self.assembly_accession is not None and not isinstance(self.assembly_accession, str): self.assembly_accession = str(self.assembly_accession) @@ -2425,11 +2425,11 @@ class slots: range=Optional[Union[str, "AddgeneSequenceType"]], ) -slots.nCBISequenceSource__location = Slot( - uri=OPENCLONING_LINKML.location, - name="nCBISequenceSource__location", - curie=OPENCLONING_LINKML.curie("location"), - model_uri=OPENCLONING_LINKML.nCBISequenceSource__location, +slots.nCBISequenceSource__coordinates = Slot( + uri=OPENCLONING_LINKML.coordinates, + name="nCBISequenceSource__coordinates", + curie=OPENCLONING_LINKML.curie("coordinates"), + model_uri=OPENCLONING_LINKML.nCBISequenceSource__coordinates, domain=None, range=Optional[Union[str, SimpleSequenceLocation]], ) @@ -2821,6 +2821,15 @@ class slots: range=Union[str, list[str]], ) +slots.location = Slot( + uri=OPENCLONING_LINKML.location, + name="location", + curie=OPENCLONING_LINKML.curie("location"), + model_uri=OPENCLONING_LINKML.location, + domain=None, + range=str, +) + slots.TextFileSequence_sequence_file_format = Slot( uri=OPENCLONING_LINKML.sequence_file_format, name="TextFileSequence_sequence_file_format", @@ -2999,7 +3008,7 @@ class slots: curie=OPENCLONING_LINKML.curie("location"), model_uri=OPENCLONING_LINKML.GenomeCoordinatesSource_location, domain=GenomeCoordinatesSource, - range=Union[str, SimpleSequenceLocation], + range=str, ) slots.RestrictionAndLigationSource_restriction_enzymes = Slot( diff --git a/project/shacl/opencloning_linkml.shacl.ttl b/project/shacl/opencloning_linkml.shacl.ttl index fe30630..3bc5773 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:overhang_watson_3prime opencloning_linkml:primer_design opencloning_linkml:title opencloning_linkml:addgene_sequence_type opencloning_linkml:location opencloning_linkml:locus_tag opencloning_linkml:annotation_report opencloning_linkml:gene_id rdf:type opencloning_linkml:options opencloning_linkml:overhang_crick_3prime opencloning_linkml:index_in_file opencloning_linkml:category_id opencloning_linkml:repository_id opencloning_linkml:file_content opencloning_linkml:left_edge opencloning_linkml:reaction_type opencloning_linkml:greedy opencloning_linkml:image schema1:name opencloning_linkml:sequence_file_url schema1:object opencloning_linkml:annotation_tool_version opencloning_linkml:output_name opencloning_linkml:repository_name opencloning_linkml:restriction_enzymes opencloning_linkml:sequence_file_format opencloning_linkml:circularize opencloning_linkml:assembly_accession opencloning_linkml:add_primer_features opencloning_linkml:coordinates opencloning_linkml:circular opencloning_linkml:type opencloning_linkml:right_edge opencloning_linkml:sequence opencloning_linkml:description opencloning_linkml:file_name opencloning_linkml:annotation_tool ) ; + sh:ignoredProperties ( opencloning_linkml:circularize opencloning_linkml:index_in_file opencloning_linkml:annotation_report opencloning_linkml:title opencloning_linkml:assembly_accession schema1:object opencloning_linkml:reaction_type opencloning_linkml:right_edge opencloning_linkml:sequence_file_format schema1:name opencloning_linkml:type opencloning_linkml:add_primer_features opencloning_linkml:gene_id opencloning_linkml:circular opencloning_linkml:repository_name rdf:type opencloning_linkml:options opencloning_linkml:output_name opencloning_linkml:category_id opencloning_linkml:greedy opencloning_linkml:locus_tag opencloning_linkml:restriction_enzymes opencloning_linkml:description opencloning_linkml:annotation_tool_version opencloning_linkml:file_content opencloning_linkml:primer_design opencloning_linkml:sequence_file_url opencloning_linkml:image opencloning_linkml:annotation_tool opencloning_linkml:coordinates opencloning_linkml:left_edge opencloning_linkml:overhang_watson_3prime opencloning_linkml:file_name opencloning_linkml:overhang_crick_3prime opencloning_linkml:sequence opencloning_linkml:repository_id opencloning_linkml:addgene_sequence_type ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -28,6 +28,25 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 8 ; sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The id of the sequence in the repository" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:repository_id ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; @@ -51,25 +70,6 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; 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:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:repository_id ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:output_name ], [ sh:in ( "depositor-full" "addgene-full" ) ; sh:maxCount 1 ; sh:order 1 ; @@ -80,29 +80,7 @@ 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:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:annotation_tool ], - [ 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:class opencloning_linkml:AnnotationReport ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path opencloning_linkml:annotation_report ], - [ sh:class schema1:Role ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; @@ -113,18 +91,40 @@ opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:annotation_tool_version ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:class opencloning_linkml:AnnotationReport ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path opencloning_linkml:annotation_report ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ] ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:in ( "plannotate" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:annotation_tool ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:AnnotationSource . opencloning_linkml:AssemblyFragment a sh:NodeShape ; @@ -164,8 +164,14 @@ opencloning_linkml:AssemblyFragment a sh:NodeShape ; 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:reaction_type opencloning_linkml:greedy opencloning_linkml:restriction_enzymes rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:greedy opencloning_linkml:add_primer_features opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -178,6 +184,11 @@ opencloning_linkml:AssemblySource 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 4 ; + sh:path schema1:object ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -189,36 +200,14 @@ opencloning_linkml:AssemblySource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:AssemblySource . opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a Benchling URL" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "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:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:property [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; @@ -229,6 +218,11 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -236,12 +230,6 @@ opencloning_linkml:BenchlingUrlSource 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 "The url of the gb file associated with the sequence" ; sh:maxCount 1 ; @@ -249,18 +237,31 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:repository_id ; - sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ; + sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ], + [ 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:targetClass opencloning_linkml:BenchlingUrlSource . opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by CRISPR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -268,79 +269,78 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ] ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:CRISPRSource . opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:closed true ; sh:description "Represents a cloning strategy" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:frontend_version ], + sh:property [ sh:class bioschemas:DNA ; + sh:description "The sequences that are used in the cloning strategy" ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path opencloning_linkml:sequences ], [ sh:description "The version of the 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: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:AssociatedFile ; + sh:description "Files associated with this cloning strategy" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path opencloning_linkml:files ], [ sh:class schema1:CreateAction ; sh:description "The sources of the sequences that are used in the cloning strategy" ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path opencloning_linkml:sources ], - [ sh:class opencloning_linkml:AssociatedFile ; - sh:description "Files associated with this cloning strategy" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path opencloning_linkml:files ], [ sh:class 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:class bioschemas:DNA ; - sh:description "The sequences that are used in the cloning strategy" ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path opencloning_linkml:sequences ], - [ sh:description "The version of the backend that was used to generate this cloning strategy" ; + [ sh:description "The version of the frontend 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:order 7 ; + sh:path opencloning_linkml:frontend_version ], + [ sh:datatype xsd:string ; + sh:description "A description of the cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:description ] ; sh:targetClass opencloning_linkml:CloningStrategy . opencloning_linkml:CollectionSource a sh:NodeShape ; @@ -348,15 +348,35 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:description "Represents a collection of possible sources in a template" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; + sh:description "The title of the category" ; + sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:image ], + sh:order 1 ; + sh:path opencloning_linkml:title ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + 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 7 ; + sh:path schema1:identifier ], [ sh:class opencloning_linkml:CollectionOption ; sh:description "The options available in this category." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path opencloning_linkml:options ], + [ sh:datatype xsd:string ; + sh:description "A description of the category" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:description ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -365,22 +385,10 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; 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 5 ; - sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 8 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; + 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 6 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path opencloning_linkml:image ], [ sh:datatype xsd:string ; sh:description "The identifier of the category of the part in the template" ; sh:maxCount 1 ; @@ -388,24 +396,16 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:category_id ], [ sh:datatype xsd:string ; - sh:description "A description of the category" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:description ], - [ sh:datatype xsd:string ; - sh:description "The title of the category" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:title ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ] ; + sh:order 6 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:CollectionSource . opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; @@ -424,17 +424,6 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 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:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -447,7 +436,18 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh: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:CreLoxRecombinationSource . opencloning_linkml:DatabaseSource a sh:NodeShape ; @@ -461,17 +461,6 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -484,127 +473,137 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; - 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:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ] ; sh:targetClass 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:description "The id of an entity in a database" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The id of the plasmid in the Euroscarf plasmid library" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^P\\d+$" ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The id of the plasmid in the Euroscarf plasmid library" ; + [ sh: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 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^P\\d+$" ], - [ 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: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:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path opencloning_linkml:repository_name ] ; sh:targetClass opencloning_linkml: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:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:in ( "LR" "BP" ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:reaction_type ], + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path schema1:identifier ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh: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:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 1 ; + sh:path opencloning_linkml:greedy ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:boolean ; - sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:greedy ], + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:in ( "LR" "BP" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:reaction_type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:GatewaySource . opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:property [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ], + sh:order 3 ; + sh:path opencloning_linkml:coordinates ], [ sh:datatype xsd:integer ; - sh:description "The gene id of the sequence" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:gene_id ], + sh:order 8 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The sequence accession (e.g. X60065.1)" ; sh:maxCount 1 ; @@ -613,23 +612,11 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:order 4 ; sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The accession of the assembly" ; + sh:description "The locus tag of the sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:assembly_accession ], + sh:order 1 ; + sh:path opencloning_linkml:locus_tag ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -642,65 +629,77 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:minCount 1 ; sh:order 5 ; sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:string ; - sh:description "The locus tag of the sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:locus_tag ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 9 ; sh:path schema1:object ], - [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:location ] ; + sh:order 6 ; + 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 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The gene id of the sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:gene_id ] ; sh:targetClass opencloning_linkml:GenomeCoordinatesSource . opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Gibson assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], + [ sh: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:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ] ; + sh:order 0 ; + sh:path opencloning_linkml:circular ] ; sh:targetClass opencloning_linkml:GibsonAssemblySource . opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; @@ -708,60 +707,58 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by homologous recombination" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; - sh:path schema1:object ] ; + sh: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: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:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + 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:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 2 ; sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, for now github repository" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^.*.gb$" ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -774,48 +771,63 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "The URL of the sequence file, for now github repository" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^.*.gb$" ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 7 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:repository_id ] ; sh:targetClass opencloning_linkml:IGEMSource . opencloning_linkml:InFusionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh: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:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -827,37 +839,30 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; 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:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ] ; + sh:path opencloning_linkml:circular ] ; sh:targetClass opencloning_linkml:InFusionSource . opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -865,12 +870,6 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -901,6 +900,12 @@ opencloning_linkml:LigationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh: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 ; @@ -918,33 +923,14 @@ opencloning_linkml:LigationSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml: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: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:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -956,33 +942,42 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; 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 4 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:ManuallyTypedSource . opencloning_linkml:NCBISequenceSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by an NCBI sequence accession" ; - sh:ignoredProperties ( opencloning_linkml:locus_tag opencloning_linkml:gene_id opencloning_linkml:assembly_accession rdf:type ) ; + sh:ignoredProperties ( opencloning_linkml:assembly_accession opencloning_linkml:gene_id opencloning_linkml:locus_tag rdf:type ) ; sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 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:order 7 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The sequence accession (e.g. X60065.1)" ; sh:maxCount 1 ; @@ -991,29 +986,33 @@ opencloning_linkml:NCBISequenceSource a sh:NodeShape ; sh:order 1 ; 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 7 ; + sh:order 5 ; sh:path schema1:identifier ], + [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:coordinates ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:location ] ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:NCBISequenceSource . opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; @@ -1026,12 +1025,6 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:overhang_crick_3prime ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1044,43 +1037,43 @@ opencloning_linkml:OligoHybridizationSource 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 "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:OligoHybridizationSource . opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Open DNA collections" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh: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: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 URL of a sequence file" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml: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 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Subpath of the sequence in the Open DNA collections repository" ; sh:maxCount 1 ; @@ -1089,41 +1082,64 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^[^\\/]+\\/[^\\/]+$" ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], + [ sh: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:description "The URL of a sequence file" ; 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:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ] ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:OpenDNACollectionsSource . opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by ligation of PCR products as part of overlap extension PCR. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh: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:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1136,24 +1152,7 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:OverlapExtensionPCRLigationSource . opencloning_linkml:PCRSource a sh:NodeShape ; @@ -1161,11 +1160,11 @@ opencloning_linkml:PCRSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by PCR" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether to add primer features to the PCR product" ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:add_primer_features ], + sh:order 1 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1178,12 +1177,6 @@ opencloning_linkml:PCRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:circular ], [ sh: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 ; @@ -1201,137 +1194,142 @@ opencloning_linkml:PCRSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether to add primer features to the PCR product" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:add_primer_features ] ; sh:targetClass opencloning_linkml:PCRSource . opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; 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:property [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sseqid ], + sh:order 4 ; + sh:path opencloning_linkml:percent_identity ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 8 ; sh:path opencloning_linkml:fragment ], - [ sh:datatype xsd:float ; + [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:percent_match_length ], - [ sh:datatype xsd:string ; + sh:order 3 ; + sh:path opencloning_linkml:strand ], + [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path opencloning_linkml:database ], - [ sh:datatype xsd:string ; + sh:order 2 ; + sh:path opencloning_linkml:end_location ], + [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 12 ; - sh:path opencloning_linkml:Description ], + sh:order 1 ; + sh:path opencloning_linkml:start_location ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 14 ; - sh:path opencloning_linkml:type ], + sh:order 0 ; + sh:path opencloning_linkml:sseqid ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 10 ; - sh:path opencloning_linkml:Feature ], + sh:order 9 ; + sh:path opencloning_linkml:database ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 13 ; sh:path opencloning_linkml:sequence ], - [ sh:datatype xsd:float ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:percent_identity ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path opencloning_linkml:Type ], + sh:order 10 ; + sh:path opencloning_linkml:Feature ], [ 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:integer ; + [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:strand ], - [ sh:datatype xsd:integer ; + sh:order 7 ; + sh:path opencloning_linkml:percent_match_length ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:end_location ], - [ sh:datatype xsd:integer ; + sh:order 12 ; + sh:path opencloning_linkml:Description ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:full_length_of_feature_in_db ], + sh:order 14 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path opencloning_linkml:Type ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:start_location ] ; + sh:order 5 ; + sh:path opencloning_linkml:full_length_of_feature_in_db ] ; sh:targetClass opencloning_linkml:PlannotateAnnotationReport . opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by polymerase extension" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd: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 0 ; - sh:path opencloning_linkml:type ], + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 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:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path schema1:identifier ], - [ sh:datatype xsd: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:path schema1:identifier ] ; sh:targetClass opencloning_linkml:PolymeraseExtensionSource . opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a repository id" ; - sh:ignoredProperties ( opencloning_linkml:location opencloning_linkml:addgene_sequence_type opencloning_linkml:locus_tag opencloning_linkml:gene_id rdf:type opencloning_linkml:sequence_file_url opencloning_linkml:assembly_accession ) ; + sh:ignoredProperties ( opencloning_linkml:locus_tag opencloning_linkml:gene_id opencloning_linkml:coordinates opencloning_linkml:assembly_accession rdf:type opencloning_linkml:sequence_file_url opencloning_linkml:addgene_sequence_type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 4 ; sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; @@ -1344,84 +1342,90 @@ opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "The id of the sequence in the repository" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], + sh:order 0 ; + sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ], + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; - sh:path opencloning_linkml:repository_name ] ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:RepositoryIdSource . opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by restriction and ligation" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:restriction_enzymes ], - [ sh:datatype xsd:integer ; + 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: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:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ] ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + 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:class opencloning_linkml:RestrictionSequenceCut ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path opencloning_linkml:left_edge ], + [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1432,13 +1436,6 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 1 ; sh:path opencloning_linkml:right_edge ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1450,24 +1447,38 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + 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 0 ; - sh:path opencloning_linkml:left_edge ] ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:RestrictionEnzymeDigestionSource . opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the in-silico transformation of a sequence into its reverse complement" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1484,19 +1495,7 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd: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:path schema1:identifier ] ; sh:targetClass opencloning_linkml:ReverseComplementSource . opencloning_linkml:SEVASource a sh:NodeShape ; @@ -1509,18 +1508,36 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; + [ sh: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 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 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 "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:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + [ sh:datatype xsd:string ; + sh:description "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 ; @@ -1534,50 +1551,30 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ] ; + sh:path 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:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "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 ; @@ -1587,43 +1584,33 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; [ sh:class opencloning_linkml:SequenceCut ; 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:order 0 ; + sh:path opencloning_linkml:left_edge ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path opencloning_linkml:left_edge ] ; + sh:order 1 ; + sh:path opencloning_linkml:right_edge ] ; 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:description "The type of file" ; - sh:in ( NCIT:C171177 ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 4 ; - sh:path opencloning_linkml:file_type ], - [ sh:datatype xsd:string ; + 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: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 bioschemas:DNA ; sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; @@ -1636,7 +1623,19 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:alignment ] ; + sh:path opencloning_linkml:alignment ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:description "The type of file" ; + sh:in ( NCIT:C171177 ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 4 ; + sh:path opencloning_linkml:file_type ] ; sh:targetClass opencloning_linkml:SequencingFile . opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; @@ -1644,12 +1643,6 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:description "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1660,6 +1653,12 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:minCount 1 ; sh:order 1 ; sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /." ; sh:maxCount 1 ; @@ -1668,37 +1667,31 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^[^\\/]+\\/[^\\/]+$" ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:SnapGenePlasmidSource . opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Can be used to indicate the intended primer design for this sequence in the template" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:primer_design ], - [ sh:datatype xsd:boolean ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; sh:description "Whether the sequence is circular or linear" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1716,132 +1709,142 @@ opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ 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:targetClass opencloning_linkml:TemplateSequence . opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:closed true ; sh:description "A sequence (may have features) defined by the content of a text file" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:string ; 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:order 3 ; + sh:path opencloning_linkml:file_content ], + [ sh:datatype xsd:integer ; + sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], + 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:string ; + [ 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:file_content ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:overhang_watson_3prime ], - [ sh:datatype xsd:integer ; - sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang_crick_3prime ] ; + sh:order 5 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:TextFileSequence . opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is uploaded as a file" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path schema1:identifier ], + sh:order 6 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The index of the sequence in the file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:index_in_file ], - [ sh:datatype xsd:string ; - sh:description "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: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 "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 7 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The name of the file" ; + 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 1 ; - sh:path opencloning_linkml:file_name ], + 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:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:coordinates ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "The name of the file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], + sh:order 1 ; + sh:path opencloning_linkml:file_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path schema1:identifier ], [ sh:description "The format of a sequence file" ; sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; - sh:path opencloning_linkml:sequence_file_format ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 8 ; - sh:path schema1:object ] ; + sh:path opencloning_linkml:sequence_file_format ] ; 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:class schema1:Role ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + 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 ; @@ -1861,6 +1864,13 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; 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 7 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The id of the gene in the WeKwikGene database" ; sh:maxCount 1 ; @@ -1868,24 +1878,13 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; - sh:pattern "^\\d+$" ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd: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:pattern "^\\d+$" ] ; 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:percent_identity opencloning_linkml:Type opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:length_of_found_feature opencloning_linkml:database opencloning_linkml:Description rdf:type opencloning_linkml:end_location opencloning_linkml:fragment opencloning_linkml:percent_match_length opencloning_linkml:Feature opencloning_linkml:sequence opencloning_linkml:sseqid opencloning_linkml:start_location opencloning_linkml:strand ) ; + sh:ignoredProperties ( opencloning_linkml:start_location opencloning_linkml:percent_identity opencloning_linkml:length_of_found_feature opencloning_linkml:fragment opencloning_linkml:strand opencloning_linkml:Feature opencloning_linkml:database opencloning_linkml:Description opencloning_linkml:Type opencloning_linkml:percent_match_length rdf:type opencloning_linkml:end_location opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:sequence opencloning_linkml:sseqid ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1897,21 +1896,8 @@ opencloning_linkml:AnnotationReport a sh:NodeShape ; opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a file associated with a sequence" ; - sh:ignoredProperties ( opencloning_linkml:alignment rdf:type ) ; - sh:property [ sh:description "The type of file" ; - sh:in ( NCIT:C171177 ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 3 ; - sh:path opencloning_linkml:file_type ], - [ sh:datatype xsd:string ; - sh:description "The name of the file" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:file_name ], - [ sh:class bioschemas:DNA ; + sh:ignoredProperties ( rdf:type opencloning_linkml:alignment ) ; + sh:property [ sh:class bioschemas:DNA ; sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1923,7 +1909,20 @@ opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:type ], + [ sh:description "The type of file" ; + sh:in ( NCIT:C171177 ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 3 ; + sh:path opencloning_linkml:file_type ], + [ sh:datatype xsd:string ; + sh:description "The name of the file" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:file_name ] ; sh:targetClass opencloning_linkml:AssociatedFile . opencloning_linkml:CollectionOption a sh:NodeShape ; @@ -1957,46 +1956,51 @@ opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; sh:description "Additional information about a collection option" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "The antibiotic resistance of the plasmid" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:resistance ], - [ sh:datatype xsd:string ; sh:description "The well position in the kit plate" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:well ], [ sh:datatype xsd:string ; - sh:description "A human-readable name for a thing" ; + sh:description "The antibiotic resistance of the plasmid" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:name ], + sh:order 3 ; + sh:path opencloning_linkml:resistance ], + [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; + sh:in ( "OligoPair" "AddgenePlasmid" ) ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "A description of the option" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:description ], - [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; - sh:in ( "OligoPair" "AddgenePlasmid" ) ; + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:type ] ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path schema1:name ] ; sh:targetClass opencloning_linkml:CollectionOptionInfo . opencloning_linkml:Primer a sh:NodeShape ; sh:closed true ; sh:description "An oligonucleotide or primer" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 2 ; + sh:path opencloning_linkml:sequence ; + sh:pattern "^[acgtACGT]+$" ], + [ 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:description "Designates the class" ; @@ -2005,17 +2009,12 @@ opencloning_linkml:Primer a sh:NodeShape ; sh:order 4 ; 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 1 ; + sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:sequence ; - sh:pattern "^[acgtACGT]+$" ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; @@ -2027,25 +2026,25 @@ opencloning_linkml:Primer a sh:NodeShape ; schema1:CreateAction a sh:NodeShape ; sh:closed false ; sh:description "Represents the source of a sequence" ; - sh:ignoredProperties ( opencloning_linkml:location opencloning_linkml:title opencloning_linkml:addgene_sequence_type opencloning_linkml:locus_tag opencloning_linkml:annotation_report opencloning_linkml:gene_id rdf:type opencloning_linkml:options opencloning_linkml:index_in_file opencloning_linkml:overhang_crick_3prime opencloning_linkml:category_id opencloning_linkml:repository_id opencloning_linkml:left_edge opencloning_linkml:reaction_type opencloning_linkml:greedy opencloning_linkml:image opencloning_linkml:sequence_file_url opencloning_linkml:annotation_tool_version opencloning_linkml:repository_name opencloning_linkml:restriction_enzymes opencloning_linkml:sequence_file_format opencloning_linkml:circularize opencloning_linkml:assembly_accession opencloning_linkml:add_primer_features opencloning_linkml:coordinates opencloning_linkml:circular opencloning_linkml:right_edge opencloning_linkml:description opencloning_linkml:file_name opencloning_linkml:annotation_tool ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:circularize opencloning_linkml:index_in_file opencloning_linkml:annotation_report opencloning_linkml:title opencloning_linkml:assembly_accession opencloning_linkml:reaction_type opencloning_linkml:right_edge opencloning_linkml:sequence_file_format opencloning_linkml:add_primer_features opencloning_linkml:gene_id opencloning_linkml:circular opencloning_linkml:repository_name rdf:type opencloning_linkml:options opencloning_linkml:category_id opencloning_linkml:greedy opencloning_linkml:locus_tag opencloning_linkml:restriction_enzymes opencloning_linkml:description opencloning_linkml:annotation_tool_version opencloning_linkml:sequence_file_url opencloning_linkml:image opencloning_linkml:annotation_tool opencloning_linkml:coordinates opencloning_linkml:left_edge opencloning_linkml:file_name opencloning_linkml:overhang_crick_3prime opencloning_linkml:repository_id opencloning_linkml:addgene_sequence_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 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:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -2071,19 +2070,19 @@ opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:cut_watson ], - [ 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:datatype xsd:string ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:overhang ], - [ sh:datatype xsd:string ; + sh:order 0 ; + sh:path opencloning_linkml:restriction_enzyme ], + [ sh:datatype xsd:integer ; + sh:description "The length of the overhang that is left after the cut. It can be negative, same meaning as in pydna's `dseq::ovhg` and biopython's `Bio.Restriction.RestrictionType.ovhg`." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:restriction_enzyme ] ; + sh:order 2 ; + sh:path opencloning_linkml:overhang ] ; sh:targetClass opencloning_linkml:RestrictionSequenceCut . opencloning_linkml:SequenceCut a sh:NodeShape ; @@ -2109,7 +2108,7 @@ opencloning_linkml:SequenceCut a sh:NodeShape ; bioschemas:DNA a sh:NodeShape ; sh:closed false ; sh:description "Represents a sequence" ; - sh:ignoredProperties ( opencloning_linkml:overhang_watson_3prime opencloning_linkml:primer_design opencloning_linkml:circular rdf:type opencloning_linkml:sequence_file_format opencloning_linkml:overhang_crick_3prime schema1:name opencloning_linkml:sequence opencloning_linkml:file_content ) ; + sh:ignoredProperties ( opencloning_linkml:overhang_crick_3prime schema1:name opencloning_linkml:primer_design opencloning_linkml:sequence_file_format opencloning_linkml:circular opencloning_linkml:overhang_watson_3prime rdf:type opencloning_linkml:file_content opencloning_linkml:sequence ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -2128,18 +2127,18 @@ bioschemas:DNA a sh:NodeShape ; schema1:Role a sh:NodeShape ; sh:closed true ; sh:description "Represents an input to a source" ; - sh:ignoredProperties ( opencloning_linkml:right_location rdf:type opencloning_linkml:reverse_complemented opencloning_linkml:left_location ) ; - sh:property [ sh:class bioschemas:DNA ; + sh:ignoredProperties ( opencloning_linkml:reverse_complemented opencloning_linkml:left_location rdf:type opencloning_linkml:right_location ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], + [ sh:class bioschemas:DNA ; sh:description "The input sequence" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; - sh:path opencloning_linkml:sequence ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:sequence ] ; sh:targetClass schema1:Role . diff --git a/project/shex/opencloning_linkml.shex b/project/shex/opencloning_linkml.shex index 432f45e..31a6300 100644 --- a/project/shex/opencloning_linkml.shex +++ b/project/shex/opencloning_linkml.shex @@ -225,7 +225,7 @@ linkml:Sparqlpath xsd:string @linkml:String ? ; @linkml:String ? ; @linkml:Integer ? ; - @ + @linkml:String ) ; rdf:type [ ] ) @@ -303,7 +303,7 @@ linkml:Sparqlpath xsd:string CLOSED { ( $ ( & ; rdf:type [ ] ? ; - @ ? ; + @ ? ; @linkml:String ) ; rdf:type [ ] diff --git a/project/sqlschema/opencloning_linkml.sql b/project/sqlschema/opencloning_linkml.sql index b854a6b..4009fe8 100644 --- a/project/sqlschema/opencloning_linkml.sql +++ b/project/sqlschema/opencloning_linkml.sql @@ -187,7 +187,7 @@ -- * Slot: database_id Description: The id of an entity in a database -- * Slot: id Description: A unique identifier for a thing -- # Class: "NCBISequenceSource" Description: "Represents the source of a sequence that is identified by an NCBI sequence accession" --- * Slot: location Description: If provided, represents the location of a subsequence within the sequence identified by the sequence accession. +-- * Slot: coordinates Description: If provided, represents the location of a subsequence within the sequence identified by the sequence accession. -- * Slot: repository_id Description: The sequence accession (e.g. X60065.1) -- * Slot: repository_name Description: -- * Slot: type Description: Designates the class @@ -198,7 +198,7 @@ -- * Slot: assembly_accession Description: The accession of the assembly -- * Slot: locus_tag Description: The locus tag of the sequence -- * Slot: gene_id Description: The gene id of the sequence --- * Slot: location Description: If provided, represents the location of a subsequence within the sequence identified by the sequence accession. +-- * Slot: coordinates Description: If provided, represents the location of a subsequence within the sequence identified by the sequence accession. -- * Slot: repository_id Description: The sequence accession (e.g. X60065.1) -- * Slot: repository_name Description: -- * Slot: type Description: Designates the class @@ -540,7 +540,7 @@ CREATE TABLE "OpenDNACollectionsSource" ( PRIMARY KEY (id) ); CREATE TABLE "NCBISequenceSource" ( - location TEXT, + coordinates TEXT, repository_id TEXT NOT NULL, repository_name VARCHAR(20) NOT NULL, type TEXT, @@ -553,7 +553,7 @@ CREATE TABLE "GenomeCoordinatesSource" ( assembly_accession TEXT, locus_tag TEXT, gene_id INTEGER, - location TEXT NOT NULL, + coordinates 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 a9ed6b2..6041297 100644 --- a/src/opencloning_linkml/datamodel/_models.py +++ b/src/opencloning_linkml/datamodel/_models.py @@ -980,7 +980,9 @@ class UploadedFileSource(Source): coordinates: Optional[str] = Field( default=None, description="""If provided, coordinates within the sequence of the file to extract a subsequence""", - json_schema_extra={"linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource"]}}, + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, ) type: Literal["UploadedFileSource"] = Field( default="UploadedFileSource", @@ -1958,10 +1960,12 @@ class NCBISequenceSource(RepositoryIdSource): } ) - location: Optional[str] = Field( + coordinates: Optional[str] = Field( default=None, description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", - json_schema_extra={"linkml_meta": {"alias": "location", "domain_of": ["NCBISequenceSource"]}}, + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, ) repository_id: str = Field( default=..., @@ -2047,10 +2051,12 @@ class GenomeCoordinatesSource(NCBISequenceSource): description="""The gene id of the sequence""", json_schema_extra={"linkml_meta": {"alias": "gene_id", "domain_of": ["GenomeCoordinatesSource"]}}, ) - location: str = Field( - default=..., + coordinates: Optional[str] = Field( + default=None, description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", - json_schema_extra={"linkml_meta": {"alias": "location", "domain_of": ["NCBISequenceSource"]}}, + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, ) repository_id: str = Field( default=..., diff --git a/src/opencloning_linkml/schema/opencloning_linkml.yaml b/src/opencloning_linkml/schema/opencloning_linkml.yaml index 435e572..766420a 100644 --- a/src/opencloning_linkml/schema/opencloning_linkml.yaml +++ b/src/opencloning_linkml/schema/opencloning_linkml.yaml @@ -429,7 +429,7 @@ classes: description: >- The sequence accession (e.g. X60065.1) attributes: - - location: + - coordinates: range: simple_sequence_location description: >- If provided, represents the location of a subsequence within the sequence identified by From c48495a9b246b0e9cabab015e817fff0ab015f6f Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Fri, 5 Dec 2025 16:10:15 +0000 Subject: [PATCH 06/12] adjust test to the use of coordinates instead of location --- .../migrations/model_archive/v0_4_9.py | 18 ++++++++++++------ .../transformations/v0_4_6_to_v0_4_9.py | 2 +- tests/test_migration.py | 4 ++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/opencloning_linkml/migrations/model_archive/v0_4_9.py b/src/opencloning_linkml/migrations/model_archive/v0_4_9.py index a9ed6b2..6041297 100644 --- a/src/opencloning_linkml/migrations/model_archive/v0_4_9.py +++ b/src/opencloning_linkml/migrations/model_archive/v0_4_9.py @@ -980,7 +980,9 @@ class UploadedFileSource(Source): coordinates: Optional[str] = Field( default=None, description="""If provided, coordinates within the sequence of the file to extract a subsequence""", - json_schema_extra={"linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource"]}}, + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, ) type: Literal["UploadedFileSource"] = Field( default="UploadedFileSource", @@ -1958,10 +1960,12 @@ class NCBISequenceSource(RepositoryIdSource): } ) - location: Optional[str] = Field( + coordinates: Optional[str] = Field( default=None, description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", - json_schema_extra={"linkml_meta": {"alias": "location", "domain_of": ["NCBISequenceSource"]}}, + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, ) repository_id: str = Field( default=..., @@ -2047,10 +2051,12 @@ class GenomeCoordinatesSource(NCBISequenceSource): description="""The gene id of the sequence""", json_schema_extra={"linkml_meta": {"alias": "gene_id", "domain_of": ["GenomeCoordinatesSource"]}}, ) - location: str = Field( - default=..., + coordinates: Optional[str] = Field( + default=None, description="""If provided, represents the location of a subsequence within the sequence identified by the sequence accession.""", - json_schema_extra={"linkml_meta": {"alias": "location", "domain_of": ["NCBISequenceSource"]}}, + json_schema_extra={ + "linkml_meta": {"alias": "coordinates", "domain_of": ["UploadedFileSource", "NCBISequenceSource"]} + }, ) repository_id: str = Field( default=..., diff --git a/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py index 05eb59e..d8f3839 100644 --- a/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py +++ b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py @@ -44,7 +44,7 @@ def migrate_genome_coordinates_source(source: dict) -> dict: excluded_fields = ["type", "strand", "start", "end", "sequence_accession"] extra_fields = {key: value for key, value in source.items() if key not in excluded_fields} return new_GenomeCoordinatesSource( - location=location, repository_name="genbank", repository_id=old_source.sequence_accession, **extra_fields + coordinates=location, repository_name="genbank", repository_id=old_source.sequence_accession, **extra_fields ).model_dump() diff --git a/tests/test_migration.py b/tests/test_migration.py index 9882eb9..436bd9a 100644 --- a/tests/test_migration.py +++ b/tests/test_migration.py @@ -161,7 +161,7 @@ def test_0_4_6_to_0_4_9_RepositoryIdSource(self): self.assertEqual(migrated_data["sources"][0]["type"], "NCBISequenceSource") self.assertEqual(migrated_data["sources"][0]["repository_id"], "X60065.1") self.assertEqual(migrated_data["sources"][0]["repository_name"], "genbank") - self.assertIsNone(migrated_data["sources"][0]["location"]) + self.assertIsNone(migrated_data["sources"][0]["coordinates"]) def test_0_4_6_to_0_4_9_GenomeCoordinatesSource(self): from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy @@ -182,7 +182,7 @@ def test_0_4_6_to_0_4_9_GenomeCoordinatesSource(self): gene_id = 123 if i == 0 else 456 locus_tag = "blah" if i == 0 else "blah2" self.assertEqual(migrated_data["sources"][i]["type"], "GenomeCoordinatesSource") - self.assertEqual(migrated_data["sources"][i]["location"], location) + self.assertEqual(migrated_data["sources"][i]["coordinates"], location) self.assertEqual(migrated_data["sources"][i]["repository_id"], "NC_003424.3") self.assertEqual(migrated_data["sources"][i]["repository_name"], "genbank") self.assertEqual(migrated_data["sources"][i]["assembly_accession"], "GCF_000002945.2") From 357d34453346ca5db7fa2c5895edc0fadd92f80a Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Fri, 5 Dec 2025 16:19:30 +0000 Subject: [PATCH 07/12] migrate examples --- src/data/examples/cloning_strategy_with_files.json | 2 +- .../examples/cloning_strategy_with_sequencing.json | 2 +- src/data/examples/collection_example.json | 2 +- src/data/examples/crispr_hdr.json | 11 +++++------ src/data/examples/extract_subsequence_from_file.json | 2 +- src/data/examples/gateway.json | 11 +++++------ src/data/examples/gateway_start.json | 11 +++++------ src/data/examples/gibson_assembly.json | 11 +++++------ src/data/examples/golden_gate.json | 11 +++++------ src/data/examples/homologous_recombination.json | 11 +++++------ src/data/examples/plannotate.json | 2 +- src/data/examples/restriction_ligation_assembly.json | 11 +++++------ src/data/examples/restriction_then_ligation.json | 11 +++++------ src/data/examples/templateless_PCR.json | 2 +- 14 files changed, 46 insertions(+), 54 deletions(-) diff --git a/src/data/examples/cloning_strategy_with_files.json b/src/data/examples/cloning_strategy_with_files.json index 771f878..e1bf14e 100644 --- a/src/data/examples/cloning_strategy_with_files.json +++ b/src/data/examples/cloning_strategy_with_files.json @@ -57,7 +57,7 @@ ] } ], - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/cloning_strategy_with_sequencing.json b/src/data/examples/cloning_strategy_with_sequencing.json index 926d5fc..3b9f72b 100644 --- a/src/data/examples/cloning_strategy_with_sequencing.json +++ b/src/data/examples/cloning_strategy_with_sequencing.json @@ -57,7 +57,7 @@ ] } ], - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/collection_example.json b/src/data/examples/collection_example.json index 5bccb96..2a48b99 100644 --- a/src/data/examples/collection_example.json +++ b/src/data/examples/collection_example.json @@ -120,7 +120,7 @@ "primers": [], "description": "A dummy example", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/crispr_hdr.json b/src/data/examples/crispr_hdr.json index ec7a697..f629bc7 100644 --- a/src/data/examples/crispr_hdr.json +++ b/src/data/examples/crispr_hdr.json @@ -40,13 +40,12 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "NC_003424.3", + "repository_name": "genbank", + "coordinates": "1877009..1881726", "assembly_accession": "GCF_000002945.1", - "sequence_accession": "NC_003424.3", "locus_tag": "SPAPB1A10.09", - "gene_id": 2543372, - "start": 1877009, - "end": 1881726, - "strand": 1 + "gene_id": 2543372 }, { "id": 2, @@ -150,7 +149,7 @@ ], "description": "Replacing a fragment in the ase1 ORF by a 3xHA tag, using CRISPR-HDR", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/extract_subsequence_from_file.json b/src/data/examples/extract_subsequence_from_file.json index aea8811..3cd61b4 100644 --- a/src/data/examples/extract_subsequence_from_file.json +++ b/src/data/examples/extract_subsequence_from_file.json @@ -26,7 +26,7 @@ "primers": [], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gateway.json b/src/data/examples/gateway.json index cc3f78c..0ca1fd3 100644 --- a/src/data/examples/gateway.json +++ b/src/data/examples/gateway.json @@ -56,13 +56,12 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "NC_000913.3", + "repository_name": "genbank", + "coordinates": "complement(362231..367305)", "assembly_accession": "GCF_000005845.2", - "sequence_accession": "NC_000913.3", "locus_tag": "b0344", - "gene_id": 945006, - "start": 362231, - "end": 367305, - "strand": -1 + "gene_id": 945006 }, { "id": 2, @@ -196,7 +195,7 @@ ], "description": "Cloning the lacZ gene from E. coli into an entry clone, then expression clone", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gateway_start.json b/src/data/examples/gateway_start.json index d1ea720..58fa48f 100644 --- a/src/data/examples/gateway_start.json +++ b/src/data/examples/gateway_start.json @@ -38,13 +38,12 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "repository_name": "genbank", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 2, @@ -105,7 +104,7 @@ ], "description": "Deletion of the ORF of ase1 by homologous recombination in S.pombe", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gibson_assembly.json b/src/data/examples/gibson_assembly.json index 0a530e0..0cc3528 100644 --- a/src/data/examples/gibson_assembly.json +++ b/src/data/examples/gibson_assembly.json @@ -59,13 +59,12 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "NC_003424.3", + "repository_name": "genbank", + "coordinates": "1877189..1881726", "assembly_accession": "GCF_000002945.2", - "sequence_accession": "NC_003424.3", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": 2543372, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": 2543372 }, { "id": 3, @@ -185,7 +184,7 @@ ], "description": "Cloning the ase1 gene from S. pombe's genome into pREP42-MCS+ expression vector using Gibson assembly.", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/golden_gate.json b/src/data/examples/golden_gate.json index 1afbcc4..d63cf22 100644 --- a/src/data/examples/golden_gate.json +++ b/src/data/examples/golden_gate.json @@ -184,13 +184,12 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "repository_name": "genbank", + "coordinates": "3437890..3443117", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAC3A11.14C", - "gene_id": null, - "start": 3437890, - "end": 3443117, - "strand": 1 + "gene_id": null }, { "id": 10, @@ -317,7 +316,7 @@ ], "description": "Cloning of CDS of S. pombe gene pkl1 with an N-term Venus tag using MoClo kit from John Dueber, see:\n\nhttps://www.addgene.org/kits/moclo-ytk/#kit-contents\n\nThe plasmids used are:\n\npYTK002 - ConLS\npYTK009 - pTDH3\npYTK038 - Venus 65145\npayload - CDS of pkl1 from S. pombe\npYTK051 - tENO1 65158\npYTK067 - ConR1 65174\npYTK074 - URA3 65181\npYTK081 - CEN6/ARS4 65188\npYTK083 - AmpR-ColE1 65190\n\n\n\n\n", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/homologous_recombination.json b/src/data/examples/homologous_recombination.json index a31388b..6298c75 100644 --- a/src/data/examples/homologous_recombination.json +++ b/src/data/examples/homologous_recombination.json @@ -82,13 +82,12 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "repository_name": "genbank", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 4, @@ -139,7 +138,7 @@ ], "description": "Deletion of the ORF of ase1 by homologous recombination in S.pombe", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/plannotate.json b/src/data/examples/plannotate.json index 10d9e10..ef7d070 100644 --- a/src/data/examples/plannotate.json +++ b/src/data/examples/plannotate.json @@ -320,7 +320,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/restriction_ligation_assembly.json b/src/data/examples/restriction_ligation_assembly.json index 0a6ed12..0ff380c 100644 --- a/src/data/examples/restriction_ligation_assembly.json +++ b/src/data/examples/restriction_ligation_assembly.json @@ -40,13 +40,12 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "repository_name": "genbank", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 2, @@ -136,7 +135,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/restriction_then_ligation.json b/src/data/examples/restriction_then_ligation.json index d2b2b80..42021da 100644 --- a/src/data/examples/restriction_then_ligation.json +++ b/src/data/examples/restriction_then_ligation.json @@ -56,13 +56,12 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "repository_name": "genbank", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 2, @@ -192,7 +191,7 @@ ], "description": "Cloning of CDS of S. pombe gene pkl1 with an N-term Venus tag using MoClo kit from John Dueber, see:\n\nhttps://www.addgene.org/kits/moclo-ytk/#kit-contents\n\nThe plasmids used are:\n\npYTK002 - ConLS\npYTK009 - pTDH3\npYTK038 - Venus 65145\npayload - CDS of pkl1 from S. pombe\npYTK051 - tENO1 65158\npYTK067 - ConR1 65174\npYTK074 - URA3 65181\npYTK081 - CEN6/ARS4 65188\npYTK083 - AmpR-ColE1 65190\n\n\n\n\n", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/templateless_PCR.json b/src/data/examples/templateless_PCR.json index 5bbffa6..2e2ca06 100644 --- a/src/data/examples/templateless_PCR.json +++ b/src/data/examples/templateless_PCR.json @@ -66,7 +66,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } From 75b4da253be0b9d62f17661c4ecf5fa1602cbf76 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Fri, 5 Dec 2025 23:19:22 +0000 Subject: [PATCH 08/12] add manually typed sequence as class --- project/excel/opencloning_linkml.xlsx | Bin 31740 -> 32266 bytes project/graphql/opencloning_linkml.graphql | 10 + .../jsonld/opencloning_linkml.context.jsonld | 13 +- project/jsonld/opencloning_linkml.jsonld | 114 +- .../jsonschema/opencloning_linkml.schema.json | 55 + project/owl/opencloning_linkml.owl.ttl | 967 +++++----- project/protobuf/opencloning_linkml.proto | 10 + project/python/opencloning_linkml.py | 86 +- project/shacl/opencloning_linkml.shacl.ttl | 1655 +++++++++-------- project/shex/opencloning_linkml.shex | 14 +- project/sqlschema/opencloning_linkml.sql | 16 + src/opencloning_linkml/datamodel/_models.py | 222 ++- src/opencloning_linkml/datamodel/models.py | 11 +- .../schema/opencloning_linkml.yaml | 26 + tests/test_validation.py | 47 + 15 files changed, 1949 insertions(+), 1297 deletions(-) create mode 100644 tests/test_validation.py diff --git a/project/excel/opencloning_linkml.xlsx b/project/excel/opencloning_linkml.xlsx index 4008a8d4209e17619252a1a4e37676009e29aa8d..23997661ec3bc6ae5296f50c5b3b591d18e6224c 100644 GIT binary patch delta 4463 zcmai1c_7r=7oYD~q8Vm}v5&3Z48qtFitH&%q!i<N}pC;2Dv9i!TqQg`)SGqSv<< zsgzP$>_s83dO}%CqSp(*@ArCSHVvIHAJ=k757O;!wyc<8tRu69$seHe zX_hP8mPh<_A+23!q)v6FWJ=(i+7pkQye+3aL<49f%(q%Q9C*Mn}aI6|}fYY%<6!qHYM0b=V^RDm2G9>sTDO zRKIDKdD5j!usBOjugidaetfKoROC%RFp<{pgZSuH21FvUC)|ubX_)mK4SzD*5c%-o zz=KHfjnIu*yIAP!v?RJBJ&+MU-mC_Z7Vv|x-xR@I@Jk~w@IqM1$ZnoOF=)EfV2YSD zXEig@-!E}%Pe6|*aYoEs-l0sUMkvwW!%oJJ#FHl8BS)|-_gBn)?HGD}c1C%y-81Dk zC79as^5vcWLzirfa1xyO>|Y&?-Upr!yJ*AbpnFKO? z+nIbR|5FtEde_QVnHPC)fvdBTp1r+<$*?+jX&~ zd(%@nu{zTl6PFov(le|lfxCXyIJ@_x?y13L#kF-MXSjN)RY`X4BAfa8eTUn9R~B&c zEF|6^mMi*U?6k;}kNC$&pBlLYhfhxiDM*?8>heQBuRn=bZ;oE*?J8Ly)oDW%JZ_aT zMH>hg^pfprlUbW^#r0P8fbEp8%F$iP9O^!)p`fjQs|>1s+Wkw2mYCemmoDxxKfAZa zsz)aW6;=kMH%j^<1qb*a2u}R5V&eY&JwfD8rb9Qrt{`k7M9(EHLjr~NVP%7Rgz4~4 zWC28gv>C|GWI8-Yp&(ggYan-1=O$w3z-&oo!4Xj?s)t$s@E{Dr;S8Q{t5J6y3%2J+A^4* zL_y@-+yM4Th5@Zc6lwB!EK-IV9p(h_BU{wO@WR+ZyS8kUOZ0N`fO|>s`SVu?U zq81T|!a59iE`$$;nbOEson-)X(`7)qNP_MrAT{eTkdp?7K=kMw(nCrN5`e^5$AI(^ zyLB-@YBi(?nWL%l@%oAjix(3v&z0 z#rg1t#d+?=g*mil(E)Uop%=U0V9bUeF}6+yWcO^az{YJR7pO1Vf1#km0g?R3Hj^j_ zB>ZMkp;t6YqR0ckb5uZfZJFQbOIHS@jU9=F!o_W4Ksv~oZ7|?8+>VveYx_nZo!@~a z?D39aAl11r&@f-SOalpJf<2=6U_O$_0#}SX7T+oN=J^8KIh-r3EA!)1|iI1+k;NBU_*u!0YGvRDVOD=D*}H@I7qoVY9T z9S`+0e5vVBvx8a6p7xt2M}B-b<+(bCz9Sbte5TT`pnf#XpM`ta*-#PFyg%%(bCX`> zkNaMiiL|@D-glwua;;>xU2Sq&5$P=do3YWnio&o0P7RIQn>83%Hc^h>*U;u2yuMSR zu;2QKQKen$quFGi{X*w7qj9dOa!y*z1dW1*d!13M<$hElu>ZCn-Men$=F6^Y#;reQ z9j|^VCGkwI+;rO2MDuL*D=|)@r?hQ+P8WAjrtB|n?$4?I75U^x3L`ATxXXrCw|mw! zM*mzCP=Ar*_h`USs98z4y081`SZY>_+hO|`a$}X!+=?p~PF5BsmTk9d^6A>`Cf#Q$ z*Xu~TVU_EoDKz$MPtc7Boo@YSkvk`~T$agr|DsWSwd7H0gD_>ck*crd~Kodu`HQ~*k`bnMDKXIjxnXekY zD=az4+eg!h9n_plc$ec5W04^w$z`8m8IOq`{QFSgWm}k*38gKH(Gjan#;8A-z*fAS7EL;V*DXx;&i>NXBek4(UXsQ%!!=Q9-eaN z`oW!20r~4sbB^CrE=zVELQ0iQVIw>ReIwn$1dB4a9g>}%6T&2jT472q%5?q?C5}Cwqxuom5FgN zF+_RP%K7gEv+IW|lb2USzDbIqYnK+2cPlk!99$)ue4y#UV(;$ z>lco*$Scby<-KN}Pvo*Cl*?bqd;RtN7i&SMvv>Uzb~trDxc#tUt?a_4}~`8se87I>$ntW z|ZrhBsKhb?l{SHxXus zveimray?F*%MVQ4bai&zZf)Tv_78P(MFe{9Y|Zc8O)4agxrk3TZ;uzF?4o8U zJt}S*6X8W};_o{yjSQ%&q`!S`x!ls)!P~)`*HYMWv%}-$()FfoxHNuVOLJvu5o+ei zy%r9ulS;Krb0!bplQVxL+CvN=+)^h76WY~@;e_OXFmzqT~M@lCoqH`WA<&OZm56RG0MK{U5`rzUCLz-wek7 zX*&92udA01mh!RT=j2VxD+sr_h`}TN6bzX|5fK8c7%r}fJp)UF`KozEUyh}mYlTo6 zahM%IR=@)6UnOy1H|qS^cg{zIF@L!vKH;V0aC!g@pFjq|@UlQKZ76~h0mvMM54L9! z0k?n&)Mq8UiT&qx7;8%P0UUAno0-e?Rj&={7I3DAI|0`0pE)}l10WWlOI5OAd!Ov4Y$ z10-%9u??a@>hOgiWvm!RAvAp14`5k17#Lv4M+QKg<`Im-Mg<_ni%6y_NW`DPA{Y;* z)1nR#l@NenJQPiU1TG@p+5o8v5dnKl7Z-4rK=*fn_uD;ItpY%C0LFP|FVp4*Z`0_i%7smfDj`V zbi}LyvUMJjkD$Tv5h@^2+}#1h0rW6z{Vq{Kc9@N*{=Y}`!|s04t#k;0q<&2Gzk4KDM}e6Yq3N9)-i22 zW+nP>rLKvhapb)~ml_hv_VWq(KB0-ORaV1kH_;DU96hsyuRn08*awH(73|{|qQS(* zr5Dflz3>;?I4IF~p)-b^qN!j53r{6_rAvQNMStUMT;^@mvgC)*MV87k#=eb)q7`KhMI}_)KUv;{ zU$@YPHqzC#rmhf`_AJ$P-}i_v-Orsr&U>Ekvz_xi=bY!6JztP7qlmbZgAhrMKp=<^ z-lSxUU*NwsnZHF*YN z1nOP&(0F-EL;_Dp)oLUt2TMjDaF(DU#^_V(u_*@IbL`a`j1dEhH_$*YRTwQ-bc0qz zX-s4Zs!RJ5Qiog_K!+xb-f|6tbg2pxS&BYVnGaXowU_}WBPr;Oh4PR#)?gwAsIP`2 zq{=m!z(<3Ovb5m-&~i=Z8Lb6c@~FHHWtv8L3zWajnP}}o+BbcMKt~?6&{CKtQES~r zM7XiNR1psaB7sl_QoU$kYYYV()}x^!2EtHO+K`Fpqeh0SAjLApS9R8SJKOiN%j-&V!V?JwsqlK}+ls5m7vN{&t)8rGRD!Rid6Ty4Eu5n-CLlKmbsex0}sy3juf2K;p3AWTxEZb0V)Ap*ey90^k7hevf9N!_absc#LGDP zT0B!i{KQa*AInyD{kv6>GVg{QD;)m3EZ>zRw2A&U)f0A12Y71)82kp10DyldCWMIPdhS zuk#OV(JyP|(+Q!A6J76BXIxD-x4HD__}e%3>$ShI$DP^l8lT?enLS~xZ0>%eqR_2+ z%6ZhwQvYntGXwtiNZOiX*~X_2dXQsapUjeFzUK!DG_F@W zl15~&87Gvf@RzonGOXhz zwc?EVt;k8TW9`_(cj6g>Z}@zMyu(?ruY90NU|>;G z>3eb@ReV8zgU7^Pw}tC;udF7WN_?S@Yw6+o=XlHYS2%CAE1SPon=ad*PD=7K@AajWOp;zqX1On_wp_rN zl)E$O)@Fa&zA{KC{cPN?s#ZGvyW~taHpSUCp&x3!c$HF=7<=Usg9*W;4y z`8g}~US`)gwZ1C#I@fb#*htg)Q)8KVkjpP!jNvY2^F>igf%_M=Oo%iBs(u_ zOjOQr+<8allehIybMCEP?#iBP1?X4zUb9UKSJgYKtnc=;+dr-u82frL(IlAvc~*r> z_j=!vrdEkPE=no{0u5^b;zLuuB6siCDkyxh64Xfwe^XxlM$ISJ7{wodvQ z+O*{l@`~&d?E>}{5A6=4RFR)jDK+FFD&;cyEtPVGJWi$5k`V<;Jy}$Na-A%#K)Fd) zQlK=*tGIs~J`M>TsgJPXH{@dDe-6tVGV3G04@oBWe%$Vs2><^W9z<;7cF!3KC2uOx zxZ%lZB$b%iY*^ZwaIqxRtKpU8 zmsSqx9bQRD1cD-#?CD=hs+1U5VowDV;Zjhr{}+W2KTNP2E7-FIjU<4xGZk2Jp`Sc1 zo!Bgid6oz1Txs0%V+>g>1(7>kX=qHuk~!v$8Qc4VvHQ}vpsXR@XwKPna0DIk1y&JS z(8Nqvgw>|m>zR;)z6v6ye9d%8m@lR2?P1@P)EiVxkP4nq$zUi#9ABzMB%Nrd2+@U+ zaPj*S>BMz3h_Gm6$vI29i^-2DLvGEKJS&<`T&9X6f+%RfGm1`(R|89;v~UN-81+U2 zDqvmJTyr>gIRoP=gU%?pAl%#mEhtZqhW2ozeE~%Lzaz9oFtfD_$)GeEYT~xMb#PR6 z$-e{>V zP}VgTYG1$*nkhsMPa)FrbYiU;j>sDQ%OcI<=)@oksIVXon!puQEaAcA&LGGQP!y+) zhZkpuEQjpBX4pg-8;ID%&zPvOg-FJC#McfYMRsJ+9uEV!IDt+Sw#QIqFh4;Ywq57^ zIN}4?v0X<3#tFvX93mYcJ7LCqiX*gB=lDZ%S79ef%Ne^W%D^-cdce>xInW$V3 zP2?xR=-_K=^Mc5eDa3?FN4P+W2e+8YqZ2pz04tv#Of~Z8=D~ijT0})Bga$_am{07l z%*q#g>ae><#qOfmKkp(k=nvGBmEd8V={Thbgn6@sS^|J)vI-QMTcoDtQjq(b!RcW7 hqS-ff?u$Dujy(g& . @@ -91,31 +91,31 @@ opencloning_linkml:CollectionOption a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOption" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; - owl:onProperty opencloning_linkml:info ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:source ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:source ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], + owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; + owl:onProperty opencloning_linkml:info ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:source ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:Source ; + owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ] ; skos:definition "Represents an option in a collection" ; skos:inScheme . @@ -125,49 +125,49 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, rdfs:label "CollectionOptionInfo" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:resistance ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:CollectionOptionType ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:well ], + owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:resistance ], + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:well ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionType ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:name ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:well ] ; + owl:onProperty opencloning_linkml:resistance ] ; skos:definition "Additional information about a collection option" ; skos:inScheme . @@ -179,13 +179,7 @@ opencloning_linkml:AddgeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AddgeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - 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:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; owl:minCardinality 0 ; @@ -197,7 +191,13 @@ opencloning_linkml:AddgeneIdSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; + 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:maxCardinality 1 ; 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" ; @@ -218,25 +218,25 @@ opencloning_linkml:AnnotationSource a owl:Class, rdfs:label "AnnotationSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:annotation_tool_version ], + owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:annotation_tool_version ], - [ 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 ], + owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationReport ; - owl:onProperty opencloning_linkml:annotation_report ], + owl:allValuesFrom linkml:String ; + 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:allValuesFrom opencloning_linkml:AnnotationReport ; + owl:onProperty opencloning_linkml:annotation_report ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:annotation_report ], @@ -250,30 +250,30 @@ opencloning_linkml:AssemblyFragment a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:reverse_complemented ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:left_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:reverse_complemented ], + owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:right_location ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:left_location ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:reverse_complemented ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:reverse_complemented ], opencloning_linkml:SourceInput ; skos:definition "Represents a fragment in an assembly" ; skos:inScheme . @@ -282,9 +282,6 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, linkml:ClassDefinition ; rdfs:label "BenchlingUrlSource" ; 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 ; @@ -292,6 +289,9 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, 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:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a Benchling URL" ; skos:inScheme . @@ -330,40 +330,40 @@ opencloning_linkml:CollectionSource a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:category_id ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:title ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:image ], + 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:minCardinality 0 ; - owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:title ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOption ; - owl:onProperty opencloning_linkml:options ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:image ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:CollectionOption ; owl:onProperty opencloning_linkml:options ], opencloning_linkml:Source ; skos:definition "Represents a collection of possible sources in a template" ; @@ -380,14 +380,14 @@ opencloning_linkml:DatabaseSource a owl:Class, linkml:ClassDefinition ; rdfs:label "DatabaseSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a database id" ; skos:inScheme . @@ -396,7 +396,7 @@ opencloning_linkml:EuroscarfSource a owl:Class, linkml:ClassDefinition ; rdfs:label "EuroscarfSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -404,7 +404,7 @@ opencloning_linkml:EuroscarfSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^P\\d+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Euroscarf plasmid library" ; @@ -424,23 +424,23 @@ opencloning_linkml:GatewaySource a owl:Class, linkml:ClassDefinition ; rdfs:label "GatewaySource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:greedy ], + [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:GatewayReactionType ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:reaction_type ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:greedy ], + 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 . @@ -450,24 +450,27 @@ opencloning_linkml:GenomeCoordinatesSource a owl:Class, rdfs:label "GenomeCoordinatesSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:locus_tag ], + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:location ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:location ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:gene_id ], + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:location ], + owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; @@ -476,14 +479,11 @@ opencloning_linkml:GenomeCoordinatesSource a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:locus_tag ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:onProperty opencloning_linkml:gene_id ], opencloning_linkml:NCBISequenceSource ; skos:definition "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; skos:inScheme . @@ -499,13 +499,13 @@ opencloning_linkml:IGEMSource a owl:Class, linkml:ClassDefinition ; rdfs:label "IGEMSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -517,8 +517,8 @@ opencloning_linkml:IGEMSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:repository_id ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from an iGEM collection" ; skos:inScheme . @@ -544,6 +544,52 @@ opencloning_linkml:LigationSource a owl:Class, skos:definition "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ; skos:inScheme . +opencloning_linkml:ManuallyTypedSequence a owl:Class, + linkml:ClassDefinition ; + rdfs:label "ManuallyTypedSequence" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:circular ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], + [ 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:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:circular ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], + opencloning_linkml:Sequence ; + skos:definition "Represents a sequence that is manually typed by the user" ; + skos:inScheme . + opencloning_linkml:ManuallyTypedSource a owl:Class, linkml:ClassDefinition ; rdfs:label "ManuallyTypedSource" ; @@ -555,13 +601,13 @@ opencloning_linkml:NamedThing a owl:Class, linkml:ClassDefinition ; rdfs:label "NamedThing" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ] ; skos:exactMatch schema1:Thing ; skos:inScheme . @@ -587,7 +633,10 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, rdfs:label "OpenDNACollectionsSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -599,15 +648,12 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; 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:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Open DNA collections" ; skos:inScheme . @@ -623,13 +669,13 @@ opencloning_linkml:PCRSource a owl:Class, linkml:ClassDefinition ; rdfs:label "PCRSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:add_primer_features ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by PCR" ; @@ -640,130 +686,130 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, rdfs:label "PlannotateAnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:strand ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Description ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end_location ], + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:percent_identity ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:Description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_match_length ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:start_location ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Feature ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:fragment ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:fragment ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sseqid ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:sseqid ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:length_of_found_feature ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:end_location ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:start_location ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:fragment ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:fragment ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sseqid ], + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:database ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Feature ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:end_location ], opencloning_linkml:AnnotationReport ; skos:definition "Represents a report of an annotation step using Plannotate" ; skos:inScheme . @@ -837,23 +883,23 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionEnzymeDigestionSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:left_edge ], + [ 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:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; - owl:onProperty opencloning_linkml:right_edge ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:left_edge ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_edge ], + owl:onProperty opencloning_linkml:right_edge ], opencloning_linkml:SequenceCutSource ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes." ; skos:inScheme . @@ -862,10 +908,10 @@ opencloning_linkml:RestrictionSequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionSequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -887,16 +933,19 @@ opencloning_linkml:SEVASource a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 0 ; @@ -904,9 +953,6 @@ opencloning_linkml:SEVASource a owl:Class, [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a SEVA id" ; skos:inScheme . @@ -935,10 +981,10 @@ opencloning_linkml:SequencingFile a owl:Class, linkml:ClassDefinition ; rdfs:label "SequencingFile" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:alignment ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:alignment ], opencloning_linkml:AssociatedFile ; skos:definition "Represents a sequencing file and its alignment to a sequence" ; @@ -948,15 +994,15 @@ opencloning_linkml:SnapGenePlasmidSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SnapGenePlasmidSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; @@ -969,19 +1015,19 @@ opencloning_linkml:TemplateSequence a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:circular ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primer_design ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; 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" ; @@ -991,41 +1037,41 @@ opencloning_linkml:TextFileSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TextFileSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_content ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_content ], [ 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 ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_content ], + 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:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_content ], opencloning_linkml:Sequence ; skos:definition "A sequence (may have features) defined by the content of a text file" ; skos:inScheme . @@ -1034,50 +1080,50 @@ opencloning_linkml:UploadedFileSource a owl:Class, linkml:ClassDefinition ; rdfs:label "UploadedFileSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:coordinates ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circularize ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:coordinates ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:circularize ], + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:coordinates ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:coordinates ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], + owl:onProperty opencloning_linkml:index_in_file ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is uploaded as a file" ; skos:inScheme . @@ -1086,28 +1132,28 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "WekWikGeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - 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:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a WeKwikGene id" ; skos:inScheme . @@ -1201,23 +1247,23 @@ opencloning_linkml:NCBISequenceSource a owl:Class, linkml:ClassDefinition ; rdfs:label "NCBISequenceSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:simple_sequence_location ; - owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:allValuesFrom opencloning_linkml:simple_sequence_location ; + owl:onProperty opencloning_linkml:coordinates ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by an NCBI sequence accession" ; skos:inScheme . @@ -1226,20 +1272,26 @@ opencloning_linkml:Primer a owl:Class, linkml:ClassDefinition ; rdfs:label "Primer" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database_id ], + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -1249,12 +1301,6 @@ opencloning_linkml:Primer a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:Sequence ; skos:definition "An oligonucleotide or primer" ; skos:inScheme . @@ -1268,18 +1314,18 @@ opencloning_linkml:SequenceCut a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:cut_watson ], + owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:overhang ] ; + owl:onProperty opencloning_linkml:cut_watson ] ; skos:definition "Represents a cut in a DNA sequence" ; skos:inScheme . @@ -1287,11 +1333,11 @@ opencloning_linkml:SequenceCutSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCutSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceCut ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:right_edge ], + owl:allValuesFrom opencloning_linkml:SequenceCut ; + owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], @@ -1302,8 +1348,8 @@ opencloning_linkml:SequenceCutSource a owl:Class, owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:left_edge ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:right_edge ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; skos:inScheme . @@ -1455,13 +1501,6 @@ opencloning_linkml:overhang a owl:ObjectProperty, skos:definition "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`." ; skos:inScheme . -opencloning_linkml:overhang_watson_3prime a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "overhang_watson_3prime" ; - rdfs:range linkml:Integer ; - skos:definition "The equivalent of `overhang_crick_3prime` but for the watson strand" ; - skos:inScheme . - opencloning_linkml:percent_identity a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "percent_identity" ; @@ -1584,41 +1623,41 @@ opencloning_linkml:AssociatedFile a owl:Class, linkml:ClassDefinition ; rdfs:label "AssociatedFile" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_type ], + [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:file_type ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_type ], + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:AssociatedFileType ; + owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ], + owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFileType ; - owl:onProperty opencloning_linkml:file_type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ] ; + owl:allValuesFrom opencloning_linkml:Sequence ; + owl:onProperty opencloning_linkml:sequence_id ] ; skos:definition "Represents a file associated with a sequence" ; skos:inScheme . @@ -1632,20 +1671,20 @@ opencloning_linkml:SourceInput a owl:Class, linkml:ClassDefinition ; rdfs:label "SourceInput" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence ] ; @@ -1671,9 +1710,6 @@ opencloning_linkml:GatewayReactionType a owl:Class, linkml:permissible_values , . -opencloning_linkml:circular a owl:ObjectProperty, - linkml:SlotDefinition . - opencloning_linkml:coordinates a owl:ObjectProperty, linkml:SlotDefinition . @@ -1690,11 +1726,11 @@ opencloning_linkml:id a owl:ObjectProperty, opencloning_linkml:left_edge a owl:ObjectProperty, linkml:SlotDefinition . -opencloning_linkml:overhang_crick_3prime a owl:ObjectProperty, +opencloning_linkml:overhang_watson_3prime a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "overhang_crick_3prime" ; + rdfs:label "overhang_watson_3prime" ; rdfs:range linkml:Integer ; - skos:definition "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" ; + skos:definition "The equivalent of `overhang_crick_3prime` but for the watson strand" ; skos:inScheme . opencloning_linkml:right_edge a owl:ObjectProperty, @@ -1711,19 +1747,19 @@ 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:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; @@ -1733,6 +1769,9 @@ opencloning_linkml:Sequence a owl:Class, skos:exactMatch bioschemas:DNA ; skos:inScheme . +opencloning_linkml:circular a owl:ObjectProperty, + linkml:SlotDefinition . + opencloning_linkml:database_id a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "database_id" ; @@ -1750,8 +1789,12 @@ opencloning_linkml:name a owl:ObjectProperty, skos:definition "A human-readable name for a thing" ; skos:inScheme . -opencloning_linkml:sequence a owl:ObjectProperty, - linkml:SlotDefinition . +opencloning_linkml:overhang_crick_3prime a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "overhang_crick_3prime" ; + rdfs:range linkml:Integer ; + skos:definition "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" ; + skos:inScheme . opencloning_linkml:RepositoryIdSource a owl:Class, linkml:ClassDefinition ; @@ -1760,11 +1803,8 @@ opencloning_linkml:RepositoryIdSource a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RepositoryName ; - owl:onProperty opencloning_linkml:repository_name ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_name ], @@ -1772,8 +1812,11 @@ opencloning_linkml:RepositoryIdSource a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:repository_id ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_name ], + [ 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" ; skos:inScheme . @@ -1793,51 +1836,54 @@ 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" ; skos:inScheme . +opencloning_linkml:sequence a owl:ObjectProperty, + linkml:SlotDefinition . + opencloning_linkml:Source a owl:Class, linkml:ClassDefinition ; rdfs:label "Source" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:input ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:output_name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SourceInput ; - owl:onProperty opencloning_linkml:input ], + owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:output_name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database_id ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database_id ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:output_name ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:SourceInput ; + owl:onProperty opencloning_linkml:input ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:input ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], opencloning_linkml:NamedThing ; skos:definition "Represents the source of a sequence" ; skos:exactMatch schema1:CreateAction ; @@ -1889,89 +1935,94 @@ opencloning_linkml:type a owl:ObjectProperty, skos:definition "A LinkML data model for OpenCloning" . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InFusionSource ; + rdfs:subClassOf opencloning_linkml:DatabaseSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InFusionSource . + owl:someValuesFrom opencloning_linkml:DatabaseSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; + rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . + owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblySource ; + rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblySource . + owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . + owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; + rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . + owl:someValuesFrom opencloning_linkml:AddgeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TemplateSequence ; + rdfs:subClassOf opencloning_linkml:LigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TemplateSequence . + owl:someValuesFrom opencloning_linkml:LigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblyFragment ; + rdfs:subClassOf opencloning_linkml:CRISPRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblyFragment . + owl:someValuesFrom opencloning_linkml:CRISPRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . + owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequenceCutSource ; + rdfs:subClassOf opencloning_linkml:CollectionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequenceCutSource . + owl:someValuesFrom opencloning_linkml:CollectionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; + rdfs:subClassOf opencloning_linkml:Source ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . + owl:someValuesFrom opencloning_linkml:Source . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; + rdfs:subClassOf opencloning_linkml:UploadedFileSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . + owl:someValuesFrom opencloning_linkml:UploadedFileSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; + rdfs:subClassOf opencloning_linkml:InFusionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AddgeneIdSource . + owl:someValuesFrom opencloning_linkml:InFusionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; + rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . + owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:UploadedFileSource ; + rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:UploadedFileSource . + owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; + rdfs:subClassOf opencloning_linkml:TextFileSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . + owl:someValuesFrom opencloning_linkml:TextFileSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationSource ; + rdfs:subClassOf opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationSource . + owl:someValuesFrom opencloning_linkml:Primer . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationReport ; + rdfs:subClassOf opencloning_linkml:SequencingFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationReport . + owl:someValuesFrom opencloning_linkml:SequencingFile . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; @@ -1979,64 +2030,64 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequencingFile ; + rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequencingFile . + owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:DatabaseSource ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:DatabaseSource . + owl:someValuesFrom opencloning_linkml:ManuallyTypedSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SourceInput ; + rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SourceInput . + owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CollectionSource ; + rdfs:subClassOf opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CollectionSource . + owl:someValuesFrom opencloning_linkml:SourceInput . [] 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:Source ; + rdfs:subClassOf opencloning_linkml:IGEMSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Source . + owl:someValuesFrom opencloning_linkml:IGEMSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; + rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . + owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:NCBISequenceSource ; + rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:NCBISequenceSource . + owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CRISPRSource ; + rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CRISPRSource . + owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GatewaySource ; + rdfs:subClassOf opencloning_linkml:SequenceCutSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GatewaySource . + owl:someValuesFrom opencloning_linkml:SequenceCutSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:EuroscarfSource ; + rdfs:subClassOf opencloning_linkml:AssemblyFragment ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:EuroscarfSource . + owl:someValuesFrom opencloning_linkml:AssemblyFragment . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; + rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . + owl:someValuesFrom opencloning_linkml:RepositoryIdSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:Sequence ; @@ -2044,66 +2095,66 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:Sequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssociatedFile ; + rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssociatedFile . + owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; + rdfs:subClassOf opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . + owl:someValuesFrom opencloning_linkml:AnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SEVASource ; + rdfs:subClassOf opencloning_linkml:PCRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SEVASource . + owl:someValuesFrom opencloning_linkml:PCRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; + rdfs:subClassOf opencloning_linkml:SEVASource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . + owl:someValuesFrom opencloning_linkml:SEVASource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Primer ; + rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Primer . + owl:someValuesFrom opencloning_linkml:ReverseComplementSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; + rdfs:subClassOf opencloning_linkml:AnnotationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . + owl:someValuesFrom opencloning_linkml:AnnotationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:IGEMSource ; + rdfs:subClassOf opencloning_linkml:GatewaySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:IGEMSource . + owl:someValuesFrom opencloning_linkml:GatewaySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; + rdfs:subClassOf opencloning_linkml:AssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . + owl:someValuesFrom opencloning_linkml:AssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; + rdfs:subClassOf opencloning_linkml:TemplateSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . + owl:someValuesFrom opencloning_linkml:TemplateSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PCRSource ; + rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PCRSource . + owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TextFileSequence ; + rdfs:subClassOf opencloning_linkml:EuroscarfSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TextFileSequence . + owl:someValuesFrom opencloning_linkml:EuroscarfSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:LigationSource ; + rdfs:subClassOf opencloning_linkml:NCBISequenceSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:LigationSource . + owl:someValuesFrom opencloning_linkml:NCBISequenceSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; + rdfs:subClassOf opencloning_linkml:AssociatedFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RepositoryIdSource . + owl:someValuesFrom opencloning_linkml:AssociatedFile . diff --git a/project/protobuf/opencloning_linkml.proto b/project/protobuf/opencloning_linkml.proto index 396a3f9..cdbf6b7 100644 --- a/project/protobuf/opencloning_linkml.proto +++ b/project/protobuf/opencloning_linkml.proto @@ -241,6 +241,16 @@ message LigationSource repeated sourceInput input = 0 boolean circular = 0 } +// Represents a sequence that is manually typed by the user +message ManuallyTypedSequence + { + integer id = 0 + string type = 0 + integer overhangCrick3prime = 0 + integer overhangWatson3prime = 0 + string sequence = 0 + boolean circular = 0 + } // Represents the source of a sequence that is manually typed by the user message ManuallyTypedSource { diff --git a/project/python/opencloning_linkml.py b/project/python/opencloning_linkml.py index a2e6aac..002619f 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-12-05T16:07:12 +# Generation date: 2025-12-05T23:17:44 # Schema: OpenCloning_LinkML # # id: https://opencloning.github.io/OpenCloning_LinkML @@ -89,6 +89,10 @@ class TextFileSequenceId(SequenceId): pass +class ManuallyTypedSequenceId(SequenceId): + pass + + class PrimerId(SequenceId): pass @@ -369,6 +373,49 @@ def __post_init__(self, *_: str, **kwargs: Any): self.type = str(self.class_name) +@dataclass(repr=False) +class ManuallyTypedSequence(Sequence): + """ + Represents a sequence that is manually typed by the user + """ + + _inherited_slots: ClassVar[list[str]] = [] + + class_class_uri: ClassVar[URIRef] = OPENCLONING_LINKML["ManuallyTypedSequence"] + class_class_curie: ClassVar[str] = "opencloning_linkml:ManuallyTypedSequence" + class_name: ClassVar[str] = "ManuallyTypedSequence" + class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.ManuallyTypedSequence + + id: Union[int, ManuallyTypedSequenceId] = None + sequence: str = None + overhang_crick_3prime: Optional[int] = 0 + overhang_watson_3prime: Optional[int] = 0 + circular: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: str, **kwargs: Any): + if self._is_empty(self.id): + self.MissingRequiredField("id") + if not isinstance(self.id, ManuallyTypedSequenceId): + self.id = ManuallyTypedSequenceId(self.id) + + if self._is_empty(self.sequence): + self.MissingRequiredField("sequence") + if not isinstance(self.sequence, str): + self.sequence = str(self.sequence) + + if self.overhang_crick_3prime is not None and not isinstance(self.overhang_crick_3prime, int): + self.overhang_crick_3prime = int(self.overhang_crick_3prime) + + if self.overhang_watson_3prime is not None and not isinstance(self.overhang_watson_3prime, int): + self.overhang_watson_3prime = int(self.overhang_watson_3prime) + + if self.circular is not None and not isinstance(self.circular, Bool): + self.circular = Bool(self.circular) + + super().__post_init__(**kwargs) + self.type = str(self.class_name) + + @dataclass(repr=False) class Primer(Sequence): """ @@ -2226,6 +2273,25 @@ class slots: range=Optional[str], ) +slots.manuallyTypedSequence__sequence = Slot( + uri=OPENCLONING_LINKML.sequence, + name="manuallyTypedSequence__sequence", + curie=OPENCLONING_LINKML.curie("sequence"), + model_uri=OPENCLONING_LINKML.manuallyTypedSequence__sequence, + domain=None, + range=str, + pattern=re.compile(r"^[acgtACGT]+$"), +) + +slots.manuallyTypedSequence__circular = Slot( + uri=OPENCLONING_LINKML.circular, + name="manuallyTypedSequence__circular", + curie=OPENCLONING_LINKML.curie("circular"), + model_uri=OPENCLONING_LINKML.manuallyTypedSequence__circular, + domain=None, + range=Optional[Union[bool, Bool]], +) + slots.primer__sequence = Slot( uri=OPENCLONING_LINKML.sequence, name="primer__sequence", @@ -2857,6 +2923,24 @@ class slots: range=Optional[int], ) +slots.ManuallyTypedSequence_overhang_crick_3prime = Slot( + uri=OPENCLONING_LINKML.overhang_crick_3prime, + name="ManuallyTypedSequence_overhang_crick_3prime", + curie=OPENCLONING_LINKML.curie("overhang_crick_3prime"), + model_uri=OPENCLONING_LINKML.ManuallyTypedSequence_overhang_crick_3prime, + domain=ManuallyTypedSequence, + range=Optional[int], +) + +slots.ManuallyTypedSequence_overhang_watson_3prime = Slot( + uri=OPENCLONING_LINKML.overhang_watson_3prime, + name="ManuallyTypedSequence_overhang_watson_3prime", + curie=OPENCLONING_LINKML.curie("overhang_watson_3prime"), + model_uri=OPENCLONING_LINKML.ManuallyTypedSequence_overhang_watson_3prime, + domain=ManuallyTypedSequence, + range=Optional[int], +) + slots.RestrictionSequenceCut_restriction_enzyme = Slot( uri=OPENCLONING_LINKML.restriction_enzyme, name="RestrictionSequenceCut_restriction_enzyme", diff --git a/project/shacl/opencloning_linkml.shacl.ttl b/project/shacl/opencloning_linkml.shacl.ttl index 3bc5773..4b526ef 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:circularize opencloning_linkml:index_in_file opencloning_linkml:annotation_report opencloning_linkml:title opencloning_linkml:assembly_accession schema1:object opencloning_linkml:reaction_type opencloning_linkml:right_edge opencloning_linkml:sequence_file_format schema1:name opencloning_linkml:type opencloning_linkml:add_primer_features opencloning_linkml:gene_id opencloning_linkml:circular opencloning_linkml:repository_name rdf:type opencloning_linkml:options opencloning_linkml:output_name opencloning_linkml:category_id opencloning_linkml:greedy opencloning_linkml:locus_tag opencloning_linkml:restriction_enzymes opencloning_linkml:description opencloning_linkml:annotation_tool_version opencloning_linkml:file_content opencloning_linkml:primer_design opencloning_linkml:sequence_file_url opencloning_linkml:image opencloning_linkml:annotation_tool opencloning_linkml:coordinates opencloning_linkml:left_edge opencloning_linkml:overhang_watson_3prime opencloning_linkml:file_name opencloning_linkml:overhang_crick_3prime opencloning_linkml:sequence opencloning_linkml:repository_id opencloning_linkml:addgene_sequence_type ) ; + sh:ignoredProperties ( opencloning_linkml:repository_id opencloning_linkml:assembly_accession opencloning_linkml:sequence opencloning_linkml:description schema1:object opencloning_linkml:file_content opencloning_linkml:sequence_file_url opencloning_linkml:repository_name opencloning_linkml:circularize opencloning_linkml:primer_design opencloning_linkml:greedy opencloning_linkml:output_name opencloning_linkml:right_edge opencloning_linkml:left_edge opencloning_linkml:gene_id opencloning_linkml:annotation_report opencloning_linkml:annotation_tool opencloning_linkml:locus_tag opencloning_linkml:type opencloning_linkml:options opencloning_linkml:image opencloning_linkml:reaction_type opencloning_linkml:overhang_watson_3prime opencloning_linkml:add_primer_features opencloning_linkml:sequence_file_format opencloning_linkml:restriction_enzymes opencloning_linkml:title opencloning_linkml:file_name opencloning_linkml:annotation_tool_version opencloning_linkml:index_in_file rdf:type opencloning_linkml:coordinates opencloning_linkml:overhang_crick_3prime schema1:name opencloning_linkml:category_id opencloning_linkml:circular opencloning_linkml:addgene_sequence_type ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -21,37 +21,17 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by an Addgene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh: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 "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 8 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:repository_id ], - [ sh: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:maxCount 1 ; @@ -65,65 +45,85 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; 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 6 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 7 ; sh:path schema1:object ], - [ sh:in ( "depositor-full" "addgene-full" ) ; + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:addgene_sequence_type ] ; + sh:minCount 1 ; + sh:order 3 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The id of the sequence in the repository" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:repository_id ] ; sh:targetClass opencloning_linkml:AddgeneIdSource . opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a computational step in which sequence features are annotated in a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:property [ sh:class opencloning_linkml:AnnotationReport ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The version of the annotation tool" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:annotation_tool_version ], + sh:order 2 ; + sh:path opencloning_linkml:annotation_report ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:class opencloning_linkml:AnnotationReport ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path opencloning_linkml:annotation_report ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The version of the annotation tool" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:order 1 ; + sh:path opencloning_linkml:annotation_tool_version ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 7 ; sh:path schema1:identifier ], [ sh:in ( "plannotate" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; sh:path opencloning_linkml:annotation_tool ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; + sh:order 5 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:AnnotationSource . @@ -137,6 +137,14 @@ opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], + [ sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:left_location ], + [ sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:right_location ], [ sh:datatype xsd:boolean ; sh:description "Whether the sequence is reverse complemented in the assembly" ; sh:maxCount 1 ; @@ -150,33 +158,18 @@ opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 4 ; - sh:path opencloning_linkml:sequence ], - [ sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:left_location ], - [ sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:right_location ] ; + sh:path opencloning_linkml:sequence ] ; sh:targetClass opencloning_linkml:AssemblyFragment . opencloning_linkml:AssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is an assembly of other sequences" ; - sh:ignoredProperties ( opencloning_linkml:greedy opencloning_linkml:add_primer_features opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:ignoredProperties ( opencloning_linkml:reaction_type opencloning_linkml:add_primer_features opencloning_linkml:greedy rdf:type opencloning_linkml:restriction_enzymes ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 3 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; @@ -189,40 +182,59 @@ opencloning_linkml:AssemblySource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd: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 "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:AssemblySource . opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a Benchling URL" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + 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:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], + sh: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 ; @@ -237,55 +249,43 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:repository_id ; - sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ], - [ 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:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ; sh:targetClass opencloning_linkml:BenchlingUrlSource . opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by CRISPR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -298,70 +298,57 @@ opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:closed true ; sh:description "Represents a cloning strategy" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class bioschemas:DNA ; - sh:description "The sequences that are used in the cloning strategy" ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path opencloning_linkml:sequences ], - [ sh:description "The version of the schema that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:schema_version ], - [ sh:description "The version of the 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:property [ sh:class opencloning_linkml:AssociatedFile ; sh:description "Files associated with this cloning strategy" ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path opencloning_linkml:files ], + [ sh:class opencloning_linkml:Primer ; + sh:description "The primers that are used in the cloning strategy" ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path opencloning_linkml:primers ], [ sh:class schema1:CreateAction ; sh:description "The sources of the sequences that are used in the cloning strategy" ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path opencloning_linkml:sources ], - [ sh:class opencloning_linkml:Primer ; - sh:description "The primers that are used in the cloning strategy" ; + [ sh:class bioschemas:DNA ; + sh:description "The sequences that are used in the cloning strategy" ; + sh:minCount 1 ; sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path opencloning_linkml:primers ], + sh:order 0 ; + sh:path opencloning_linkml:sequences ], + [ sh:datatype xsd:string ; + sh:description "A description of the cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:description ], [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path opencloning_linkml:frontend_version ], - [ sh:datatype xsd:string ; - sh:description "A description of the cloning strategy" ; + [ sh: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: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:targetClass opencloning_linkml:CloningStrategy . opencloning_linkml:CollectionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a collection of possible sources in a template" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The title of the category" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:title ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + 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 7 ; @@ -372,11 +359,12 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:order 4 ; sh:path opencloning_linkml:options ], [ sh:datatype xsd:string ; - sh:description "A description of the category" ; + sh:description "The title of the category" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:description ], + sh:order 1 ; + sh:path opencloning_linkml:title ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -385,16 +373,22 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:order 9 ; 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:description "A description of the category" ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:image ], + sh:order 2 ; + sh:path opencloning_linkml:description ], [ sh:datatype xsd:string ; sh:description "The identifier of the category of the part in the template" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:category_id ], + [ sh:datatype xsd:string ; + sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:image ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -405,7 +399,13 @@ opencloning_linkml:CollectionSource 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 8 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ 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:targetClass opencloning_linkml:CollectionSource . opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; @@ -413,17 +413,17 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by Cre - Lox recombination" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd: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 ; @@ -431,42 +431,40 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 3 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh: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:targetClass opencloning_linkml:CreLoxRecombinationSource . opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a database id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:identifier ], + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -474,42 +472,48 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; 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:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ] ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:DatabaseSource . opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Euroscarf plasmid library" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The id of the plasmid in the Euroscarf plasmid library" ; + sh: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 "^P\\d+$" ], + sh:order 6 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -517,172 +521,174 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:order 4 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of the plasmid in the Euroscarf plasmid library" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:order 0 ; + 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:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ] ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_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: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:boolean ; + sh:property [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:boolean ; - sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:greedy ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], [ sh:in ( "LR" "BP" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; sh:path opencloning_linkml:reaction_type ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 7 ; sh:path schema1:identifier ], - [ sh: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: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:targetClass opencloning_linkml:GatewaySource . opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:coordinates ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "The sequence accession (e.g. X60065.1)" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:repository_id ], - [ sh:datatype xsd:string ; - sh:description "The locus tag of the sequence" ; + [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:locus_tag ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:order 3 ; + sh:path opencloning_linkml:coordinates ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 10 ; - 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 5 ; - sh:path opencloning_linkml:repository_name ], + sh:order 6 ; + 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 9 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - 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 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; - sh:description "The gene id of the sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:gene_id ] ; - sh:targetClass opencloning_linkml:GenomeCoordinatesSource . - -opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; - sh:closed true ; - sh:description "Represents the source of a sequence that is generated by Gibson assembly" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 10 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "The locus tag of the sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:path opencloning_linkml:locus_tag ], + [ sh:datatype xsd:integer ; + sh:description "The gene id of the sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:gene_id ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path schema1:identifier ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 5 ; + 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 7 ; + sh:path opencloning_linkml:output_name ] ; + sh:targetClass opencloning_linkml:GenomeCoordinatesSource . + +opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; + sh:closed true ; + sh:description "Represents the source of a sequence that is generated by Gibson assembly" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -693,13 +699,7 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ] ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:GibsonAssemblySource . opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; @@ -707,18 +707,6 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by homologous recombination" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -730,18 +718,30 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:HomologousRecombinationSource . opencloning_linkml:IGEMSource a sh:NodeShape ; @@ -749,22 +749,12 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:description "Represents the source of a sequence from an iGEM collection" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:description "A unique identifier for a thing" ; 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:order 7 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -772,25 +762,35 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:order 3 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, for now github repository" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^.*.gb$" ], + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:string ; + sh:description "The URL of the sequence file, for now github repository" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^.*.gb$" ], [ sh:datatype xsd:string ; sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$" ; sh:maxCount 1 ; @@ -804,7 +804,30 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd: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:maxCount 1 ; sh:minCount 1 ; @@ -812,16 +835,29 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:order 5 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; + sh:targetClass opencloning_linkml:InFusionSource . + +opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; + sh:closed true ; + sh:description "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 5 ; sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; @@ -839,30 +875,31 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:circular ] ; - sh:targetClass opencloning_linkml:InFusionSource . + 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:targetClass opencloning_linkml:InVivoAssemblySource . -opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; +opencloning_linkml:LigationSource a sh:NodeShape ; sh:closed true ; - sh:description "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ; + sh:description "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -870,61 +907,69 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ] ; - sh:targetClass opencloning_linkml:InVivoAssemblySource . + [ 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:LigationSource . -opencloning_linkml:LigationSource a sh:NodeShape ; +opencloning_linkml:ManuallyTypedSequence 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:description "Represents a sequence that is manually typed by the user" ; 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 3 ; + sh:order 4 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The sequence of the manually typed sequence" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:path opencloning_linkml:sequence ; + sh:pattern "^[acgtACGT]+$" ], + [ sh:datatype xsd:integer ; + sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml: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:path opencloning_linkml:overhang_watson_3prime ], [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + sh:description "Whether the sequence is circular or linear" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; + sh:order 3 ; sh:path opencloning_linkml:circular ], [ 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:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:overhang_crick_3prime ], + [ 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:targetClass opencloning_linkml:LigationSource . + sh:path opencloning_linkml:type ] ; + sh:targetClass opencloning_linkml:ManuallyTypedSequence . opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:closed true ; @@ -936,12 +981,17 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], + sh:order 2 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -949,35 +999,28 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:ManuallyTypedSource . opencloning_linkml:NCBISequenceSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by an NCBI sequence accession" ; - sh:ignoredProperties ( opencloning_linkml:assembly_accession opencloning_linkml:gene_id opencloning_linkml:locus_tag rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:ignoredProperties ( opencloning_linkml:gene_id rdf:type opencloning_linkml:locus_tag opencloning_linkml:assembly_accession ) ; + sh:property [ 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:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:coordinates ], [ sh:datatype xsd:string ; sh:description "The sequence accession (e.g. X60065.1)" ; sh:maxCount 1 ; @@ -985,28 +1028,30 @@ opencloning_linkml:NCBISequenceSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:repository_id ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:coordinates ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 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: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 "Designates the class" ; sh:maxCount 1 ; @@ -1019,29 +1064,24 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by oligo hybridization" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:overhang_crick_3prime ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1049,12 +1089,17 @@ opencloning_linkml:OligoHybridizationSource 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 "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ] ; + sh:order 0 ; + sh:path opencloning_linkml:overhang_crick_3prime ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:OligoHybridizationSource . opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; @@ -1068,20 +1113,17 @@ opencloning_linkml:OpenDNACollectionsSource 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: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 "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:pattern "^[^\\/]+\\/[^\\/]+$" ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -1093,11 +1135,6 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -1105,6 +1142,14 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + [ sh:datatype xsd:string ; + sh:description "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:pattern "^[^\\/]+\\/[^\\/]+$" ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1118,41 +1163,41 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by ligation of PCR products as part of overlap extension PCR. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh: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:targetClass opencloning_linkml:OverlapExtensionPCRLigationSource . opencloning_linkml:PCRSource a sh:NodeShape ; @@ -1165,68 +1210,73 @@ opencloning_linkml:PCRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; 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 4 ; - sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd: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:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether to add primer features to the PCR product" ; + [ 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:add_primer_features ] ; + sh:order 6 ; + sh:path schema1:identifier ] ; 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:float ; + sh:property [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:percent_identity ], - [ sh:datatype xsd:boolean ; + sh:order 9 ; + sh:path opencloning_linkml:database ], + [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path opencloning_linkml:fragment ], + sh:order 7 ; + sh:path opencloning_linkml:percent_match_length ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:percent_identity ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:strand ], + sh:order 6 ; + sh:path opencloning_linkml:length_of_found_feature ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:end_location ], + sh:order 5 ; + sh:path opencloning_linkml:full_length_of_feature_in_db ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1235,61 +1285,62 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sseqid ], + sh:order 13 ; + sh:path opencloning_linkml:sequence ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path opencloning_linkml:database ], + sh:order 0 ; + sh:path opencloning_linkml:sseqid ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path opencloning_linkml:sequence ], - [ sh:datatype xsd:string ; + sh:order 12 ; + sh:path opencloning_linkml:Description ], + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 10 ; - sh:path opencloning_linkml:Feature ], + sh:order 8 ; + sh:path opencloning_linkml:fragment ], [ 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:float ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:percent_match_length ], + sh:order 2 ; + sh:path opencloning_linkml:end_location ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 12 ; - sh:path opencloning_linkml:Description ], + sh:order 11 ; + sh:path opencloning_linkml:Type ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 14 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; + [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path opencloning_linkml:Type ], - [ sh:datatype xsd:integer ; + sh:order 3 ; + sh:path opencloning_linkml:strand ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:full_length_of_feature_in_db ] ; + sh:order 10 ; + sh:path opencloning_linkml:Feature ] ; sh:targetClass opencloning_linkml:PlannotateAnnotationReport . opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by polymerase extension" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1307,12 +1358,6 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; 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:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1324,96 +1369,96 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a repository id" ; - sh:ignoredProperties ( opencloning_linkml:locus_tag opencloning_linkml:gene_id opencloning_linkml:coordinates opencloning_linkml:assembly_accession rdf:type opencloning_linkml:sequence_file_url opencloning_linkml:addgene_sequence_type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; + sh:ignoredProperties ( opencloning_linkml:addgene_sequence_type opencloning_linkml:sequence_file_url rdf:type opencloning_linkml:coordinates opencloning_linkml:assembly_accession opencloning_linkml:gene_id opencloning_linkml:locus_tag ) ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], + [ sh: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:string ; - sh:description "The id of the sequence in the repository" ; + [ 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 0 ; - sh:path opencloning_linkml:repository_id ], + 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:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "The id of the sequence in the repository" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ] ; sh: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 "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:string ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:restriction_enzymes ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:restriction_enzymes ] ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:RestrictionAndLigationSource . opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; @@ -1425,6 +1470,18 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path opencloning_linkml:left_edge ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:class 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 ; @@ -1442,18 +1499,6 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; 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 "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1466,7 +1511,13 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the in-silico transformation of a sequence into its reverse complement" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1489,13 +1540,7 @@ opencloning_linkml:ReverseComplementSource 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:ReverseComplementSource . opencloning_linkml:SEVASource a sh:NodeShape ; @@ -1503,41 +1548,42 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:description "Represents the source of a sequence that is identified by a SEVA id" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh: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: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:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + 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: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:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml: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 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: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 SEVA plasmid name" ; sh:maxCount 1 ; @@ -1546,46 +1592,23 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^pSEVA\\d+.*$" ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ] ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ] ; sh:targetClass opencloning_linkml:SEVASource . opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 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:class opencloning_linkml:SequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path opencloning_linkml:left_edge ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1593,11 +1616,33 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 1 ; - sh:path opencloning_linkml:right_edge ] ; + 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:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:SequenceCutSource . opencloning_linkml:SequencingFile a sh:NodeShape ; @@ -1605,37 +1650,37 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:description "Represents a sequencing file and its alignment to a sequence" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:description "The type of file" ; + sh:in ( NCIT:C171177 ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 4 ; + sh:path opencloning_linkml:file_type ], + [ sh: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:description "The sequence this file is associated with" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path opencloning_linkml:sequence_id ], [ sh:datatype xsd:string ; sh:description "The alignment of the sequencing read to the sequence. List of strings representing aligned sequences." ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:alignment ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:description "The type of file" ; - sh:in ( NCIT:C171177 ) ; + [ sh:class bioschemas:DNA ; + sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 4 ; - sh:path opencloning_linkml:file_type ] ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path opencloning_linkml:sequence_id ] ; sh:targetClass opencloning_linkml:SequencingFile . opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; @@ -1643,6 +1688,19 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:description "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1664,27 +1722,14 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^[^\\/]+\\/[^\\/]+$" ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "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: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:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:SnapGenePlasmidSource . opencloning_linkml:TemplateSequence a sh:NodeShape ; @@ -1698,11 +1743,11 @@ opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Can be used to indicate the intended primer design for this sequence in the template" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], + sh:order 1 ; + sh:path opencloning_linkml:primer_design ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1711,11 +1756,11 @@ opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:order 2 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Can be used to indicate the intended primer design for this sequence in the template" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:primer_design ] ; + sh:order 3 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:TemplateSequence . opencloning_linkml:TextFileSequence a sh:NodeShape ; @@ -1727,12 +1772,12 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:file_content ], - [ sh:datatype xsd:integer ; - sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang_crick_3prime ], + sh:order 5 ; + sh:path opencloning_linkml:type ], [ sh:description "The format of a sequence file" ; sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; @@ -1752,12 +1797,12 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:overhang_watson_3prime ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ] ; + sh:order 1 ; + sh:path opencloning_linkml:overhang_crick_3prime ] ; sh:targetClass opencloning_linkml:TextFileSequence . opencloning_linkml:UploadedFileSource a sh:NodeShape ; @@ -1770,87 +1815,93 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The index of the sequence in the file" ; + [ sh:datatype xsd:string ; + sh:description "The name of the file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:index_in_file ], + sh:order 1 ; + sh:path opencloning_linkml:file_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:type ], [ 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:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The index of the sequence in the file" ; sh:maxCount 1 ; 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:order 2 ; + sh:path opencloning_linkml:index_in_file ], + [ 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 id of an entity in a database" ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 9 ; + 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 8 ; - sh:path schema1:object ], [ 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 "The name of the file" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:file_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], - [ sh:description "The format of a sequence file" ; - sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_format ] ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:UploadedFileSource . opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a WeKwikGene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh: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: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:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:output_name ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -1858,12 +1909,6 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1884,7 +1929,7 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; opencloning_linkml:AnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step" ; - sh:ignoredProperties ( opencloning_linkml:start_location opencloning_linkml:percent_identity opencloning_linkml:length_of_found_feature opencloning_linkml:fragment opencloning_linkml:strand opencloning_linkml:Feature opencloning_linkml:database opencloning_linkml:Description opencloning_linkml:Type opencloning_linkml:percent_match_length rdf:type opencloning_linkml:end_location opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:sequence opencloning_linkml:sseqid ) ; + sh:ignoredProperties ( opencloning_linkml:sseqid opencloning_linkml:percent_identity opencloning_linkml:sequence opencloning_linkml:Type opencloning_linkml:length_of_found_feature opencloning_linkml:percent_match_length opencloning_linkml:Feature opencloning_linkml:strand rdf:type opencloning_linkml:start_location opencloning_linkml:database opencloning_linkml:Description opencloning_linkml:end_location opencloning_linkml:fragment opencloning_linkml:full_length_of_feature_in_db ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1905,11 +1950,12 @@ opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:sequence_id ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "The name of the file" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:file_name ], [ sh:description "The type of file" ; sh:in ( NCIT:C171177 ) ; sh:maxCount 1 ; @@ -1917,26 +1963,18 @@ opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:order 3 ; sh:path opencloning_linkml:file_type ], [ sh:datatype xsd:string ; - sh:description "The name of the file" ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:file_name ] ; + sh:order 0 ; + sh:path opencloning_linkml: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:datatype xsd:string ; - sh:description "A human-readable name for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:name ], - [ sh:class schema1:CreateAction ; + sh:property [ sh:class schema1:CreateAction ; sh:description "The source of the sequence for this option" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1948,7 +1986,14 @@ opencloning_linkml:CollectionOption a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; - sh:path opencloning_linkml:info ] ; + sh:path opencloning_linkml:info ], + [ 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:targetClass opencloning_linkml:CollectionOption . opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; @@ -1956,58 +2001,58 @@ opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; sh:description "Additional information about a collection option" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "The well position in the kit plate" ; + sh:description "A description of the option" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:well ], + sh:order 1 ; + sh:path opencloning_linkml:description ], [ sh:datatype xsd:string ; - sh:description "The antibiotic resistance of the plasmid" ; + sh:description "The well position in the kit plate" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:resistance ], + sh:order 4 ; + sh:path opencloning_linkml:well ], [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; sh:in ( "OligoPair" "AddgenePlasmid" ) ; sh:maxCount 1 ; sh:order 2 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "A description of the option" ; + sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:description ], + sh:order 0 ; + sh:path schema1:name ], [ sh:datatype xsd:string ; - sh:description "A human-readable name for a thing" ; + sh:description "The antibiotic resistance of the plasmid" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:name ] ; + sh:order 3 ; + sh:path opencloning_linkml:resistance ] ; 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:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:sequence ; - sh:pattern "^[acgtACGT]+$" ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; 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:order 2 ; + sh:path opencloning_linkml:sequence ; + sh:pattern "^[acgtACGT]+$" ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a thing" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path schema1:name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -2016,18 +2061,24 @@ opencloning_linkml:Primer a sh:NodeShape ; sh:order 3 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "A human-readable name for a thing" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:name ] ; + sh:order 4 ; + sh:path opencloning_linkml:type ] ; 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:circularize opencloning_linkml:index_in_file opencloning_linkml:annotation_report opencloning_linkml:title opencloning_linkml:assembly_accession opencloning_linkml:reaction_type opencloning_linkml:right_edge opencloning_linkml:sequence_file_format opencloning_linkml:add_primer_features opencloning_linkml:gene_id opencloning_linkml:circular opencloning_linkml:repository_name rdf:type opencloning_linkml:options opencloning_linkml:category_id opencloning_linkml:greedy opencloning_linkml:locus_tag opencloning_linkml:restriction_enzymes opencloning_linkml:description opencloning_linkml:annotation_tool_version opencloning_linkml:sequence_file_url opencloning_linkml:image opencloning_linkml:annotation_tool opencloning_linkml:coordinates opencloning_linkml:left_edge opencloning_linkml:file_name opencloning_linkml:overhang_crick_3prime opencloning_linkml:repository_id opencloning_linkml:addgene_sequence_type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:repository_id opencloning_linkml:assembly_accession opencloning_linkml:description opencloning_linkml:sequence_file_url opencloning_linkml:repository_name opencloning_linkml:circularize opencloning_linkml:greedy opencloning_linkml:right_edge opencloning_linkml:left_edge opencloning_linkml:gene_id opencloning_linkml:annotation_report opencloning_linkml:annotation_tool opencloning_linkml:locus_tag opencloning_linkml:options opencloning_linkml:image opencloning_linkml:reaction_type opencloning_linkml:add_primer_features opencloning_linkml:sequence_file_format opencloning_linkml:restriction_enzymes opencloning_linkml:title opencloning_linkml:file_name opencloning_linkml:annotation_tool_version opencloning_linkml:index_in_file rdf:type opencloning_linkml:coordinates opencloning_linkml:overhang_crick_3prime opencloning_linkml:category_id opencloning_linkml:circular opencloning_linkml:addgene_sequence_type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -2040,23 +2091,17 @@ schema1:CreateAction a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path schema1:identifier ] ; + sh: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:targetClass schema1:CreateAction . opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; @@ -2064,12 +2109,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 ; @@ -2077,18 +2122,18 @@ 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:maxCount 1 ; @@ -2108,26 +2153,26 @@ opencloning_linkml:SequenceCut a sh:NodeShape ; bioschemas:DNA a sh:NodeShape ; sh:closed false ; sh:description "Represents a sequence" ; - sh:ignoredProperties ( opencloning_linkml:overhang_crick_3prime schema1:name opencloning_linkml:primer_design opencloning_linkml:sequence_file_format opencloning_linkml:circular opencloning_linkml:overhang_watson_3prime rdf:type opencloning_linkml:file_content 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:file_content opencloning_linkml:primer_design opencloning_linkml:overhang_watson_3prime rdf:type opencloning_linkml:overhang_crick_3prime opencloning_linkml:sequence_file_format schema1:name opencloning_linkml:sequence 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 opencloning_linkml:left_location rdf:type opencloning_linkml:right_location ) ; + sh:ignoredProperties ( opencloning_linkml:right_location opencloning_linkml:left_location rdf:type opencloning_linkml:reverse_complemented ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; diff --git a/project/shex/opencloning_linkml.shex b/project/shex/opencloning_linkml.shex index 31a6300..e3fd914 100644 --- a/project/shex/opencloning_linkml.shex +++ b/project/shex/opencloning_linkml.shex @@ -283,6 +283,18 @@ linkml:Sparqlpath xsd:string ) } + CLOSED { + ( $ ( & ; + rdf:type [ bioschemas:DNA ] ? ; + @linkml:Integer ? ; + @linkml:Integer ? ; + @linkml:String ; + @linkml:Boolean ? + ) ; + rdf:type [ ] + ) +} + CLOSED { ( $ ( & ; rdf:type [ schema1:CreateAction ] ? @@ -446,7 +458,7 @@ linkml:Sparqlpath xsd:string } ( - @ OR @ OR @ + @ OR @ OR @ OR @ ) { diff --git a/project/sqlschema/opencloning_linkml.sql b/project/sqlschema/opencloning_linkml.sql index 4009fe8..dc71e97 100644 --- a/project/sqlschema/opencloning_linkml.sql +++ b/project/sqlschema/opencloning_linkml.sql @@ -16,6 +16,13 @@ -- * Slot: file_content Description: -- * Slot: id Description: A unique identifier for a thing -- * Slot: type Description: Designates the class +-- # Class: "ManuallyTypedSequence" Description: "Represents a sequence that is manually typed by the user" +-- * Slot: overhang_crick_3prime 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 +-- * Slot: overhang_watson_3prime Description: The equivalent of `overhang_crick_3prime` but for the watson strand +-- * Slot: sequence Description: The sequence of the manually typed sequence +-- * Slot: circular Description: Whether the sequence is circular or linear +-- * Slot: id Description: A unique identifier for a thing +-- * Slot: type Description: Designates the class -- # Class: "Primer" Description: "An oligonucleotide or primer" -- * Slot: name Description: A human-readable name for a thing -- * Slot: database_id Description: The id of an entity in a database @@ -394,6 +401,15 @@ CREATE TABLE "TextFileSequence" ( type TEXT, PRIMARY KEY (id) ); +CREATE TABLE "ManuallyTypedSequence" ( + overhang_crick_3prime INTEGER, + overhang_watson_3prime INTEGER, + sequence TEXT NOT NULL, + circular BOOLEAN, + id INTEGER NOT NULL, + type TEXT, + PRIMARY KEY (id) +); CREATE TABLE "SequenceCut" ( id INTEGER NOT NULL, cut_watson INTEGER NOT NULL, diff --git a/src/opencloning_linkml/datamodel/_models.py b/src/opencloning_linkml/datamodel/_models.py index 6041297..a8084a0 100644 --- a/src/opencloning_linkml/datamodel/_models.py +++ b/src/opencloning_linkml/datamodel/_models.py @@ -275,7 +275,12 @@ class TemplateSequence(Sequence): circular: Optional[bool] = Field( default=None, description="""Whether the sequence is circular or linear""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) primer_design: Optional[str] = Field( default=None, @@ -338,7 +343,7 @@ class TextFileSequence(Sequence): json_schema_extra={ "linkml_meta": { "alias": "overhang_crick_3prime", - "domain_of": ["TextFileSequence", "OligoHybridizationSource"], + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], "ifabsent": "int(0)", } }, @@ -347,7 +352,11 @@ class TextFileSequence(Sequence): default=0, description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", json_schema_extra={ - "linkml_meta": {"alias": "overhang_watson_3prime", "domain_of": ["TextFileSequence"], "ifabsent": "int(0)"} + "linkml_meta": { + "alias": "overhang_watson_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence"], + "ifabsent": "int(0)", + } }, ) file_content: Optional[str] = Field( @@ -380,6 +389,104 @@ class TextFileSequence(Sequence): ) +class ManuallyTypedSequence(Sequence): + """ + Represents a sequence that is manually typed by the user + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "overhang_crick_3prime": {"ifabsent": "int(0)", "name": "overhang_crick_3prime"}, + "overhang_watson_3prime": {"ifabsent": "int(0)", "name": "overhang_watson_3prime"}, + }, + } + ) + + overhang_crick_3prime: Optional[int] = Field( + default=0, + 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""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_crick_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], + "ifabsent": "int(0)", + } + }, + ) + overhang_watson_3prime: Optional[int] = Field( + default=0, + description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_watson_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence"], + "ifabsent": "int(0)", + } + }, + ) + sequence: str = Field( + default=..., + description="""The sequence of the manually typed sequence""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } + }, + ) + circular: Optional[bool] = Field( + default=False, + description="""Whether the sequence is circular or linear""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + "ifabsent": "boolean(false)", + } + }, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["ManuallyTypedSequence"] = Field( + default="ManuallyTypedSequence", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + @field_validator("sequence") + def pattern_sequence(cls, v): + pattern = re.compile(r"^[acgtACGT]+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence format: {v}" + raise ValueError(err_msg) + return v + + class Primer(Sequence): """ An oligonucleotide or primer @@ -412,7 +519,10 @@ class Primer(Sequence): sequence: Optional[str] = Field( default=None, json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) id: int = Field( @@ -490,7 +600,10 @@ class SourceInput(ConfiguredBaseModel): default=..., description="""The input sequence""", json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) @@ -2301,7 +2414,10 @@ class AssemblyFragment(SourceInput): default=..., description="""The input sequence""", json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) @@ -2316,7 +2432,12 @@ class AssemblySource(Source): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["AssemblySource"] = Field( default="AssemblySource", @@ -2383,7 +2504,12 @@ class PCRSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["PCRSource"] = Field( default="PCRSource", @@ -2443,7 +2569,12 @@ class LigationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["LigationSource"] = Field( default="LigationSource", @@ -2503,7 +2634,12 @@ class HomologousRecombinationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["HomologousRecombinationSource"] = Field( default="HomologousRecombinationSource", @@ -2563,7 +2699,12 @@ class GibsonAssemblySource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["GibsonAssemblySource"] = Field( default="GibsonAssemblySource", @@ -2623,7 +2764,12 @@ class InFusionSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["InFusionSource"] = Field( default="InFusionSource", @@ -2683,7 +2829,12 @@ class OverlapExtensionPCRLigationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["OverlapExtensionPCRLigationSource"] = Field( default="OverlapExtensionPCRLigationSource", @@ -2743,7 +2894,12 @@ class InVivoAssemblySource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["InVivoAssemblySource"] = Field( default="InVivoAssemblySource", @@ -2818,7 +2974,12 @@ class RestrictionAndLigationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["RestrictionAndLigationSource"] = Field( default="RestrictionAndLigationSource", @@ -2888,7 +3049,12 @@ class GatewaySource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["GatewaySource"] = Field( default="GatewaySource", @@ -2948,7 +3114,12 @@ class CreLoxRecombinationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["CreLoxRecombinationSource"] = Field( default="CreLoxRecombinationSource", @@ -3008,7 +3179,12 @@ class CRISPRSource(HomologousRecombinationSource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["CRISPRSource"] = Field( default="CRISPRSource", @@ -3071,7 +3247,7 @@ class OligoHybridizationSource(Source): json_schema_extra={ "linkml_meta": { "alias": "overhang_crick_3prime", - "domain_of": ["TextFileSequence", "OligoHybridizationSource"], + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], } }, ) @@ -3185,7 +3361,7 @@ class CloningStrategy(ConfiguredBaseModel): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) - sequences: list[Union[Sequence, TemplateSequence, TextFileSequence, Primer]] = Field( + sequences: list[Union[Sequence, TemplateSequence, TextFileSequence, ManuallyTypedSequence, Primer]] = Field( default=..., description="""The sequences that are used in the cloning strategy""", json_schema_extra={"linkml_meta": {"alias": "sequences", "domain_of": ["CloningStrategy"]}}, @@ -3363,7 +3539,10 @@ class PlannotateAnnotationReport(AnnotationReport): sequence: Optional[str] = Field( default=None, json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) type: Literal["PlannotateAnnotationReport"] = Field( @@ -3607,6 +3786,7 @@ class SequencingFile(AssociatedFile): Sequence.model_rebuild() TemplateSequence.model_rebuild() TextFileSequence.model_rebuild() +ManuallyTypedSequence.model_rebuild() Primer.model_rebuild() SourceInput.model_rebuild() SequenceCut.model_rebuild() diff --git a/src/opencloning_linkml/datamodel/models.py b/src/opencloning_linkml/datamodel/models.py index 87aaced..6dbab13 100644 --- a/src/opencloning_linkml/datamodel/models.py +++ b/src/opencloning_linkml/datamodel/models.py @@ -1,7 +1,7 @@ from ._models import * # noqa: F403,F401 from opencloning_linkml._version import __version__ from typing import Optional -from pydantic import Field +from pydantic import Field, model_validator class CloningStrategy(CloningStrategy): # noqa: F405 @@ -10,3 +10,12 @@ class CloningStrategy(CloningStrategy): # noqa: F405 description="""The version of the schema that was used to generate this cloning strategy""", json_schema_extra={"linkml_meta": {"alias": "schema_version", "domain_of": ["CloningStrategy"]}}, ) + + +class ManuallyTypedSequence(ManuallyTypedSequence): # noqa: F405 + @model_validator(mode="after") + def validate_circular_overhangs(self): + """Ensure that if circular is True, both overhangs must be 0""" + if self.circular is True and not (self.overhang_crick_3prime == self.overhang_watson_3prime == 0): + raise ValueError("If circular is True, both overhangs must be 0") + return self diff --git a/src/opencloning_linkml/schema/opencloning_linkml.yaml b/src/opencloning_linkml/schema/opencloning_linkml.yaml index 766420a..4d0d8b6 100644 --- a/src/opencloning_linkml/schema/opencloning_linkml.yaml +++ b/src/opencloning_linkml/schema/opencloning_linkml.yaml @@ -100,6 +100,32 @@ classes: overhang_watson_3prime: ifabsent: int(0) + ManuallyTypedSequence: + is_a: Sequence + description: >- + Represents a sequence that is manually typed by the user + slots: + - overhang_crick_3prime + - overhang_watson_3prime + attributes: + - sequence: + range: string + pattern: ^[acgtACGT]+$ + description: >- + The sequence of the manually typed sequence + required: true + - circular: + range: boolean + description: >- + Whether the sequence is circular or linear + required: false + ifabsent: boolean(false) + slot_usage: + overhang_crick_3prime: + ifabsent: int(0) + overhang_watson_3prime: + ifabsent: int(0) + Primer: is_a: Sequence description: >- diff --git a/tests/test_validation.py b/tests/test_validation.py new file mode 100644 index 0000000..0952c78 --- /dev/null +++ b/tests/test_validation.py @@ -0,0 +1,47 @@ +"""Test validators.""" + +import unittest +from pydantic import ValidationError + +from opencloning_linkml.datamodel import ManuallyTypedSequence + + +class TestValidation(unittest.TestCase): + """Test validators.""" + + # Test cases: (crick_overhang, watson_overhang, circular, should_raise_error) + test_cases = [ + # Valid cases + (0, 0, True, False), + (0, 0, False, False), + (2, 3, False, False), + (None, None, False, False), + # Invalid cases - circular with non-zero overhangs + (2, 0, True, True), + (0, 3, True, True), + (2, 3, True, True), + (0, 0, True, False), + (0, None, True, False), + (None, None, True, False), + ] + + def test_circular_overhangs_validation(self): + """Test that circular sequences must have zero overhangs.""" + for crick, watson, circular, should_raise in self.test_cases: + print(crick, watson, circular, should_raise) + + kwargs = { + "id": 1, + "sequence": "ATCGATCG", + "circular": circular, + } + if crick is not None: + kwargs["overhang_crick_3prime"] = crick + if watson is not None: + kwargs["overhang_watson_3prime"] = watson + + if should_raise: + with self.assertRaises(ValidationError): + ManuallyTypedSequence(**kwargs) + else: + ManuallyTypedSequence(**kwargs) From b0d075868e2706571ec354d86a8abc2822c219f4 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Sat, 6 Dec 2025 00:37:54 +0000 Subject: [PATCH 09/12] remove field repository_name and revert examples --- project/excel/opencloning_linkml.xlsx | Bin 32266 -> 30659 bytes project/graphql/opencloning_linkml.graphql | 24 - .../jsonld/opencloning_linkml.context.jsonld | 10 +- project/jsonld/opencloning_linkml.jsonld | 83 +- .../jsonschema/opencloning_linkml.schema.json | 60 - project/owl/opencloning_linkml.owl.ttl | 994 +++++----- project/protobuf/opencloning_linkml.proto | 11 - project/python/opencloning_linkml.py | 44 +- project/shacl/opencloning_linkml.shacl.ttl | 1653 ++++++++--------- project/shex/opencloning_linkml.shex | 11 +- project/sqlschema/opencloning_linkml.sql | 22 - .../examples/cloning_strategy_with_files.json | 2 +- .../cloning_strategy_with_sequencing.json | 2 +- src/data/examples/collection_example.json | 2 +- src/data/examples/crispr_hdr.json | 11 +- .../extract_subsequence_from_file.json | 2 +- src/data/examples/gateway.json | 11 +- src/data/examples/gateway_start.json | 11 +- src/data/examples/gibson_assembly.json | 11 +- src/data/examples/golden_gate.json | 11 +- .../examples/homologous_recombination.json | 11 +- src/data/examples/plannotate.json | 2 +- .../restriction_ligation_assembly.json | 11 +- .../examples/restriction_then_ligation.json | 11 +- src/data/examples/templateless_PCR.json | 2 +- src/opencloning_linkml/datamodel/_models.py | 83 - .../migrations/model_archive/v0_4_9.py | 305 +-- .../schema/opencloning_linkml.yaml | 34 - 28 files changed, 1522 insertions(+), 1912 deletions(-) diff --git a/project/excel/opencloning_linkml.xlsx b/project/excel/opencloning_linkml.xlsx index 23997661ec3bc6ae5296f50c5b3b591d18e6224c..bba6a4ce5097f8ee6ea593cf243c3a5fc7b103a2 100644 GIT binary patch delta 7223 zcmeHLc|4SB8=l2j(%7<%u|(O6p|XuFB73$XlT>r;>tKj5CPmS5c$9* z7XD+UWBJTnE=zQ!-_=51i`{j{6<6xabrKXe=r{OWn7-9A6VTggiK#U*x@Gs!*IvS! zDwS1wT-=~QL85O;fhOA}HIh2+JrRw3q+l-;IZ?g0y{{s+Vy!Mc@a+M z*|Bn-CJNJ`W`lMSesjLNG(H@2qnEyJzum0)-7c}ak;dF;aG%&Ryn#rlk;az}H{|#g zQ4q2fTMi?i1x~?@pM_%K23CXyH%_iP2{+`$GU3Ke@g^je69E&CsbPC?_o)EWQ;K~_ z(i8rDg%mI39>{TB%hs2Ugi)4^1xkQpwU?i28U|Y7&_KGR6m1hHR8*Je4q&Ke8ESH@ zm1{M!yKD$&dXRkd#70%pi%kkg&3m0DCiR9jcq_Jz4@=7tLtgHiI)+7fn>?#_Ka$+k zQgm#PyEJvxSdX3ynU&gs#pB`;+o`Jq`#wj;s+P4noQjb+AmDw1q}_EVqN(?phgekA z9@hGXEIlsT?y(C@jnxmkFJo&_zr=8})K3~RDtpdZW@3u@DG@rPu_IS{JZfmRMkmkF0Nksn6+JLU*I-12m4i{>Ez zcN?3gaoPPu?xNfj`t)aaBa@$BwYI7fxo+Z)zMnUWULZ;MEsbG<*k<9F>shDSh*VB^}geTiNFKvw!{vhQ+yLQq{3*X>L$Q#{acTkD&vr~a% z?U!VXyYxDz z+mKU&`^>KTpFM1E)lBb7rrE}>X-s&Or855UN#dhDo_^@T`&sTH5BXBGiHZH>J&b-5 zizRF2=T(n8cu$g^B=w6@r3hA|miyyO+{k=wjU1T} ztlx>N3lRM%_)Fg;QO9DwU~}_L?QFM^b#mSv?(gNM2A^DQe(T2m97!9U9hsg;#+Nrl z4X}3a3p59!PFyS)#ntxjlsqf=m`S9n)kkd9eK1nf$tRJ|TWCaiODH_<)aKgPm{O}E zMZP5?Rk&fxx|C}71hJX?`pLr2rQJIs7~Cr~!oy=8Vn?QTf56_Y0oa=rN^63fy|}7{ z>iRJXSj#gNuiLHXQH~OeuUt}Cjc(K-@ObQib5?gDXG1s#M9f^y@jSXx;BfFB`}Qb7 zbgKAsS@gXNWM)RO^H}YdS(X0QbF6$jXTy{fiOe;vw(pVEQ~jP+jQ3gpsd!d0a3?2{ zE_|>y(&{Cv`g)tH$eAcq%te#39bVUUb&6}w?mOw4smEd?WlOA*CX*+0d%{Ye(#{)T z@`kSTs}>AuXUiC(=TlKaZuv1DgYs+Bn5*BZjSr7b&n2GGP9RCP5pOm<3KI6Z_D5ma zQ?)=857u|Zn*7@=?tX1RCB`V@Qq?)!=auhsc|6bk+o2OSh%joWsUgwb+SNIUgP5Dn}pU*2$%^a7~PC3x|ZK zkA&mcTuMjItXngzTbYZzl9^b0k^su_KVNe->Bzg+YN|8Jp6sRbq-Z%z-mvf)13DkRK)>Ny8}mWv z^H3k!VBTh&_T8<&G*Ei~2I~JbP)lAx{eNG<<$MK&;8*awpx}U8>fkfDY{~=@CbZ>K zCXg_pEuS)hLc;&OT*PH){2P*G56O3G07ui-Ue;HJ_H=pW0L^xJ<$xmBKa>MFAb|>H z&oaq2C``2FlWkC#Xv-(tpfJh(rEK$3N^(g6^|d2MUxOL7@lQF>2mdKH))+SG@I<{|o;uBEB+$FFwyu4J3pD@&ky*jg6V7(X9s->FdL=zCQR>Uq9pMYp$4! zE#hhUU3k2!=ZUL4mu$N^`nuQ({{b6ZUiaFugyur!HSD6ckWJgYHwNxUC7b~DwcIy- zO^u1ARGA;cX^JP0-O~u)px!V!^u=GjqA9y>bA8s`rhfG4o?Sj7inPh1_iR7QgbKm2 zD)PKSsJF?-{U1mXdkf%;(lOj#=NwQ&) zveHpfNdq;>stlVf4@zq*fk7X^o7qXiTkKA!SB6&RA~gCFYmXDsX-1iv2ae+t`0sDK z6Y_RXnVq~~h{uaz>0h~3b&%CLn7G1r?Wua5=$xj^s8GLPSX%4pXU0DXp%PQHPGsIN z^BF7be0UF()|?o|Zg9Wq^S;`Z{V4EGLM^0w@e=h0`4OjYI>H*V?oW`*DVD8++No7?%HeTv))GNQRg&#pOcGirJMbDPBM=aR;UeKsq1k) zN{gUuG#p4M=v+P6dRaD)o^XKMopI5yj8nRB<9eq?iAkW`R(^ZLMC!uSW{p+?siD27 zyMp0iPY4J|Fh!P^gQ%9eQ1>UdP{oFCJr zkg0q&yDZX`XaMcs zzgK?FO(UYnB1C6~^`lWBGY+7!1zwi`jJCU{?F}btHCAN8x(tTt0R?&g|j?8vl z4RLOR$JY#I9+Si-_$%FbXX8vrYt4vh=vRt|MC;}R(j9C(KDL##&m+J4hXfFaitG~o zLvT@wKrDe9-G=Aj2Hm&_$;T;Ek*$1BCIT(CazI!#hV5*c3jGeyjn}f#W{KZAm&_M+ zoGcb~rYskA@~swiEN$QpyV>>{JZyr!6kIdo_`khv5!c6Qfji*5P^`;wJp&u*?6?6J z;xLk|Ap`Jet^x~jc(#PQH4>_{-E6MVegVQt7+~`bDfW?_L$F;mN#@T2og%x|GXi!} zD6?I(4rFHlraSO#H?J0WA8u*?l>I9pBqhtX-`fq_uOr98_9fnLp*muQ4;L5I$O`xf zQ;r3VKn);1ga~aXRILT>gy?X1z;p;6`3MjXRe*ZLP&`V27r3)l90&;&f*?8w#qk01 zy5azfj|->{UAdYQ6t&h6u2Ig4xDW_Qu;%;cCy_414`|tl1Jeuk*f2aw4+}Usi36r# zLXhnnHHpBzplvs5sqK3KaBMN)aF{SOb{1$$7lNRN3(zYNniJ+g1gQ4mXp2ONqQ91; zNxY^?Q@cRlX+QW*1U6HYA-91PJW50ia+^zmN4g3^rQ#qY4)lm)fB_1;%CB`*&>Qa0 zC4%3H^k_+ltR4>An}p+0GdKv+l)?xunH7*8i$`%wLqFeGuy_PoFl9JUMuf23_vP57 zgAD+L2o-4SzE%gpZU25kKg&bzy%aF(mW;lr6tUFk?i$bt4|GMq%l#%NmlER@A@9{)clQAB9H|Hb6dHqu`Unfx0(BP|gBW z4njwCIFKk*Hd?Y`pkO~9wO$W0QH_SZ7)9ezPxYb13tNCVtTZCPjD`kuQG3FLA zI*lR7Vn6JM!%8%Tpks?5WitpWu)+Wx`&U9q#9=-*2Vp!Q7Xw2YF?bZ!g2UAM%iO%Y zH)Q2oFgIO(IJ|0GA^*iO-)6DZ8iMM!{g_Rhp+{`MD+Lb_W8tA~zyxF1LAOkNEbN4n zb6XuCsLmAwG{?e+tT3dX?=U!tO!U&2^=^a6{0CrrxdV7qo)ds{$N!K}->&neJ_KDL zA6W}N%0M4$wnI?Q0>qh?xf>uH2Zx0ihey412R3{CI0|&%gEMXXVWz)(KrSod;F&hZ z;f*?WArSk6G$SHog1jUCDov`k4yM+DSC=?=mGLjW%8=W=0QqN2ZxX7BAr0knmJ~Xn1gxIs+N-&)3g(2?D^nOmRHU{I(?P)nZ+TqR(EG|LX+ur%WeF5XL^F3~eyfVym2 zs7pZeL~%!7acPEb?yqHIVil{mbs~=r?AMfH_KGCEr2~1Nwmm|zt`LvCFE2a#Bri+7 zro{XU#=e#y-lvda8Trn(S_7PwHPT=eT`|zUr^<<}=ggLTM^UI~(ox(M{T4_s@jg&Zno%bMBrP=(svudCJezIBli>z|Fg(*duf) z?PlXFKtzwO`nK5uo$w0FBRMX_tf#bh84^vC`U;hUZEL&Bd_*kGEnNgAdh#7#C=4}B zNLCKn|4c9Piu<#}b=g6jd?3RqrvPkfG6OF8v?I>CDo8$RJ}Tp$TZ(S%^a5Yfv#K#L zD0>3UDHf>?rs75FhXbQU8S8aK{e+r5l?RvQMdN7b2~tdxVuyKDZ!13LTg&7I3rk)t zh%R-MWR?Mnk`exdTb54)PDwMa+MFn|+jHi<4io>562}Fza^EX6OezQCa4*i*i+2Kz zasu+H&2<-Uxjbv1oe3XVY^HzTZHXFOvNG}zw6+_TNNjS)Jsfd3K#?Lr`8wa8Ig~SZ zH$_jB*^b0kLKw?K2QjwfTQhd;0`=BgD0`mB`8x*R0-WRTO1cJzSvLH1`SLBnpIVOO z%x(FguY+PvlrfR?HQQZ0FVD)fr07hf|7rAvv8I>FOyPFV)N8@bBFBdw1Y)T3LIsq0 z_-e7@jzX^U>YF@@_VCQVi=|!dePsHsex!+O+%#i&n``)k&XVUwNQ;tUSoK2LqD#7lnL?3LXy6=Ru&&kcjFyeT@p^p**1w!J@97`}aR zm*?W8Z08hfLm;=@$>o6b=cGGD?icQfrh3e;-eVxdd?s}K{H$NDtW2*ofHmL{OC6VS zTj(#T%)X5W5*O}iB|klTTwO4KRJ^zTovI6g=IxE^1QY+dwvQX4Sv^^m02w7R&DQCX z7C)p*=eo(dH2GDR#MbLlAn!U|QWcMJ(mA_KS?}_A-x)vFORu&~+HbDl&`it70Xwb` zvg!qmuun;y%v1NgX?i5*9S6j&o{k6ZsN*aG%^F@+oYxW{owLF^ty^X;}06XtBsxib4=C{&UdQvg2c&2HL4)nhT=b*Tl> zr3vrY$%NOIBPnHZ`$CU6)jBudzEIi2%${O-Qh91Cdwy3Yu!~#UFzlfs?PNCh8wIa3 z4_cx&D<)f&(_P%@1xb^M^!;dt!nAmvx>pJ%!_^^ySmjlQVk^3Wc*(ZnI{%)d^}9inZ| ze}+4FCw^L3kS9sA_k~6F%3m=EtQOwzyY~0-2cZw}!}x>H2l!$9LFfbgF#aI)QTosL zv!*TrWK{k@f&RYA2tZ1sA66LwNNM!LDkA_Xjeb~VB!QGhe_0u=Aq>bUzCm#QKDzu< zNdJE*q(%PkbOB^#{?V7IvVZjDFW$V?l*Hg1af816Q_%cf1@Zr6L9>QGfUMjf2+rTf zpnqPe{s&*FQrW0%*`b&6TKK3iHsG%m=ueLd|2wbb|IJsbN9tvt_Hv!L@KWbfatRe6P{<%v*%06wS88~pWY4k`dH|z0|`=WD&A6Ls7!s(xu z@8g{4ejs*}^Aj_+Xv-?l`t_SjGkXUC=r zQOBBmY{&`7Dj@1JOgyCt9W>u1;ik&2i!~cu;ZY*8iW@$B*T>buVeJ(5YKHN3h6PF9}t_j=>rWD-VXyiX4FOge$Q!L0QUicbKMek1@M)jN6`X(|eCA0?< z40#;W+aH-z-#@%(F-_UmNK4u}O&}@Fem;wsFg)8ft~}Q#x_nv&#Ba zF+$~Ij|99wWjx&4GuuAbSr3Q@P|&|T2UHwO^@+e^If*5M%i3KOyoYXl77Ikv?je*@ zUkm^gk6Hk4#aqoeR}E?idNo2UqR+Wc;%_;uGd?zg_@1=GlL> zR$wT#qq`%!*j326k`}|4AilNZ5bAg$bl#&6G+*56s9LdTII6i_B}q-vpj>gpe3mq6 zusS~eG)VSKP*iB}j;-cqq*}`zWiqkR`&;kZEDD8WiK~gvRtZN{Z`#44KHw5IZMl?O zbY#EE$p^7f54lA4P}xmTD`ocVcF@Pm`v^ErZ1pPkHMX@65+9m27`IL58d30lw4eKS z%e{S4=R!SQPG_p`t*3eMDoZe3{Ub!N(4`4#LiJd@JaIgxja^ChNd zo&uRrAE#|^DzXGK8whU_j6|6=y^ahj&56i>+ky#cBS~BFAOka-T;$Rl+jnScaVT9w*`rtn?UOW?hpiJ{6*mmf2%h)1S=JSXHEYa?azUq zL||ZzFeUiJpB9e#=Swsahr!&$f47&k?Z^!h$AaEOTKFdYdDI?IAb=gL_!{)jm&zm! z2c07_|C`Ob%fdjV00j80rrMCDtMV`~_ABuFFX;N5Q!2s0)&ORhg8~Qfm~a)?M0@bN zX{#!1vN(v$`&}5()W$IFb zLqP~rzUl9Vl{FYaSUkuVj6AfG!FWudG1;9}`440UB(E#o6rQmx`1>Lh%wdh;H=^8- zly3sQVd{~6kP{wM4MCgy9wTlIo9>1nRHo#po!SZIm<4)<*XDTK z1_t(;Q-X}4NJzd=JjU9NY?gtGto1j{!)>{D5(*ZwfpEU|aIm~kWFh3Wr8vT-=b^|# z&hl8XHbK6b8}=pa3^Iiww^20=kKsN5zTJ=Cke7bSx4ZX2o6z5aLec$Rh|qj)U{M$z z=I^aAJW$|)LOBO{5Q3#7$^X~y;Rdz!;1g&K>5M28!z(!0!)k xr@iGu*2SC9CaQQ)D6Tcm$9!RD=OEDA9r_UpM-mzpj>iB5FgIKnOC*x<{{jHn_Fw=2 diff --git a/project/graphql/opencloning_linkml.graphql b/project/graphql/opencloning_linkml.graphql index 48d83fc..49dd0ba 100644 --- a/project/graphql/opencloning_linkml.graphql +++ b/project/graphql/opencloning_linkml.graphql @@ -33,19 +33,6 @@ enum GatewayReactionType BP } -enum RepositoryName - { - addgene - genbank - benchling - snapgene - euroscarf - igem - wekwikgene - seva - open_dna_collections - } - enum SequenceFileFormat { fasta @@ -62,7 +49,6 @@ type AddgeneIdSource databaseId: Integer input: [SourceInput] repositoryId: String! - repositoryName: RepositoryName! sequenceFileUrl: String addgeneSequenceType: AddgeneSequenceType } @@ -118,7 +104,6 @@ type BenchlingUrlSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! repositoryId: String! } @@ -200,7 +185,6 @@ type EuroscarfSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! repositoryId: String! } @@ -223,7 +207,6 @@ type GenomeCoordinatesSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! coordinates: SimpleSequenceLocation repositoryId: String! assemblyAccession: String @@ -259,7 +242,6 @@ type IGEMSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! sequenceFileUrl: String! repositoryId: String! } @@ -325,7 +307,6 @@ type NCBISequenceSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! coordinates: SimpleSequenceLocation repositoryId: String! } @@ -347,7 +328,6 @@ type OpenDNACollectionsSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! sequenceFileUrl: String repositoryId: String! } @@ -418,7 +398,6 @@ type RepositoryIdSource databaseId: Integer input: [SourceInput] repositoryId: String! - repositoryName: RepositoryName! } type RestrictionAndLigationSource @@ -498,7 +477,6 @@ type SEVASource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! sequenceFileUrl: String repositoryId: String! } @@ -510,7 +488,6 @@ type SnapGenePlasmidSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! repositoryId: String! } @@ -568,7 +545,6 @@ type WekWikGeneIdSource outputName: String databaseId: Integer input: [SourceInput] - repositoryName: RepositoryName! sequenceFileUrl: String repositoryId: String! } diff --git a/project/jsonld/opencloning_linkml.context.jsonld b/project/jsonld/opencloning_linkml.context.jsonld index 6647168..80e212f 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-12-05T23:17:42", + "generation_date": "2025-12-06T00:30:23", "source": "opencloning_linkml.yaml" }, "@context": { @@ -249,14 +249,6 @@ "repository_id": { "@id": "repository_id" }, - "repository_name": { - "@context": { - "text": "skos:notation", - "description": "skos:prefLabel", - "meaning": "@id" - }, - "@id": "repository_name" - }, "restriction_enzyme": { "@id": "restriction_enzyme" }, diff --git a/project/jsonld/opencloning_linkml.jsonld b/project/jsonld/opencloning_linkml.jsonld index d23425b..bfe3d05 100644 --- a/project/jsonld/opencloning_linkml.jsonld +++ b/project/jsonld/opencloning_linkml.jsonld @@ -410,49 +410,6 @@ } ], "enums": [ - { - "name": "RepositoryName", - "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/RepositoryName", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "permissible_values": [ - { - "text": "addgene", - "description": "Addgene" - }, - { - "text": "genbank", - "description": "GenBank / NCBI" - }, - { - "text": "benchling", - "description": "Benchling" - }, - { - "text": "snapgene", - "description": "SnapGene plasmid library" - }, - { - "text": "euroscarf", - "description": "Euroscarf (plasmids only)" - }, - { - "text": "igem", - "description": "iGEM collection" - }, - { - "text": "wekwikgene", - "description": "WekWikGene" - }, - { - "text": "seva", - "description": "SEVA (Standard European Vector Architecture)" - }, - { - "text": "open_dna_collections", - "description": "Open DNA collections" - } - ] - }, { "name": "Collection", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/Collection", @@ -1093,19 +1050,6 @@ "range": "sequence_range", "@type": "SlotDefinition" }, - { - "name": "repositoryIdSource__repository_name", - "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", - "slot_uri": "https://opencloning.github.io/OpenCloning_LinkML/repository_name", - "alias": "repository_name", - "owner": "RepositoryIdSource", - "domain_of": [ - "RepositoryIdSource" - ], - "range": "RepositoryName", - "required": true, - "@type": "SlotDefinition" - }, { "name": "addgeneIdSource__addgene_sequence_type", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", @@ -2618,18 +2562,9 @@ "output_name", "database_id", "source__input", - "repository_id", - "repositoryIdSource__repository_name" + "repository_id" ], "slot_usage": {}, - "attributes": [ - { - "name": "repository_name", - "range": "RepositoryName", - "required": true, - "@type": "SlotDefinition" - } - ], "class_uri": "https://opencloning.github.io/OpenCloning_LinkML/RepositoryIdSource", "@type": "ClassDefinition" }, @@ -2646,7 +2581,6 @@ "database_id", "source__input", "repository_id", - "repositoryIdSource__repository_name", "sequence_file_url", "addgeneIdSource__addgene_sequence_type" ], @@ -2673,7 +2607,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "sequence_file_url", "WekWikGeneIdSource_repository_id" ], @@ -2693,7 +2626,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "SEVASource_sequence_file_url", "SEVASource_repository_id" ], @@ -2713,7 +2645,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "BenchlingUrlSource_repository_id" ], "slot_usage": {}, @@ -2732,7 +2663,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "SnapGenePlasmidSource_repository_id" ], "slot_usage": {}, @@ -2751,7 +2681,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "EuroscarfSource_repository_id" ], "slot_usage": {}, @@ -2770,7 +2699,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "IGEMSource_sequence_file_url", "IGEMSource_repository_id" ], @@ -2790,7 +2718,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "sequence_file_url", "OpenDNACollectionsSource_repository_id" ], @@ -2810,7 +2737,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "nCBISequenceSource__coordinates", "NCBISequenceSource_repository_id" ], @@ -2838,7 +2764,6 @@ "output_name", "database_id", "source__input", - "repositoryIdSource__repository_name", "nCBISequenceSource__coordinates", "NCBISequenceSource_repository_id", "genomeCoordinatesSource__assembly_accession", @@ -3575,9 +3500,9 @@ ], "metamodel_version": "1.7.0", "source_file": "opencloning_linkml.yaml", - "source_file_date": "2025-12-05T23:17:33", - "source_file_size": 26478, - "generation_date": "2025-12-05T23:17:42", + "source_file_date": "2025-12-06T00:30:19", + "source_file_size": 25654, + "generation_date": "2025-12-06T00:30:23", "@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 63ef5ab..f625728 100644 --- a/project/jsonschema/opencloning_linkml.schema.json +++ b/project/jsonschema/opencloning_linkml.schema.json @@ -46,9 +46,6 @@ "description": "The id of the sequence in the repository", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "sequence_file_url": { "description": "The URL of a sequence file", "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$", @@ -70,7 +67,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "AddgeneIdSource", @@ -388,9 +384,6 @@ "pattern": "^https:\\/\\/benchling\\.com\\/.+\\.gb$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "type": { "description": "Designates the class", "enum": [ @@ -404,7 +397,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "BenchlingUrlSource", @@ -1112,9 +1104,6 @@ "pattern": "^P\\d+$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "type": { "description": "Designates the class", "enum": [ @@ -1128,7 +1117,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "EuroscarfSource", @@ -1289,9 +1277,6 @@ "description": "The sequence accession (e.g. X60065.1)", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "type": { "description": "Designates the class", "enum": [ @@ -1305,7 +1290,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "GenomeCoordinatesSource", @@ -1480,9 +1464,6 @@ "description": "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "sequence_file_url": { "description": "The URL of the sequence file, for now github repository", "pattern": "^.*.gb$", @@ -1502,7 +1483,6 @@ "required": [ "sequence_file_url", "repository_id", - "repository_name", "id" ], "title": "IGEMSource", @@ -1856,9 +1836,6 @@ "description": "The sequence accession (e.g. X60065.1)", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "type": { "description": "Designates the class", "enum": [ @@ -1872,7 +1849,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "NCBISequenceSource", @@ -2003,9 +1979,6 @@ "pattern": "^[^\\/]+\\/[^\\/]+$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "sequence_file_url": { "description": "The URL of a sequence file", "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$", @@ -2027,7 +2000,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "OpenDNACollectionsSource", @@ -2413,9 +2385,6 @@ "description": "The id of the sequence in the repository", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "type": { "description": "Designates the class", "enum": [ @@ -2429,28 +2398,11 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "RepositoryIdSource", "type": "object" }, - "RepositoryName": { - "description": "", - "enum": [ - "addgene", - "genbank", - "benchling", - "snapgene", - "euroscarf", - "igem", - "wekwikgene", - "seva", - "open_dna_collections" - ], - "title": "RepositoryName", - "type": "string" - }, "RestrictionAndLigationSource": { "additionalProperties": false, "description": "Represents the source of a sequence that is generated by restriction and ligation", @@ -2721,9 +2673,6 @@ "pattern": "^pSEVA\\d+.*$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "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()@:%_\\+.~#?&//=]*)$", @@ -2745,7 +2694,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "SEVASource", @@ -2945,9 +2893,6 @@ "pattern": "^[^\\/]+\\/[^\\/]+$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "type": { "description": "Designates the class", "enum": [ @@ -2961,7 +2906,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "SnapGenePlasmidSource", @@ -3215,9 +3159,6 @@ "pattern": "^\\d+$", "type": "string" }, - "repository_name": { - "$ref": "#/$defs/RepositoryName" - }, "sequence_file_url": { "description": "The URL of a sequence file", "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$", @@ -3239,7 +3180,6 @@ }, "required": [ "repository_id", - "repository_name", "id" ], "title": "WekWikGeneIdSource", diff --git a/project/owl/opencloning_linkml.owl.ttl b/project/owl/opencloning_linkml.owl.ttl index 99c0ae1..c7f4986 100644 --- a/project/owl/opencloning_linkml.owl.ttl +++ b/project/owl/opencloning_linkml.owl.ttl @@ -15,65 +15,65 @@ opencloning_linkml:CloningStrategy a owl:Class, linkml:ClassDefinition ; rdfs:label "CloningStrategy" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:schema_version ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:schema_version ], + owl:allValuesFrom opencloning_linkml:Source ; + owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFile ; - owl:onProperty opencloning_linkml:files ], + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:frontend_version ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:schema_version ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:backend_version ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:version_number ; owl:onProperty opencloning_linkml:frontend_version ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequences ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:files ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:frontend_version ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Primer ; - owl:onProperty opencloning_linkml:primers ], + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:backend_version ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:backend_version ] ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequences ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:Primer ; + owl:onProperty opencloning_linkml:primers ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:AssociatedFile ; + owl:onProperty opencloning_linkml:files ] ; skos:definition "Represents a cloning strategy" ; skos:inScheme . @@ -92,31 +92,31 @@ opencloning_linkml:CollectionOption a owl:Class, rdfs:label "CollectionOption" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:info ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:Source ; owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:source ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:info ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; - owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:source ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:source ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ] ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:source ] ; skos:definition "Represents an option in a collection" ; skos:inScheme . @@ -124,41 +124,41 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOptionInfo" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionType ; - owl:onProperty opencloning_linkml:type ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:resistance ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:CollectionOptionType ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:well ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:well ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], @@ -166,8 +166,8 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:resistance ] ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ] ; skos:definition "Additional information about a collection option" ; skos:inScheme . @@ -179,11 +179,11 @@ opencloning_linkml:AddgeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AddgeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:addgene_sequence_type ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; 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:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -191,11 +191,11 @@ opencloning_linkml:AddgeneIdSource 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:sequence_file_url ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; + owl:minCardinality 0 ; 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:addgene_sequence_type ], @@ -217,29 +217,29 @@ 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 ], - [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:annotation_tool_version ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:annotation_tool ], + owl:onProperty opencloning_linkml:annotation_report ], [ a owl:Restriction ; 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:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationTool ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:annotation_report ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:annotation_report ], + owl:onProperty opencloning_linkml:annotation_tool_version ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:annotation_tool ], opencloning_linkml:Source ; skos:definition "Represents a computational step in which sequence features are annotated in a sequence" ; skos:inScheme . @@ -248,25 +248,13 @@ opencloning_linkml:AssemblyFragment a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblyFragment" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:left_location ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_location ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:right_location ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:right_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; @@ -274,6 +262,18 @@ opencloning_linkml:AssemblyFragment a owl:Class, [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:reverse_complemented ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:reverse_complemented ], + [ 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:allValuesFrom opencloning_linkml:sequence_range ; + owl:onProperty opencloning_linkml:right_location ], opencloning_linkml:SourceInput ; skos:definition "Represents a fragment in an assembly" ; skos:inScheme . @@ -282,13 +282,13 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, linkml:ClassDefinition ; rdfs:label "BenchlingUrlSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], @@ -327,44 +327,44 @@ opencloning_linkml:CollectionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:options ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:title ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:category_id ], + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:category_id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:image ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:image ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOption ; owl:onProperty opencloning_linkml:options ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:category_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:description ], opencloning_linkml:Source ; skos:definition "Represents a collection of possible sources in a template" ; skos:inScheme . @@ -380,14 +380,14 @@ opencloning_linkml:DatabaseSource a owl:Class, linkml:ClassDefinition ; rdfs:label "DatabaseSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a database id" ; skos:inScheme . @@ -396,7 +396,7 @@ opencloning_linkml:EuroscarfSource a owl:Class, linkml:ClassDefinition ; rdfs:label "EuroscarfSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -404,7 +404,7 @@ opencloning_linkml:EuroscarfSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^P\\d+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + 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" ; @@ -424,23 +424,23 @@ opencloning_linkml:GatewaySource a owl:Class, linkml:ClassDefinition ; rdfs:label "GatewaySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:greedy ], - [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:GatewayReactionType ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:reaction_type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:reaction_type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:greedy ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:reaction_type ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by Gateway cloning" ; skos:inScheme . @@ -450,40 +450,40 @@ opencloning_linkml:GenomeCoordinatesSource a owl:Class, rdfs:label "GenomeCoordinatesSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:location ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:location ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:assembly_accession ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:gene_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:locus_tag ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:location ], [ 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:maxCardinality 1 ; + owl:onProperty opencloning_linkml:gene_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:gene_id ], + owl:onProperty opencloning_linkml:location ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:assembly_accession ], opencloning_linkml:NCBISequenceSource ; skos:definition "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; skos:inScheme . @@ -500,9 +500,9 @@ opencloning_linkml:IGEMSource a owl:Class, rdfs:label "IGEMSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; @@ -510,15 +510,15 @@ opencloning_linkml:IGEMSource a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from an iGEM collection" ; skos:inScheme . @@ -548,15 +548,6 @@ opencloning_linkml:ManuallyTypedSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "ManuallyTypedSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; @@ -564,28 +555,37 @@ opencloning_linkml:ManuallyTypedSequence a owl:Class, owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circular ], + owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:circular ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:minCardinality 0 ; + 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:circular ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:onProperty opencloning_linkml:circular ], opencloning_linkml:Sequence ; skos:definition "Represents a sequence that is manually typed by the user" ; skos:inScheme . @@ -601,13 +601,13 @@ opencloning_linkml:NamedThing a owl:Class, linkml:ClassDefinition ; rdfs:label "NamedThing" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:id ], - [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ] ; skos:exactMatch schema1:Thing ; skos:inScheme . @@ -616,13 +616,13 @@ opencloning_linkml:OligoHybridizationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OligoHybridizationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl: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" ; @@ -632,28 +632,28 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OpenDNACollectionsSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Open DNA collections" ; skos:inScheme . @@ -669,10 +669,10 @@ opencloning_linkml:PCRSource a owl:Class, linkml:ClassDefinition ; rdfs:label "PCRSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -685,25 +685,34 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, linkml:ClassDefinition ; rdfs:label "PlannotateAnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:strand ], + [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Type ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end_location ], + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:fragment ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:start_location ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; @@ -712,104 +721,95 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:database ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:end_location ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:onProperty opencloning_linkml:fragment ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:sseqid ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start_location ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Feature ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:percent_match_length ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:fragment ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_match_length ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + [ 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:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:Description ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:start_location ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end_location ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:Type ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:end_location ], opencloning_linkml:AnnotationReport ; skos:definition "Represents a report of an annotation step using Plannotate" ; skos:inScheme . @@ -821,59 +821,14 @@ opencloning_linkml:PolymeraseExtensionSource a owl:Class, skos:definition "Represents the source of a sequence that is generated by polymerase extension" ; skos:inScheme . - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "addgene" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "benchling" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "euroscarf" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "genbank" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "igem" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "open_dna_collections" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "seva" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "snapgene" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - - a owl:Class, - opencloning_linkml:RepositoryName ; - rdfs:label "wekwikgene" ; - rdfs:subClassOf opencloning_linkml:RepositoryName . - opencloning_linkml:RestrictionAndLigationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionAndLigationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzymes ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzymes ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by restriction and ligation" ; @@ -883,19 +838,19 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionEnzymeDigestionSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_edge ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; + owl:onProperty opencloning_linkml:left_edge ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -908,13 +863,13 @@ opencloning_linkml:RestrictionSequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionSequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + 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" ; @@ -932,7 +887,7 @@ opencloning_linkml:SEVASource a owl:Class, rdfs:label "SEVASource" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -940,18 +895,18 @@ opencloning_linkml:SEVASource 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:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a SEVA id" ; @@ -981,10 +936,10 @@ opencloning_linkml:SequencingFile a owl:Class, linkml:ClassDefinition ; rdfs:label "SequencingFile" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:alignment ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:alignment ], opencloning_linkml:AssociatedFile ; skos:definition "Represents a sequencing file and its alignment to a sequence" ; @@ -994,15 +949,15 @@ opencloning_linkml:SnapGenePlasmidSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SnapGenePlasmidSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; @@ -1012,22 +967,22 @@ opencloning_linkml:TemplateSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TemplateSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primer_design ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:primer_design ], + owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circular ], + owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:primer_design ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml: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" ; @@ -1037,41 +992,41 @@ opencloning_linkml:TextFileSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TextFileSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_content ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; 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:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_content ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], opencloning_linkml:Sequence ; skos:definition "A sequence (may have features) defined by the content of a text file" ; skos:inScheme . @@ -1080,50 +1035,50 @@ opencloning_linkml:UploadedFileSource a owl:Class, linkml:ClassDefinition ; rdfs:label "UploadedFileSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:coordinates ], + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:coordinates ], + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:coordinates ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circularize ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:coordinates ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:coordinates ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is uploaded as a file" ; skos:inScheme . @@ -1133,9 +1088,10 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, rdfs:label "WekWikGeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^\\d+$" ] ) ] ; - owl:onProperty opencloning_linkml:repository_id ], + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], @@ -1147,10 +1103,9 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^\\d+$" ] ) ] ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], @@ -1247,22 +1202,22 @@ opencloning_linkml:NCBISequenceSource a owl:Class, linkml:ClassDefinition ; rdfs:label "NCBISequenceSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:allValuesFrom opencloning_linkml:simple_sequence_location ; + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:coordinates ], + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:simple_sequence_location ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:coordinates ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by an NCBI sequence accession" ; @@ -1272,26 +1227,26 @@ opencloning_linkml:Primer a owl:Class, linkml:ClassDefinition ; rdfs:label "Primer" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -1299,8 +1254,8 @@ opencloning_linkml:Primer a owl:Class, owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:name ], opencloning_linkml:Sequence ; skos:definition "An oligonucleotide or primer" ; skos:inScheme . @@ -1309,23 +1264,23 @@ opencloning_linkml:SequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:cut_watson ] ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang ] ; skos:definition "Represents a cut in a DNA sequence" ; skos:inScheme . @@ -1333,13 +1288,16 @@ opencloning_linkml:SequenceCutSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCutSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceCut ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:right_edge ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -1347,9 +1305,6 @@ opencloning_linkml:SequenceCutSource a owl:Class, [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:right_edge ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - 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 . @@ -1522,11 +1477,6 @@ opencloning_linkml:reaction_type a owl:ObjectProperty, rdfs:label "reaction_type" ; skos:inScheme . -opencloning_linkml:repository_name a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "repository_name" ; - skos:inScheme . - opencloning_linkml:resistance a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "resistance" ; @@ -1623,37 +1573,37 @@ opencloning_linkml:AssociatedFile a owl:Class, linkml:ClassDefinition ; rdfs:label "AssociatedFile" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:AssociatedFileType ; + owl:onProperty opencloning_linkml:file_type ], + [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], + owl:onProperty opencloning_linkml:sequence_id ], + [ 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 linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFileType ; - owl:onProperty opencloning_linkml:file_type ], + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; @@ -1672,22 +1622,22 @@ opencloning_linkml:SourceInput a owl:Class, rdfs:label "SourceInput" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ] ; + owl:onProperty opencloning_linkml:type ] ; skos:definition "Represents an input to a source" ; skos:exactMatch schema1:Role ; skos:inScheme . @@ -1750,17 +1700,17 @@ opencloning_linkml:Sequence a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], @@ -1800,23 +1750,14 @@ opencloning_linkml:RepositoryIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RepositoryIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RepositoryName ; - owl:onProperty opencloning_linkml:repository_name ], + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a repository id" ; skos:inScheme . @@ -1833,13 +1774,13 @@ opencloning_linkml:AssemblySource a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is an assembly of other sequences" ; @@ -1852,38 +1793,38 @@ opencloning_linkml:Source a owl:Class, linkml:ClassDefinition ; rdfs:label "Source" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database_id ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:input ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:output_name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:output_name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SourceInput ; - owl:onProperty opencloning_linkml:input ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:output_name ], opencloning_linkml:NamedThing ; skos:definition "Represents the source of a sequence" ; skos:exactMatch schema1:CreateAction ; @@ -1899,19 +1840,6 @@ opencloning_linkml:sequence_file_url a owl:ObjectProperty, skos:definition "The URL of a sequence file" ; skos:inScheme . -opencloning_linkml:RepositoryName a owl:Class, - linkml:EnumDefinition ; - owl:unionOf ( ) ; - linkml:permissible_values , - , - , - , - , - , - , - , - . - opencloning_linkml:repository_id a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "repository_id" ; @@ -1940,124 +1868,114 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:DatabaseSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; - owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . - -[] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; - owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . - -[] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; + rdfs:subClassOf opencloning_linkml:TemplateSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . + owl:someValuesFrom opencloning_linkml:TemplateSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; + rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AddgeneIdSource . + owl:someValuesFrom opencloning_linkml:RepositoryIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:LigationSource ; + rdfs:subClassOf opencloning_linkml:AnnotationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:LigationSource . + owl:someValuesFrom opencloning_linkml:AnnotationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CRISPRSource ; + rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CRISPRSource . + owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; + rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . + owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CollectionSource ; + rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CollectionSource . + owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Source ; + rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Source . + owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:UploadedFileSource ; + rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:UploadedFileSource . + owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InFusionSource ; + rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InFusionSource . + owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; + rdfs:subClassOf opencloning_linkml:EuroscarfSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . + owl:someValuesFrom opencloning_linkml:EuroscarfSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; + rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . + owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TextFileSequence ; + rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TextFileSequence . + owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Primer ; + rdfs:subClassOf opencloning_linkml:PCRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Primer . + owl:someValuesFrom opencloning_linkml:PCRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequencingFile ; + rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequencingFile . + owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . + owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; + rdfs:subClassOf opencloning_linkml:Source ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . + owl:someValuesFrom opencloning_linkml:Source . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; + rdfs:subClassOf opencloning_linkml:NCBISequenceSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . + owl:someValuesFrom opencloning_linkml:NCBISequenceSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ManuallyTypedSequence ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ManuallyTypedSequence . + owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; + rdfs:subClassOf opencloning_linkml:AssociatedFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . + owl:someValuesFrom opencloning_linkml:AssociatedFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SourceInput ; + rdfs:subClassOf opencloning_linkml:SEVASource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SourceInput . + owl:someValuesFrom opencloning_linkml:SEVASource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; + rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . + owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:IGEMSource ; + rdfs:subClassOf opencloning_linkml:GatewaySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:IGEMSource . + owl:someValuesFrom opencloning_linkml:GatewaySource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; @@ -2065,29 +1983,29 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; + rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . + owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . [] 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:SequenceCutSource ; + rdfs:subClassOf opencloning_linkml:TextFileSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequenceCutSource . + owl:someValuesFrom opencloning_linkml:TextFileSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblyFragment ; + rdfs:subClassOf opencloning_linkml:UploadedFileSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblyFragment . + owl:someValuesFrom opencloning_linkml:UploadedFileSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; + rdfs:subClassOf opencloning_linkml:CollectionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RepositoryIdSource . + owl:someValuesFrom opencloning_linkml:CollectionSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:Sequence ; @@ -2095,39 +2013,39 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:Sequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; + rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . + owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationReport ; + rdfs:subClassOf opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationReport . + owl:someValuesFrom opencloning_linkml:SourceInput . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PCRSource ; + rdfs:subClassOf opencloning_linkml:AssemblyFragment ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PCRSource . + owl:someValuesFrom opencloning_linkml:AssemblyFragment . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SEVASource ; + rdfs:subClassOf opencloning_linkml:InFusionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SEVASource . + owl:someValuesFrom opencloning_linkml:InFusionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; + rdfs:subClassOf opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ReverseComplementSource . + owl:someValuesFrom opencloning_linkml:AnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationSource ; + rdfs:subClassOf opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationSource . + owl:someValuesFrom opencloning_linkml:Primer . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GatewaySource ; + rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GatewaySource . + owl:someValuesFrom opencloning_linkml:AddgeneIdSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:AssemblySource ; @@ -2135,26 +2053,36 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:AssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TemplateSequence ; + rdfs:subClassOf opencloning_linkml:LigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TemplateSequence . + owl:someValuesFrom opencloning_linkml:LigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; + rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . + owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:EuroscarfSource ; + rdfs:subClassOf opencloning_linkml:IGEMSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:EuroscarfSource . + owl:someValuesFrom opencloning_linkml:IGEMSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:NCBISequenceSource ; + rdfs:subClassOf opencloning_linkml:SequenceCutSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:NCBISequenceSource . + owl:someValuesFrom opencloning_linkml:SequenceCutSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssociatedFile ; + rdfs:subClassOf opencloning_linkml:CRISPRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssociatedFile . + owl:someValuesFrom opencloning_linkml:CRISPRSource . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:SequencingFile ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:SequencingFile . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSequence ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:ManuallyTypedSequence . diff --git a/project/protobuf/opencloning_linkml.proto b/project/protobuf/opencloning_linkml.proto index cdbf6b7..2b61adf 100644 --- a/project/protobuf/opencloning_linkml.proto +++ b/project/protobuf/opencloning_linkml.proto @@ -10,7 +10,6 @@ message AddgeneIdSource integer databaseId = 0 repeated sourceInput input = 0 string repositoryId = 0 - repositoryName repositoryName = 0 string sequenceFileUrl = 0 addgeneSequenceType addgeneSequenceType = 0 } @@ -66,7 +65,6 @@ message BenchlingUrlSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string repositoryId = 0 } // Represents a cloning strategy @@ -148,7 +146,6 @@ message EuroscarfSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string repositoryId = 0 } // Represents the source of a sequence that is generated by Gateway cloning @@ -171,7 +168,6 @@ message GenomeCoordinatesSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 simpleSequenceLocation coordinates = 0 string repositoryId = 0 string assemblyAccession = 0 @@ -207,7 +203,6 @@ message IGEMSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string sequenceFileUrl = 0 string repositoryId = 0 } @@ -272,7 +267,6 @@ message NCBISequenceSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 simpleSequenceLocation coordinates = 0 string repositoryId = 0 } @@ -294,7 +288,6 @@ message OpenDNACollectionsSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string sequenceFileUrl = 0 string repositoryId = 0 } @@ -365,7 +358,6 @@ message RepositoryIdSource integer databaseId = 0 repeated sourceInput input = 0 string repositoryId = 0 - repositoryName repositoryName = 0 } // Represents the source of a sequence that is generated by restriction and ligation message RestrictionAndLigationSource @@ -439,7 +431,6 @@ message SEVASource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string sequenceFileUrl = 0 string repositoryId = 0 } @@ -451,7 +442,6 @@ message SnapGenePlasmidSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string repositoryId = 0 } // Represents an input to a source @@ -500,7 +490,6 @@ message WekWikGeneIdSource string outputName = 0 integer databaseId = 0 repeated sourceInput input = 0 - repositoryName repositoryName = 0 string sequenceFileUrl = 0 string repositoryId = 0 } diff --git a/project/python/opencloning_linkml.py b/project/python/opencloning_linkml.py index 002619f..34ab39b 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-12-05T23:17:44 +# Generation date: 2025-12-06T00:30:24 # Schema: OpenCloning_LinkML # # id: https://opencloning.github.io/OpenCloning_LinkML @@ -842,7 +842,6 @@ class RepositoryIdSource(Source): id: Union[int, RepositoryIdSourceId] = None repository_id: str = None - repository_name: Union[str, "RepositoryName"] = None def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -855,11 +854,6 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.repository_id, str): self.repository_id = str(self.repository_id) - if self._is_empty(self.repository_name): - self.MissingRequiredField("repository_name") - if not isinstance(self.repository_name, RepositoryName): - self.repository_name = RepositoryName(self.repository_name) - super().__post_init__(**kwargs) self.type = str(self.class_name) @@ -879,7 +873,6 @@ class AddgeneIdSource(RepositoryIdSource): id: Union[int, AddgeneIdSourceId] = None repository_id: str = None - repository_name: Union[str, "RepositoryName"] = None sequence_file_url: Optional[str] = None addgene_sequence_type: Optional[Union[str, "AddgeneSequenceType"]] = None @@ -913,7 +906,6 @@ class WekWikGeneIdSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.WekWikGeneIdSource id: Union[int, WekWikGeneIdSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None sequence_file_url: Optional[str] = None @@ -949,7 +941,6 @@ class SEVASource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.SEVASource id: Union[int, SEVASourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None sequence_file_url: Optional[str] = None @@ -985,7 +976,6 @@ class BenchlingUrlSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.BenchlingUrlSource id: Union[int, BenchlingUrlSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None def __post_init__(self, *_: str, **kwargs: Any): @@ -1018,7 +1008,6 @@ class SnapGenePlasmidSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.SnapGenePlasmidSource id: Union[int, SnapGenePlasmidSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None def __post_init__(self, *_: str, **kwargs: Any): @@ -1050,7 +1039,6 @@ class EuroscarfSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.EuroscarfSource id: Union[int, EuroscarfSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None def __post_init__(self, *_: str, **kwargs: Any): @@ -1082,7 +1070,6 @@ class IGEMSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.IGEMSource id: Union[int, IGEMSourceId] = None - repository_name: Union[str, "RepositoryName"] = None sequence_file_url: str = None repository_id: str = None @@ -1120,7 +1107,6 @@ class OpenDNACollectionsSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.OpenDNACollectionsSource id: Union[int, OpenDNACollectionsSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None sequence_file_url: Optional[str] = None @@ -1156,7 +1142,6 @@ class NCBISequenceSource(RepositoryIdSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.NCBISequenceSource id: Union[int, NCBISequenceSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None coordinates: Optional[Union[str, SimpleSequenceLocation]] = None @@ -1192,7 +1177,6 @@ class GenomeCoordinatesSource(NCBISequenceSource): class_model_uri: ClassVar[URIRef] = OPENCLONING_LINKML.GenomeCoordinatesSource id: Union[int, GenomeCoordinatesSourceId] = None - repository_name: Union[str, "RepositoryName"] = None repository_id: str = None location: str = None assembly_accession: Optional[str] = None @@ -2023,23 +2007,6 @@ def __post_init__(self, *_: str, **kwargs: Any): # Enumerations -class RepositoryName(EnumDefinitionImpl): - - addgene = PermissibleValue(text="addgene", description="Addgene") - genbank = PermissibleValue(text="genbank", description="GenBank / NCBI") - benchling = PermissibleValue(text="benchling", description="Benchling") - snapgene = PermissibleValue(text="snapgene", description="SnapGene plasmid library") - euroscarf = PermissibleValue(text="euroscarf", description="Euroscarf (plasmids only)") - igem = PermissibleValue(text="igem", description="iGEM collection") - wekwikgene = PermissibleValue(text="wekwikgene", description="WekWikGene") - seva = PermissibleValue(text="seva", description="SEVA (Standard European Vector Architecture)") - open_dna_collections = PermissibleValue(text="open_dna_collections", description="Open DNA collections") - - _defn = EnumDefinition( - name="RepositoryName", - ) - - class Collection(EnumDefinitionImpl): AddgenePlasmid = PermissibleValue(text="AddgenePlasmid", description="A plasmid from Addgene") @@ -2473,15 +2440,6 @@ class slots: range=Optional[Union[str, SequenceRange]], ) -slots.repositoryIdSource__repository_name = Slot( - uri=OPENCLONING_LINKML.repository_name, - name="repositoryIdSource__repository_name", - curie=OPENCLONING_LINKML.curie("repository_name"), - model_uri=OPENCLONING_LINKML.repositoryIdSource__repository_name, - domain=None, - range=Union[str, "RepositoryName"], -) - slots.addgeneIdSource__addgene_sequence_type = Slot( uri=OPENCLONING_LINKML.addgene_sequence_type, name="addgeneIdSource__addgene_sequence_type", diff --git a/project/shacl/opencloning_linkml.shacl.ttl b/project/shacl/opencloning_linkml.shacl.ttl index 4b526ef..89b7ee4 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_id opencloning_linkml:assembly_accession opencloning_linkml:sequence opencloning_linkml:description schema1:object opencloning_linkml:file_content opencloning_linkml:sequence_file_url opencloning_linkml:repository_name opencloning_linkml:circularize opencloning_linkml:primer_design opencloning_linkml:greedy opencloning_linkml:output_name opencloning_linkml:right_edge opencloning_linkml:left_edge opencloning_linkml:gene_id opencloning_linkml:annotation_report opencloning_linkml:annotation_tool opencloning_linkml:locus_tag opencloning_linkml:type opencloning_linkml:options opencloning_linkml:image opencloning_linkml:reaction_type opencloning_linkml:overhang_watson_3prime opencloning_linkml:add_primer_features opencloning_linkml:sequence_file_format opencloning_linkml:restriction_enzymes opencloning_linkml:title opencloning_linkml:file_name opencloning_linkml:annotation_tool_version opencloning_linkml:index_in_file rdf:type opencloning_linkml:coordinates opencloning_linkml:overhang_crick_3prime schema1:name opencloning_linkml:category_id opencloning_linkml:circular opencloning_linkml:addgene_sequence_type ) ; + sh:ignoredProperties ( opencloning_linkml:annotation_tool schema1:name opencloning_linkml:sequence opencloning_linkml:annotation_report schema1:object opencloning_linkml:add_primer_features opencloning_linkml:file_name opencloning_linkml:primer_design opencloning_linkml:coordinates opencloning_linkml:output_name opencloning_linkml:left_edge opencloning_linkml:type rdf:type opencloning_linkml:reaction_type opencloning_linkml:overhang_crick_3prime opencloning_linkml:description opencloning_linkml:assembly_accession opencloning_linkml:sequence_file_format opencloning_linkml:right_edge opencloning_linkml:annotation_tool_version opencloning_linkml:image opencloning_linkml:restriction_enzymes opencloning_linkml:greedy opencloning_linkml:sequence_file_url opencloning_linkml:options opencloning_linkml:category_id opencloning_linkml:overhang_watson_3prime opencloning_linkml:addgene_sequence_type opencloning_linkml:gene_id opencloning_linkml:file_content opencloning_linkml:circularize opencloning_linkml:locus_tag opencloning_linkml:repository_id opencloning_linkml:circular opencloning_linkml:title opencloning_linkml:index_in_file ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -21,16 +21,18 @@ 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:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:addgene_sequence_type ], + 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 8 ; + sh:order 7 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; @@ -39,33 +41,15 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh: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 6 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; - sh:path schema1:object ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + [ sh:in ( "depositor-full" "addgene-full" ) ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 3 ; - sh:path opencloning_linkml:repository_name ], + sh:order 1 ; + sh:path opencloning_linkml:addgene_sequence_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 5 ; + sh:order 4 ; sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "The id of the sequence in the repository" ; @@ -73,17 +57,30 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:repository_id ] ; + sh:path opencloning_linkml:repository_id ], + [ 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:targetClass opencloning_linkml:AddgeneIdSource . opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a computational step in which sequence features are annotated in a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class opencloning_linkml:AnnotationReport ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path opencloning_linkml:annotation_report ], + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -97,51 +94,39 @@ opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:annotation_tool_version ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; + sh:order 5 ; sh:path schema1:identifier ], - [ sh:in ( "plannotate" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:annotation_tool ], [ 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:in ( "plannotate" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:annotation_tool ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ] ; + sh:order 7 ; + sh:path schema1:identifier ], + [ sh:class opencloning_linkml:AnnotationReport ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path opencloning_linkml:annotation_report ] ; sh:targetClass opencloning_linkml:AnnotationSource . opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:closed true ; sh:description "Represents a fragment in an assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:left_location ], - [ sh:maxCount 1 ; + sh:property [ sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:right_location ], @@ -158,30 +143,35 @@ opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 4 ; - sh:path opencloning_linkml:sequence ] ; + sh:path opencloning_linkml:sequence ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:left_location ] ; sh:targetClass opencloning_linkml:AssemblyFragment . opencloning_linkml:AssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is an assembly of other sequences" ; - sh:ignoredProperties ( opencloning_linkml:reaction_type opencloning_linkml:add_primer_features opencloning_linkml:greedy rdf:type opencloning_linkml:restriction_enzymes ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:ignoredProperties ( rdf:type opencloning_linkml:add_primer_features opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type opencloning_linkml:greedy ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -189,18 +179,23 @@ opencloning_linkml:AssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + [ sh: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: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:targetClass opencloning_linkml:AssemblySource . opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; @@ -211,36 +206,31 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; + sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; + 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 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 3 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The url of the gb file associated with the sequence" ; @@ -256,23 +246,12 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by CRISPR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -286,12 +265,23 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:CRISPRSource . opencloning_linkml:CloningStrategy a sh:NodeShape ; @@ -308,24 +298,18 @@ opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 2 ; sh:path opencloning_linkml:primers ], - [ sh:class schema1:CreateAction ; - sh:description "The sources of the sequences that are used in the cloning strategy" ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path opencloning_linkml:sources ], - [ sh:class bioschemas:DNA ; - sh:description "The sequences that are used in the cloning strategy" ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path opencloning_linkml:sequences ], [ sh: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:class bioschemas:DNA ; + sh:description "The sequences that are used in the cloning strategy" ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path opencloning_linkml:sequences ], [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -336,6 +320,12 @@ opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path opencloning_linkml:backend_version ], + [ sh:class schema1:CreateAction ; + sh:description "The sources of the sequences that are used in the cloning strategy" ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path opencloning_linkml:sources ], [ sh:description "The version of the schema that was used to generate this cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -347,18 +337,7 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a collection of possible sources in a template" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd: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: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 "The title of the category" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -372,106 +351,116 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 9 ; sh:path schema1:identifier ], + [ sh:class opencloning_linkml:CollectionOption ; + sh:description "The options available in this category." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path opencloning_linkml:options ], [ sh:datatype xsd:string ; - sh:description "A description of the category" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:description ], - [ sh:datatype xsd:string ; - sh:description "The identifier of the category of the part in the template" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:category_id ], + sh:order 5 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:image ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; + sh:order 7 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "The identifier of the category of the part in the template" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:category_id ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 8 ; sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "A description of the category" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ] ; + sh:order 2 ; + sh:path opencloning_linkml:description ] ; 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:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 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 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:CreLoxRecombinationSource . opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a database id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh: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:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -479,12 +468,13 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 4 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:DatabaseSource . opencloning_linkml:EuroscarfSource a sh:NodeShape ; @@ -492,34 +482,35 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:description "Represents the source of a sequence from the Euroscarf plasmid library" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 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 5 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; sh:order 1 ; - sh:path opencloning_linkml:repository_name ], + sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 5 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "The id of the plasmid in the Euroscarf plasmid library" ; sh:maxCount 1 ; @@ -527,53 +518,42 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; 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:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:pattern "^P\\d+$" ] ; 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:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; + sh: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:in ( "LR" "BP" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:reaction_type ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:in ( "LR" "BP" ) ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:reaction_type ], + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -581,6 +561,11 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; 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:boolean ; sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; sh:maxCount 1 ; @@ -593,78 +578,85 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The sequence accession (e.g. X60065.1)" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The gene id of the sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:repository_id ], + sh:order 2 ; + sh:path opencloning_linkml:gene_id ], [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:coordinates ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + 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 ; sh:nodeKind sh:Literal ; sh:order 6 ; - sh:path opencloning_linkml:type ], + 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 9 ; + sh:order 8 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The accession of the assembly" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:assembly_accession ], + sh:order 7 ; + 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 10 ; + 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 1 ; - sh:path opencloning_linkml:locus_tag ], - [ sh:datatype xsd:integer ; - sh:description "The gene id of the sequence" ; + sh:description "The sequence accession (e.g. X60065.1)" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:gene_id ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:order 4 ; + sh:path opencloning_linkml:repository_id ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 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 5 ; - sh:path opencloning_linkml:repository_name ], + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The locus tag of the sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 1 ; + sh:path opencloning_linkml:locus_tag ] ; sh:targetClass opencloning_linkml:GenomeCoordinatesSource . opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Gibson assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -676,12 +668,6 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -689,12 +675,6 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], [ sh: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 ; @@ -706,42 +686,42 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by homologous recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "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: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:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + 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 0 ; - sh:path opencloning_linkml:circular ], + sh:order 5 ; + 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 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 1 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:HomologousRecombinationSource . opencloning_linkml:IGEMSource a sh:NodeShape ; @@ -749,40 +729,24 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:description "Represents the source of a sequence from an iGEM collection" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; + sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml: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:order 3 ; sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh: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:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The URL of the sequence file, for now github repository" ; sh:maxCount 1 ; @@ -791,6 +755,17 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^.*.gb$" ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 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:string ; sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$" ; sh:maxCount 1 ; @@ -805,22 +780,28 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh: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: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 ; @@ -833,92 +814,86 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:InFusionSource . opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd: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: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 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path schema1:identifier ], [ sh: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: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 3 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:InVivoAssemblySource . opencloning_linkml:LigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -931,12 +906,11 @@ opencloning_linkml:ManuallyTypedSequence a sh:NodeShape ; sh:description "Represents a sequence that is manually typed by the user" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 1 ; + sh:path opencloning_linkml:overhang_watson_3prime ], [ sh:datatype xsd:string ; sh:description "The sequence of the manually typed sequence" ; sh:maxCount 1 ; @@ -946,23 +920,24 @@ opencloning_linkml:ManuallyTypedSequence a sh:NodeShape ; sh:path opencloning_linkml:sequence ; sh:pattern "^[acgtACGT]+$" ], [ sh:datatype xsd:integer ; - sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang_watson_3prime ], + sh:order 0 ; + sh:path opencloning_linkml:overhang_crick_3prime ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + 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 3 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:overhang_crick_3prime ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -975,23 +950,11 @@ 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:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -999,89 +962,84 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd: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:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:ManuallyTypedSource . opencloning_linkml:NCBISequenceSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by an NCBI sequence accession" ; sh:ignoredProperties ( opencloning_linkml:gene_id rdf:type opencloning_linkml:locus_tag opencloning_linkml:assembly_accession ) ; - sh:property [ 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:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:coordinates ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "The sequence accession (e.g. X60065.1)" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:repository_id ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 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 4 ; + sh:order 3 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:description "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 0 ; + 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 6 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ] ; + sh:order 5 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:NCBISequenceSource . 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:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh: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 3 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:overhang_crick_3prime ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1089,91 +1047,92 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:order 1 ; 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:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:overhang_crick_3prime ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:OligoHybridizationSource . opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Open DNA collections" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 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: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 5 ; + sh:order 4 ; sh:path schema1:identifier ], + [ 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:pattern "^[^\\/]+\\/[^\\/]+$" ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; + sh:order 5 ; sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The URL of a sequence file" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], - [ sh:datatype xsd:string ; - sh:description "Subpath of the sequence in the Open DNA collections repository" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^[^\\/]+\\/[^\\/]+$" ], + sh:order 6 ; + sh:path schema1:identifier ], [ 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: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:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1192,30 +1151,25 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ] ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd: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: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:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1227,119 +1181,129 @@ opencloning_linkml:PCRSource a sh:NodeShape ; 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: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:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:circular ] ; 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:float ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:percent_match_length ], - [ sh:datatype xsd:float ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:percent_identity ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:length_of_found_feature ], + sh:order 3 ; + sh:path opencloning_linkml:strand ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:full_length_of_feature_in_db ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:start_location ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path opencloning_linkml:sequence ], + sh:order 9 ; + sh:path opencloning_linkml:database ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:sseqid ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 12 ; - sh:path opencloning_linkml:Description ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 8 ; sh:path opencloning_linkml:fragment ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:end_location ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 11 ; sh:path opencloning_linkml:Type ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path opencloning_linkml:Description ], + [ 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:datatype xsd:integer ; + [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:strand ], + sh:order 4 ; + sh:path opencloning_linkml:percent_identity ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 10 ; - sh:path opencloning_linkml:Feature ] ; + sh:path opencloning_linkml:Feature ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path opencloning_linkml:sequence ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:start_location ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path opencloning_linkml:length_of_found_feature ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:end_location ] ; sh:targetClass opencloning_linkml:PlannotateAnnotationReport . opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by polymerase extension" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml: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 3 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1347,182 +1311,177 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:PolymeraseExtensionSource . opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a repository id" ; - sh:ignoredProperties ( opencloning_linkml:addgene_sequence_type opencloning_linkml:sequence_file_url rdf:type opencloning_linkml:coordinates opencloning_linkml:assembly_accession opencloning_linkml:gene_id opencloning_linkml:locus_tag ) ; + sh:ignoredProperties ( rdf:type opencloning_linkml:locus_tag opencloning_linkml:sequence_file_url opencloning_linkml:assembly_accession opencloning_linkml:coordinates opencloning_linkml:addgene_sequence_type opencloning_linkml:gene_id ) ; sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; + sh:order 4 ; 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:order 2 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The id of the sequence in the repository" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + 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 2 ; + 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 6 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ] ; + sh:order 5 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:RepositoryIdSource . opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by restriction and ligation" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + 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 1 ; - sh:path opencloning_linkml:circular ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:restriction_enzymes ], - [ sh:datatype xsd:integer ; - sh:description "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:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd: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:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml: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:class opencloning_linkml:RestrictionSequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path opencloning_linkml:left_edge ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], + 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 ; - 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: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:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:class opencloning_linkml:RestrictionSequenceCut ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path opencloning_linkml:right_edge ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:RestrictionEnzymeDigestionSource . opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the in-silico transformation of a sequence into its reverse complement" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1536,54 +1495,49 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ] ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:ReverseComplementSource . opencloning_linkml:SEVASource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a SEVA id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; + 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: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: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 5 ; + sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ 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 7 ; - sh:path schema1:identifier ], + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + 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:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:string ; sh:description "The SEVA plasmid name" ; sh:maxCount 1 ; @@ -1592,11 +1546,12 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^pSEVA\\d+.*$" ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; + sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:repository_name ] ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:SEVASource . opencloning_linkml:SequenceCutSource a sh:NodeShape ; @@ -1609,6 +1564,12 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh: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 ; @@ -1616,16 +1577,6 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:class opencloning_linkml:SequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path opencloning_linkml:right_edge ], [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -1637,37 +1588,28 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path opencloning_linkml:right_edge ] ; 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 "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:description "The type of file" ; + sh:property [ sh:description "The type of file" ; sh:in ( NCIT:C171177 ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 4 ; sh:path opencloning_linkml:file_type ], - [ sh:datatype xsd:string ; - sh:description "The name of the file" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:file_name ], [ sh:datatype xsd:string ; sh:description "The alignment of the sequencing read to the sequence. List of strings representing aligned sequences." ; sh:minCount 1 ; @@ -1680,7 +1622,20 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 2 ; - sh:path opencloning_linkml:sequence_id ] ; + sh:path opencloning_linkml:sequence_id ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "The name of the file" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:file_name ] ; sh:targetClass opencloning_linkml:SequencingFile . opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; @@ -1688,73 +1643,68 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:description "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh: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:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^[^\\/]+\\/[^\\/]+$" ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 5 ; 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:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; sh:order 1 ; - sh:path opencloning_linkml:repository_name ], + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^[^\\/]+\\/[^\\/]+$" ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ] ; + sh:order 3 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:SnapGenePlasmidSource . opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is circular or linear" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ], [ 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:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence is circular or linear" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1767,23 +1717,24 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:closed true ; sh:description "A sequence (may have features) defined by the content of a text file" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ 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 3 ; - sh:path opencloning_linkml:file_content ], + sh:order 2 ; + sh:path opencloning_linkml:overhang_watson_3prime ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:type ], - [ sh:description "The format of a sequence file" ; - sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; + [ 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:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_format ], + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:overhang_crick_3prime ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1791,18 +1742,17 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:overhang_watson_3prime ], - [ sh: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 3 ; + sh:path opencloning_linkml:file_content ], + [ sh:description "The format of a sequence file" ; + sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang_crick_3prime ] ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_format ] ; sh:targetClass opencloning_linkml:TextFileSequence . opencloning_linkml:UploadedFileSource a sh:NodeShape ; @@ -1821,12 +1771,17 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:file_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ 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:description "The format of a sequence file" ; + sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], + 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:maxCount 1 ; @@ -1839,12 +1794,12 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:index_in_file ], - [ sh:description "The format of a sequence file" ; - sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_format ], + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1856,11 +1811,6 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; 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 ; @@ -1874,34 +1824,38 @@ 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: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: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:path schema1:object ], + 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 5 ; + sh:order 4 ; sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 2 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:description "The id of the gene in the WeKwikGene database" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^\\d+$" ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -1909,27 +1863,18 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], - [ sh:datatype xsd: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:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^\\d+$" ] ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:WekWikGeneIdSource . opencloning_linkml:AnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step" ; - sh:ignoredProperties ( opencloning_linkml:sseqid opencloning_linkml:percent_identity opencloning_linkml:sequence opencloning_linkml:Type opencloning_linkml:length_of_found_feature opencloning_linkml:percent_match_length opencloning_linkml:Feature opencloning_linkml:strand rdf:type opencloning_linkml:start_location opencloning_linkml:database opencloning_linkml:Description opencloning_linkml:end_location opencloning_linkml:fragment opencloning_linkml:full_length_of_feature_in_db ) ; + sh:ignoredProperties ( opencloning_linkml:start_location opencloning_linkml:Feature opencloning_linkml:sequence opencloning_linkml:length_of_found_feature opencloning_linkml:full_length_of_feature_in_db rdf:type opencloning_linkml:strand opencloning_linkml:end_location opencloning_linkml:Description opencloning_linkml:percent_identity opencloning_linkml:fragment opencloning_linkml:percent_match_length opencloning_linkml:database opencloning_linkml:sseqid opencloning_linkml:Type ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1949,6 +1894,12 @@ opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path opencloning_linkml:sequence_id ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "The name of the file" ; sh:maxCount 1 ; @@ -1961,13 +1912,7 @@ 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 "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:file_type ] ; sh:targetClass opencloning_linkml:AssociatedFile . opencloning_linkml:CollectionOption a sh:NodeShape ; @@ -1981,19 +1926,19 @@ opencloning_linkml:CollectionOption a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path opencloning_linkml:source ], - [ sh:class opencloning_linkml:CollectionOptionInfo ; - sh:description "Additional information about this option" ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path opencloning_linkml:info ], [ sh: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:path schema1:name ], + [ sh:class opencloning_linkml:CollectionOptionInfo ; + sh:description "Additional information about this option" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path opencloning_linkml:info ] ; sh:targetClass opencloning_linkml:CollectionOption . opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; @@ -2001,52 +1946,52 @@ 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 description of the option" ; + sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:description ], + sh:order 0 ; + sh:path schema1:name ], + [ sh:datatype xsd:string ; + sh:description "The antibiotic resistance of the plasmid" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:resistance ], [ sh:datatype xsd:string ; sh:description "The well position in the kit plate" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:well ], - [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; - sh:in ( "OligoPair" "AddgenePlasmid" ) ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "A human-readable name for a thing" ; + sh:description "A description of the option" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:name ], - [ sh:datatype xsd:string ; - sh:description "The antibiotic resistance of the plasmid" ; + sh:order 1 ; + sh:path opencloning_linkml:description ], + [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; + sh:in ( "OligoPair" "AddgenePlasmid" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:resistance ] ; + sh:order 2 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:CollectionOptionInfo . opencloning_linkml:Primer a sh:NodeShape ; sh:closed true ; sh:description "An oligonucleotide or primer" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd: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 ; - sh:order 2 ; - sh:path opencloning_linkml:sequence ; - sh:pattern "^[acgtACGT]+$" ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; @@ -2061,61 +2006,54 @@ opencloning_linkml:Primer a sh:NodeShape ; 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:order 2 ; + sh:path opencloning_linkml:sequence ; + sh:pattern "^[acgtACGT]+$" ] ; sh:targetClass opencloning_linkml:Primer . schema1:CreateAction a sh:NodeShape ; sh:closed false ; sh:description "Represents the source of a sequence" ; - sh:ignoredProperties ( opencloning_linkml:repository_id opencloning_linkml:assembly_accession opencloning_linkml:description opencloning_linkml:sequence_file_url opencloning_linkml:repository_name opencloning_linkml:circularize opencloning_linkml:greedy opencloning_linkml:right_edge opencloning_linkml:left_edge opencloning_linkml:gene_id opencloning_linkml:annotation_report opencloning_linkml:annotation_tool opencloning_linkml:locus_tag opencloning_linkml:options opencloning_linkml:image opencloning_linkml:reaction_type opencloning_linkml:add_primer_features opencloning_linkml:sequence_file_format opencloning_linkml:restriction_enzymes opencloning_linkml:title opencloning_linkml:file_name opencloning_linkml:annotation_tool_version opencloning_linkml:index_in_file rdf:type opencloning_linkml:coordinates opencloning_linkml:overhang_crick_3prime opencloning_linkml:category_id opencloning_linkml:circular opencloning_linkml:addgene_sequence_type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:annotation_tool opencloning_linkml:right_edge opencloning_linkml:annotation_tool_version opencloning_linkml:image opencloning_linkml:annotation_report opencloning_linkml:add_primer_features opencloning_linkml:restriction_enzymes opencloning_linkml:file_name opencloning_linkml:greedy opencloning_linkml:sequence_file_url opencloning_linkml:options opencloning_linkml:coordinates opencloning_linkml:category_id opencloning_linkml:addgene_sequence_type opencloning_linkml:gene_id opencloning_linkml:left_edge opencloning_linkml:circularize rdf:type opencloning_linkml:locus_tag opencloning_linkml:repository_id opencloning_linkml:reaction_type opencloning_linkml:title opencloning_linkml:circular opencloning_linkml:overhang_crick_3prime opencloning_linkml:description opencloning_linkml:assembly_accession opencloning_linkml:sequence_file_format opencloning_linkml:index_in_file ) ; + sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], [ sh: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 "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ] ; sh:targetClass schema1:CreateAction . opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; sh:closed true ; sh:description "Represents a cut in a DNA sequence that is made by a restriction enzyme" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The length of the overhang that is left after the cut. It can be negative, same meaning as in pydna's `dseq::ovhg` and biopython's `Bio.Restriction.RestrictionType.ovhg`." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:overhang ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; @@ -2127,33 +2065,40 @@ opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:cut_watson ] ; + sh:path opencloning_linkml:cut_watson ], + [ sh:datatype xsd:integer ; + sh:description "The length of the overhang that is left after the cut. It can be negative, same meaning as in pydna's `dseq::ovhg` and biopython's `Bio.Restriction.RestrictionType.ovhg`." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:overhang ] ; sh:targetClass opencloning_linkml:RestrictionSequenceCut . opencloning_linkml:SequenceCut a sh:NodeShape ; sh:closed true ; sh:description "Represents a cut in a DNA sequence" ; - sh:ignoredProperties ( rdf:type opencloning_linkml:restriction_enzyme ) ; + sh:ignoredProperties ( opencloning_linkml:restriction_enzyme rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The 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:file_content opencloning_linkml:primer_design opencloning_linkml:overhang_watson_3prime rdf:type opencloning_linkml:overhang_crick_3prime opencloning_linkml:sequence_file_format schema1:name opencloning_linkml:sequence opencloning_linkml:circular ) ; + sh:ignoredProperties ( opencloning_linkml:file_content schema1:name opencloning_linkml:sequence rdf:type opencloning_linkml:circular opencloning_linkml:overhang_crick_3prime opencloning_linkml:sequence_file_format opencloning_linkml:primer_design opencloning_linkml:overhang_watson_3prime ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -2172,7 +2117,7 @@ bioschemas:DNA a sh:NodeShape ; schema1:Role a sh:NodeShape ; sh:closed true ; sh:description "Represents an input to a source" ; - sh:ignoredProperties ( opencloning_linkml:right_location opencloning_linkml:left_location rdf:type opencloning_linkml:reverse_complemented ) ; + sh:ignoredProperties ( opencloning_linkml:reverse_complemented rdf:type opencloning_linkml:right_location opencloning_linkml:left_location ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; diff --git a/project/shex/opencloning_linkml.shex b/project/shex/opencloning_linkml.shex index e3fd914..654f6e6 100644 --- a/project/shex/opencloning_linkml.shex +++ b/project/shex/opencloning_linkml.shex @@ -404,16 +404,7 @@ linkml:Sparqlpath xsd:string CLOSED { ( $ ( & ; rdf:type [ schema1:CreateAction ] ? ; - @linkml:String ; - [ - - - - - - - - ] + @linkml:String ) ; rdf:type [ ] ) diff --git a/project/sqlschema/opencloning_linkml.sql b/project/sqlschema/opencloning_linkml.sql index dc71e97..8ce73d6 100644 --- a/project/sqlschema/opencloning_linkml.sql +++ b/project/sqlschema/opencloning_linkml.sql @@ -126,7 +126,6 @@ -- * Slot: id Description: A unique identifier for a thing -- # Class: "RepositoryIdSource" Description: "Represents the source of a sequence that is identified by a repository id" -- * Slot: repository_id Description: The id of the sequence in the repository --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -135,7 +134,6 @@ -- * Slot: sequence_file_url Description: The URL of a sequence file -- * Slot: addgene_sequence_type Description: -- * Slot: repository_id Description: The id of the sequence in the repository --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -143,7 +141,6 @@ -- # Class: "WekWikGeneIdSource" Description: "Represents the source of a sequence that is identified by a WeKwikGene id" -- * Slot: sequence_file_url Description: The URL of a sequence file -- * Slot: repository_id Description: The id of the gene in the WeKwikGene database --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -151,28 +148,24 @@ -- # Class: "SEVASource" Description: "Represents the source of a sequence that is identified by a SEVA id" -- * Slot: 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. -- * Slot: repository_id Description: The SEVA plasmid name --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database -- * Slot: id Description: A unique identifier for a thing -- # Class: "BenchlingUrlSource" Description: "Represents the source of a sequence that is identified by a Benchling URL" -- * Slot: repository_id Description: The url of the gb file associated with the sequence --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database -- * Slot: id Description: A unique identifier for a thing -- # Class: "SnapGenePlasmidSource" Description: "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" -- * Slot: repository_id Description: The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /. --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database -- * Slot: id Description: A unique identifier for a thing -- # Class: "EuroscarfSource" Description: "Represents the source of a sequence from the Euroscarf plasmid library" -- * Slot: repository_id Description: The id of the plasmid in the Euroscarf plasmid library --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -180,7 +173,6 @@ -- # Class: "IGEMSource" Description: "Represents the source of a sequence from an iGEM collection" -- * Slot: sequence_file_url Description: The URL of the sequence file, for now github repository -- * Slot: repository_id Description: The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$ --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -188,7 +180,6 @@ -- # Class: "OpenDNACollectionsSource" Description: "Represents the source of a sequence from the Open DNA collections" -- * Slot: sequence_file_url Description: The URL of a sequence file -- * Slot: repository_id Description: Subpath of the sequence in the Open DNA collections repository --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -196,7 +187,6 @@ -- # Class: "NCBISequenceSource" Description: "Represents the source of a sequence that is identified by an NCBI sequence accession" -- * Slot: coordinates Description: If provided, represents the location of a subsequence within the sequence identified by the sequence accession. -- * Slot: repository_id Description: The sequence accession (e.g. X60065.1) --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -207,7 +197,6 @@ -- * Slot: gene_id Description: The gene id of the sequence -- * Slot: coordinates Description: If provided, represents the location of a subsequence within the sequence identified by the sequence accession. -- * Slot: repository_id Description: The sequence accession (e.g. X60065.1) --- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence -- * Slot: database_id Description: The id of an entity in a database @@ -470,7 +459,6 @@ CREATE TABLE "UploadedFileSource" ( ); CREATE TABLE "RepositoryIdSource" ( repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -481,7 +469,6 @@ CREATE TABLE "AddgeneIdSource" ( sequence_file_url TEXT, addgene_sequence_type VARCHAR(14), repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -491,7 +478,6 @@ CREATE TABLE "AddgeneIdSource" ( CREATE TABLE "WekWikGeneIdSource" ( sequence_file_url TEXT, repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -501,7 +487,6 @@ CREATE TABLE "WekWikGeneIdSource" ( CREATE TABLE "SEVASource" ( sequence_file_url TEXT, repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -510,7 +495,6 @@ CREATE TABLE "SEVASource" ( ); CREATE TABLE "BenchlingUrlSource" ( repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -519,7 +503,6 @@ CREATE TABLE "BenchlingUrlSource" ( ); CREATE TABLE "SnapGenePlasmidSource" ( repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -528,7 +511,6 @@ CREATE TABLE "SnapGenePlasmidSource" ( ); CREATE TABLE "EuroscarfSource" ( repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -538,7 +520,6 @@ CREATE TABLE "EuroscarfSource" ( CREATE TABLE "IGEMSource" ( sequence_file_url TEXT NOT NULL, repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -548,7 +529,6 @@ CREATE TABLE "IGEMSource" ( CREATE TABLE "OpenDNACollectionsSource" ( sequence_file_url TEXT, repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -558,7 +538,6 @@ CREATE TABLE "OpenDNACollectionsSource" ( CREATE TABLE "NCBISequenceSource" ( coordinates TEXT, repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, @@ -571,7 +550,6 @@ CREATE TABLE "GenomeCoordinatesSource" ( gene_id INTEGER, coordinates TEXT, repository_id TEXT NOT NULL, - repository_name VARCHAR(20) NOT NULL, type TEXT, output_name TEXT, database_id INTEGER, diff --git a/src/data/examples/cloning_strategy_with_files.json b/src/data/examples/cloning_strategy_with_files.json index e1bf14e..771f878 100644 --- a/src/data/examples/cloning_strategy_with_files.json +++ b/src/data/examples/cloning_strategy_with_files.json @@ -57,7 +57,7 @@ ] } ], - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/cloning_strategy_with_sequencing.json b/src/data/examples/cloning_strategy_with_sequencing.json index 3b9f72b..926d5fc 100644 --- a/src/data/examples/cloning_strategy_with_sequencing.json +++ b/src/data/examples/cloning_strategy_with_sequencing.json @@ -57,7 +57,7 @@ ] } ], - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/collection_example.json b/src/data/examples/collection_example.json index 2a48b99..5bccb96 100644 --- a/src/data/examples/collection_example.json +++ b/src/data/examples/collection_example.json @@ -120,7 +120,7 @@ "primers": [], "description": "A dummy example", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/crispr_hdr.json b/src/data/examples/crispr_hdr.json index f629bc7..ec7a697 100644 --- a/src/data/examples/crispr_hdr.json +++ b/src/data/examples/crispr_hdr.json @@ -40,12 +40,13 @@ "output_name": null, "database_id": null, "input": [], - "repository_id": "NC_003424.3", - "repository_name": "genbank", - "coordinates": "1877009..1881726", "assembly_accession": "GCF_000002945.1", + "sequence_accession": "NC_003424.3", "locus_tag": "SPAPB1A10.09", - "gene_id": 2543372 + "gene_id": 2543372, + "start": 1877009, + "end": 1881726, + "strand": 1 }, { "id": 2, @@ -149,7 +150,7 @@ ], "description": "Replacing a fragment in the ase1 ORF by a 3xHA tag, using CRISPR-HDR", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/extract_subsequence_from_file.json b/src/data/examples/extract_subsequence_from_file.json index 3cd61b4..aea8811 100644 --- a/src/data/examples/extract_subsequence_from_file.json +++ b/src/data/examples/extract_subsequence_from_file.json @@ -26,7 +26,7 @@ "primers": [], "description": "", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gateway.json b/src/data/examples/gateway.json index 0ca1fd3..cc3f78c 100644 --- a/src/data/examples/gateway.json +++ b/src/data/examples/gateway.json @@ -56,12 +56,13 @@ "output_name": null, "database_id": null, "input": [], - "repository_id": "NC_000913.3", - "repository_name": "genbank", - "coordinates": "complement(362231..367305)", "assembly_accession": "GCF_000005845.2", + "sequence_accession": "NC_000913.3", "locus_tag": "b0344", - "gene_id": 945006 + "gene_id": 945006, + "start": 362231, + "end": 367305, + "strand": -1 }, { "id": 2, @@ -195,7 +196,7 @@ ], "description": "Cloning the lacZ gene from E. coli into an entry clone, then expression clone", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gateway_start.json b/src/data/examples/gateway_start.json index 58fa48f..d1ea720 100644 --- a/src/data/examples/gateway_start.json +++ b/src/data/examples/gateway_start.json @@ -38,12 +38,13 @@ "output_name": null, "database_id": null, "input": [], - "repository_id": "CU329670.1", - "repository_name": "genbank", - "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", + "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null + "gene_id": null, + "start": 1877189, + "end": 1881726, + "strand": 1 }, { "id": 2, @@ -104,7 +105,7 @@ ], "description": "Deletion of the ORF of ase1 by homologous recombination in S.pombe", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gibson_assembly.json b/src/data/examples/gibson_assembly.json index 0cc3528..0a530e0 100644 --- a/src/data/examples/gibson_assembly.json +++ b/src/data/examples/gibson_assembly.json @@ -59,12 +59,13 @@ "output_name": null, "database_id": null, "input": [], - "repository_id": "NC_003424.3", - "repository_name": "genbank", - "coordinates": "1877189..1881726", "assembly_accession": "GCF_000002945.2", + "sequence_accession": "NC_003424.3", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": 2543372 + "gene_id": 2543372, + "start": 1877189, + "end": 1881726, + "strand": 1 }, { "id": 3, @@ -184,7 +185,7 @@ ], "description": "Cloning the ase1 gene from S. pombe's genome into pREP42-MCS+ expression vector using Gibson assembly.", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/golden_gate.json b/src/data/examples/golden_gate.json index d63cf22..1afbcc4 100644 --- a/src/data/examples/golden_gate.json +++ b/src/data/examples/golden_gate.json @@ -184,12 +184,13 @@ "output_name": null, "database_id": null, "input": [], - "repository_id": "CU329670.1", - "repository_name": "genbank", - "coordinates": "3437890..3443117", "assembly_accession": "GCA_000002945.3", + "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAC3A11.14C", - "gene_id": null + "gene_id": null, + "start": 3437890, + "end": 3443117, + "strand": 1 }, { "id": 10, @@ -316,7 +317,7 @@ ], "description": "Cloning of CDS of S. pombe gene pkl1 with an N-term Venus tag using MoClo kit from John Dueber, see:\n\nhttps://www.addgene.org/kits/moclo-ytk/#kit-contents\n\nThe plasmids used are:\n\npYTK002 - ConLS\npYTK009 - pTDH3\npYTK038 - Venus 65145\npayload - CDS of pkl1 from S. pombe\npYTK051 - tENO1 65158\npYTK067 - ConR1 65174\npYTK074 - URA3 65181\npYTK081 - CEN6/ARS4 65188\npYTK083 - AmpR-ColE1 65190\n\n\n\n\n", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/homologous_recombination.json b/src/data/examples/homologous_recombination.json index 6298c75..a31388b 100644 --- a/src/data/examples/homologous_recombination.json +++ b/src/data/examples/homologous_recombination.json @@ -82,12 +82,13 @@ "output_name": null, "database_id": null, "input": [], - "repository_id": "CU329670.1", - "repository_name": "genbank", - "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", + "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null + "gene_id": null, + "start": 1877189, + "end": 1881726, + "strand": 1 }, { "id": 4, @@ -138,7 +139,7 @@ ], "description": "Deletion of the ORF of ase1 by homologous recombination in S.pombe", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/plannotate.json b/src/data/examples/plannotate.json index ef7d070..10d9e10 100644 --- a/src/data/examples/plannotate.json +++ b/src/data/examples/plannotate.json @@ -320,7 +320,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/restriction_ligation_assembly.json b/src/data/examples/restriction_ligation_assembly.json index 0ff380c..0a6ed12 100644 --- a/src/data/examples/restriction_ligation_assembly.json +++ b/src/data/examples/restriction_ligation_assembly.json @@ -40,12 +40,13 @@ "output_name": null, "database_id": null, "input": [], - "repository_id": "CU329670.1", - "repository_name": "genbank", - "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", + "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null + "gene_id": null, + "start": 1877189, + "end": 1881726, + "strand": 1 }, { "id": 2, @@ -135,7 +136,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/restriction_then_ligation.json b/src/data/examples/restriction_then_ligation.json index 42021da..d2b2b80 100644 --- a/src/data/examples/restriction_then_ligation.json +++ b/src/data/examples/restriction_then_ligation.json @@ -56,12 +56,13 @@ "output_name": null, "database_id": null, "input": [], - "repository_id": "CU329670.1", - "repository_name": "genbank", - "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", + "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null + "gene_id": null, + "start": 1877189, + "end": 1881726, + "strand": 1 }, { "id": 2, @@ -191,7 +192,7 @@ ], "description": "Cloning of CDS of S. pombe gene pkl1 with an N-term Venus tag using MoClo kit from John Dueber, see:\n\nhttps://www.addgene.org/kits/moclo-ytk/#kit-contents\n\nThe plasmids used are:\n\npYTK002 - ConLS\npYTK009 - pTDH3\npYTK038 - Venus 65145\npayload - CDS of pkl1 from S. pombe\npYTK051 - tENO1 65158\npYTK067 - ConR1 65174\npYTK074 - URA3 65181\npYTK081 - CEN6/ARS4 65188\npYTK083 - AmpR-ColE1 65190\n\n\n\n\n", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/templateless_PCR.json b/src/data/examples/templateless_PCR.json index 2e2ca06..5bbffa6 100644 --- a/src/data/examples/templateless_PCR.json +++ b/src/data/examples/templateless_PCR.json @@ -66,7 +66,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.9", + "schema_version": "0.4.3", "backend_version": null, "frontend_version": null } diff --git a/src/opencloning_linkml/datamodel/_models.py b/src/opencloning_linkml/datamodel/_models.py index a8084a0..fb202c6 100644 --- a/src/opencloning_linkml/datamodel/_models.py +++ b/src/opencloning_linkml/datamodel/_models.py @@ -110,45 +110,6 @@ def __contains__(self, key: str) -> bool: ) -class RepositoryName(str, Enum): - addgene = "addgene" - """ - Addgene - """ - genbank = "genbank" - """ - GenBank / NCBI - """ - benchling = "benchling" - """ - Benchling - """ - snapgene = "snapgene" - """ - SnapGene plasmid library - """ - euroscarf = "euroscarf" - """ - Euroscarf (plasmids only) - """ - igem = "igem" - """ - iGEM collection - """ - wekwikgene = "wekwikgene" - """ - WekWikGene - """ - seva = "seva" - """ - SEVA (Standard European Vector Architecture) - """ - open_dna_collections = "open_dna_collections" - """ - Open DNA collections - """ - - class Collection(str, Enum): AddgenePlasmid = "AddgenePlasmid" """ @@ -1157,10 +1118,6 @@ class RepositoryIdSource(Source): description="""The id of the sequence in the repository""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["RepositoryIdSource"] = Field( default="RepositoryIdSource", description="""Designates the class""", @@ -1241,10 +1198,6 @@ class AddgeneIdSource(RepositoryIdSource): description="""The id of the sequence in the repository""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["AddgeneIdSource"] = Field( default="AddgeneIdSource", description="""Designates the class""", @@ -1347,10 +1300,6 @@ class WekWikGeneIdSource(RepositoryIdSource): description="""The id of the gene in the WeKwikGene database""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["WekWikGeneIdSource"] = Field( default="WekWikGeneIdSource", description="""Designates the class""", @@ -1474,10 +1423,6 @@ class SEVASource(RepositoryIdSource): description="""The SEVA plasmid name""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["SEVASource"] = Field( default="SEVASource", description="""Designates the class""", @@ -1577,10 +1522,6 @@ class BenchlingUrlSource(RepositoryIdSource): description="""The url of the gb file associated with the sequence""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["BenchlingUrlSource"] = Field( default="BenchlingUrlSource", description="""Designates the class""", @@ -1674,10 +1615,6 @@ class SnapGenePlasmidSource(RepositoryIdSource): 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 /.""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["SnapGenePlasmidSource"] = Field( default="SnapGenePlasmidSource", description="""Designates the class""", @@ -1762,10 +1699,6 @@ class EuroscarfSource(RepositoryIdSource): description="""The id of the plasmid in the Euroscarf plasmid library""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["EuroscarfSource"] = Field( default="EuroscarfSource", description="""Designates the class""", @@ -1875,10 +1808,6 @@ class IGEMSource(RepositoryIdSource): description="""The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["IGEMSource"] = Field( default="IGEMSource", description="""Designates the class""", @@ -1979,10 +1908,6 @@ class OpenDNACollectionsSource(RepositoryIdSource): description="""Subpath of the sequence in the Open DNA collections repository""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["OpenDNACollectionsSource"] = Field( default="OpenDNACollectionsSource", description="""Designates the class""", @@ -2085,10 +2010,6 @@ class NCBISequenceSource(RepositoryIdSource): description="""The sequence accession (e.g. X60065.1)""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["NCBISequenceSource"] = Field( default="NCBISequenceSource", description="""Designates the class""", @@ -2176,10 +2097,6 @@ class GenomeCoordinatesSource(NCBISequenceSource): description="""The sequence accession (e.g. X60065.1)""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["GenomeCoordinatesSource"] = Field( default="GenomeCoordinatesSource", description="""Designates the class""", diff --git a/src/opencloning_linkml/migrations/model_archive/v0_4_9.py b/src/opencloning_linkml/migrations/model_archive/v0_4_9.py index 6041297..fb202c6 100644 --- a/src/opencloning_linkml/migrations/model_archive/v0_4_9.py +++ b/src/opencloning_linkml/migrations/model_archive/v0_4_9.py @@ -110,45 +110,6 @@ def __contains__(self, key: str) -> bool: ) -class RepositoryName(str, Enum): - addgene = "addgene" - """ - Addgene - """ - genbank = "genbank" - """ - GenBank / NCBI - """ - benchling = "benchling" - """ - Benchling - """ - snapgene = "snapgene" - """ - SnapGene plasmid library - """ - euroscarf = "euroscarf" - """ - Euroscarf (plasmids only) - """ - igem = "igem" - """ - iGEM collection - """ - wekwikgene = "wekwikgene" - """ - WekWikGene - """ - seva = "seva" - """ - SEVA (Standard European Vector Architecture) - """ - open_dna_collections = "open_dna_collections" - """ - Open DNA collections - """ - - class Collection(str, Enum): AddgenePlasmid = "AddgenePlasmid" """ @@ -275,7 +236,12 @@ class TemplateSequence(Sequence): circular: Optional[bool] = Field( default=None, description="""Whether the sequence is circular or linear""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) primer_design: Optional[str] = Field( default=None, @@ -338,7 +304,7 @@ class TextFileSequence(Sequence): json_schema_extra={ "linkml_meta": { "alias": "overhang_crick_3prime", - "domain_of": ["TextFileSequence", "OligoHybridizationSource"], + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], "ifabsent": "int(0)", } }, @@ -347,7 +313,11 @@ class TextFileSequence(Sequence): default=0, description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", json_schema_extra={ - "linkml_meta": {"alias": "overhang_watson_3prime", "domain_of": ["TextFileSequence"], "ifabsent": "int(0)"} + "linkml_meta": { + "alias": "overhang_watson_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence"], + "ifabsent": "int(0)", + } }, ) file_content: Optional[str] = Field( @@ -380,6 +350,104 @@ class TextFileSequence(Sequence): ) +class ManuallyTypedSequence(Sequence): + """ + Represents a sequence that is manually typed by the user + """ + + linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta( + { + "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", + "slot_usage": { + "overhang_crick_3prime": {"ifabsent": "int(0)", "name": "overhang_crick_3prime"}, + "overhang_watson_3prime": {"ifabsent": "int(0)", "name": "overhang_watson_3prime"}, + }, + } + ) + + overhang_crick_3prime: Optional[int] = Field( + default=0, + 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""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_crick_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], + "ifabsent": "int(0)", + } + }, + ) + overhang_watson_3prime: Optional[int] = Field( + default=0, + description="""The equivalent of `overhang_crick_3prime` but for the watson strand""", + json_schema_extra={ + "linkml_meta": { + "alias": "overhang_watson_3prime", + "domain_of": ["TextFileSequence", "ManuallyTypedSequence"], + "ifabsent": "int(0)", + } + }, + ) + sequence: str = Field( + default=..., + description="""The sequence of the manually typed sequence""", + json_schema_extra={ + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } + }, + ) + circular: Optional[bool] = Field( + default=False, + description="""Whether the sequence is circular or linear""", + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + "ifabsent": "boolean(false)", + } + }, + ) + id: int = Field( + default=..., + description="""A unique identifier for a thing""", + json_schema_extra={ + "linkml_meta": {"alias": "id", "domain_of": ["NamedThing", "Sequence"], "slot_uri": "schema:identifier"} + }, + ) + type: Literal["ManuallyTypedSequence"] = Field( + default="ManuallyTypedSequence", + description="""Designates the class""", + json_schema_extra={ + "linkml_meta": { + "alias": "type", + "designates_type": True, + "domain_of": [ + "Sequence", + "SourceInput", + "Source", + "CollectionOptionInfo", + "AnnotationReport", + "AssociatedFile", + ], + } + }, + ) + + @field_validator("sequence") + def pattern_sequence(cls, v): + pattern = re.compile(r"^[acgtACGT]+$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid sequence format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid sequence format: {v}" + raise ValueError(err_msg) + return v + + class Primer(Sequence): """ An oligonucleotide or primer @@ -412,7 +480,10 @@ class Primer(Sequence): sequence: Optional[str] = Field( default=None, json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) id: int = Field( @@ -490,7 +561,10 @@ class SourceInput(ConfiguredBaseModel): default=..., description="""The input sequence""", json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) @@ -1044,10 +1118,6 @@ class RepositoryIdSource(Source): description="""The id of the sequence in the repository""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["RepositoryIdSource"] = Field( default="RepositoryIdSource", description="""Designates the class""", @@ -1128,10 +1198,6 @@ class AddgeneIdSource(RepositoryIdSource): description="""The id of the sequence in the repository""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["AddgeneIdSource"] = Field( default="AddgeneIdSource", description="""Designates the class""", @@ -1234,10 +1300,6 @@ class WekWikGeneIdSource(RepositoryIdSource): description="""The id of the gene in the WeKwikGene database""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["WekWikGeneIdSource"] = Field( default="WekWikGeneIdSource", description="""Designates the class""", @@ -1361,10 +1423,6 @@ class SEVASource(RepositoryIdSource): description="""The SEVA plasmid name""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["SEVASource"] = Field( default="SEVASource", description="""Designates the class""", @@ -1464,10 +1522,6 @@ class BenchlingUrlSource(RepositoryIdSource): description="""The url of the gb file associated with the sequence""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["BenchlingUrlSource"] = Field( default="BenchlingUrlSource", description="""Designates the class""", @@ -1561,10 +1615,6 @@ class SnapGenePlasmidSource(RepositoryIdSource): 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 /.""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["SnapGenePlasmidSource"] = Field( default="SnapGenePlasmidSource", description="""Designates the class""", @@ -1649,10 +1699,6 @@ class EuroscarfSource(RepositoryIdSource): description="""The id of the plasmid in the Euroscarf plasmid library""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["EuroscarfSource"] = Field( default="EuroscarfSource", description="""Designates the class""", @@ -1762,10 +1808,6 @@ class IGEMSource(RepositoryIdSource): description="""The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["IGEMSource"] = Field( default="IGEMSource", description="""Designates the class""", @@ -1866,10 +1908,6 @@ class OpenDNACollectionsSource(RepositoryIdSource): description="""Subpath of the sequence in the Open DNA collections repository""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["OpenDNACollectionsSource"] = Field( default="OpenDNACollectionsSource", description="""Designates the class""", @@ -1972,10 +2010,6 @@ class NCBISequenceSource(RepositoryIdSource): description="""The sequence accession (e.g. X60065.1)""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["NCBISequenceSource"] = Field( default="NCBISequenceSource", description="""Designates the class""", @@ -2063,10 +2097,6 @@ class GenomeCoordinatesSource(NCBISequenceSource): description="""The sequence accession (e.g. X60065.1)""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) - repository_name: RepositoryName = Field( - default=..., - json_schema_extra={"linkml_meta": {"alias": "repository_name", "domain_of": ["RepositoryIdSource"]}}, - ) type: Literal["GenomeCoordinatesSource"] = Field( default="GenomeCoordinatesSource", description="""Designates the class""", @@ -2301,7 +2331,10 @@ class AssemblyFragment(SourceInput): default=..., description="""The input sequence""", json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) @@ -2316,7 +2349,12 @@ class AssemblySource(Source): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["AssemblySource"] = Field( default="AssemblySource", @@ -2383,7 +2421,12 @@ class PCRSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["PCRSource"] = Field( default="PCRSource", @@ -2443,7 +2486,12 @@ class LigationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["LigationSource"] = Field( default="LigationSource", @@ -2503,7 +2551,12 @@ class HomologousRecombinationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["HomologousRecombinationSource"] = Field( default="HomologousRecombinationSource", @@ -2563,7 +2616,12 @@ class GibsonAssemblySource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["GibsonAssemblySource"] = Field( default="GibsonAssemblySource", @@ -2623,7 +2681,12 @@ class InFusionSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["InFusionSource"] = Field( default="InFusionSource", @@ -2683,7 +2746,12 @@ class OverlapExtensionPCRLigationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["OverlapExtensionPCRLigationSource"] = Field( default="OverlapExtensionPCRLigationSource", @@ -2743,7 +2811,12 @@ class InVivoAssemblySource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["InVivoAssemblySource"] = Field( default="InVivoAssemblySource", @@ -2818,7 +2891,12 @@ class RestrictionAndLigationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["RestrictionAndLigationSource"] = Field( default="RestrictionAndLigationSource", @@ -2888,7 +2966,12 @@ class GatewaySource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["GatewaySource"] = Field( default="GatewaySource", @@ -2948,7 +3031,12 @@ class CreLoxRecombinationSource(AssemblySource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["CreLoxRecombinationSource"] = Field( default="CreLoxRecombinationSource", @@ -3008,7 +3096,12 @@ class CRISPRSource(HomologousRecombinationSource): circular: Optional[bool] = Field( default=None, description="""Whether the assembly is circular or not""", - json_schema_extra={"linkml_meta": {"alias": "circular", "domain_of": ["TemplateSequence", "AssemblySource"]}}, + json_schema_extra={ + "linkml_meta": { + "alias": "circular", + "domain_of": ["TemplateSequence", "ManuallyTypedSequence", "AssemblySource"], + } + }, ) type: Literal["CRISPRSource"] = Field( default="CRISPRSource", @@ -3071,7 +3164,7 @@ class OligoHybridizationSource(Source): json_schema_extra={ "linkml_meta": { "alias": "overhang_crick_3prime", - "domain_of": ["TextFileSequence", "OligoHybridizationSource"], + "domain_of": ["TextFileSequence", "ManuallyTypedSequence", "OligoHybridizationSource"], } }, ) @@ -3185,7 +3278,7 @@ class CloningStrategy(ConfiguredBaseModel): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({"from_schema": "https://opencloning.github.io/OpenCloning_LinkML"}) - sequences: list[Union[Sequence, TemplateSequence, TextFileSequence, Primer]] = Field( + sequences: list[Union[Sequence, TemplateSequence, TextFileSequence, ManuallyTypedSequence, Primer]] = Field( default=..., description="""The sequences that are used in the cloning strategy""", json_schema_extra={"linkml_meta": {"alias": "sequences", "domain_of": ["CloningStrategy"]}}, @@ -3363,7 +3456,10 @@ class PlannotateAnnotationReport(AnnotationReport): sequence: Optional[str] = Field( default=None, json_schema_extra={ - "linkml_meta": {"alias": "sequence", "domain_of": ["Primer", "SourceInput", "PlannotateAnnotationReport"]} + "linkml_meta": { + "alias": "sequence", + "domain_of": ["ManuallyTypedSequence", "Primer", "SourceInput", "PlannotateAnnotationReport"], + } }, ) type: Literal["PlannotateAnnotationReport"] = Field( @@ -3607,6 +3703,7 @@ class SequencingFile(AssociatedFile): Sequence.model_rebuild() TemplateSequence.model_rebuild() TextFileSequence.model_rebuild() +ManuallyTypedSequence.model_rebuild() Primer.model_rebuild() SourceInput.model_rebuild() SequenceCut.model_rebuild() diff --git a/src/opencloning_linkml/schema/opencloning_linkml.yaml b/src/opencloning_linkml/schema/opencloning_linkml.yaml index 4d0d8b6..6a98a04 100644 --- a/src/opencloning_linkml/schema/opencloning_linkml.yaml +++ b/src/opencloning_linkml/schema/opencloning_linkml.yaml @@ -338,10 +338,6 @@ classes: is_a: Source description: >- Represents the source of a sequence that is identified by a repository id - attributes: - - repository_name: - range: RepositoryName - required: true slots: - repository_id @@ -350,7 +346,6 @@ classes: description: >- Represents the source of a sequence that is identified by an Addgene id attributes: - # TODO: repository_name constrain to addgene - addgene_sequence_type: range: AddgeneSequenceType slots: @@ -861,35 +856,6 @@ slots: required: true enums: - RepositoryName: - permissible_values: - addgene: - description: >- - Addgene - genbank: - description: >- - GenBank / NCBI - benchling: - description: >- - Benchling - snapgene: - description: >- - SnapGene plasmid library - euroscarf: - description: >- - Euroscarf (plasmids only) - igem: - description: >- - iGEM collection - wekwikgene: - description: >- - WekWikGene - seva: - description: >- - SEVA (Standard European Vector Architecture) - open_dna_collections: - description: >- - Open DNA collections Collection: permissible_values: From 33cf5e6c21a02a9b3f5474c71372fa17649957e0 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Sat, 6 Dec 2025 01:05:27 +0000 Subject: [PATCH 10/12] handle collections and other repos --- .../transformations/v0_4_6_to_v0_4_9.py | 16 +++- tests/migration/v0.4.9/collection.json | 75 +++++++++++++++++++ .../migration/v0.4.9/repository_addgene.json | 30 ++++++++ tests/test_migration.py | 30 +++++++- 4 files changed, 146 insertions(+), 5 deletions(-) create mode 100644 tests/migration/v0.4.9/collection.json create mode 100644 tests/migration/v0.4.9/repository_addgene.json diff --git a/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py index d8f3839..482b8f1 100644 --- a/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py +++ b/src/opencloning_linkml/migrations/transformations/v0_4_6_to_v0_4_9.py @@ -19,18 +19,28 @@ def migrate_manually_typed_source(source: dict) -> dict: return new_source -def migrate_repository_id_source(source: dict) -> dict: - new_source = {key: value for key, value in source.items() if key != "type"} +def migrate_genbank_repository_id(source: dict) -> dict: + new_source = {key: value for key, value in source.items() if key not in ["type", "repository_name"]} return NCBISequenceSource(**new_source).model_dump() +def migrate_repository_id_source(source: dict) -> dict: + new_source = deepcopy(source) + del new_source["repository_name"] + return new_source + + def migrate_source(source: dict) -> dict: if source["type"] == "ManuallyTypedSource": return migrate_manually_typed_source(source) elif source["type"] == "RepositoryIdSource" and source["repository_name"] == "genbank": + return migrate_genbank_repository_id(source) + elif "repository_name" in source: return migrate_repository_id_source(source) elif source["type"] == "GenomeCoordinatesSource": return migrate_genome_coordinates_source(source) + elif source["type"] == "CollectionSource": + source["options"] = [{**o, "source": migrate_source(o["source"])} for o in source["options"]] return source @@ -44,7 +54,7 @@ def migrate_genome_coordinates_source(source: dict) -> dict: excluded_fields = ["type", "strand", "start", "end", "sequence_accession"] extra_fields = {key: value for key, value in source.items() if key not in excluded_fields} return new_GenomeCoordinatesSource( - coordinates=location, repository_name="genbank", repository_id=old_source.sequence_accession, **extra_fields + coordinates=location, repository_id=old_source.sequence_accession, **extra_fields ).model_dump() diff --git a/tests/migration/v0.4.9/collection.json b/tests/migration/v0.4.9/collection.json new file mode 100644 index 0000000..35f704f --- /dev/null +++ b/tests/migration/v0.4.9/collection.json @@ -0,0 +1,75 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + } + ], + "sources": [ + { + "id": 1, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "upstream_adapter", + "title": "Left adapter", + "description": "Gibson adapter to be joined via an A fusion site (GGAG)", + "image": [ + "https://assets.opencloning.org/OpenCloning-submission/submissions/kits-murray-cidar-moclo-v1/left_adapter.png", + "100%" + ], + "options": [ + { + "name": "UNS1_left", + "source": { + "id": 1, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "39296", + "repository_name": "addgene", + "sequence_file_url": "https://media.addgene.org/snapgene-media/v3.0.0/sequences/364511/7619eb5c-60b7-4e77-8e64-5fb9c2fae131/addgene-plasmid-39296-sequence-364511.gbk", + "addgene_sequence_type": "addgene-full" + }, + "info": { + "name": "UNS1_left", + "description": null, + "type": "OligoPair", + "resistance": null, + "well": null + } + }, + { + "name": "UNS3_left", + "source": { + "id": 1, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "39296", + "repository_name": "addgene", + "sequence_file_url": "https://media.addgene.org/snapgene-media/v3.0.0/sequences/364511/7619eb5c-60b7-4e77-8e64-5fb9c2fae131/addgene-plasmid-39296-sequence-364511.gbk", + "addgene_sequence_type": "addgene-full" + }, + "info": { + "name": "UNS3_left", + "description": null, + "type": "OligoPair", + "resistance": null, + "well": null + } + } + ] + } + ], + "description": "Transcriptional Unit\n\n5'UTR (with RBS) + promoter + CDS + terminator flanked by Golden Gate adapters", + "primers": [], + "backend_version": "0.4.11", + "schema_version": "0.4.8", + "frontend_version": "v0.4.24" +} diff --git a/tests/migration/v0.4.9/repository_addgene.json b/tests/migration/v0.4.9/repository_addgene.json new file mode 100644 index 0000000..7e896e0 --- /dev/null +++ b/tests/migration/v0.4.9/repository_addgene.json @@ -0,0 +1,30 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TextFileSequence", + "sequence_file_format": "genbank", + "overhang_crick_3prime": 0, + "overhang_watson_3prime": 0, + "file_content": "LOCUS pFA6a-kanMX6 3938 bp DNA circular SYN 14-APR-2025\nDEFINITION synthetic circular DNA.\nACCESSION .\nVERSION .\nKEYWORDS .\nSOURCE synthetic DNA construct\n ORGANISM synthetic DNA construct\n .\nREFERENCE 1 (bases 1 to 3938)\n AUTHORS Bahler J, Wu JQ, Longtine MS, Shah NG, McKenzie A 3rd, Steever AB,\n Wach A, Philippsen P, Pringle JR\n TITLE Heterologous modules for efficient and versatile PCR-based gene\n targeting in Schizosaccharomyces pombe.\n JOURNAL Yeast. 1998 Jul;14(10):943-51.\n PUBMED 9717240\nREFERENCE 2 (bases 1 to 3938)\n AUTHORS .\n TITLE Direct Submission\n JOURNAL Exported Apr 14, 2025 from SnapGene Server 8.0.1\n https://www.snapgene.com\nCOMMENT SGRef: number: 1; type: \"Journal Article\"; journalName: \"Yeast.\";\n date: \"1998-07\"; volume: \"14(10)\"; pages: \"943-51\"\n Sequence Label: pFA6a-kanMX6\nFEATURES Location/Qualifiers\n source 1..3938\n /mol_type=\"other DNA\"\n /organism=\"synthetic DNA construct\"\n primer_bind complement(35..52)\n /label=\"L4440\"\n /note=\"L4440 vector, forward primer\"\n rep_origin complement(206..794)\n /direction=LEFT\n /label=\"ori\"\n /note=\"high-copy-number ColE1/pMB1/pBR322/pUC origin of\n replication\"\n primer_bind complement(286..305)\n /label=\"pBR322ori-F\"\n /note=\"pBR322 origin, forward primer\"\n CDS complement(join(965..1756,1757..1825))\n /codon_start=1\n /gene=\"bla\"\n /product=\"beta-lactamase\"\n /label=\"AmpR\"\n /note=\"confers resistance to ampicillin, carbenicillin, and\n related antibiotics\"\n /translation=\"MSIQHFRVALIPFFAAFCLPVFAHPETLVKVKDAEDQLGARVGYI\n ELDLNSGKILESFRPEERFPMMSTFKVLLCGAVLSRIDAGQEQLGRRIHYSQNDLVEYS\n PVTEKHLTDGMTVRELCSAAITMSDNTAANLLLTTIGGPKELTAFLHNMGDHVTRLDRW\n EPELNEAIPNDERDTTMPVAMATTLRKLLTGELLTLASRQQLIDWMEADKVAGPLLRSA\n LPAGWFIADKSGAGERGSRGIIAALGPDGKPSRIVVIYTTGSQATMDERNRQIAEIGAS\n LIKHW\"\n primer_bind 1588..1607\n /label=\"Amp-R\"\n /note=\"Ampicillin resistance gene, reverse primer\"\n promoter complement(1826..1930)\n /gene=\"bla\"\n /label=\"AmpR promoter\"\n primer_bind 1998..2016\n /label=\"pBRforEco\"\n /note=\"pBR322 vectors, upsteam of EcoRI site, forward\n primer\"\n primer_bind complement(2054..2076)\n /label=\"pGEX 3'\"\n /note=\"pGEX vectors, reverse primer\"\n primer_bind 2176..2195\n /label=\"pRS-marker\"\n /note=\"pRS vectors, use to sequence yeast selectable\n marker\"\n promoter 2276..2294\n /label=\"SP6 promoter\"\n /note=\"promoter for bacteriophage SP6 RNA polymerase\"\n primer_bind 2276..2293\n /label=\"SP6\"\n /note=\"SP6 promoter, forward primer\"\n gene 2407..3763\n /label=\"kanMX\"\n /note=\"yeast selectable marker conferring kanamycin\n resistance (Wach et al., 1994)\"\n promoter 2407..2750\n /label=\"TEF promoter\"\n /note=\"Ashbya gossypii TEF promoter\"\n CDS 2751..3560\n /codon_start=1\n /gene=\"aph(3')-Ia\"\n /product=\"aminoglycoside phosphotransferase\"\n /label=\"KanR\"\n /note=\"confers resistance to kanamycin\"\n /translation=\"MGKEKTHVSRPRLNSNMDADLYGYKWARDNVGQSGATIYRLYGKP\n DAPELFLKHGKGSVANDVTDEMVRLNWLTEFMPLPTIKHFIRTPDDAWLLTTAIPGKTA\n FQVLEEYPDSGENIVDALAVFLRRLHSIPVCNCPFNSDRVFRLAQAQSRMNNGLVDASD\n FDDERNGWPVEQVWKEMHKLLPFSPDSVVTHGDFSLDNLIFDEGKLIGCIDVGRVGIAD\n RYQDLAILWNCLGEFSPSLQKRLFQKYGIDNPDMNKLQFHLMLDEFF\"\n primer_bind complement(2818..2837)\n /label=\"Kan-R\"\n /note=\"Kanamycin resistance gene, reverse primer\"\n terminator 3566..3763\n /label=\"TEF terminator\"\n /note=\"Ashbya gossypii TEF terminator\"\n primer_bind complement(3867..3886)\n /label=\"T7\"\n /note=\"T7 promoter, forward primer\"\n promoter complement(3868..3886)\n /label=\"T7 promoter\"\n /note=\"promoter for bacteriophage T7 RNA polymerase\"\nORIGIN\n 1 gaggcggttt gcgtattggg cgctcttccg cttcctcgct cactgactcg ctgcgctcgg\n 61 tcgttcggct gcggcgagcg gtatcagctc actcaaaggc ggtaatacgg ttatccacag\n 121 aatcagggga taacgcagga aagaacatgt gagcaaaagg ccagcaaaag gccaggaacc\n 181 gtaaaaaggc cgcgttgctg gcgtttttcc ataggctccg cccccctgac gagcatcaca\n 241 aaaatcgacg ctcaagtcag aggtggcgaa acccgacagg actataaaga taccaggcgt\n 301 ttccccctgg aagctccctc gtgcgctctc ctgttccgac cctgccgctt accggatacc\n 361 tgtccgcctt tctcccttcg ggaagcgtgg cgctttctca tagctcacgc tgtaggtatc\n 421 tcagttcggt gtaggtcgtt cgctccaagc tgggctgtgt gcacgaaccc cccgttcagc\n 481 ccgaccgctg cgccttatcc ggtaactatc gtcttgagtc caacccggta agacacgact\n 541 tatcgccact ggcagcagcc actggtaaca ggattagcag agcgaggtat gtaggcggtg\n 601 ctacagagtt cttgaagtgg tggcctaact acggctacac tagaagaaca gtatttggta\n 661 tctgcgctct gctgaagcca gttaccttcg gaaaaagagt tggtagctct tgatccggca\n 721 aacaaaccac cgctggtagc ggtggttttt ttgtttgcaa gcagcagatt acgcgcagaa\n 781 aaaaaggatc tcaagaagat cctttgatct tttctacggg gtctgacgct cagtggaacg\n 841 aaaactcacg ttaagggatt ttggtcatga gattatcaaa aaggatcttc acctagatcc\n 901 ttttaaatta aaaatgaagt tttaaatcaa tctaaagtat atatgagtaa acttggtctg\n 961 acagttacca atgcttaatc agtgaggcac ctatctcagc gatctgtcta tttcgttcat\n 1021 ccatagttgc ctgactcccc gtcgtgtaga taactacgat acgggagggc ttaccatctg\n 1081 gccccagtgc tgcaatgata ccgcgagacc cacgctcacc ggctccagat ttatcagcaa\n 1141 taaaccagcc agccggaagg gccgagcgca gaagtggtcc tgcaacttta tccgcctcca\n 1201 tccagtctat taattgttgc cgggaagcta gagtaagtag ttcgccagtt aatagtttgc\n 1261 gcaacgttgt tgccattgct acaggcatcg tggtgtcacg ctcgtcgttt ggtatggctt\n 1321 cattcagctc cggttcccaa cgatcaaggc gagttacatg atcccccatg ttgtgcaaaa\n 1381 aagcggttag ctccttcggt cctccgatcg ttgtcagaag taagttggcc gcagtgttat\n 1441 cactcatggt tatggcagca ctgcataatt ctcttactgt catgccatcc gtaagatgct\n 1501 tttctgtgac tggtgagtac tcaaccaagt cattctgaga atagtgtatg cggcgaccga\n 1561 gttgctcttg cccggcgtca atacgggata ataccgcgcc acatagcaga actttaaaag\n 1621 tgctcatcat tggaaaacgt tcttcggggc gaaaactctc aaggatctta ccgctgttga\n 1681 gatccagttc gatgtaaccc actcgtgcac ccaactgatc ttcagcatct tttactttca\n 1741 ccagcgtttc tgggtgagca aaaacaggaa ggcaaaatgc cgcaaaaaag ggaataaggg\n 1801 cgacacggaa atgttgaata ctcatactct tcctttttca atattattga agcatttatc\n 1861 agggttattg tctcatgagc ggatacatat ttgaatgtat ttagaaaaat aaacaaatag\n 1921 gggttccgcg cacatttccc cgaaaagtgc cacctgacgt ctaagaaacc attattatca\n 1981 tgacattaac ctataaaaat aggcgtatca cgaggccctt tcgtctcgcg cgtttcggtg\n 2041 atgacggtga aaacctctga cacatgcagc tcccggagac ggtcacagct tgtctgtaag\n 2101 cggatgccgg gagcagacaa gcccgtcagg gcgcgtcagc gggtgttggc gggtgtcggg\n 2161 gctggcttaa ctatgcggca tcagagcaga ttgtactgag agtgcaccat atggacatat\n 2221 tgtcgttaga acgcggctac aattaataca taaccttatg tatcatacac atacgattta\n 2281 ggtgacacta tagaacgcgg ccgccagctg aagcttcgta cgctgcaggt cgacggatcc\n 2341 ccgggttaat taaggcgcgc cagatctgtt tagcttgcct cgtccccgcc gggtcacccg\n 2401 gccagcgaca tggaggccca gaataccctc cttgacagtc ttgacgtgcg cagctcaggg\n 2461 gcatgatgtg actgtcgccc gtacatttag cccatacatc cccatgtata atcatttgca\n 2521 tccatacatt ttgatggccg cacggcgcga agcaaaaatt acggctcctc gctgcagacc\n 2581 tgcgagcagg gaaacgctcc cctcacagac gcgttgaatt gtccccacgc cgcgcccctg\n 2641 tagagaaata taaaaggtta ggatttgcca ctgaggttct tctttcatat acttcctttt\n 2701 aaaatcttgc taggatacag ttctcacatc acatccgaac ataaacaacc atgggtaagg\n 2761 aaaagactca cgtttcgagg ccgcgattaa attccaacat ggatgctgat ttatatgggt\n 2821 ataaatgggc tcgcgataat gtcgggcaat caggtgcgac aatctatcga ttgtatggga\n 2881 agcccgatgc gccagagttg tttctgaaac atggcaaagg tagcgttgcc aatgatgtta\n 2941 cagatgagat ggtcagacta aactggctga cggaatttat gcctcttccg accatcaagc\n 3001 attttatccg tactcctgat gatgcatggt tactcaccac tgcgatcccc ggcaaaacag\n 3061 cattccaggt attagaagaa tatcctgatt caggtgaaaa tattgttgat gcgctggcag\n 3121 tgttcctgcg ccggttgcat tcgattcctg tttgtaattg tccttttaac agcgatcgcg\n 3181 tatttcgtct cgctcaggcg caatcacgaa tgaataacgg tttggttgat gcgagtgatt\n 3241 ttgatgacga gcgtaatggc tggcctgttg aacaagtctg gaaagaaatg cataagcttt\n 3301 tgccattctc accggattca gtcgtcactc atggtgattt ctcacttgat aaccttattt\n 3361 ttgacgaggg gaaattaata ggttgtattg atgttggacg agtcggaatc gcagaccgat\n 3421 accaggatct tgccatccta tggaactgcc tcggtgagtt ttctccttca ttacagaaac\n 3481 ggctttttca aaaatatggt attgataatc ctgatatgaa taaattgcag tttcatttga\n 3541 tgctcgatga gtttttctaa tcagtactga caataaaaag attcttgttt tcaagaactt\n 3601 gtcatttgta tagttttttt atattgtagt tgttctattt taatcaaatg ttagcgtgat\n 3661 ttatattttt tttcgcctcg acatcatctg cccagatgcg aagttaagtg cgcagaaagt\n 3721 aatatcatgc gtcaatcgta tgtgaatgct ggtcgctata ctgctgtcga ttcgatacta\n 3781 acgccgccat ccagtttaaa cgagctcgaa ttcatcgatg atatcagatc cactagtggc\n 3841 ctatgcggcc gcggatctgc cggtctccct atagtgagtc gtattaattt cgataagcca\n 3901 ggttaacctg cattaatgaa tcggccaacg cgcgggga\n//" + } + ], + "sources": [ + { + "id": 1, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "39296", + "repository_name": "addgene", + "sequence_file_url": "https://media.addgene.org/snapgene-media/v3.0.0/sequences/364511/7619eb5c-60b7-4e77-8e64-5fb9c2fae131/addgene-plasmid-39296-sequence-364511.gbk", + "addgene_sequence_type": "addgene-full" + } + ], + "description": "", + "primers": [], + "backend_version": "0.4.11", + "schema_version": "0.4.8", + "frontend_version": "v0.4.24" +} diff --git a/tests/test_migration.py b/tests/test_migration.py index 436bd9a..5678fd7 100644 --- a/tests/test_migration.py +++ b/tests/test_migration.py @@ -155,14 +155,27 @@ def test_0_4_6_to_0_4_9_RepositoryIdSource(self): with open(os.path.join(test_folder, "migration/v0.4.9/genbank_id.json"), "r") as f: data = json.load(f) self.assertIn("repository_id", data["sources"][0]) + self.assertIn("repository_name", data["sources"][0]) migrated_data = migrate(data, "0.4.9") # Passes the validation new_CloningStrategy(**migrated_data) self.assertEqual(migrated_data["sources"][0]["type"], "NCBISequenceSource") self.assertEqual(migrated_data["sources"][0]["repository_id"], "X60065.1") - self.assertEqual(migrated_data["sources"][0]["repository_name"], "genbank") + self.assertNotIn("repository_name", migrated_data["sources"][0]) self.assertIsNone(migrated_data["sources"][0]["coordinates"]) + with open(os.path.join(test_folder, "migration/v0.4.9/repository_addgene.json"), "r") as f: + data = json.load(f) + self.assertIn("repository_id", data["sources"][0]) + self.assertIn("repository_name", data["sources"][0]) + migrated_data = migrate(data, "0.4.9") + # Passes the validation + new_CloningStrategy(**migrated_data) + self.assertEqual(migrated_data["sources"][0]["type"], "AddgeneIdSource") + self.assertEqual(migrated_data["sources"][0]["repository_id"], "39296") + self.assertNotIn("repository_name", migrated_data["sources"][0]) + self.assertNotIn("coordinates", migrated_data["sources"][0]) + def test_0_4_6_to_0_4_9_GenomeCoordinatesSource(self): from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy @@ -184,11 +197,24 @@ def test_0_4_6_to_0_4_9_GenomeCoordinatesSource(self): self.assertEqual(migrated_data["sources"][i]["type"], "GenomeCoordinatesSource") self.assertEqual(migrated_data["sources"][i]["coordinates"], location) self.assertEqual(migrated_data["sources"][i]["repository_id"], "NC_003424.3") - self.assertEqual(migrated_data["sources"][i]["repository_name"], "genbank") + self.assertNotIn("repository_name", migrated_data["sources"][i]) self.assertEqual(migrated_data["sources"][i]["assembly_accession"], "GCF_000002945.2") self.assertEqual(migrated_data["sources"][i]["locus_tag"], locus_tag) self.assertEqual(migrated_data["sources"][i]["gene_id"], gene_id) + def test_0_4_6_to_0_4_9_CollectionSource(self): + from opencloning_linkml.migrations.model_archive.v0_4_9 import CloningStrategy as new_CloningStrategy + + with open(os.path.join(test_folder, "migration/v0.4.9/collection.json"), "r") as f: + data = json.load(f) + migrated_data = migrate(data, "0.4.9") + # Passes the validation + new_CloningStrategy(**migrated_data) + self.assertEqual(migrated_data["sources"][0]["type"], "CollectionSource") + for i in range(2): + self.assertEqual(migrated_data["sources"][0]["options"][i]["source"]["type"], "AddgeneIdSource") + self.assertNotIn("repository_name", migrated_data["sources"][0]["options"][i]["source"]) + def test_migration_script(self): with tempfile.TemporaryDirectory() as tmp_dir: From 51cb847cda2ffc7eebbc9d3e7b5595969463b465 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Sat, 6 Dec 2025 01:06:24 +0000 Subject: [PATCH 11/12] migrate examples --- .../examples/cloning_strategy_with_files.json | 2 +- .../cloning_strategy_with_sequencing.json | 2 +- src/data/examples/collection_example.json | 6 +----- src/data/examples/crispr_hdr.json | 11 ++++------- .../extract_subsequence_from_file.json | 2 +- src/data/examples/gateway.json | 16 ++++++---------- src/data/examples/gateway_start.json | 13 +++++-------- src/data/examples/gibson_assembly.json | 11 ++++------- src/data/examples/golden_gate.json | 18 ++++-------------- .../examples/homologous_recombination.json | 11 ++++------- src/data/examples/plannotate.json | 2 +- .../restriction_ligation_assembly.json | 11 ++++------- .../examples/restriction_then_ligation.json | 11 ++++------- src/data/examples/templateless_PCR.json | 2 +- 14 files changed, 41 insertions(+), 77 deletions(-) diff --git a/src/data/examples/cloning_strategy_with_files.json b/src/data/examples/cloning_strategy_with_files.json index 771f878..e1bf14e 100644 --- a/src/data/examples/cloning_strategy_with_files.json +++ b/src/data/examples/cloning_strategy_with_files.json @@ -57,7 +57,7 @@ ] } ], - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/cloning_strategy_with_sequencing.json b/src/data/examples/cloning_strategy_with_sequencing.json index 926d5fc..3b9f72b 100644 --- a/src/data/examples/cloning_strategy_with_sequencing.json +++ b/src/data/examples/cloning_strategy_with_sequencing.json @@ -57,7 +57,7 @@ ] } ], - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/collection_example.json b/src/data/examples/collection_example.json index 5bccb96..58cb31b 100644 --- a/src/data/examples/collection_example.json +++ b/src/data/examples/collection_example.json @@ -36,7 +36,6 @@ "database_id": null, "input": [], "repository_id": "39295", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/49547/50886467-8250-49c3-8987-07dbd5627b8e/addgene-plasmid-39295-sequence-49547.gbk", "addgene_sequence_type": "depositor-full" }, @@ -51,7 +50,6 @@ "database_id": null, "input": [], "repository_id": "39282", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/240599/4936a6ae-6b4d-4d24-b7ac-2339fad5755d/addgene-plasmid-39282-sequence-240599.gbk", "addgene_sequence_type": "addgene-full" }, @@ -81,7 +79,6 @@ "database_id": null, "input": [], "repository_id": "39295", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/49547/50886467-8250-49c3-8987-07dbd5627b8e/addgene-plasmid-39295-sequence-49547.gbk", "addgene_sequence_type": "depositor-full" }, @@ -102,7 +99,6 @@ "database_id": null, "input": [], "repository_id": "39282", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/240599/4936a6ae-6b4d-4d24-b7ac-2339fad5755d/addgene-plasmid-39282-sequence-240599.gbk", "addgene_sequence_type": "addgene-full" }, @@ -120,7 +116,7 @@ "primers": [], "description": "A dummy example", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/crispr_hdr.json b/src/data/examples/crispr_hdr.json index ec7a697..0832a55 100644 --- a/src/data/examples/crispr_hdr.json +++ b/src/data/examples/crispr_hdr.json @@ -40,13 +40,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "NC_003424.3", + "coordinates": "1877009..1881726", "assembly_accession": "GCF_000002945.1", - "sequence_accession": "NC_003424.3", "locus_tag": "SPAPB1A10.09", - "gene_id": 2543372, - "start": 1877009, - "end": 1881726, - "strand": 1 + "gene_id": 2543372 }, { "id": 2, @@ -55,7 +53,6 @@ "database_id": null, "input": [], "repository_id": "39295", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/49547/50886467-8250-49c3-8987-07dbd5627b8e/addgene-plasmid-39295-sequence-49547.gbk", "addgene_sequence_type": "depositor-full" }, @@ -150,7 +147,7 @@ ], "description": "Replacing a fragment in the ase1 ORF by a 3xHA tag, using CRISPR-HDR", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/extract_subsequence_from_file.json b/src/data/examples/extract_subsequence_from_file.json index aea8811..3cd61b4 100644 --- a/src/data/examples/extract_subsequence_from_file.json +++ b/src/data/examples/extract_subsequence_from_file.json @@ -26,7 +26,7 @@ "primers": [], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gateway.json b/src/data/examples/gateway.json index cc3f78c..b7f2ed9 100644 --- a/src/data/examples/gateway.json +++ b/src/data/examples/gateway.json @@ -56,13 +56,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "NC_000913.3", + "coordinates": "complement(362231..367305)", "assembly_accession": "GCF_000005845.2", - "sequence_accession": "NC_000913.3", "locus_tag": "b0344", - "gene_id": 945006, - "start": 362231, - "end": 367305, - "strand": -1 + "gene_id": 945006 }, { "id": 2, @@ -70,8 +68,7 @@ "output_name": "pDONR221", "database_id": null, "input": [], - "repository_id": "gateway_cloning_vectors/pDONR221", - "repository_name": "snapgene" + "repository_id": "gateway_cloning_vectors/pDONR221" }, { "id": 3, @@ -79,8 +76,7 @@ "output_name": "pcDNA6.2_C-YFP-DEST", "database_id": null, "input": [], - "repository_id": "gateway_cloning_vectors/pcDNA6.2_C-YFP-DEST", - "repository_name": "snapgene" + "repository_id": "gateway_cloning_vectors/pcDNA6.2_C-YFP-DEST" }, { "id": 4, @@ -196,7 +192,7 @@ ], "description": "Cloning the lacZ gene from E. coli into an entry clone, then expression clone", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gateway_start.json b/src/data/examples/gateway_start.json index d1ea720..727c079 100644 --- a/src/data/examples/gateway_start.json +++ b/src/data/examples/gateway_start.json @@ -38,13 +38,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 2, @@ -52,8 +50,7 @@ "output_name": "pDONR221", "database_id": null, "input": [], - "repository_id": "gateway_cloning_vectors/pDONR221", - "repository_name": "snapgene" + "repository_id": "gateway_cloning_vectors/pDONR221" }, { "id": 3, @@ -105,7 +102,7 @@ ], "description": "Deletion of the ORF of ase1 by homologous recombination in S.pombe", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/gibson_assembly.json b/src/data/examples/gibson_assembly.json index 0a530e0..e6ea442 100644 --- a/src/data/examples/gibson_assembly.json +++ b/src/data/examples/gibson_assembly.json @@ -49,7 +49,6 @@ "database_id": null, "input": [], "repository_id": "52691", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v2.0.0/sequences/210876/0ad0ffaa-d9b9-48c4-af54-19e87587070e/addgene-plasmid-52691-sequence-210876.gbk", "addgene_sequence_type": "addgene-full" }, @@ -59,13 +58,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "NC_003424.3", + "coordinates": "1877189..1881726", "assembly_accession": "GCF_000002945.2", - "sequence_accession": "NC_003424.3", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": 2543372, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": 2543372 }, { "id": 3, @@ -185,7 +182,7 @@ ], "description": "Cloning the ase1 gene from S. pombe's genome into pREP42-MCS+ expression vector using Gibson assembly.", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/golden_gate.json b/src/data/examples/golden_gate.json index 1afbcc4..742e8ef 100644 --- a/src/data/examples/golden_gate.json +++ b/src/data/examples/golden_gate.json @@ -97,7 +97,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110162/c1c98803-c8ba-44a6-95b8-d6a94097e36f/addgene-plasmid-65109-sequence-110162.gbk", "addgene_sequence_type": "depositor-full" }, @@ -108,7 +107,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110169/9ee8c8ed-5a57-43f9-99dd-79e66631ad89/addgene-plasmid-65116-sequence-110169.gbk", "addgene_sequence_type": "depositor-full" }, @@ -119,7 +117,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110198/117464a2-bab4-4fd2-8157-4ac89cf7ab6d/addgene-plasmid-65145-sequence-110198.gbk", "addgene_sequence_type": "depositor-full" }, @@ -130,7 +127,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110211/a0b9a8c0-9498-4100-8260-5346cffa1979/addgene-plasmid-65158-sequence-110211.gbk", "addgene_sequence_type": "depositor-full" }, @@ -141,7 +137,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/193065/ddf46d89-9718-435c-b5bb-3002a17065ab/addgene-plasmid-65174-sequence-193065.gbk", "addgene_sequence_type": "addgene-full" }, @@ -152,7 +147,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110234/113eb058-6e21-40b5-be0b-2e9c986e72bb/addgene-plasmid-65181-sequence-110234.gbk", "addgene_sequence_type": "depositor-full" }, @@ -163,7 +157,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110241/a6c1b84f-64cb-4675-9318-7aa00279074f/addgene-plasmid-65188-sequence-110241.gbk", "addgene_sequence_type": "depositor-full" }, @@ -174,7 +167,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v1.7.9-0-g88a3305/sequences/110243/32100717-608c-4d8d-8cc1-800ede3d637b/addgene-plasmid-65190-sequence-110243.gbk", "addgene_sequence_type": "depositor-full" }, @@ -184,13 +176,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "coordinates": "3437890..3443117", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAC3A11.14C", - "gene_id": null, - "start": 3437890, - "end": 3443117, - "strand": 1 + "gene_id": null }, { "id": 10, @@ -317,7 +307,7 @@ ], "description": "Cloning of CDS of S. pombe gene pkl1 with an N-term Venus tag using MoClo kit from John Dueber, see:\n\nhttps://www.addgene.org/kits/moclo-ytk/#kit-contents\n\nThe plasmids used are:\n\npYTK002 - ConLS\npYTK009 - pTDH3\npYTK038 - Venus 65145\npayload - CDS of pkl1 from S. pombe\npYTK051 - tENO1 65158\npYTK067 - ConR1 65174\npYTK074 - URA3 65181\npYTK081 - CEN6/ARS4 65188\npYTK083 - AmpR-ColE1 65190\n\n\n\n\n", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/homologous_recombination.json b/src/data/examples/homologous_recombination.json index a31388b..d405efc 100644 --- a/src/data/examples/homologous_recombination.json +++ b/src/data/examples/homologous_recombination.json @@ -41,7 +41,6 @@ "database_id": null, "input": [], "repository_id": "19342", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v2.0.0/sequences/8997/a6b027f8-013a-4b68-bf7e-359f34a653d0/addgene-plasmid-19342-sequence-8997.gbk", "addgene_sequence_type": "depositor-full" }, @@ -82,13 +81,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 4, @@ -139,7 +136,7 @@ ], "description": "Deletion of the ORF of ase1 by homologous recombination in S.pombe", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/plannotate.json b/src/data/examples/plannotate.json index 10d9e10..ef7d070 100644 --- a/src/data/examples/plannotate.json +++ b/src/data/examples/plannotate.json @@ -320,7 +320,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/restriction_ligation_assembly.json b/src/data/examples/restriction_ligation_assembly.json index 0a6ed12..836adc2 100644 --- a/src/data/examples/restriction_ligation_assembly.json +++ b/src/data/examples/restriction_ligation_assembly.json @@ -40,13 +40,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 2, @@ -86,7 +84,6 @@ "database_id": null, "input": [], "repository_id": "39296", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v2.0.0/sequences/364511/7619eb5c-60b7-4e77-8e64-5fb9c2fae131/addgene-plasmid-39296-sequence-364511.gbk", "addgene_sequence_type": "addgene-full" }, @@ -136,7 +133,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/restriction_then_ligation.json b/src/data/examples/restriction_then_ligation.json index d2b2b80..29314c1 100644 --- a/src/data/examples/restriction_then_ligation.json +++ b/src/data/examples/restriction_then_ligation.json @@ -56,13 +56,11 @@ "output_name": null, "database_id": null, "input": [], + "repository_id": "CU329670.1", + "coordinates": "1877189..1881726", "assembly_accession": "GCA_000002945.3", - "sequence_accession": "CU329670.1", "locus_tag": "SPOM_SPAPB1A10.09", - "gene_id": null, - "start": 1877189, - "end": 1881726, - "strand": 1 + "gene_id": null }, { "id": 2, @@ -102,7 +100,6 @@ "database_id": null, "input": [], "repository_id": "39296", - "repository_name": "addgene", "sequence_file_url": "https://media.addgene.org/snapgene-media/v2.0.0/sequences/364511/7619eb5c-60b7-4e77-8e64-5fb9c2fae131/addgene-plasmid-39296-sequence-364511.gbk", "addgene_sequence_type": "addgene-full" }, @@ -192,7 +189,7 @@ ], "description": "Cloning of CDS of S. pombe gene pkl1 with an N-term Venus tag using MoClo kit from John Dueber, see:\n\nhttps://www.addgene.org/kits/moclo-ytk/#kit-contents\n\nThe plasmids used are:\n\npYTK002 - ConLS\npYTK009 - pTDH3\npYTK038 - Venus 65145\npayload - CDS of pkl1 from S. pombe\npYTK051 - tENO1 65158\npYTK067 - ConR1 65174\npYTK074 - URA3 65181\npYTK081 - CEN6/ARS4 65188\npYTK083 - AmpR-ColE1 65190\n\n\n\n\n", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/examples/templateless_PCR.json b/src/data/examples/templateless_PCR.json index 5bbffa6..2e2ca06 100644 --- a/src/data/examples/templateless_PCR.json +++ b/src/data/examples/templateless_PCR.json @@ -66,7 +66,7 @@ ], "description": "", "files": null, - "schema_version": "0.4.3", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } From fd935d7a5699dbb7278c4c6ccbcadc089802ca15 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Sat, 6 Dec 2025 02:19:19 +0000 Subject: [PATCH 12/12] test and migrate templates --- migrate_templates.sh | 3 + .../submission.json | 13 - .../templates/pcr_based_targeting.json | 53 -- .../templates/assembly_template_001.json | 65 +- .../templates/assembly_template_002.json | 68 +- .../templates/assembly_template_003.json | 66 +- .../templates/assembly_template_004.json | 69 +- .../templates/assembly_template_005.json | 72 +- .../templates/assembly_template_006.json | 70 +- .../templates/assembly_template_001.json | 29 +- .../templates/assembly_template_002.json | 29 +- .../templates/assembly_template_003.json | 29 +- .../templates/assembly_template_004.json | 29 +- .../kits-gasser-goldenpics/submission.json | 652 +++++++++++++ .../templates/assembly_template_001.json | 895 ++++++++++++++++++ .../templates/assembly_template_002.json | 894 +++++++++++++++++ .../templates/assembly_template_003.json | 394 ++++++++ .../templates/assembly_template_001.json | 62 +- .../templates/assembly_template_002.json | 67 +- .../templates/assembly_template_003.json | 71 +- .../templates/assembly_template_004.json | 66 +- .../templates/assembly_template_005.json | 71 +- .../templates/assembly_template_006.json | 75 +- .../templates/assembly_template_001.json | 132 +-- .../templates/assembly_template_002.json | 16 +- .../templates/assembly_template_001.json | 58 +- .../templates/assembly_template_002.json | 76 +- .../templates/assembly_template_003.json | 85 +- .../templates/assembly_template_004.json | 62 +- .../templates/assembly_template_005.json | 80 +- .../templates/assembly_template_006.json | 89 +- 31 files changed, 2862 insertions(+), 1578 deletions(-) create mode 100644 migrate_templates.sh delete mode 100644 src/data/templates/allele-engineering-templates/submission.json delete mode 100644 src/data/templates/allele-engineering-templates/templates/pcr_based_targeting.json create mode 100644 src/data/templates/kits-gasser-goldenpics/submission.json create mode 100644 src/data/templates/kits-gasser-goldenpics/templates/assembly_template_001.json create mode 100644 src/data/templates/kits-gasser-goldenpics/templates/assembly_template_002.json create mode 100644 src/data/templates/kits-gasser-goldenpics/templates/assembly_template_003.json diff --git a/migrate_templates.sh b/migrate_templates.sh new file mode 100644 index 0000000..16f590e --- /dev/null +++ b/migrate_templates.sh @@ -0,0 +1,3 @@ +rm -f src/data/templates/*/templates/*backup.json +python -m opencloning_linkml.migrations.migrate --target-version 0.4.9 src/data/templates/*/templates/*.json +rm -f src/data/templates/*/templates/*backup.json diff --git a/src/data/templates/allele-engineering-templates/submission.json b/src/data/templates/allele-engineering-templates/submission.json deleted file mode 100644 index d96004f..0000000 --- a/src/data/templates/allele-engineering-templates/submission.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "kit": { - "title": "Allele engineering", - "description": "Templates to engineer alleles." - }, - "assemblies": [ - { - "title": "PCR-based targeting", - "description": "Amplify a plasmid fragment adding homology arms to replace a region in the genome.", - "template_file": "pcr_based_targeting.json" - } - ] -} diff --git a/src/data/templates/allele-engineering-templates/templates/pcr_based_targeting.json b/src/data/templates/allele-engineering-templates/templates/pcr_based_targeting.json deleted file mode 100644 index aac0a9b..0000000 --- a/src/data/templates/allele-engineering-templates/templates/pcr_based_targeting.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "sequences": [ - { - "id": 2, - "type": "TemplateSequence", - "circular": true - }, - { - "id": 4, - "type": "TemplateSequence", - "circular": false - }, - { - "type": "TemplateSequence", - "primer_design": true, - "circular": false, - "id": 6 - } - ], - "sources": [ - { - "id": 1, - "input": [], - "output": 2, - "type": "" - }, - { - "id": 3, - "input": [], - "output": 4, - "type": "GenomeCoordinatesSource" - }, - { - "id": 5, - "type": "PCRSource", - "input": [ - 2 - ], - "output": 6 - }, - { - "id": 7, - "type": "HomologousRecombinationSource", - "input": [ - 4, - 6 - ], - "output": null - } - ], - "description": "", - "primers": [] -} diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_001.json b/src/data/templates/browse-article-28244182/templates/assembly_template_001.json index e014d3d..bd9af07 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_001.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_001.json @@ -79,7 +79,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -100,7 +99,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -121,7 +119,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -142,7 +139,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -163,7 +159,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -184,7 +179,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -205,7 +199,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -226,7 +219,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -247,7 +239,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -268,7 +259,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -289,7 +279,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -310,7 +299,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -331,7 +319,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -368,7 +355,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -389,7 +375,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -410,7 +395,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -431,7 +415,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -452,7 +435,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -473,7 +455,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -494,7 +475,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -515,7 +495,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -536,7 +515,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -557,7 +535,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -578,7 +555,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -599,7 +575,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -620,7 +595,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -641,7 +615,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -678,7 +651,6 @@ "database_id": null, "input": [], "repository_id": "65139", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -699,7 +671,6 @@ "database_id": null, "input": [], "repository_id": "65140", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -720,7 +691,6 @@ "database_id": null, "input": [], "repository_id": "65141", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -741,7 +711,6 @@ "database_id": null, "input": [], "repository_id": "65143", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -778,7 +747,6 @@ "database_id": null, "input": [], "repository_id": "216452", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -799,7 +767,6 @@ "database_id": null, "input": [], "repository_id": "216453", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -820,7 +787,6 @@ "database_id": null, "input": [], "repository_id": "216454", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -841,7 +807,6 @@ "database_id": null, "input": [], "repository_id": "216455", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -862,7 +827,6 @@ "database_id": null, "input": [], "repository_id": "216456", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -883,7 +847,6 @@ "database_id": null, "input": [], "repository_id": "216457", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -904,7 +867,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -925,7 +887,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -946,7 +907,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -967,7 +927,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -988,7 +947,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1009,7 +967,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1046,7 +1003,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1067,7 +1023,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1088,7 +1043,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1109,7 +1063,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1130,7 +1083,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1151,7 +1103,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1172,7 +1123,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1193,7 +1143,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1214,7 +1163,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1235,7 +1183,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1256,7 +1203,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1277,7 +1223,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1298,7 +1243,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1335,7 +1279,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1356,7 +1299,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1377,7 +1319,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1398,7 +1339,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1450,7 +1390,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1471,7 +1410,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1492,7 +1430,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1554,7 +1491,7 @@ "primers": [], "description": "CDS self-replicating plasmid\n\nA plasmid with a yeast ORI containing a CDS", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_002.json b/src/data/templates/browse-article-28244182/templates/assembly_template_002.json index a500741..a7c26b4 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_002.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_002.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -232,7 +225,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -253,7 +245,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -274,7 +265,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -295,7 +285,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -316,7 +305,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -337,7 +325,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -684,7 +657,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -705,7 +677,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -726,7 +697,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -784,7 +753,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -805,7 +773,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -826,7 +793,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -863,7 +829,6 @@ "database_id": null, "input": [], "repository_id": "216452", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -884,7 +849,6 @@ "database_id": null, "input": [], "repository_id": "216453", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -905,7 +869,6 @@ "database_id": null, "input": [], "repository_id": "216454", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -926,7 +889,6 @@ "database_id": null, "input": [], "repository_id": "216455", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -947,7 +909,6 @@ "database_id": null, "input": [], "repository_id": "216456", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -968,7 +929,6 @@ "database_id": null, "input": [], "repository_id": "216457", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -989,7 +949,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1010,7 +969,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1031,7 +989,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1052,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1073,7 +1029,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1094,7 +1049,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1131,7 +1085,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1152,7 +1105,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1173,7 +1125,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1194,7 +1145,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1215,7 +1165,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1236,7 +1185,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1257,7 +1205,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1278,7 +1225,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1299,7 +1245,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1320,7 +1265,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1341,7 +1285,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1362,7 +1305,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1383,7 +1325,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1420,7 +1361,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1441,7 +1381,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1462,7 +1401,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1483,7 +1421,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1535,7 +1472,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1556,7 +1492,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1577,7 +1512,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1643,7 +1577,7 @@ "primers": [], "description": "2xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with two CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_003.json b/src/data/templates/browse-article-28244182/templates/assembly_template_003.json index 3474479..731d955 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_003.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_003.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -238,7 +231,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -259,7 +251,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -280,7 +271,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -301,7 +291,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -322,7 +311,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -343,7 +331,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -690,7 +663,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -711,7 +683,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -732,7 +703,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -790,7 +759,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -811,7 +779,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -832,7 +799,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -869,7 +835,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -890,7 +855,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -911,7 +875,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -932,7 +895,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -969,7 +931,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -990,7 +951,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1011,7 +971,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1032,7 +991,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1053,7 +1011,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1074,7 +1031,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1111,7 +1067,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1132,7 +1087,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1153,7 +1107,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1174,7 +1127,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1195,7 +1147,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1216,7 +1167,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1237,7 +1187,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1258,7 +1207,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1279,7 +1227,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1300,7 +1247,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1321,7 +1267,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1342,7 +1287,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1363,7 +1307,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1400,7 +1343,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1421,7 +1363,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1442,7 +1383,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1463,7 +1403,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1515,7 +1454,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1536,7 +1474,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1557,7 +1494,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1627,7 +1563,7 @@ "primers": [], "description": "3xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with three CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_004.json b/src/data/templates/browse-article-28244182/templates/assembly_template_004.json index 08d9f61..9112dc9 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_004.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_004.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -232,7 +225,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -253,7 +245,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -274,7 +265,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -295,7 +285,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -316,7 +305,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -337,7 +325,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -684,7 +657,6 @@ "database_id": null, "input": [], "repository_id": "65139", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -705,7 +677,6 @@ "database_id": null, "input": [], "repository_id": "65140", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -726,7 +697,6 @@ "database_id": null, "input": [], "repository_id": "65141", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "65143", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -784,7 +753,6 @@ "database_id": null, "input": [], "repository_id": "216452", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -805,7 +773,6 @@ "database_id": null, "input": [], "repository_id": "216453", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -826,7 +793,6 @@ "database_id": null, "input": [], "repository_id": "216454", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -847,7 +813,6 @@ "database_id": null, "input": [], "repository_id": "216455", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -868,7 +833,6 @@ "database_id": null, "input": [], "repository_id": "216456", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -889,7 +853,6 @@ "database_id": null, "input": [], "repository_id": "216457", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -910,7 +873,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -931,7 +893,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -952,7 +913,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -973,7 +933,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -994,7 +953,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1015,7 +973,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1052,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1073,7 +1029,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1094,7 +1049,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1115,7 +1069,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1136,7 +1089,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1157,7 +1109,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1178,7 +1129,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1199,7 +1149,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1220,7 +1169,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1241,7 +1189,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1262,7 +1209,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1283,7 +1229,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1304,7 +1249,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1341,7 +1285,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1362,7 +1305,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1383,7 +1325,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1404,7 +1345,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1441,7 +1381,6 @@ "database_id": null, "input": [], "repository_id": "216459", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1462,7 +1401,6 @@ "database_id": null, "input": [], "repository_id": "216465", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1499,7 +1437,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1520,7 +1457,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1541,7 +1477,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1578,7 +1513,6 @@ "database_id": null, "input": [], "repository_id": "216463", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1599,7 +1533,6 @@ "database_id": null, "input": [], "repository_id": "216461", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1665,7 +1598,7 @@ "primers": [], "description": "CDS integration plasmid\n\nA plasmid containing a CDS that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_005.json b/src/data/templates/browse-article-28244182/templates/assembly_template_005.json index 2f72409..27973f7 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_005.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_005.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -238,7 +231,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -259,7 +251,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -280,7 +271,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -301,7 +291,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -322,7 +311,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -343,7 +331,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -690,7 +663,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -711,7 +683,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -732,7 +703,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -790,7 +759,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -811,7 +779,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -832,7 +799,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -869,7 +835,6 @@ "database_id": null, "input": [], "repository_id": "216452", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -890,7 +855,6 @@ "database_id": null, "input": [], "repository_id": "216453", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -911,7 +875,6 @@ "database_id": null, "input": [], "repository_id": "216454", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -932,7 +895,6 @@ "database_id": null, "input": [], "repository_id": "216455", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -953,7 +915,6 @@ "database_id": null, "input": [], "repository_id": "216456", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -974,7 +935,6 @@ "database_id": null, "input": [], "repository_id": "216457", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -995,7 +955,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1016,7 +975,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1037,7 +995,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1058,7 +1015,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1079,7 +1035,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1100,7 +1055,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1137,7 +1091,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1158,7 +1111,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1179,7 +1131,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1200,7 +1151,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1221,7 +1171,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1242,7 +1191,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1263,7 +1211,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1284,7 +1231,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1305,7 +1251,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1326,7 +1271,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1347,7 +1291,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1368,7 +1311,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1389,7 +1331,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1426,7 +1367,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1447,7 +1387,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1468,7 +1407,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1489,7 +1427,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1526,7 +1463,6 @@ "database_id": null, "input": [], "repository_id": "216459", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1547,7 +1483,6 @@ "database_id": null, "input": [], "repository_id": "216465", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1584,7 +1519,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1605,7 +1539,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1626,7 +1559,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1663,7 +1595,6 @@ "database_id": null, "input": [], "repository_id": "216463", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1684,7 +1615,6 @@ "database_id": null, "input": [], "repository_id": "216461", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1754,7 +1684,7 @@ "primers": [], "description": "2xCDS integration plasmid\n\nA plasmid containing a 2xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/browse-article-28244182/templates/assembly_template_006.json b/src/data/templates/browse-article-28244182/templates/assembly_template_006.json index afb28f6..4b65d81 100644 --- a/src/data/templates/browse-article-28244182/templates/assembly_template_006.json +++ b/src/data/templates/browse-article-28244182/templates/assembly_template_006.json @@ -97,7 +97,6 @@ "database_id": null, "input": [], "repository_id": "216426", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -118,7 +117,6 @@ "database_id": null, "input": [], "repository_id": "216427", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -139,7 +137,6 @@ "database_id": null, "input": [], "repository_id": "216428", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -160,7 +157,6 @@ "database_id": null, "input": [], "repository_id": "216429", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -181,7 +177,6 @@ "database_id": null, "input": [], "repository_id": "216430", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -202,7 +197,6 @@ "database_id": null, "input": [], "repository_id": "216431", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -223,7 +217,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -244,7 +237,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -265,7 +257,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -286,7 +277,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -307,7 +297,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -328,7 +317,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -349,7 +337,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -386,7 +373,6 @@ "database_id": null, "input": [], "repository_id": "216438", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -407,7 +393,6 @@ "database_id": null, "input": [], "repository_id": "216439", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -428,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "216440", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -449,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "216441", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -470,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "216442", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -491,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "216443", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -512,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "216444", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -533,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "216445", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -554,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "216446", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -575,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "216447", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -596,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "216448", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -617,7 +593,6 @@ "database_id": null, "input": [], "repository_id": "216449", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -638,7 +613,6 @@ "database_id": null, "input": [], "repository_id": "216450", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -659,7 +633,6 @@ "database_id": null, "input": [], "repository_id": "216451", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -696,7 +669,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -717,7 +689,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -738,7 +709,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -759,7 +729,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -796,7 +765,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -817,7 +785,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -838,7 +805,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -875,7 +841,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -896,7 +861,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -917,7 +881,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -938,7 +901,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -975,7 +937,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -996,7 +957,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1017,7 +977,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1038,7 +997,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1059,7 +1017,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1080,7 +1037,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1117,7 +1073,6 @@ "database_id": null, "input": [], "repository_id": "216432", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1138,7 +1093,6 @@ "database_id": null, "input": [], "repository_id": "216433", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1159,7 +1113,6 @@ "database_id": null, "input": [], "repository_id": "216434", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1180,7 +1133,6 @@ "database_id": null, "input": [], "repository_id": "216435", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1201,7 +1153,6 @@ "database_id": null, "input": [], "repository_id": "216436", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1222,7 +1173,6 @@ "database_id": null, "input": [], "repository_id": "216437", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1243,7 +1193,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1264,7 +1213,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1285,7 +1233,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1306,7 +1253,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1327,7 +1273,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1348,7 +1293,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1369,7 +1313,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1406,7 +1349,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1427,7 +1369,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1448,7 +1389,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1469,7 +1409,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1506,7 +1445,6 @@ "database_id": null, "input": [], "repository_id": "216459", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1527,7 +1465,6 @@ "database_id": null, "input": [], "repository_id": "216465", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1564,7 +1501,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1585,7 +1521,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1606,7 +1541,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1643,7 +1577,6 @@ "database_id": null, "input": [], "repository_id": "216463", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1664,7 +1597,6 @@ "database_id": null, "input": [], "repository_id": "216461", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1738,7 +1670,7 @@ "primers": [], "description": "3xCDS integration plasmid\n\nA plasmid containing a 3xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_001.json b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_001.json index 459c67c..7cfd05e 100644 --- a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_001.json +++ b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_001.json @@ -61,7 +61,6 @@ "database_id": null, "input": [], "repository_id": "65980", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -82,7 +81,6 @@ "database_id": null, "input": [], "repository_id": "65984", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -103,7 +101,6 @@ "database_id": null, "input": [], "repository_id": "65988", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -124,7 +121,6 @@ "database_id": null, "input": [], "repository_id": "65992", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -145,7 +141,6 @@ "database_id": null, "input": [], "repository_id": "65996", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -166,7 +161,6 @@ "database_id": null, "input": [], "repository_id": "66000", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -187,7 +181,6 @@ "database_id": null, "input": [], "repository_id": "66004", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -208,7 +201,6 @@ "database_id": null, "input": [], "repository_id": "66008", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -229,7 +221,6 @@ "database_id": null, "input": [], "repository_id": "66012", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -250,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "66016", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -287,7 +277,6 @@ "database_id": null, "input": [], "repository_id": "66020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -308,7 +297,6 @@ "database_id": null, "input": [], "repository_id": "66021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -329,7 +317,6 @@ "database_id": null, "input": [], "repository_id": "66022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -350,7 +337,6 @@ "database_id": null, "input": [], "repository_id": "66023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -371,7 +357,6 @@ "database_id": null, "input": [], "repository_id": "66024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -392,7 +377,6 @@ "database_id": null, "input": [], "repository_id": "66025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -429,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "66026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -450,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "66027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -471,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "66028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -492,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "66029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -513,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "66030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -534,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "66031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -555,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "66032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -576,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "66033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -597,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "66034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -634,7 +609,6 @@ "database_id": null, "input": [], "repository_id": "66035", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -671,7 +645,6 @@ "database_id": null, "input": [], "repository_id": "66040", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -721,7 +694,7 @@ "primers": [], "description": "Transcriptional Unit AE\n\nPlasmid with a transcriptional unit starting and ending with fusion sites A (GGAG) and E (GCTT)", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_002.json b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_002.json index ff087d8..0159193 100644 --- a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_002.json +++ b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_002.json @@ -61,7 +61,6 @@ "database_id": null, "input": [], "repository_id": "65981", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -82,7 +81,6 @@ "database_id": null, "input": [], "repository_id": "65985", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -103,7 +101,6 @@ "database_id": null, "input": [], "repository_id": "65989", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -124,7 +121,6 @@ "database_id": null, "input": [], "repository_id": "65993", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -145,7 +141,6 @@ "database_id": null, "input": [], "repository_id": "65997", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -166,7 +161,6 @@ "database_id": null, "input": [], "repository_id": "66001", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -187,7 +181,6 @@ "database_id": null, "input": [], "repository_id": "66005", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -208,7 +201,6 @@ "database_id": null, "input": [], "repository_id": "66009", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -229,7 +221,6 @@ "database_id": null, "input": [], "repository_id": "66013", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -250,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "66017", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -287,7 +277,6 @@ "database_id": null, "input": [], "repository_id": "66020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -308,7 +297,6 @@ "database_id": null, "input": [], "repository_id": "66021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -329,7 +317,6 @@ "database_id": null, "input": [], "repository_id": "66022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -350,7 +337,6 @@ "database_id": null, "input": [], "repository_id": "66023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -371,7 +357,6 @@ "database_id": null, "input": [], "repository_id": "66024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -392,7 +377,6 @@ "database_id": null, "input": [], "repository_id": "66025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -429,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "66026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -450,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "66027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -471,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "66028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -492,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "66029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -513,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "66030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -534,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "66031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -555,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "66032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -576,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "66033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -597,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "66034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -634,7 +609,6 @@ "database_id": null, "input": [], "repository_id": "66036", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -671,7 +645,6 @@ "database_id": null, "input": [], "repository_id": "66051", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -721,7 +694,7 @@ "primers": [], "description": "Transcriptional Unit EF\n\nPlasmid with a transcriptional unit starting and ending with fusion sites E (GCTT) and F (CGCT)", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_003.json b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_003.json index 232188d..d2f4699 100644 --- a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_003.json +++ b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_003.json @@ -61,7 +61,6 @@ "database_id": null, "input": [], "repository_id": "65982", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -82,7 +81,6 @@ "database_id": null, "input": [], "repository_id": "65986", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -103,7 +101,6 @@ "database_id": null, "input": [], "repository_id": "65990", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -124,7 +121,6 @@ "database_id": null, "input": [], "repository_id": "65994", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -145,7 +141,6 @@ "database_id": null, "input": [], "repository_id": "65998", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -166,7 +161,6 @@ "database_id": null, "input": [], "repository_id": "66002", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -187,7 +181,6 @@ "database_id": null, "input": [], "repository_id": "66006", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -208,7 +201,6 @@ "database_id": null, "input": [], "repository_id": "66010", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -229,7 +221,6 @@ "database_id": null, "input": [], "repository_id": "66014", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -250,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "66018", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -287,7 +277,6 @@ "database_id": null, "input": [], "repository_id": "66020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -308,7 +297,6 @@ "database_id": null, "input": [], "repository_id": "66021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -329,7 +317,6 @@ "database_id": null, "input": [], "repository_id": "66022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -350,7 +337,6 @@ "database_id": null, "input": [], "repository_id": "66023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -371,7 +357,6 @@ "database_id": null, "input": [], "repository_id": "66024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -392,7 +377,6 @@ "database_id": null, "input": [], "repository_id": "66025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -429,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "66026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -450,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "66027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -471,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "66028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -492,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "66029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -513,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "66030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -534,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "66031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -555,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "66032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -576,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "66033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -597,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "66034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -634,7 +609,6 @@ "database_id": null, "input": [], "repository_id": "66037", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -671,7 +645,6 @@ "database_id": null, "input": [], "repository_id": "66070", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -721,7 +694,7 @@ "primers": [], "description": "Transcriptional Unit FG\n\nPlasmid with a transcriptional unit starting and ending with fusion sites F (CGCT) and G (TGCC)", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_004.json b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_004.json index da1e233..5a66597 100644 --- a/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_004.json +++ b/src/data/templates/kits-densmore-cidar-moclo/templates/assembly_template_004.json @@ -61,7 +61,6 @@ "database_id": null, "input": [], "repository_id": "65983", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -82,7 +81,6 @@ "database_id": null, "input": [], "repository_id": "65987", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -103,7 +101,6 @@ "database_id": null, "input": [], "repository_id": "65991", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -124,7 +121,6 @@ "database_id": null, "input": [], "repository_id": "65995", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -145,7 +141,6 @@ "database_id": null, "input": [], "repository_id": "65999", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -166,7 +161,6 @@ "database_id": null, "input": [], "repository_id": "66003", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -187,7 +181,6 @@ "database_id": null, "input": [], "repository_id": "66007", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -208,7 +201,6 @@ "database_id": null, "input": [], "repository_id": "66011", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -229,7 +221,6 @@ "database_id": null, "input": [], "repository_id": "66015", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -250,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "66019", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -287,7 +277,6 @@ "database_id": null, "input": [], "repository_id": "66020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -308,7 +297,6 @@ "database_id": null, "input": [], "repository_id": "66021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -329,7 +317,6 @@ "database_id": null, "input": [], "repository_id": "66022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -350,7 +337,6 @@ "database_id": null, "input": [], "repository_id": "66023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -371,7 +357,6 @@ "database_id": null, "input": [], "repository_id": "66024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -392,7 +377,6 @@ "database_id": null, "input": [], "repository_id": "66025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -429,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "66026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -450,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "66027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -471,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "66028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -492,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "66029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -513,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "66030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -534,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "66031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -555,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "66032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -576,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "66033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -597,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "66034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -634,7 +609,6 @@ "database_id": null, "input": [], "repository_id": "66038", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -671,7 +645,6 @@ "database_id": null, "input": [], "repository_id": "66071", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -721,7 +694,7 @@ "primers": [], "description": "Transcriptional Unit GH\n\nPlasmid with a transcriptional unit starting and ending with fusion sites G (TGCC) and H (ACTA)", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-gasser-goldenpics/submission.json b/src/data/templates/kits-gasser-goldenpics/submission.json new file mode 100644 index 0000000..57749df --- /dev/null +++ b/src/data/templates/kits-gasser-goldenpics/submission.json @@ -0,0 +1,652 @@ +{ + "submitters": [ + { + "full_name": "Manuel Lera-Ramirez", + "orcid": "0000-0002-8666-9746", + "github_username": "manulera" + } + ], + "kit": { + "pmid": "PMID:29221460", + "addgene_url": "https://www.addgene.org/kits/gasser-goldenpics", + "title": "GoldenPiCS", + "description": "Flexible modular system for advanced strain engineering in P. pastoris / K. phaffii" + }, + "sequences": [ + { + "name": "BB1_12", + "category": "recipient BB1", + "description": "promoter cloning", + "type": "AddgenePlasmid", + "addgene_id": "98495", + "resistance": "Kanamycin", + "well": "A / 1" + }, + { + "name": "BB1_23", + "category": "recipient BB1", + "description": "cds cloning", + "type": "AddgenePlasmid", + "addgene_id": "98496", + "resistance": "Kanamycin", + "well": "A / 2" + }, + { + "name": "BB1_34", + "category": "recipient BB1", + "description": "terminator cloning", + "type": "AddgenePlasmid", + "addgene_id": "98497", + "resistance": "Kanamycin", + "well": "A / 3" + }, + { + "name": "BB1_12_pGAP", + "category": "promoter", + "description": "PGAP", + "type": "AddgenePlasmid", + "addgene_id": "98498", + "resistance": "Kanamycin", + "well": "A / 4" + }, + { + "name": "BB1_12_pGPM1", + "category": "promoter", + "description": "PGPM1", + "type": "AddgenePlasmid", + "addgene_id": "98499", + "resistance": "Kanamycin", + "well": "A / 5" + }, + { + "name": "BB1_12_pRPP1B", + "category": "promoter", + "description": "PRPP1B", + "type": "AddgenePlasmid", + "addgene_id": "98500", + "resistance": "Kanamycin", + "well": "A / 6" + }, + { + "name": "BB1_12_pPDC1", + "category": "promoter", + "description": "PPDC1", + "type": "AddgenePlasmid", + "addgene_id": "98501", + "resistance": "Kanamycin", + "well": "A / 7" + }, + { + "name": "BB1_12_pPOR1", + "category": "promoter", + "description": "PPOR1", + "type": "AddgenePlasmid", + "addgene_id": "98502", + "resistance": "Kanamycin", + "well": "A / 8" + }, + { + "name": "BB1_12_pMDH3", + "category": "promoter", + "description": "PMDH3", + "type": "AddgenePlasmid", + "addgene_id": "98503", + "resistance": "Kanamycin", + "well": "A / 9" + }, + { + "name": "BB1_12_pADH2", + "category": "promoter", + "description": "PADH2", + "type": "AddgenePlasmid", + "addgene_id": "98504", + "resistance": "Kanamycin", + "well": "A / 10" + }, + { + "name": "BB1_12_pFBA1-1", + "category": "promoter", + "description": "PFBA1-1", + "type": "AddgenePlasmid", + "addgene_id": "98505", + "resistance": "Kanamycin", + "well": "A / 11" + }, + { + "name": "BB1_12_pSHB17", + "category": "promoter", + "description": "PSHB17", + "type": "AddgenePlasmid", + "addgene_id": "98506", + "resistance": "Kanamycin", + "well": "A / 12" + }, + { + "name": "BB1_12_pTEF2", + "category": "promoter", + "description": "PTEF2", + "type": "AddgenePlasmid", + "addgene_id": "98507", + "resistance": "Kanamycin", + "well": "B / 1" + }, + { + "name": "BB1_12_pRPL2A", + "category": "promoter", + "description": "PRPL2A", + "type": "AddgenePlasmid", + "addgene_id": "98508", + "resistance": "Kanamycin", + "well": "B / 2" + }, + { + "name": "BB1_12_pLAT1", + "category": "promoter", + "description": "PLAT1", + "type": "AddgenePlasmid", + "addgene_id": "98509", + "resistance": "Kanamycin", + "well": "B / 3" + }, + { + "name": "BB1_12_pPFK300", + "category": "promoter", + "description": "PPpPfk", + "type": "AddgenePlasmid", + "addgene_id": "98510", + "resistance": "Kanamycin", + "well": "B / 4" + }, + { + "name": "BB1_12_pGUT1", + "category": "promoter", + "description": "PGUT1", + "type": "AddgenePlasmid", + "addgene_id": "98511", + "resistance": "Kanamycin", + "well": "B / 5" + }, + { + "name": "BB1_12_pTHI11", + "category": "promoter", + "description": "PTHI11", + "type": "AddgenePlasmid", + "addgene_id": "98512", + "resistance": "Kanamycin", + "well": "B / 6" + }, + { + "name": "BB1_12_pDAS2", + "category": "promoter", + "description": "PDAS2", + "type": "AddgenePlasmid", + "addgene_id": "98513", + "resistance": "Kanamycin", + "well": "B / 7" + }, + { + "name": "BB1_12_pAOX1", + "category": "promoter", + "description": "PAOX1", + "type": "AddgenePlasmid", + "addgene_id": "98514", + "resistance": "Kanamycin", + "well": "B / 8" + }, + { + "name": "BB1_12_pDAS1", + "category": "promoter", + "description": "PDAS1", + "type": "AddgenePlasmid", + "addgene_id": "98515", + "resistance": "Kanamycin", + "well": "B / 9" + }, + { + "name": "BB1_12_pFDH1", + "category": "promoter", + "description": "PFDH1", + "type": "AddgenePlasmid", + "addgene_id": "98516", + "resistance": "Kanamycin", + "well": "B / 10" + }, + { + "name": "BB1_23_eGFP", + "category": "coding sequence", + "description": "eGFP", + "type": "AddgenePlasmid", + "addgene_id": "98518", + "resistance": "Kanamycin", + "well": "B / 12" + }, + { + "name": "BB1_34_ScCYC1tt", + "category": "terminator", + "description": "ScCYC1tt", + "type": "AddgenePlasmid", + "addgene_id": "98519", + "resistance": "Kanamycin", + "well": "C / 1" + }, + { + "name": "BB1_34_TDH3tt", + "category": "terminator", + "description": "TDH3tt", + "type": "AddgenePlasmid", + "addgene_id": "98520", + "resistance": "Kanamycin", + "well": "C / 2" + }, + { + "name": "BB1_34_RPS2tt", + "category": "terminator", + "description": "RPS2tt", + "type": "AddgenePlasmid", + "addgene_id": "98521", + "resistance": "Kanamycin", + "well": "C / 3" + }, + { + "name": "BB1_34_RPP1Btt", + "category": "terminator", + "description": "RPP1Btt", + "type": "AddgenePlasmid", + "addgene_id": "98522", + "resistance": "Kanamycin", + "well": "C / 4" + }, + { + "name": "BB1_34_RPS17Btt", + "category": "terminator", + "description": "RPS17Btt", + "type": "AddgenePlasmid", + "addgene_id": "98523", + "resistance": "Kanamycin", + "well": "C / 5" + }, + { + "name": "BB1_34_chr4_0883tt", + "category": "terminator", + "description": "chr4_0883tt", + "type": "AddgenePlasmid", + "addgene_id": "98524", + "resistance": "Kanamycin", + "well": "C / 6" + }, + { + "name": "BB1_34_IDP1tt", + "category": "terminator", + "description": "IDP1tt", + "type": "AddgenePlasmid", + "addgene_id": "98525", + "resistance": "Kanamycin", + "well": "C / 7" + }, + { + "name": "BB1_34_RPS25Att", + "category": "terminator", + "description": "RPS25Att", + "type": "AddgenePlasmid", + "addgene_id": "98526", + "resistance": "Kanamycin", + "well": "C / 8" + }, + { + "name": "BB1_34_RPS3tt", + "category": "terminator", + "description": "RPS3tt", + "type": "AddgenePlasmid", + "addgene_id": "98527", + "resistance": "Kanamycin", + "well": "C / 9" + }, + { + "name": "BB1_34_RPL2Att", + "category": "terminator", + "description": "RPL2Att", + "type": "AddgenePlasmid", + "addgene_id": "98528", + "resistance": "Kanamycin", + "well": "C / 10" + }, + { + "name": "BB3aK_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "addgene_id": "98529", + "resistance": "Kanamycin", + "well": "C / 11" + }, + { + "name": "BB3aK_AC", + "category": "recipient BB3", + "description": "2 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "addgene_id": "98530", + "resistance": "Kanamycin", + "well": "C / 12" + }, + { + "name": "BB3aK_AD", + "category": "recipient BB3", + "description": "3 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "addgene_id": "98531", + "resistance": "Kanamycin", + "well": "D / 1" + }, + { + "name": "BB3aK_AE", + "category": "recipient BB3", + "description": "4 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "addgene_id": "98532", + "resistance": "Kanamycin", + "well": "D / 2" + }, + { + "name": "BB3aK_AF", + "category": "recipient BB3", + "description": "5 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "addgene_id": "98533", + "resistance": "Kanamycin", + "well": "D / 3" + }, + { + "name": "BB2_AB", + "category": "recipient BB2", + "description": "Transcription unit 1 (AB)", + "type": "AddgenePlasmid", + "addgene_id": "98534", + "resistance": "Ampicillin", + "well": "D / 4" + }, + { + "name": "BB2_BC", + "category": "recipient BB2", + "description": "Transcription unit 2 (BC)", + "type": "AddgenePlasmid", + "addgene_id": "98535", + "resistance": "Ampicillin", + "well": "D / 5" + }, + { + "name": "BB2_CD", + "category": "recipient BB2", + "description": "Transcription unit 3 (CD)", + "type": "AddgenePlasmid", + "addgene_id": "98536", + "resistance": "Ampicillin", + "well": "D / 6" + }, + { + "name": "BB2_DE", + "category": "recipient BB2", + "description": "Transcription unit 4 (DE)", + "type": "AddgenePlasmid", + "addgene_id": "98537", + "resistance": "Ampicillin", + "well": "D / 7" + }, + { + "name": "BB2_EF", + "category": "recipient BB2", + "description": "Transcription unit 5 (EF)", + "type": "AddgenePlasmid", + "addgene_id": "98538", + "resistance": "Ampicillin", + "well": "D / 8" + }, + { + "name": "BB2_FG", + "category": "recipient BB2", + "description": "Transcription unit 6 (FG)", + "type": "AddgenePlasmid", + "addgene_id": "98539", + "resistance": "Ampicillin", + "well": "D / 9" + }, + { + "name": "BB2_GH", + "category": "recipient BB2", + "description": "Transcription unit 7 (GH)", + "type": "AddgenePlasmid", + "addgene_id": "98540", + "resistance": "Ampicillin", + "well": "D / 10" + }, + { + "name": "BB2_HI", + "category": "recipient BB2", + "description": "Transcription unit 8 (HI)", + "type": "AddgenePlasmid", + "addgene_id": "98541", + "resistance": "Ampicillin", + "well": "D / 11" + }, + { + "name": "BB3aZ_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus AOX1tt, Zeocin) ", + "type": "AddgenePlasmid", + "addgene_id": "98542", + "resistance": "Bleocin (Zeocin)", + "well": "D / 12" + }, + { + "name": "BB3eH_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "addgene_id": "98543", + "resistance": "Hygromycin", + "well": "E / 1" + }, + { + "name": "BB3eH_AC", + "category": "recipient BB3", + "description": "2 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "addgene_id": "98544", + "resistance": "Hygromycin", + "well": "E / 2" + }, + { + "name": "BB3eH_AD", + "category": "recipient BB3", + "description": "3 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "addgene_id": "98545", + "resistance": "Hygromycin", + "well": "E / 3" + }, + { + "name": "BB3eH_AE", + "category": "recipient BB3", + "description": "4 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "addgene_id": "98546", + "resistance": "Hygromycin", + "well": "E / 4" + }, + { + "name": "BB3eH_AF", + "category": "recipient BB3", + "description": "5 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "addgene_id": "98547", + "resistance": "Hygromycin", + "well": "E / 5" + }, + { + "name": "BB3aN_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus AOX1tt, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98548", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 6" + }, + { + "name": "BB3eN_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus ENO1, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98549", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 7" + }, + { + "name": "BB3rN_14*", + "category": "recipient BB3 - single", + "description": "1 TU (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98550", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 8" + }, + { + "name": "BB3rN_AC", + "category": "recipient BB3", + "description": "2 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98551", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 9" + }, + { + "name": "BB3rN_AD", + "category": "recipient BB3", + "description": "3 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98552", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 10" + }, + { + "name": "BB3rN_AE", + "category": "recipient BB3", + "description": "4 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98553", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 11" + }, + { + "name": "BB3rN_AF", + "category": "recipient BB3", + "description": "5 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98554", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 12" + }, + { + "name": "BB3rN_AG", + "category": "recipient BB3", + "description": "6 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98555", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 1" + }, + { + "name": "BB3rN_AH", + "category": "recipient BB3", + "description": "7 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98556", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 2" + }, + { + "name": "BB3rN_AI", + "category": "recipient BB3", + "description": "8 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "addgene_id": "98557", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 3" + } + ], + "categories": [ + { + "id": "recipient BB1", + "title": "Recipient BB1", + "description": "To domesticate parts ", + "image": null + }, + { + "id": "promoter", + "title": "Promoter", + "description": "BB1 plasmid with promoter", + "image": "promoter.png" + }, + { + "id": "coding sequence", + "title": "Coding Sequence", + "description": "BB1 plasmid with coding sequence", + "image": "cds.png" + }, + { + "id": "terminator", + "title": "Terminator", + "description": "BB1 plasmid with terminator", + "image": "terminator.png" + }, + { + "id": "recipient BB3 - single", + "title": "Recipient BB3 - single TU", + "description": "To clone a single TU directly from 3 BB1", + "image": "backbone.png" + }, + { + "id": "recipient BB3", + "title": "Recipient BB3", + "description": "To clone multiple TUs from BB2 plasmids", + "image": null + }, + { + "id": "recipient BB2", + "title": "Recipient BB2", + "description": "To combine several BB1 plasmids into a TU", + "image": "backbone.png" + } + ], + "assemblies": [ + { + "title": "Single TU BB3 plasmid", + "description": "Overexpression of a single TU, direct cloning from BB1 into a special BB3", + "fragment_order": [ + "promoter", + "coding sequence", + "terminator", + "recipient BB3 - single" + ], + "template_file": "assembly_template_001.json" + }, + { + "title": "TU cloning into BB2", + "description": "Cloning of a TU into a BB2 plasmid, for eventual multi-TU assembly into a BB3 plasmid", + "fragment_order": [ + "promoter", + "coding sequence", + "terminator", + "recipient BB2" + ], + "template_file": "assembly_template_002.json" + }, + { + "title": "Multiple BB2 into BB3", + "description": "Cloning of several TUs from BB2 plasmids into a BB3", + "fragment_order": [ + "recipient BB3" + ], + "template_file": "assembly_template_003.json" + } + ], + "oligos": [] +} diff --git a/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_001.json b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_001.json new file mode 100644 index 0000000..79c189d --- /dev/null +++ b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_001.json @@ -0,0 +1,895 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 2, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 3, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 4, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 5, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 6, + "type": "TemplateSequence", + "circular": false, + "primer_design": null + }, + { + "id": 7, + "type": "TemplateSequence", + "circular": false, + "primer_design": null + } + ], + "sources": [ + { + "id": 1, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "promoter", + "title": "Promoter", + "description": "BB1 plasmid with promoter", + "image": [ + "promoter.png", + "60%" + ], + "options": [ + { + "name": "BB1_12_pGAP - PGAP", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98498", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGAP", + "description": "PGAP", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 4" + } + }, + { + "name": "BB1_12_pGPM1 - PGPM1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98499", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGPM1", + "description": "PGPM1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 5" + } + }, + { + "name": "BB1_12_pRPP1B - PRPP1B", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98500", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pRPP1B", + "description": "PRPP1B", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 6" + } + }, + { + "name": "BB1_12_pPDC1 - PPDC1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98501", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPDC1", + "description": "PPDC1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 7" + } + }, + { + "name": "BB1_12_pPOR1 - PPOR1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98502", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPOR1", + "description": "PPOR1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 8" + } + }, + { + "name": "BB1_12_pMDH3 - PMDH3", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98503", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pMDH3", + "description": "PMDH3", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 9" + } + }, + { + "name": "BB1_12_pADH2 - PADH2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98504", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pADH2", + "description": "PADH2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 10" + } + }, + { + "name": "BB1_12_pFBA1-1 - PFBA1-1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98505", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pFBA1-1", + "description": "PFBA1-1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 11" + } + }, + { + "name": "BB1_12_pSHB17 - PSHB17", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98506", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pSHB17", + "description": "PSHB17", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 12" + } + }, + { + "name": "BB1_12_pTEF2 - PTEF2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98507", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pTEF2", + "description": "PTEF2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 1" + } + }, + { + "name": "BB1_12_pRPL2A - PRPL2A", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98508", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pRPL2A", + "description": "PRPL2A", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 2" + } + }, + { + "name": "BB1_12_pLAT1 - PLAT1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98509", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pLAT1", + "description": "PLAT1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 3" + } + }, + { + "name": "BB1_12_pPFK300 - PPpPfk", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98510", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPFK300", + "description": "PPpPfk", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 4" + } + }, + { + "name": "BB1_12_pGUT1 - PGUT1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98511", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGUT1", + "description": "PGUT1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 5" + } + }, + { + "name": "BB1_12_pTHI11 - PTHI11", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98512", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pTHI11", + "description": "PTHI11", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 6" + } + }, + { + "name": "BB1_12_pDAS2 - PDAS2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98513", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pDAS2", + "description": "PDAS2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 7" + } + }, + { + "name": "BB1_12_pAOX1 - PAOX1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98514", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pAOX1", + "description": "PAOX1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 8" + } + }, + { + "name": "BB1_12_pDAS1 - PDAS1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98515", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pDAS1", + "description": "PDAS1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 9" + } + }, + { + "name": "BB1_12_pFDH1 - PFDH1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98516", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pFDH1", + "description": "PFDH1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 10" + } + } + ] + }, + { + "id": 2, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "coding sequence", + "title": "Coding Sequence", + "description": "BB1 plasmid with coding sequence", + "image": [ + "cds.png", + "60%" + ], + "options": [ + { + "name": "BB1_23_eGFP - eGFP", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98518", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_23_eGFP", + "description": "eGFP", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 12" + } + } + ] + }, + { + "id": 3, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "terminator", + "title": "Terminator", + "description": "BB1 plasmid with terminator", + "image": [ + "terminator.png", + "60%" + ], + "options": [ + { + "name": "BB1_34_ScCYC1tt - ScCYC1tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98519", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_ScCYC1tt", + "description": "ScCYC1tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 1" + } + }, + { + "name": "BB1_34_TDH3tt - TDH3tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98520", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_TDH3tt", + "description": "TDH3tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 2" + } + }, + { + "name": "BB1_34_RPS2tt - RPS2tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98521", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS2tt", + "description": "RPS2tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 3" + } + }, + { + "name": "BB1_34_RPP1Btt - RPP1Btt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98522", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPP1Btt", + "description": "RPP1Btt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 4" + } + }, + { + "name": "BB1_34_RPS17Btt - RPS17Btt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98523", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS17Btt", + "description": "RPS17Btt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 5" + } + }, + { + "name": "BB1_34_chr4_0883tt - chr4_0883tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98524", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_chr4_0883tt", + "description": "chr4_0883tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 6" + } + }, + { + "name": "BB1_34_IDP1tt - IDP1tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98525", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_IDP1tt", + "description": "IDP1tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 7" + } + }, + { + "name": "BB1_34_RPS25Att - RPS25Att", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98526", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS25Att", + "description": "RPS25Att", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 8" + } + }, + { + "name": "BB1_34_RPS3tt - RPS3tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98527", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS3tt", + "description": "RPS3tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 9" + } + }, + { + "name": "BB1_34_RPL2Att - RPL2Att", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98528", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPL2Att", + "description": "RPL2Att", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 10" + } + } + ] + }, + { + "id": 4, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "recipient BB3 - single", + "title": "Recipient BB3 - single TU", + "description": "To clone a single TU directly from 3 BB1", + "image": [ + "backbone.png", + "60%" + ], + "options": [ + { + "name": "BB3aK_14* - 1 TU (locus AOX1tt, Kanamycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98529", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aK_14*", + "description": "1 TU (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 11" + } + }, + { + "name": "BB3aZ_14* - 1 TU (locus AOX1tt, Zeocin) ", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98542", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aZ_14*", + "description": "1 TU (locus AOX1tt, Zeocin) ", + "type": "AddgenePlasmid", + "resistance": "Bleocin (Zeocin)", + "well": "D / 12" + } + }, + { + "name": "BB3eH_14* - 1 TU (locus ENO1, Hygromycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98543", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eH_14*", + "description": "1 TU (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "resistance": "Hygromycin", + "well": "E / 1" + } + }, + { + "name": "BB3aN_14* - 1 TU (locus AOX1tt, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98548", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aN_14*", + "description": "1 TU (locus AOX1tt, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 6" + } + }, + { + "name": "BB3eN_14* - 1 TU (locus ENO1, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98549", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eN_14*", + "description": "1 TU (locus ENO1, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 7" + } + }, + { + "name": "BB3rN_14* - 1 TU (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98550", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_14*", + "description": "1 TU (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 8" + } + } + ] + }, + { + "id": 5, + "type": "RestrictionAndLigationSource", + "output_name": null, + "database_id": null, + "input": [ + { + "type": "SourceInput", + "sequence": 1 + }, + { + "type": "SourceInput", + "sequence": 2 + }, + { + "type": "SourceInput", + "sequence": 3 + }, + { + "type": "SourceInput", + "sequence": 4 + } + ], + "circular": null, + "restriction_enzymes": [ + "BsaI" + ] + }, + { + "id": 6, + "type": "GenomeCoordinatesSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "LT962479.2", + "coordinates": "1237975..241966", + "assembly_accession": "GCA_900235035.2", + "locus_tag": "BQ9382_C4-0695", + "gene_id": null + }, + { + "id": 7, + "type": "HomologousRecombinationSource", + "output_name": null, + "database_id": null, + "input": [ + { + "type": "SourceInput", + "sequence": 6 + }, + { + "type": "SourceInput", + "sequence": 5 + } + ], + "circular": null + } + ], + "primers": [], + "description": "Single TU BB3 plasmid\n\nOverexpression of a single TU, direct cloning from BB1 into a special BB3", + "files": null, + "schema_version": "0.4.9", + "backend_version": null, + "frontend_version": null +} diff --git a/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_002.json b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_002.json new file mode 100644 index 0000000..6bddc56 --- /dev/null +++ b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_002.json @@ -0,0 +1,894 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 2, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 3, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 4, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 5, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + } + ], + "sources": [ + { + "id": 1, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "promoter", + "title": "Promoter", + "description": "BB1 plasmid with promoter", + "image": [ + "promoter.png", + "60%" + ], + "options": [ + { + "name": "BB1_12_pGAP - PGAP", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98498", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGAP", + "description": "PGAP", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 4" + } + }, + { + "name": "BB1_12_pGPM1 - PGPM1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98499", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGPM1", + "description": "PGPM1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 5" + } + }, + { + "name": "BB1_12_pRPP1B - PRPP1B", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98500", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pRPP1B", + "description": "PRPP1B", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 6" + } + }, + { + "name": "BB1_12_pPDC1 - PPDC1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98501", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPDC1", + "description": "PPDC1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 7" + } + }, + { + "name": "BB1_12_pPOR1 - PPOR1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98502", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPOR1", + "description": "PPOR1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 8" + } + }, + { + "name": "BB1_12_pMDH3 - PMDH3", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98503", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pMDH3", + "description": "PMDH3", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 9" + } + }, + { + "name": "BB1_12_pADH2 - PADH2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98504", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pADH2", + "description": "PADH2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 10" + } + }, + { + "name": "BB1_12_pFBA1-1 - PFBA1-1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98505", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pFBA1-1", + "description": "PFBA1-1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 11" + } + }, + { + "name": "BB1_12_pSHB17 - PSHB17", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98506", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pSHB17", + "description": "PSHB17", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "A / 12" + } + }, + { + "name": "BB1_12_pTEF2 - PTEF2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98507", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pTEF2", + "description": "PTEF2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 1" + } + }, + { + "name": "BB1_12_pRPL2A - PRPL2A", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98508", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pRPL2A", + "description": "PRPL2A", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 2" + } + }, + { + "name": "BB1_12_pLAT1 - PLAT1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98509", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pLAT1", + "description": "PLAT1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 3" + } + }, + { + "name": "BB1_12_pPFK300 - PPpPfk", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98510", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pPFK300", + "description": "PPpPfk", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 4" + } + }, + { + "name": "BB1_12_pGUT1 - PGUT1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98511", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pGUT1", + "description": "PGUT1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 5" + } + }, + { + "name": "BB1_12_pTHI11 - PTHI11", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98512", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pTHI11", + "description": "PTHI11", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 6" + } + }, + { + "name": "BB1_12_pDAS2 - PDAS2", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98513", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pDAS2", + "description": "PDAS2", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 7" + } + }, + { + "name": "BB1_12_pAOX1 - PAOX1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98514", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pAOX1", + "description": "PAOX1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 8" + } + }, + { + "name": "BB1_12_pDAS1 - PDAS1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98515", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pDAS1", + "description": "PDAS1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 9" + } + }, + { + "name": "BB1_12_pFDH1 - PFDH1", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98516", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_12_pFDH1", + "description": "PFDH1", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 10" + } + } + ] + }, + { + "id": 2, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "coding sequence", + "title": "Coding Sequence", + "description": "BB1 plasmid with coding sequence", + "image": [ + "cds.png", + "60%" + ], + "options": [ + { + "name": "BB1_23_eGFP - eGFP", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98518", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_23_eGFP", + "description": "eGFP", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "B / 12" + } + } + ] + }, + { + "id": 3, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "terminator", + "title": "Terminator", + "description": "BB1 plasmid with terminator", + "image": [ + "terminator.png", + "60%" + ], + "options": [ + { + "name": "BB1_34_ScCYC1tt - ScCYC1tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98519", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_ScCYC1tt", + "description": "ScCYC1tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 1" + } + }, + { + "name": "BB1_34_TDH3tt - TDH3tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98520", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_TDH3tt", + "description": "TDH3tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 2" + } + }, + { + "name": "BB1_34_RPS2tt - RPS2tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98521", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS2tt", + "description": "RPS2tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 3" + } + }, + { + "name": "BB1_34_RPP1Btt - RPP1Btt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98522", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPP1Btt", + "description": "RPP1Btt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 4" + } + }, + { + "name": "BB1_34_RPS17Btt - RPS17Btt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98523", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS17Btt", + "description": "RPS17Btt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 5" + } + }, + { + "name": "BB1_34_chr4_0883tt - chr4_0883tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98524", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_chr4_0883tt", + "description": "chr4_0883tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 6" + } + }, + { + "name": "BB1_34_IDP1tt - IDP1tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98525", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_IDP1tt", + "description": "IDP1tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 7" + } + }, + { + "name": "BB1_34_RPS25Att - RPS25Att", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98526", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS25Att", + "description": "RPS25Att", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 8" + } + }, + { + "name": "BB1_34_RPS3tt - RPS3tt", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98527", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPS3tt", + "description": "RPS3tt", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 9" + } + }, + { + "name": "BB1_34_RPL2Att - RPL2Att", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98528", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB1_34_RPL2Att", + "description": "RPL2Att", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 10" + } + } + ] + }, + { + "id": 4, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "recipient BB2", + "title": "Recipient BB2", + "description": "To combine several BB1 plasmids into a TU", + "image": [ + "backbone.png", + "60%" + ], + "options": [ + { + "name": "BB2_AB - Transcription unit 1 (AB)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98534", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_AB", + "description": "Transcription unit 1 (AB)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 4" + } + }, + { + "name": "BB2_BC - Transcription unit 2 (BC)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98535", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_BC", + "description": "Transcription unit 2 (BC)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 5" + } + }, + { + "name": "BB2_CD - Transcription unit 3 (CD)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98536", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_CD", + "description": "Transcription unit 3 (CD)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 6" + } + }, + { + "name": "BB2_DE - Transcription unit 4 (DE)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98537", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_DE", + "description": "Transcription unit 4 (DE)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 7" + } + }, + { + "name": "BB2_EF - Transcription unit 5 (EF)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98538", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_EF", + "description": "Transcription unit 5 (EF)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 8" + } + }, + { + "name": "BB2_FG - Transcription unit 6 (FG)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98539", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_FG", + "description": "Transcription unit 6 (FG)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 9" + } + }, + { + "name": "BB2_GH - Transcription unit 7 (GH)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98540", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_GH", + "description": "Transcription unit 7 (GH)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 10" + } + }, + { + "name": "BB2_HI - Transcription unit 8 (HI)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98541", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB2_HI", + "description": "Transcription unit 8 (HI)", + "type": "AddgenePlasmid", + "resistance": "Ampicillin", + "well": "D / 11" + } + } + ] + }, + { + "id": 5, + "type": "RestrictionAndLigationSource", + "output_name": null, + "database_id": null, + "input": [ + { + "type": "SourceInput", + "sequence": 1 + }, + { + "type": "SourceInput", + "sequence": 2 + }, + { + "type": "SourceInput", + "sequence": 3 + }, + { + "type": "SourceInput", + "sequence": 4 + } + ], + "circular": null, + "restriction_enzymes": [ + "BsaI" + ] + } + ], + "primers": [], + "description": "TU cloning into BB2\n\nCloning of a TU into a BB2 plasmid, for eventual multi-TU assembly into a BB3 plasmid", + "files": null, + "schema_version": "0.4.9", + "backend_version": null, + "frontend_version": null +} diff --git a/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_003.json b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_003.json new file mode 100644 index 0000000..092e4a8 --- /dev/null +++ b/src/data/templates/kits-gasser-goldenpics/templates/assembly_template_003.json @@ -0,0 +1,394 @@ +{ + "sequences": [ + { + "id": 1, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 2, + "type": "TemplateSequence", + "circular": null, + "primer_design": null + }, + { + "id": 3, + "type": "TemplateSequence", + "circular": false, + "primer_design": null + }, + { + "id": 4, + "type": "TemplateSequence", + "circular": false, + "primer_design": null + } + ], + "sources": [ + { + "id": 1, + "type": "CollectionSource", + "output_name": null, + "database_id": null, + "input": [], + "category_id": "recipient BB3", + "title": "Recipient BB3", + "description": "To clone multiple TUs from BB2 plasmids", + "image": null, + "options": [ + { + "name": "BB3aK_AC - 2 TUs (locus AOX1tt, Kanamycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98530", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aK_AC", + "description": "2 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "C / 12" + } + }, + { + "name": "BB3aK_AD - 3 TUs (locus AOX1tt, Kanamycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98531", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aK_AD", + "description": "3 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "D / 1" + } + }, + { + "name": "BB3aK_AE - 4 TUs (locus AOX1tt, Kanamycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98532", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aK_AE", + "description": "4 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "D / 2" + } + }, + { + "name": "BB3aK_AF - 5 TUs (locus AOX1tt, Kanamycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98533", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3aK_AF", + "description": "5 TUs (locus AOX1tt, Kanamycin)", + "type": "AddgenePlasmid", + "resistance": "Kanamycin", + "well": "D / 3" + } + }, + { + "name": "BB3eH_AC - 2 TUs (locus ENO1, Hygromycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98544", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eH_AC", + "description": "2 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "resistance": "Hygromycin", + "well": "E / 2" + } + }, + { + "name": "BB3eH_AD - 3 TUs (locus ENO1, Hygromycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98545", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eH_AD", + "description": "3 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "resistance": "Hygromycin", + "well": "E / 3" + } + }, + { + "name": "BB3eH_AE - 4 TUs (locus ENO1, Hygromycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98546", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eH_AE", + "description": "4 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "resistance": "Hygromycin", + "well": "E / 4" + } + }, + { + "name": "BB3eH_AF - 5 TUs (locus ENO1, Hygromycin)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98547", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3eH_AF", + "description": "5 TUs (locus ENO1, Hygromycin)", + "type": "AddgenePlasmid", + "resistance": "Hygromycin", + "well": "E / 5" + } + }, + { + "name": "BB3rN_AC - 2 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98551", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AC", + "description": "2 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 9" + } + }, + { + "name": "BB3rN_AD - 3 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98552", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AD", + "description": "3 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 10" + } + }, + { + "name": "BB3rN_AE - 4 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98553", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AE", + "description": "4 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 11" + } + }, + { + "name": "BB3rN_AF - 5 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98554", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AF", + "description": "5 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "E / 12" + } + }, + { + "name": "BB3rN_AG - 6 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98555", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AG", + "description": "6 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 1" + } + }, + { + "name": "BB3rN_AH - 7 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98556", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AH", + "description": "7 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 2" + } + }, + { + "name": "BB3rN_AI - 8 TUs (locus RGI2, clonNat)", + "source": { + "id": 0, + "type": "AddgeneIdSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "98557", + "sequence_file_url": null, + "addgene_sequence_type": null + }, + "info": { + "name": "BB3rN_AI", + "description": "8 TUs (locus RGI2, clonNat)", + "type": "AddgenePlasmid", + "resistance": "Nourseothricin (clonNat)", + "well": "F / 3" + } + } + ] + }, + { + "id": 2, + "type": "RestrictionAndLigationSource", + "output_name": null, + "database_id": null, + "input": [ + { + "type": "SourceInput", + "sequence": 1 + } + ], + "circular": null, + "restriction_enzymes": [ + "BsaI" + ] + }, + { + "id": 3, + "type": "GenomeCoordinatesSource", + "output_name": null, + "database_id": null, + "input": [], + "repository_id": "LT962479.2", + "coordinates": "1237975..241966", + "assembly_accession": "GCA_900235035.2", + "locus_tag": "BQ9382_C4-0695", + "gene_id": null + }, + { + "id": 4, + "type": "HomologousRecombinationSource", + "output_name": null, + "database_id": null, + "input": [ + { + "type": "SourceInput", + "sequence": 3 + }, + { + "type": "SourceInput", + "sequence": 2 + } + ], + "circular": null + } + ], + "primers": [], + "description": "Multiple BB2 into BB3\n\nCloning of several TUs from BB2 plasmids into a BB3", + "files": null, + "schema_version": "0.4.9", + "backend_version": null, + "frontend_version": null +} diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_001.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_001.json index 4938200..23090d9 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_001.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_001.json @@ -79,7 +79,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -100,7 +99,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -121,7 +119,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -142,7 +139,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -163,7 +159,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -184,7 +179,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -205,7 +199,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -242,7 +235,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -263,7 +255,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -284,7 +275,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -305,7 +295,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -326,7 +315,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -347,7 +335,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -368,7 +355,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -389,7 +375,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -410,7 +395,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -431,7 +415,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -452,7 +435,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -473,7 +455,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -494,7 +475,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -515,7 +495,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -536,7 +515,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -557,7 +535,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -578,7 +555,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -599,7 +575,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -620,7 +595,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -641,7 +615,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -662,7 +635,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -683,7 +655,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -704,7 +675,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -741,7 +711,6 @@ "database_id": null, "input": [], "repository_id": "65139", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -762,7 +731,6 @@ "database_id": null, "input": [], "repository_id": "65140", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -783,7 +751,6 @@ "database_id": null, "input": [], "repository_id": "65141", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -804,7 +771,6 @@ "database_id": null, "input": [], "repository_id": "65142", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -825,7 +791,6 @@ "database_id": null, "input": [], "repository_id": "65143", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -862,7 +827,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -883,7 +847,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -904,7 +867,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -925,7 +887,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -946,7 +907,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -967,7 +927,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1004,7 +963,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1025,7 +983,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1046,7 +1003,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1067,7 +1023,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1088,7 +1043,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1109,7 +1063,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1130,7 +1083,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1167,7 +1119,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1188,7 +1139,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1209,7 +1159,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1230,7 +1179,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1251,7 +1199,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1272,7 +1219,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1293,7 +1239,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1330,7 +1275,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1351,7 +1295,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1388,7 +1331,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1409,7 +1351,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1430,7 +1371,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1492,7 +1432,7 @@ "primers": [], "description": "CDS self-replicating plasmid\n\nA plasmid with a yeast ORI containing a CDS", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_002.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_002.json index ad042b9..17f3757 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_002.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_002.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -248,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -269,7 +261,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -290,7 +281,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -311,7 +301,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -332,7 +321,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -353,7 +341,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -668,7 +641,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -689,7 +661,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -710,7 +681,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -768,7 +737,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -789,7 +757,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -810,7 +777,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -831,7 +797,6 @@ "database_id": null, "input": [], "repository_id": "65148", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -852,7 +817,6 @@ "database_id": null, "input": [], "repository_id": "65149", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -873,7 +837,6 @@ "database_id": null, "input": [], "repository_id": "65150", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -910,7 +873,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -931,7 +893,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -952,7 +913,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -989,7 +949,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1010,7 +969,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1031,7 +989,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1052,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1073,7 +1029,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1094,7 +1049,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1131,7 +1085,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1152,7 +1105,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1173,7 +1125,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1194,7 +1145,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1215,7 +1165,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1236,7 +1185,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1257,7 +1205,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1294,7 +1241,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1315,7 +1261,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1336,7 +1281,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1357,7 +1301,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1378,7 +1321,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1399,7 +1341,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1420,7 +1361,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1457,7 +1397,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1478,7 +1417,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1515,7 +1453,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1536,7 +1473,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1557,7 +1493,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1623,7 +1558,7 @@ "primers": [], "description": "2xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with two CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_003.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_003.json index e2c2cf1..8d8a9d3 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_003.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_003.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -254,7 +247,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -275,7 +267,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -296,7 +287,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -317,7 +307,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -338,7 +327,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -359,7 +347,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -674,7 +647,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -695,7 +667,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -716,7 +687,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -774,7 +743,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -795,7 +763,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -816,7 +783,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -837,7 +803,6 @@ "database_id": null, "input": [], "repository_id": "65148", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -858,7 +823,6 @@ "database_id": null, "input": [], "repository_id": "65149", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -879,7 +843,6 @@ "database_id": null, "input": [], "repository_id": "65150", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -916,7 +879,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -937,7 +899,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -958,7 +919,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -995,7 +955,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1016,7 +975,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1037,7 +995,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1058,7 +1015,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1095,7 +1051,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1116,7 +1071,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1137,7 +1091,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1158,7 +1111,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1179,7 +1131,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1200,7 +1151,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1237,7 +1187,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1258,7 +1207,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1279,7 +1227,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1300,7 +1247,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1321,7 +1267,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1342,7 +1287,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1363,7 +1307,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1400,7 +1343,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1421,7 +1363,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1442,7 +1383,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1463,7 +1403,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1484,7 +1423,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1505,7 +1443,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1526,7 +1463,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1563,7 +1499,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1584,7 +1519,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1621,7 +1555,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1642,7 +1575,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1663,7 +1595,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1733,7 +1664,7 @@ "primers": [], "description": "3xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with three CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_004.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_004.json index f3ac9da..2b42d91 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_004.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_004.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -248,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -269,7 +261,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -290,7 +281,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -311,7 +301,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -332,7 +321,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -353,7 +341,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -668,7 +641,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -689,7 +661,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -710,7 +681,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "65139", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -768,7 +737,6 @@ "database_id": null, "input": [], "repository_id": "65140", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -789,7 +757,6 @@ "database_id": null, "input": [], "repository_id": "65141", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -810,7 +777,6 @@ "database_id": null, "input": [], "repository_id": "65142", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -831,7 +797,6 @@ "database_id": null, "input": [], "repository_id": "65143", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -868,7 +833,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -889,7 +853,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -910,7 +873,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -931,7 +893,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -952,7 +913,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -973,7 +933,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1010,7 +969,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1031,7 +989,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1052,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1073,7 +1029,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1094,7 +1049,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1115,7 +1069,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1136,7 +1089,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1173,7 +1125,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1194,7 +1145,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1215,7 +1165,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1236,7 +1185,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1257,7 +1205,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1278,7 +1225,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1299,7 +1245,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1336,7 +1281,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1357,7 +1301,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1378,7 +1321,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1415,7 +1357,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1436,7 +1377,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1457,7 +1397,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1494,7 +1433,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1515,7 +1453,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1536,7 +1473,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1602,7 +1538,7 @@ "primers": [], "description": "CDS integration plasmid\n\nA plasmid containing a CDS that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_005.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_005.json index cdf5ed3..d2e241b 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_005.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_005.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -254,7 +247,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -275,7 +267,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -296,7 +287,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -317,7 +307,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -338,7 +327,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -359,7 +347,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -674,7 +647,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -695,7 +667,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -716,7 +687,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -774,7 +743,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -795,7 +763,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -816,7 +783,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -837,7 +803,6 @@ "database_id": null, "input": [], "repository_id": "65148", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -858,7 +823,6 @@ "database_id": null, "input": [], "repository_id": "65149", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -879,7 +843,6 @@ "database_id": null, "input": [], "repository_id": "65150", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -916,7 +879,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -937,7 +899,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -958,7 +919,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -995,7 +955,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1016,7 +975,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1037,7 +995,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1058,7 +1015,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1079,7 +1035,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1100,7 +1055,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1137,7 +1091,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1158,7 +1111,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1179,7 +1131,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1200,7 +1151,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1221,7 +1171,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1242,7 +1191,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1263,7 +1211,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1300,7 +1247,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1321,7 +1267,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1342,7 +1287,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1363,7 +1307,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1384,7 +1327,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1405,7 +1347,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1426,7 +1367,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1463,7 +1403,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1484,7 +1423,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1505,7 +1443,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1542,7 +1479,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1563,7 +1499,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1584,7 +1519,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1621,7 +1555,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1642,7 +1575,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1663,7 +1595,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1733,7 +1664,7 @@ "primers": [], "description": "2xCDS integration plasmid\n\nA plasmid containing a 2xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-moclo-ytk/templates/assembly_template_006.json b/src/data/templates/kits-moclo-ytk/templates/assembly_template_006.json index 00fe302..a917b2f 100644 --- a/src/data/templates/kits-moclo-ytk/templates/assembly_template_006.json +++ b/src/data/templates/kits-moclo-ytk/templates/assembly_template_006.json @@ -97,7 +97,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -118,7 +117,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -139,7 +137,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -160,7 +157,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -181,7 +177,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -202,7 +197,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -223,7 +217,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -260,7 +253,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -281,7 +273,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -302,7 +293,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -323,7 +313,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -344,7 +333,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -365,7 +353,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -386,7 +373,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -407,7 +393,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -428,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -449,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -470,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -491,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -512,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -533,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -554,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -575,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -596,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -617,7 +593,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -638,7 +613,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -659,7 +633,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -680,7 +653,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -701,7 +673,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -722,7 +693,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -759,7 +729,6 @@ "database_id": null, "input": [], "repository_id": "65144", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -780,7 +749,6 @@ "database_id": null, "input": [], "repository_id": "65145", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -801,7 +769,6 @@ "database_id": null, "input": [], "repository_id": "65146", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -822,7 +789,6 @@ "database_id": null, "input": [], "repository_id": "65147", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -843,7 +809,6 @@ "database_id": null, "input": [], "repository_id": "65148", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -864,7 +829,6 @@ "database_id": null, "input": [], "repository_id": "65149", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -885,7 +849,6 @@ "database_id": null, "input": [], "repository_id": "65150", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -922,7 +885,6 @@ "database_id": null, "input": [], "repository_id": "65151", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -943,7 +905,6 @@ "database_id": null, "input": [], "repository_id": "65152", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -964,7 +925,6 @@ "database_id": null, "input": [], "repository_id": "65153", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1001,7 +961,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1022,7 +981,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1043,7 +1001,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1064,7 +1021,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1101,7 +1057,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1122,7 +1077,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1143,7 +1097,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1164,7 +1117,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1185,7 +1137,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1206,7 +1157,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1243,7 +1193,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1264,7 +1213,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1285,7 +1233,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1306,7 +1253,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1327,7 +1273,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1348,7 +1293,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1369,7 +1313,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1406,7 +1349,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1427,7 +1369,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1448,7 +1389,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1469,7 +1409,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1490,7 +1429,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1511,7 +1449,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1532,7 +1469,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1569,7 +1505,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1590,7 +1525,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1611,7 +1545,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1648,7 +1581,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1669,7 +1601,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1690,7 +1621,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1727,7 +1657,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1748,7 +1677,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1769,7 +1697,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1843,7 +1770,7 @@ "primers": [], "description": "3xCDS integration plasmid\n\nA plasmid containing a 3xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_001.json b/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_001.json index 144b9b0..5897d5a 100644 --- a/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_001.json +++ b/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_001.json @@ -299,7 +299,6 @@ "database_id": null, "input": [], "repository_id": "120934", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -320,7 +319,6 @@ "database_id": null, "input": [], "repository_id": "120935", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -341,7 +339,6 @@ "database_id": null, "input": [], "repository_id": "120936", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -362,7 +359,6 @@ "database_id": null, "input": [], "repository_id": "120937", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -383,7 +379,6 @@ "database_id": null, "input": [], "repository_id": "120938", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -404,7 +399,6 @@ "database_id": null, "input": [], "repository_id": "120939", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -425,7 +419,6 @@ "database_id": null, "input": [], "repository_id": "120940", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -446,7 +439,6 @@ "database_id": null, "input": [], "repository_id": "120941", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -467,7 +459,6 @@ "database_id": null, "input": [], "repository_id": "120942", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -488,7 +479,6 @@ "database_id": null, "input": [], "repository_id": "120943", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -509,7 +499,6 @@ "database_id": null, "input": [], "repository_id": "120944", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -530,7 +519,6 @@ "database_id": null, "input": [], "repository_id": "120945", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -551,7 +539,6 @@ "database_id": null, "input": [], "repository_id": "120946", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -572,7 +559,6 @@ "database_id": null, "input": [], "repository_id": "120947", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -593,7 +579,6 @@ "database_id": null, "input": [], "repository_id": "120948", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -614,7 +599,6 @@ "database_id": null, "input": [], "repository_id": "120949", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -635,7 +619,6 @@ "database_id": null, "input": [], "repository_id": "120950", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -656,7 +639,6 @@ "database_id": null, "input": [], "repository_id": "120951", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -677,7 +659,6 @@ "database_id": null, "input": [], "repository_id": "120952", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -698,7 +679,6 @@ "database_id": null, "input": [], "repository_id": "120953", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -719,7 +699,6 @@ "database_id": null, "input": [], "repository_id": "120954", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -740,7 +719,6 @@ "database_id": null, "input": [], "repository_id": "65980", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -761,7 +739,6 @@ "database_id": null, "input": [], "repository_id": "65984", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -782,7 +759,6 @@ "database_id": null, "input": [], "repository_id": "65988", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -803,7 +779,6 @@ "database_id": null, "input": [], "repository_id": "65992", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -824,7 +799,6 @@ "database_id": null, "input": [], "repository_id": "65996", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -845,7 +819,6 @@ "database_id": null, "input": [], "repository_id": "66000", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -866,7 +839,6 @@ "database_id": null, "input": [], "repository_id": "66004", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -887,7 +859,6 @@ "database_id": null, "input": [], "repository_id": "66008", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -908,7 +879,6 @@ "database_id": null, "input": [], "repository_id": "66012", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -929,7 +899,6 @@ "database_id": null, "input": [], "repository_id": "66016", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -966,7 +935,6 @@ "database_id": null, "input": [], "repository_id": "121015", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -987,7 +955,6 @@ "database_id": null, "input": [], "repository_id": "121016", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1008,7 +975,6 @@ "database_id": null, "input": [], "repository_id": "121017", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1029,7 +995,6 @@ "database_id": null, "input": [], "repository_id": "121018", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1050,7 +1015,6 @@ "database_id": null, "input": [], "repository_id": "121019", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1071,7 +1035,6 @@ "database_id": null, "input": [], "repository_id": "121020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1092,7 +1055,6 @@ "database_id": null, "input": [], "repository_id": "121021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1113,7 +1075,6 @@ "database_id": null, "input": [], "repository_id": "121022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1134,7 +1095,6 @@ "database_id": null, "input": [], "repository_id": "121023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1155,7 +1115,6 @@ "database_id": null, "input": [], "repository_id": "121024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1176,7 +1135,6 @@ "database_id": null, "input": [], "repository_id": "121025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1197,7 +1155,6 @@ "database_id": null, "input": [], "repository_id": "121026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1218,7 +1175,6 @@ "database_id": null, "input": [], "repository_id": "121027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1239,7 +1195,6 @@ "database_id": null, "input": [], "repository_id": "66020", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1260,7 +1215,6 @@ "database_id": null, "input": [], "repository_id": "66021", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1281,7 +1235,6 @@ "database_id": null, "input": [], "repository_id": "66022", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1302,7 +1255,6 @@ "database_id": null, "input": [], "repository_id": "66023", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1323,7 +1275,6 @@ "database_id": null, "input": [], "repository_id": "66024", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1344,7 +1295,6 @@ "database_id": null, "input": [], "repository_id": "66025", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1381,7 +1331,6 @@ "database_id": null, "input": [], "repository_id": "120955", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1402,7 +1351,6 @@ "database_id": null, "input": [], "repository_id": "120956", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1423,7 +1371,6 @@ "database_id": null, "input": [], "repository_id": "120957", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1444,7 +1391,6 @@ "database_id": null, "input": [], "repository_id": "120958", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1465,7 +1411,6 @@ "database_id": null, "input": [], "repository_id": "120959", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1486,7 +1431,6 @@ "database_id": null, "input": [], "repository_id": "120960", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1507,7 +1451,6 @@ "database_id": null, "input": [], "repository_id": "120961", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1528,7 +1471,6 @@ "database_id": null, "input": [], "repository_id": "120962", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1549,7 +1491,6 @@ "database_id": null, "input": [], "repository_id": "120963", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1570,7 +1511,6 @@ "database_id": null, "input": [], "repository_id": "120964", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1591,7 +1531,6 @@ "database_id": null, "input": [], "repository_id": "120965", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1612,7 +1551,6 @@ "database_id": null, "input": [], "repository_id": "120966", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1633,7 +1571,6 @@ "database_id": null, "input": [], "repository_id": "120967", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1654,7 +1591,6 @@ "database_id": null, "input": [], "repository_id": "120968", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1675,7 +1611,6 @@ "database_id": null, "input": [], "repository_id": "120969", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1696,7 +1631,6 @@ "database_id": null, "input": [], "repository_id": "120970", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1717,7 +1651,6 @@ "database_id": null, "input": [], "repository_id": "120971", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1738,7 +1671,6 @@ "database_id": null, "input": [], "repository_id": "120972", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1759,7 +1691,6 @@ "database_id": null, "input": [], "repository_id": "120973", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1780,7 +1711,6 @@ "database_id": null, "input": [], "repository_id": "120974", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1801,7 +1731,6 @@ "database_id": null, "input": [], "repository_id": "120975", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1822,7 +1751,6 @@ "database_id": null, "input": [], "repository_id": "120976", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1843,7 +1771,6 @@ "database_id": null, "input": [], "repository_id": "120977", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1864,7 +1791,6 @@ "database_id": null, "input": [], "repository_id": "120978", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1885,7 +1811,6 @@ "database_id": null, "input": [], "repository_id": "120979", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1906,7 +1831,6 @@ "database_id": null, "input": [], "repository_id": "120980", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1927,7 +1851,6 @@ "database_id": null, "input": [], "repository_id": "120981", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1948,7 +1871,6 @@ "database_id": null, "input": [], "repository_id": "120982", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1969,7 +1891,6 @@ "database_id": null, "input": [], "repository_id": "120983", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1990,7 +1911,6 @@ "database_id": null, "input": [], "repository_id": "120984", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2011,7 +1931,6 @@ "database_id": null, "input": [], "repository_id": "120985", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2032,7 +1951,6 @@ "database_id": null, "input": [], "repository_id": "120986", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2053,7 +1971,6 @@ "database_id": null, "input": [], "repository_id": "120987", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2074,7 +1991,6 @@ "database_id": null, "input": [], "repository_id": "120988", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2095,7 +2011,6 @@ "database_id": null, "input": [], "repository_id": "120989", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2116,7 +2031,6 @@ "database_id": null, "input": [], "repository_id": "120990", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2137,7 +2051,6 @@ "database_id": null, "input": [], "repository_id": "120991", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2158,7 +2071,6 @@ "database_id": null, "input": [], "repository_id": "120992", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2179,7 +2091,6 @@ "database_id": null, "input": [], "repository_id": "120993", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2200,7 +2111,6 @@ "database_id": null, "input": [], "repository_id": "120994", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2221,7 +2131,6 @@ "database_id": null, "input": [], "repository_id": "120995", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2242,7 +2151,6 @@ "database_id": null, "input": [], "repository_id": "120996", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2263,7 +2171,6 @@ "database_id": null, "input": [], "repository_id": "120997", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2284,7 +2191,6 @@ "database_id": null, "input": [], "repository_id": "120998", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2305,7 +2211,6 @@ "database_id": null, "input": [], "repository_id": "120999", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2326,7 +2231,6 @@ "database_id": null, "input": [], "repository_id": "121000", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2347,7 +2251,6 @@ "database_id": null, "input": [], "repository_id": "121001", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2368,7 +2271,6 @@ "database_id": null, "input": [], "repository_id": "121002", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2389,7 +2291,6 @@ "database_id": null, "input": [], "repository_id": "121003", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2410,7 +2311,6 @@ "database_id": null, "input": [], "repository_id": "121004", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2431,7 +2331,6 @@ "database_id": null, "input": [], "repository_id": "121005", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2452,7 +2351,6 @@ "database_id": null, "input": [], "repository_id": "121006", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2473,7 +2371,6 @@ "database_id": null, "input": [], "repository_id": "121007", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2494,7 +2391,6 @@ "database_id": null, "input": [], "repository_id": "121008", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2515,7 +2411,6 @@ "database_id": null, "input": [], "repository_id": "121009", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2536,7 +2431,6 @@ "database_id": null, "input": [], "repository_id": "121010", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2557,7 +2451,6 @@ "database_id": null, "input": [], "repository_id": "121011", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2578,7 +2471,6 @@ "database_id": null, "input": [], "repository_id": "121012", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2599,7 +2491,6 @@ "database_id": null, "input": [], "repository_id": "121013", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2620,7 +2511,6 @@ "database_id": null, "input": [], "repository_id": "121014", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2641,7 +2531,6 @@ "database_id": null, "input": [], "repository_id": "66026", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2662,7 +2551,6 @@ "database_id": null, "input": [], "repository_id": "66027", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2683,7 +2571,6 @@ "database_id": null, "input": [], "repository_id": "66028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2704,7 +2591,6 @@ "database_id": null, "input": [], "repository_id": "66029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2725,7 +2611,6 @@ "database_id": null, "input": [], "repository_id": "66030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2746,7 +2631,6 @@ "database_id": null, "input": [], "repository_id": "66031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2767,7 +2651,6 @@ "database_id": null, "input": [], "repository_id": "66032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2788,7 +2671,6 @@ "database_id": null, "input": [], "repository_id": "66033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2809,7 +2691,6 @@ "database_id": null, "input": [], "repository_id": "66034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2846,7 +2727,6 @@ "database_id": null, "input": [], "repository_id": "121028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2867,7 +2747,6 @@ "database_id": null, "input": [], "repository_id": "121029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2888,7 +2767,6 @@ "database_id": null, "input": [], "repository_id": "121030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2909,7 +2787,6 @@ "database_id": null, "input": [], "repository_id": "121031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2930,7 +2807,6 @@ "database_id": null, "input": [], "repository_id": "121032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2951,7 +2827,6 @@ "database_id": null, "input": [], "repository_id": "121033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2972,7 +2847,6 @@ "database_id": null, "input": [], "repository_id": "121034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2993,7 +2867,6 @@ "database_id": null, "input": [], "repository_id": "121035", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -3014,7 +2887,6 @@ "database_id": null, "input": [], "repository_id": "121036", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -3035,7 +2907,6 @@ "database_id": null, "input": [], "repository_id": "121037", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -3056,7 +2927,6 @@ "database_id": null, "input": [], "repository_id": "66035", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -3679,7 +3549,7 @@ ], "description": "Transcriptional Unit\n\n5'UTR (with RBS) + promoter + CDS + terminator flanked by Golden Gate adapters", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_002.json b/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_002.json index 0a3c14a..9c09c76 100644 --- a/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_002.json +++ b/src/data/templates/kits-murray-cidar-moclo-v1/templates/assembly_template_002.json @@ -284,7 +284,6 @@ "database_id": null, "input": [], "repository_id": "121038", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -305,7 +304,6 @@ "database_id": null, "input": [], "repository_id": "121039", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -326,7 +324,6 @@ "database_id": null, "input": [], "repository_id": "121040", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -347,7 +344,6 @@ "database_id": null, "input": [], "repository_id": "121041", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -384,7 +380,6 @@ "database_id": null, "input": [], "repository_id": "121028", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -405,7 +400,6 @@ "database_id": null, "input": [], "repository_id": "121029", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -426,7 +420,6 @@ "database_id": null, "input": [], "repository_id": "121030", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -447,7 +440,6 @@ "database_id": null, "input": [], "repository_id": "121031", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -468,7 +460,6 @@ "database_id": null, "input": [], "repository_id": "121032", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -489,7 +480,6 @@ "database_id": null, "input": [], "repository_id": "121033", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -510,7 +500,6 @@ "database_id": null, "input": [], "repository_id": "121034", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -531,7 +520,6 @@ "database_id": null, "input": [], "repository_id": "121035", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -552,7 +540,6 @@ "database_id": null, "input": [], "repository_id": "121036", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -573,7 +560,6 @@ "database_id": null, "input": [], "repository_id": "121037", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1188,7 +1174,7 @@ ], "description": "Pre-composed 5'UTR + promoter + CDS\n\nTranscriptional Unit that uses a level 0 plasmid containing joined 5'UTR + promoter + CDS", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_001.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_001.json index ceeba55..b7e96bb 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_001.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_001.json @@ -79,7 +79,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -100,7 +99,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -121,7 +119,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -142,7 +139,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -163,7 +159,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -184,7 +179,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -205,7 +199,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -242,7 +235,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -263,7 +255,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -284,7 +275,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -305,7 +295,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -326,7 +315,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -347,7 +335,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -368,7 +355,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -389,7 +375,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -410,7 +395,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -431,7 +415,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -452,7 +435,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -473,7 +455,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -494,7 +475,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -515,7 +495,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -536,7 +515,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -557,7 +535,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -578,7 +555,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -599,7 +575,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -620,7 +595,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -641,7 +615,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -662,7 +635,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -683,7 +655,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -704,7 +675,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -741,7 +711,6 @@ "database_id": null, "input": [], "repository_id": "212917", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -778,7 +747,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -799,7 +767,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -820,7 +787,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -841,7 +807,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -862,7 +827,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -883,7 +847,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -920,7 +883,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -941,7 +903,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -962,7 +923,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -983,7 +943,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1004,7 +963,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1025,7 +983,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1046,7 +1003,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1083,7 +1039,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1104,7 +1059,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1125,7 +1079,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1146,7 +1099,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1167,7 +1119,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1188,7 +1139,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1209,7 +1159,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1246,7 +1195,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1267,7 +1215,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1304,7 +1251,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1325,7 +1271,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1346,7 +1291,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1408,7 +1352,7 @@ "primers": [], "description": "CDS self-replicating plasmid\n\nA plasmid with a yeast ORI containing a CDS", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_002.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_002.json index e37b8a4..9849092 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_002.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_002.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -248,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -269,7 +261,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -290,7 +281,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -311,7 +301,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -332,7 +321,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -353,7 +341,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -668,7 +641,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -689,7 +661,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -710,7 +681,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "212898", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -768,7 +737,6 @@ "database_id": null, "input": [], "repository_id": "212899", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -789,7 +757,6 @@ "database_id": null, "input": [], "repository_id": "212900", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -810,7 +777,6 @@ "database_id": null, "input": [], "repository_id": "212901", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -831,7 +797,6 @@ "database_id": null, "input": [], "repository_id": "212902", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -852,7 +817,6 @@ "database_id": null, "input": [], "repository_id": "212903", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -873,7 +837,6 @@ "database_id": null, "input": [], "repository_id": "212904", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -894,7 +857,6 @@ "database_id": null, "input": [], "repository_id": "212905", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -915,7 +877,6 @@ "database_id": null, "input": [], "repository_id": "212906", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -936,7 +897,6 @@ "database_id": null, "input": [], "repository_id": "212907", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -957,7 +917,6 @@ "database_id": null, "input": [], "repository_id": "212908", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -978,7 +937,6 @@ "database_id": null, "input": [], "repository_id": "212909", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -999,7 +957,6 @@ "database_id": null, "input": [], "repository_id": "212910", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1020,7 +977,6 @@ "database_id": null, "input": [], "repository_id": "212911", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1041,7 +997,6 @@ "database_id": null, "input": [], "repository_id": "212912", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1062,7 +1017,6 @@ "database_id": null, "input": [], "repository_id": "212913", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1083,7 +1037,6 @@ "database_id": null, "input": [], "repository_id": "212914", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1120,7 +1073,6 @@ "database_id": null, "input": [], "repository_id": "212915", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1141,7 +1093,6 @@ "database_id": null, "input": [], "repository_id": "212916", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1178,7 +1129,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1199,7 +1149,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1220,7 +1169,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1241,7 +1189,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1262,7 +1209,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1283,7 +1229,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1320,7 +1265,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1341,7 +1285,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1362,7 +1305,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1383,7 +1325,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1404,7 +1345,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1425,7 +1365,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1446,7 +1385,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1483,7 +1421,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1504,7 +1441,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1525,7 +1461,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1546,7 +1481,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1567,7 +1501,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1588,7 +1521,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1609,7 +1541,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1646,7 +1577,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1667,7 +1597,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1704,7 +1633,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1725,7 +1653,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1746,7 +1673,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1812,7 +1738,7 @@ "primers": [], "description": "2xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with two CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_003.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_003.json index bda13cb..4ce109b 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_003.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_003.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -254,7 +247,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -275,7 +267,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -296,7 +287,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -317,7 +307,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -338,7 +327,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -359,7 +347,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -674,7 +647,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -695,7 +667,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -716,7 +687,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "212898", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -774,7 +743,6 @@ "database_id": null, "input": [], "repository_id": "212899", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -795,7 +763,6 @@ "database_id": null, "input": [], "repository_id": "212900", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -816,7 +783,6 @@ "database_id": null, "input": [], "repository_id": "212901", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -837,7 +803,6 @@ "database_id": null, "input": [], "repository_id": "212902", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -858,7 +823,6 @@ "database_id": null, "input": [], "repository_id": "212903", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -879,7 +843,6 @@ "database_id": null, "input": [], "repository_id": "212904", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -900,7 +863,6 @@ "database_id": null, "input": [], "repository_id": "212905", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -921,7 +883,6 @@ "database_id": null, "input": [], "repository_id": "212906", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -942,7 +903,6 @@ "database_id": null, "input": [], "repository_id": "212907", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -963,7 +923,6 @@ "database_id": null, "input": [], "repository_id": "212908", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -984,7 +943,6 @@ "database_id": null, "input": [], "repository_id": "212909", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1005,7 +963,6 @@ "database_id": null, "input": [], "repository_id": "212910", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1026,7 +983,6 @@ "database_id": null, "input": [], "repository_id": "212911", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1047,7 +1003,6 @@ "database_id": null, "input": [], "repository_id": "212912", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1068,7 +1023,6 @@ "database_id": null, "input": [], "repository_id": "212913", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1089,7 +1043,6 @@ "database_id": null, "input": [], "repository_id": "212914", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1126,7 +1079,6 @@ "database_id": null, "input": [], "repository_id": "212915", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1147,7 +1099,6 @@ "database_id": null, "input": [], "repository_id": "212916", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1184,7 +1135,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1205,7 +1155,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1226,7 +1175,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1247,7 +1195,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1268,7 +1215,6 @@ "database_id": null, "input": [], "repository_id": "212918", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1289,7 +1235,6 @@ "database_id": null, "input": [], "repository_id": "212919", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1310,7 +1255,6 @@ "database_id": null, "input": [], "repository_id": "212920", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1331,7 +1275,6 @@ "database_id": null, "input": [], "repository_id": "212921", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1352,7 +1295,6 @@ "database_id": null, "input": [], "repository_id": "212922", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1389,7 +1331,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1410,7 +1351,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1431,7 +1371,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1452,7 +1391,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1473,7 +1411,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1494,7 +1431,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1531,7 +1467,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1552,7 +1487,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1573,7 +1507,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1594,7 +1527,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1615,7 +1547,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1636,7 +1567,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1657,7 +1587,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1694,7 +1623,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1715,7 +1643,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1736,7 +1663,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1757,7 +1683,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1778,7 +1703,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1799,7 +1723,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1820,7 +1743,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1857,7 +1779,6 @@ "database_id": null, "input": [], "repository_id": "65188", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1878,7 +1799,6 @@ "database_id": null, "input": [], "repository_id": "65189", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1915,7 +1835,6 @@ "database_id": null, "input": [], "repository_id": "65190", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1936,7 +1855,6 @@ "database_id": null, "input": [], "repository_id": "65191", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1957,7 +1875,6 @@ "database_id": null, "input": [], "repository_id": "65192", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2027,7 +1944,7 @@ "primers": [], "description": "3xCDS fusion self-replicating plasmid\n\nA plasmid with a yeast ORI with three CDS fused together", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_004.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_004.json index 20d8c79..e4028ac 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_004.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_004.json @@ -85,7 +85,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -106,7 +105,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -127,7 +125,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -148,7 +145,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -169,7 +165,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -190,7 +185,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -211,7 +205,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -248,7 +241,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -269,7 +261,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -290,7 +281,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -311,7 +301,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -332,7 +321,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -353,7 +341,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -374,7 +361,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -395,7 +381,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -416,7 +401,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -437,7 +421,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -458,7 +441,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -479,7 +461,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -500,7 +481,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -521,7 +501,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -542,7 +521,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -563,7 +541,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -584,7 +561,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -605,7 +581,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -626,7 +601,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -647,7 +621,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -668,7 +641,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -689,7 +661,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -710,7 +681,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -747,7 +717,6 @@ "database_id": null, "input": [], "repository_id": "212917", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -784,7 +753,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -805,7 +773,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -826,7 +793,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -847,7 +813,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -868,7 +833,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -889,7 +853,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -926,7 +889,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -947,7 +909,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -968,7 +929,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -989,7 +949,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1010,7 +969,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1031,7 +989,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1052,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1089,7 +1045,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1110,7 +1065,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1131,7 +1085,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1152,7 +1105,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1173,7 +1125,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1194,7 +1145,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1215,7 +1165,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1252,7 +1201,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1273,7 +1221,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1294,7 +1241,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1331,7 +1277,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1352,7 +1297,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1373,7 +1317,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1410,7 +1353,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1431,7 +1373,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1452,7 +1393,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1518,7 +1458,7 @@ "primers": [], "description": "CDS integration plasmid\n\nA plasmid containing a CDS that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_005.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_005.json index 0d38914..010db80 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_005.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_005.json @@ -91,7 +91,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -112,7 +111,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -133,7 +131,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -154,7 +151,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -175,7 +171,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -196,7 +191,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -217,7 +211,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -254,7 +247,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -275,7 +267,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -296,7 +287,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -317,7 +307,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -338,7 +327,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -359,7 +347,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -380,7 +367,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -401,7 +387,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -422,7 +407,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -443,7 +427,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -464,7 +447,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -485,7 +467,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -506,7 +487,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -527,7 +507,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -548,7 +527,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -569,7 +547,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -590,7 +567,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -611,7 +587,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -632,7 +607,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -653,7 +627,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -674,7 +647,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -695,7 +667,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -716,7 +687,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -753,7 +723,6 @@ "database_id": null, "input": [], "repository_id": "212898", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -774,7 +743,6 @@ "database_id": null, "input": [], "repository_id": "212899", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -795,7 +763,6 @@ "database_id": null, "input": [], "repository_id": "212900", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -816,7 +783,6 @@ "database_id": null, "input": [], "repository_id": "212901", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -837,7 +803,6 @@ "database_id": null, "input": [], "repository_id": "212902", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -858,7 +823,6 @@ "database_id": null, "input": [], "repository_id": "212903", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -879,7 +843,6 @@ "database_id": null, "input": [], "repository_id": "212904", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -900,7 +863,6 @@ "database_id": null, "input": [], "repository_id": "212905", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -921,7 +883,6 @@ "database_id": null, "input": [], "repository_id": "212906", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -942,7 +903,6 @@ "database_id": null, "input": [], "repository_id": "212907", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -963,7 +923,6 @@ "database_id": null, "input": [], "repository_id": "212908", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -984,7 +943,6 @@ "database_id": null, "input": [], "repository_id": "212909", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1005,7 +963,6 @@ "database_id": null, "input": [], "repository_id": "212910", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1026,7 +983,6 @@ "database_id": null, "input": [], "repository_id": "212911", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1047,7 +1003,6 @@ "database_id": null, "input": [], "repository_id": "212912", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1068,7 +1023,6 @@ "database_id": null, "input": [], "repository_id": "212913", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1089,7 +1043,6 @@ "database_id": null, "input": [], "repository_id": "212914", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1126,7 +1079,6 @@ "database_id": null, "input": [], "repository_id": "212915", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1147,7 +1099,6 @@ "database_id": null, "input": [], "repository_id": "212916", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1184,7 +1135,6 @@ "database_id": null, "input": [], "repository_id": "65158", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1205,7 +1155,6 @@ "database_id": null, "input": [], "repository_id": "65159", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1226,7 +1175,6 @@ "database_id": null, "input": [], "repository_id": "65160", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1247,7 +1195,6 @@ "database_id": null, "input": [], "repository_id": "65161", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1268,7 +1215,6 @@ "database_id": null, "input": [], "repository_id": "65162", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1289,7 +1235,6 @@ "database_id": null, "input": [], "repository_id": "65163", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1326,7 +1271,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1347,7 +1291,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1368,7 +1311,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1389,7 +1331,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1410,7 +1351,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1431,7 +1371,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1452,7 +1391,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1489,7 +1427,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1510,7 +1447,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1531,7 +1467,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1552,7 +1487,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1573,7 +1507,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1594,7 +1527,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1615,7 +1547,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1652,7 +1583,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1673,7 +1603,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1694,7 +1623,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1731,7 +1659,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1752,7 +1679,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1773,7 +1699,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1810,7 +1735,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1831,7 +1755,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1852,7 +1775,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1922,7 +1844,7 @@ "primers": [], "description": "2xCDS integration plasmid\n\nA plasmid containing a 2xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null } diff --git a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_006.json b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_006.json index 2285c0d..3432a57 100644 --- a/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_006.json +++ b/src/data/templates/kits-young-moclo-ysd/templates/assembly_template_006.json @@ -97,7 +97,6 @@ "database_id": null, "input": [], "repository_id": "65109", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -118,7 +117,6 @@ "database_id": null, "input": [], "repository_id": "65110", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -139,7 +137,6 @@ "database_id": null, "input": [], "repository_id": "65111", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -160,7 +157,6 @@ "database_id": null, "input": [], "repository_id": "65112", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -181,7 +177,6 @@ "database_id": null, "input": [], "repository_id": "65113", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -202,7 +197,6 @@ "database_id": null, "input": [], "repository_id": "65114", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -223,7 +217,6 @@ "database_id": null, "input": [], "repository_id": "65115", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -260,7 +253,6 @@ "database_id": null, "input": [], "repository_id": "65116", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -281,7 +273,6 @@ "database_id": null, "input": [], "repository_id": "65117", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -302,7 +293,6 @@ "database_id": null, "input": [], "repository_id": "65118", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -323,7 +313,6 @@ "database_id": null, "input": [], "repository_id": "65119", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -344,7 +333,6 @@ "database_id": null, "input": [], "repository_id": "65120", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -365,7 +353,6 @@ "database_id": null, "input": [], "repository_id": "65121", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -386,7 +373,6 @@ "database_id": null, "input": [], "repository_id": "65122", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -407,7 +393,6 @@ "database_id": null, "input": [], "repository_id": "65123", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -428,7 +413,6 @@ "database_id": null, "input": [], "repository_id": "65124", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -449,7 +433,6 @@ "database_id": null, "input": [], "repository_id": "65125", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -470,7 +453,6 @@ "database_id": null, "input": [], "repository_id": "65126", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -491,7 +473,6 @@ "database_id": null, "input": [], "repository_id": "65127", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -512,7 +493,6 @@ "database_id": null, "input": [], "repository_id": "65128", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -533,7 +513,6 @@ "database_id": null, "input": [], "repository_id": "65129", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -554,7 +533,6 @@ "database_id": null, "input": [], "repository_id": "65130", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -575,7 +553,6 @@ "database_id": null, "input": [], "repository_id": "65131", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -596,7 +573,6 @@ "database_id": null, "input": [], "repository_id": "65132", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -617,7 +593,6 @@ "database_id": null, "input": [], "repository_id": "65133", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -638,7 +613,6 @@ "database_id": null, "input": [], "repository_id": "65134", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -659,7 +633,6 @@ "database_id": null, "input": [], "repository_id": "65135", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -680,7 +653,6 @@ "database_id": null, "input": [], "repository_id": "65136", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -701,7 +673,6 @@ "database_id": null, "input": [], "repository_id": "65137", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -722,7 +693,6 @@ "database_id": null, "input": [], "repository_id": "65138", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -759,7 +729,6 @@ "database_id": null, "input": [], "repository_id": "212898", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -780,7 +749,6 @@ "database_id": null, "input": [], "repository_id": "212899", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -801,7 +769,6 @@ "database_id": null, "input": [], "repository_id": "212900", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -822,7 +789,6 @@ "database_id": null, "input": [], "repository_id": "212901", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -843,7 +809,6 @@ "database_id": null, "input": [], "repository_id": "212902", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -864,7 +829,6 @@ "database_id": null, "input": [], "repository_id": "212903", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -885,7 +849,6 @@ "database_id": null, "input": [], "repository_id": "212904", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -906,7 +869,6 @@ "database_id": null, "input": [], "repository_id": "212905", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -927,7 +889,6 @@ "database_id": null, "input": [], "repository_id": "212906", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -948,7 +909,6 @@ "database_id": null, "input": [], "repository_id": "212907", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -969,7 +929,6 @@ "database_id": null, "input": [], "repository_id": "212908", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -990,7 +949,6 @@ "database_id": null, "input": [], "repository_id": "212909", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1011,7 +969,6 @@ "database_id": null, "input": [], "repository_id": "212910", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1032,7 +989,6 @@ "database_id": null, "input": [], "repository_id": "212911", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1053,7 +1009,6 @@ "database_id": null, "input": [], "repository_id": "212912", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1074,7 +1029,6 @@ "database_id": null, "input": [], "repository_id": "212913", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1095,7 +1049,6 @@ "database_id": null, "input": [], "repository_id": "212914", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1132,7 +1085,6 @@ "database_id": null, "input": [], "repository_id": "212915", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1153,7 +1105,6 @@ "database_id": null, "input": [], "repository_id": "212916", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1190,7 +1141,6 @@ "database_id": null, "input": [], "repository_id": "65164", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1211,7 +1161,6 @@ "database_id": null, "input": [], "repository_id": "65165", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1232,7 +1181,6 @@ "database_id": null, "input": [], "repository_id": "65166", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1253,7 +1201,6 @@ "database_id": null, "input": [], "repository_id": "65167", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1274,7 +1221,6 @@ "database_id": null, "input": [], "repository_id": "212918", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1295,7 +1241,6 @@ "database_id": null, "input": [], "repository_id": "212919", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1316,7 +1261,6 @@ "database_id": null, "input": [], "repository_id": "212920", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1337,7 +1281,6 @@ "database_id": null, "input": [], "repository_id": "212921", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1358,7 +1301,6 @@ "database_id": null, "input": [], "repository_id": "212922", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1395,7 +1337,6 @@ "database_id": null, "input": [], "repository_id": "65168", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1416,7 +1357,6 @@ "database_id": null, "input": [], "repository_id": "65169", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1437,7 +1377,6 @@ "database_id": null, "input": [], "repository_id": "65170", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1458,7 +1397,6 @@ "database_id": null, "input": [], "repository_id": "65171", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1479,7 +1417,6 @@ "database_id": null, "input": [], "repository_id": "65172", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1500,7 +1437,6 @@ "database_id": null, "input": [], "repository_id": "65173", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1537,7 +1473,6 @@ "database_id": null, "input": [], "repository_id": "65174", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1558,7 +1493,6 @@ "database_id": null, "input": [], "repository_id": "65175", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1579,7 +1513,6 @@ "database_id": null, "input": [], "repository_id": "65176", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1600,7 +1533,6 @@ "database_id": null, "input": [], "repository_id": "65177", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1621,7 +1553,6 @@ "database_id": null, "input": [], "repository_id": "65178", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1642,7 +1573,6 @@ "database_id": null, "input": [], "repository_id": "65179", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1663,7 +1593,6 @@ "database_id": null, "input": [], "repository_id": "65180", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1700,7 +1629,6 @@ "database_id": null, "input": [], "repository_id": "65181", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1721,7 +1649,6 @@ "database_id": null, "input": [], "repository_id": "65182", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1742,7 +1669,6 @@ "database_id": null, "input": [], "repository_id": "65183", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1763,7 +1689,6 @@ "database_id": null, "input": [], "repository_id": "65184", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1784,7 +1709,6 @@ "database_id": null, "input": [], "repository_id": "65185", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1805,7 +1729,6 @@ "database_id": null, "input": [], "repository_id": "65186", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1826,7 +1749,6 @@ "database_id": null, "input": [], "repository_id": "65187", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1863,7 +1785,6 @@ "database_id": null, "input": [], "repository_id": "65193", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1884,7 +1805,6 @@ "database_id": null, "input": [], "repository_id": "65194", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1905,7 +1825,6 @@ "database_id": null, "input": [], "repository_id": "65195", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1942,7 +1861,6 @@ "database_id": null, "input": [], "repository_id": "65196", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1963,7 +1881,6 @@ "database_id": null, "input": [], "repository_id": "65197", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -1984,7 +1901,6 @@ "database_id": null, "input": [], "repository_id": "65198", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2021,7 +1937,6 @@ "database_id": null, "input": [], "repository_id": "65199", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2042,7 +1957,6 @@ "database_id": null, "input": [], "repository_id": "65200", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2063,7 +1977,6 @@ "database_id": null, "input": [], "repository_id": "65201", - "repository_name": "addgene", "sequence_file_url": null, "addgene_sequence_type": null }, @@ -2137,7 +2050,7 @@ "primers": [], "description": "3xCDS integration plasmid\n\nA plasmid containing a 3xCDS fusion protein that can be integrated in the genome via recombination", "files": null, - "schema_version": "0.3.0a0.post5.dev0+3cee09f", + "schema_version": "0.4.9", "backend_version": null, "frontend_version": null }