From 8b7198cfa218c1346fcb225547bf9e71f7ba9844 Mon Sep 17 00:00:00 2001 From: dannon Date: Wed, 11 Dec 2024 02:25:43 +0000 Subject: [PATCH] deploy: 4c7e1d1ffdcdaebf8dcc97f40101f1fed779259a --- 200.html | 17 +- 404.html | 17 +- _nuxt/-yCMipV_.js | 2 - _nuxt/0lDBlFmI.js | 1 - _nuxt/{igdY0Og6.js => 11VvIB8a.js} | 2 +- _nuxt/1XwWt0dk.js | 1 + _nuxt/1wWk9IEk.js | 1 + _nuxt/4hq1URUI.js | 1 + _nuxt/7I4epCkE.js | 95 + _nuxt/7Sy1XzGG.js | 1 - _nuxt/7UxjXbch.js | 139 + _nuxt/7nLUnQzp.js | 1 + _nuxt/82jccFBt.js | 1 - _nuxt/8ufgy5XF.js | 1 + _nuxt/B1ETFVk0.js | 1 + _nuxt/B4E6yrnf.js | 1 - _nuxt/B63kVRHZ.js | 1 - _nuxt/B6SjRGD-.js | 257 + _nuxt/B6ZS9b_z.js | 1 + _nuxt/BBPqxCFz.js | 7 + _nuxt/BFGZpWx_.js | 1 - _nuxt/BFdqArbZ.js | 1 - _nuxt/BH-Vtj6c.js | 1 + _nuxt/BHweTIhu.js | 1 - _nuxt/BI2NzfhY.js | 1 - _nuxt/BIVkUQcf.js | 1 + _nuxt/BJOqsctX.js | 1 - _nuxt/{BJxZixah.js => BJevMQrH.js} | 4971 ++++++++++++++++- _nuxt/BN9GDn3H.js | 247 + _nuxt/BOm3I9Ep.js | 1 - _nuxt/BQAUpuJp.js | 1 + _nuxt/{dDnsVHSO.js => BQI0Wxxj.js} | 2 +- _nuxt/BT2BSI1v.js | 1 + _nuxt/BTH4M2oM.js | 1 - _nuxt/BTrRUYEc.js | 1 + _nuxt/BXAbmjOT.js | 1 + _nuxt/BdShI6Yz.js | 1 + _nuxt/BdpWdHaY.js | 24 + _nuxt/{_pgRj0dJ.js => Be8qMQ7y.js} | 2 +- _nuxt/BhT3LTym.js | 1 + _nuxt/{CAJW8Aus.js => BhaonjGO.js} | 2 +- _nuxt/BiaM9gQc.js | 1 - _nuxt/BjkRZCrk.js | 1 - _nuxt/Bk5l7imX.js | 1 - _nuxt/BpEg4sbd.js | 1 + _nuxt/BrsovEvy.js | 1 + _nuxt/Bts1nb3V.js | 2 - _nuxt/Btv4BgYl.js | 1 - _nuxt/BzRHfUZr.js | 30 + _nuxt/{CM2yUB0e.js => C17nQrMx.js} | 2 +- _nuxt/C1JfJP5P.js | 2 + _nuxt/C3NahR2g.js | 1 + _nuxt/C6I_uMOn.js | 1 - _nuxt/C7rv9HNS.js | 1 - _nuxt/C8kEXrLA.js | 1 + _nuxt/C9budKl-.js | 1 + _nuxt/CEbTorUm.js | 1 + _nuxt/CEh4-x7r.js | 1 + _nuxt/CKq6uz6i.js | 122 + _nuxt/CLvOkMre.js | 1 - _nuxt/CMWefPjl.js | 1 + _nuxt/CN5ytbgz.js | 1 - _nuxt/COcyib0V.js | 1 - _nuxt/CP0KRmK-.js | 1 - _nuxt/CWcjv5hM.js | 1 - _nuxt/CYg2XdTk.js | 1 + _nuxt/{BG-Mtyn1.js => CZyae0UU.js} | 2 +- _nuxt/Cbi5YN8i.js | 1 - _nuxt/{DM5ltnW9.js => CdIHTZtf.js} | 2 +- _nuxt/CgoineOE.js | 1 + _nuxt/ChZphjCZ.js | 1 + _nuxt/CigpWje-.js | 1 - _nuxt/CkbuisaA.js | 1 - _nuxt/CmKTTxBW.js | 1 + _nuxt/Cpj98o6Y.js | 1 + _nuxt/CqAEurY-.js | 1 + _nuxt/{DwjrZLxu.js => Cr_fMKTm.js} | 2 +- _nuxt/{DCBTzStL.js => CuNWyn2d.js} | 2 +- _nuxt/Cwt5j3M4.js | 61 + _nuxt/CyiKzZke.js | 52 + _nuxt/D-qyYwsU.js | 1 + _nuxt/D5vXOEyf.js | 59 - _nuxt/D98TL2vF.js | 1 + _nuxt/DB7qAOaQ.js | 1 + _nuxt/DDsBBK07.js | 121 + _nuxt/DJhIy8L4.js | 8 + _nuxt/DKEOPaPT.js | 1 + _nuxt/DNwYr7Pt.js | 1 + _nuxt/DPN-xNBM.js | 1 - _nuxt/DPkNqMKw.js | 1 + _nuxt/DV860Oij.js | 1 + _nuxt/DWlsyFxE.js | 1 + _nuxt/DZ8fBfTf.js | 10 + _nuxt/DZpnpg6r.js | 2 + _nuxt/DcU2AYcU.js | 1 - _nuxt/Dgb7eL1e.js | 1 + _nuxt/DiUVSron.js | 65 + _nuxt/Dk871sGE.js | 1 + _nuxt/DkbTWFKD.js | 1 + _nuxt/DnCrATAD.js | 220 + _nuxt/DpNHeHvB.js | 1 + _nuxt/Dq0ogEhO.js | 1 + _nuxt/DqIxQbFE.js | 1 + _nuxt/{DFoqy8oA.js => Dqap1RpX.js} | 2 +- _nuxt/{ZI84DZB4.js => DzgF3Vew.js} | 12 +- _nuxt/FpOb6hff.js | 16 + _nuxt/Gi6I4Gst.js | 1 + _nuxt/HK6om9Mg.js | 4 + _nuxt/KzJu2wNH.js | 1 + _nuxt/MVIqH3qo.js | 160 + _nuxt/NieGjnhU.js | 261 + ...re.CchFRBtv.css => ProseCode.CchFRBtv.css} | 0 _nuxt/RKDQ-nER.js | 88 + _nuxt/RYj3OKVH.js | 1 + _nuxt/ZNOPhsdt.js | 1 - .../{_id_.D334hZGB.css => _id_.CpkGk6rS.css} | 2 +- _nuxt/a3ITFkyq.js | 1 - _nuxt/builds/latest.json | 2 +- .../bf7af7fd-a799-49d4-95c2-1c60384f989a.json | 1 + .../e6fddee0-45ce-473e-bd04-62f8e4312dcf.json | 1 - _nuxt/by_5UnZ2.js | 2 + _nuxt/c29WzxQ5.js | 1 + _nuxt/csrLU7rk.js | 1 + _nuxt/f_LkCM04.js | 1 - _nuxt/jm5Vvyv-.js | 7 + _nuxt/lwzoVff7.js | 127 + _nuxt/maciVotI.js | 1 + _nuxt/ny9-2f-j.js | 1 - _nuxt/{kXO4MUao.js => odlyb-8r.js} | 2 +- _nuxt/piQ0EMDe.js | 1 + _nuxt/tC7BsrAy.js | 36 + _nuxt/uI78RzAp.js | 164 + _nuxt/ufPKIqBi.js | 1 + _nuxt/vh4weN6L.js | 51 + _payload.json | 2 +- api/_content/cache.1733764743643.json | 1 - api/_content/cache.1733883913908.json | 1 + index.html | 23 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- .../_payload.json | 2 +- .../index.html | 26 +- workflow_manifest.json | 87 + 305 files changed, 8754 insertions(+), 1253 deletions(-) delete mode 100644 _nuxt/-yCMipV_.js delete mode 100644 _nuxt/0lDBlFmI.js rename _nuxt/{igdY0Og6.js => 11VvIB8a.js} (79%) create mode 100644 _nuxt/1XwWt0dk.js create mode 100644 _nuxt/1wWk9IEk.js create mode 100644 _nuxt/4hq1URUI.js create mode 100644 _nuxt/7I4epCkE.js delete mode 100644 _nuxt/7Sy1XzGG.js create mode 100644 _nuxt/7UxjXbch.js create mode 100644 _nuxt/7nLUnQzp.js delete mode 100644 _nuxt/82jccFBt.js create mode 100644 _nuxt/8ufgy5XF.js create mode 100644 _nuxt/B1ETFVk0.js delete mode 100644 _nuxt/B4E6yrnf.js delete mode 100644 _nuxt/B63kVRHZ.js create mode 100644 _nuxt/B6SjRGD-.js create mode 100644 _nuxt/B6ZS9b_z.js create mode 100644 _nuxt/BBPqxCFz.js delete mode 100644 _nuxt/BFGZpWx_.js delete mode 100644 _nuxt/BFdqArbZ.js create mode 100644 _nuxt/BH-Vtj6c.js delete mode 100644 _nuxt/BHweTIhu.js delete mode 100644 _nuxt/BI2NzfhY.js create mode 100644 _nuxt/BIVkUQcf.js delete mode 100644 _nuxt/BJOqsctX.js rename _nuxt/{BJxZixah.js => BJevMQrH.js} (83%) create mode 100644 _nuxt/BN9GDn3H.js delete mode 100644 _nuxt/BOm3I9Ep.js create mode 100644 _nuxt/BQAUpuJp.js rename _nuxt/{dDnsVHSO.js => BQI0Wxxj.js} (64%) create mode 100644 _nuxt/BT2BSI1v.js delete mode 100644 _nuxt/BTH4M2oM.js create mode 100644 _nuxt/BTrRUYEc.js create mode 100644 _nuxt/BXAbmjOT.js create mode 100644 _nuxt/BdShI6Yz.js create mode 100644 _nuxt/BdpWdHaY.js rename _nuxt/{_pgRj0dJ.js => Be8qMQ7y.js} (72%) create mode 100644 _nuxt/BhT3LTym.js rename _nuxt/{CAJW8Aus.js => BhaonjGO.js} (95%) delete mode 100644 _nuxt/BiaM9gQc.js delete mode 100644 _nuxt/BjkRZCrk.js delete mode 100644 _nuxt/Bk5l7imX.js create mode 100644 _nuxt/BpEg4sbd.js create mode 100644 _nuxt/BrsovEvy.js delete mode 100644 _nuxt/Bts1nb3V.js delete mode 100644 _nuxt/Btv4BgYl.js create mode 100644 _nuxt/BzRHfUZr.js rename _nuxt/{CM2yUB0e.js => C17nQrMx.js} (65%) create mode 100644 _nuxt/C1JfJP5P.js create mode 100644 _nuxt/C3NahR2g.js delete mode 100644 _nuxt/C6I_uMOn.js delete mode 100644 _nuxt/C7rv9HNS.js create mode 100644 _nuxt/C8kEXrLA.js create mode 100644 _nuxt/C9budKl-.js create mode 100644 _nuxt/CEbTorUm.js create mode 100644 _nuxt/CEh4-x7r.js create mode 100644 _nuxt/CKq6uz6i.js delete mode 100644 _nuxt/CLvOkMre.js create mode 100644 _nuxt/CMWefPjl.js delete mode 100644 _nuxt/CN5ytbgz.js delete mode 100644 _nuxt/COcyib0V.js delete mode 100644 _nuxt/CP0KRmK-.js delete mode 100644 _nuxt/CWcjv5hM.js create mode 100644 _nuxt/CYg2XdTk.js rename _nuxt/{BG-Mtyn1.js => CZyae0UU.js} (77%) delete mode 100644 _nuxt/Cbi5YN8i.js rename _nuxt/{DM5ltnW9.js => CdIHTZtf.js} (80%) create mode 100644 _nuxt/CgoineOE.js create mode 100644 _nuxt/ChZphjCZ.js delete mode 100644 _nuxt/CigpWje-.js delete mode 100644 _nuxt/CkbuisaA.js create mode 100644 _nuxt/CmKTTxBW.js create mode 100644 _nuxt/Cpj98o6Y.js create mode 100644 _nuxt/CqAEurY-.js rename _nuxt/{DwjrZLxu.js => Cr_fMKTm.js} (89%) rename _nuxt/{DCBTzStL.js => CuNWyn2d.js} (58%) create mode 100644 _nuxt/Cwt5j3M4.js create mode 100644 _nuxt/CyiKzZke.js create mode 100644 _nuxt/D-qyYwsU.js delete mode 100644 _nuxt/D5vXOEyf.js create mode 100644 _nuxt/D98TL2vF.js create mode 100644 _nuxt/DB7qAOaQ.js create mode 100644 _nuxt/DDsBBK07.js create mode 100644 _nuxt/DJhIy8L4.js create mode 100644 _nuxt/DKEOPaPT.js create mode 100644 _nuxt/DNwYr7Pt.js delete mode 100644 _nuxt/DPN-xNBM.js create mode 100644 _nuxt/DPkNqMKw.js create mode 100644 _nuxt/DV860Oij.js create mode 100644 _nuxt/DWlsyFxE.js create mode 100644 _nuxt/DZ8fBfTf.js create mode 100644 _nuxt/DZpnpg6r.js delete mode 100644 _nuxt/DcU2AYcU.js create mode 100644 _nuxt/Dgb7eL1e.js create mode 100644 _nuxt/DiUVSron.js create mode 100644 _nuxt/Dk871sGE.js create mode 100644 _nuxt/DkbTWFKD.js create mode 100644 _nuxt/DnCrATAD.js create mode 100644 _nuxt/DpNHeHvB.js create mode 100644 _nuxt/Dq0ogEhO.js create mode 100644 _nuxt/DqIxQbFE.js rename _nuxt/{DFoqy8oA.js => Dqap1RpX.js} (72%) rename _nuxt/{ZI84DZB4.js => DzgF3Vew.js} (80%) create mode 100644 _nuxt/FpOb6hff.js create mode 100644 _nuxt/Gi6I4Gst.js create mode 100644 _nuxt/HK6om9Mg.js create mode 100644 _nuxt/KzJu2wNH.js create mode 100644 _nuxt/MVIqH3qo.js create mode 100644 _nuxt/NieGjnhU.js rename _nuxt/{ProsePre.CchFRBtv.css => ProseCode.CchFRBtv.css} (100%) create mode 100644 _nuxt/RKDQ-nER.js create mode 100644 _nuxt/RYj3OKVH.js delete mode 100644 _nuxt/ZNOPhsdt.js rename _nuxt/{_id_.D334hZGB.css => _id_.CpkGk6rS.css} (67%) delete mode 100644 _nuxt/a3ITFkyq.js create mode 100644 _nuxt/builds/meta/bf7af7fd-a799-49d4-95c2-1c60384f989a.json delete mode 100644 _nuxt/builds/meta/e6fddee0-45ce-473e-bd04-62f8e4312dcf.json create mode 100644 _nuxt/by_5UnZ2.js create mode 100644 _nuxt/c29WzxQ5.js create mode 100644 _nuxt/csrLU7rk.js delete mode 100644 _nuxt/f_LkCM04.js create mode 100644 _nuxt/jm5Vvyv-.js create mode 100644 _nuxt/lwzoVff7.js create mode 100644 _nuxt/maciVotI.js delete mode 100644 _nuxt/ny9-2f-j.js rename _nuxt/{kXO4MUao.js => odlyb-8r.js} (54%) create mode 100644 _nuxt/piQ0EMDe.js create mode 100644 _nuxt/tC7BsrAy.js create mode 100644 _nuxt/uI78RzAp.js create mode 100644 _nuxt/ufPKIqBi.js create mode 100644 _nuxt/vh4weN6L.js delete mode 100644 api/_content/cache.1733764743643.json create mode 100644 api/_content/cache.1733883913908.json diff --git a/200.html b/200.html index ab4d00705..34d27ac34 100644 --- a/200.html +++ b/200.html @@ -3,9 +3,14 @@ - - - - -
- \ No newline at end of file + + + + + + + + + +
+ \ No newline at end of file diff --git a/404.html b/404.html index ab4d00705..34d27ac34 100644 --- a/404.html +++ b/404.html @@ -3,9 +3,14 @@ - - - - -
- \ No newline at end of file + + + + + + + + + +
+ \ No newline at end of file diff --git a/_nuxt/-yCMipV_.js b/_nuxt/-yCMipV_.js deleted file mode 100644 index 6b82948f8..000000000 --- a/_nuxt/-yCMipV_.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__fileDeps=["./BJOqsctX.js","./ZI84DZB4.js","./C-v3KzvZ.js","./ny9-2f-j.js","./IShi1APO.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); -import{ak as x,y as _,al as T,i as L,X as j,R as q,J as I,H as C,D as F,am as H,I as M,E as Q,G as K,an as N,ae as g,ao as U,ap as k,aq as z,ah as A}from"./ZI84DZB4.js";import{h as b}from"./IShi1APO.js";import{u as O}from"./ny9-2f-j.js";const G=e=>e==="defer"||e===!1;function se(...e){var P;const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);let[a,i,n={}]=e;if(typeof a!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof i!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const s=F(),r=i,u=()=>null,l=()=>s.isHydrating?s.payload.data[a]:s.static.data[a];n.server=n.server??!0,n.default=n.default??u,n.getCachedData=n.getCachedData??l,n.lazy=n.lazy??!1,n.immediate=n.immediate??!0,n.deep=n.deep??x.deep,n.dedupe=n.dedupe??"cancel";const p=()=>n.getCachedData(a,s)!=null;if(!s._asyncData[a]||!n.immediate){(P=s.payload._errors)[a]??(P[a]=null);const f=n.deep?_:T;s._asyncData[a]={data:f(n.getCachedData(a,s)??n.default()),pending:_(!p()),error:L(s.payload._errors,a),status:_("idle")}}const o={...s._asyncData[a]};o.refresh=o.execute=(f={})=>{if(s._asyncDataPromises[a]){if(G(f.dedupe??n.dedupe))return s._asyncDataPromises[a];s._asyncDataPromises[a].cancelled=!0}if((f._initial||s.isHydrating&&f._initial!==!1)&&p())return Promise.resolve(n.getCachedData(a,s));o.pending.value=!0,o.status.value="pending";const y=new Promise((h,c)=>{try{h(r(s))}catch(w){c(w)}}).then(async h=>{if(y.cancelled)return s._asyncDataPromises[a];let c=h;n.transform&&(c=await n.transform(h)),n.pick&&(c=W(c,n.pick)),s.payload.data[a]=c,o.data.value=c,o.error.value=null,o.status.value="success"}).catch(h=>{if(y.cancelled)return s._asyncDataPromises[a];o.error.value=H(h),o.data.value=M(n.default()),o.status.value="error"}).finally(()=>{y.cancelled||(o.pending.value=!1,delete s._asyncDataPromises[a])});return s._asyncDataPromises[a]=y,s._asyncDataPromises[a]},o.clear=()=>J(s,a);const m=()=>o.refresh({_initial:!0}),B=n.server!==!1&&s.payload.serverRendered;{const f=Q();if(f&&!f._nuxtOnBeforeMountCbs){f._nuxtOnBeforeMountCbs=[];const c=f._nuxtOnBeforeMountCbs;j(()=>{c.forEach(w=>{w()}),c.splice(0,c.length)}),q(()=>c.splice(0,c.length))}B&&s.isHydrating&&(o.error.value||p())?(o.pending.value=!1,o.status.value=o.error.value?"error":"success"):f&&(s.payload.serverRendered&&s.isHydrating||n.lazy)&&n.immediate?f._nuxtOnBeforeMountCbs.push(m):n.immediate&&m();const y=K();if(n.watch){const c=I(n.watch,()=>o.refresh());y&&C(c)}const h=s.hook("app:data:refresh",async c=>{(!c||c.includes(a))&&await o.refresh()});y&&C(h)}const v=Promise.resolve(s._asyncDataPromises[a]).then(()=>o);return Object.assign(v,o),v}function J(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=null),e._asyncData[t]&&(e._asyncData[t].data.value=void 0,e._asyncData[t].error.value=null,e._asyncData[t].pending.value=!1,e._asyncData[t].status.value="idle"),t in e._asyncDataPromises&&(e._asyncDataPromises[t].cancelled=!0,e._asyncDataPromises[t]=void 0)}function W(e,t){const a={};for(const i of t)a[i]=e[i];return a}const E=(e,t)=>t.split(".").reduce((a,i)=>a&&a[i],e),D=(e,t)=>Object.keys(e).filter(t).reduce((a,i)=>Object.assign(a,{[i]:e[i]}),{}),ie=e=>t=>e&&e.length?D(t,a=>!e.includes(a)):t,oe=e=>t=>Array.isArray(t)?t.map(a=>e(a)):e(t),S=e=>{const t=[],a=[];for(const i of e)["$","_"].includes(i)?t.push(i):a.push(i);return{prefixes:t,properties:a}},ce=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:a,properties:i}=S(e);return D(t,n=>!i.includes(n)&&!a.includes(n[0]))},ue=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:a,properties:i}=S(e);return D(t,n=>i.includes(n)||a.includes(n[0]))},le=(e,t)=>{const a=new Intl.Collator(t.$locale,{numeric:t.$numeric,caseFirst:t.$caseFirst,sensitivity:t.$sensitivity}),i=Object.keys(t).filter(n=>!n.startsWith("$"));for(const n of i)e=e.sort((s,r)=>{const u=[E(s,n),E(r,n)].map(l=>{if(l!==null)return l instanceof Date?l.toISOString():l});return t[n]===-1&&u.reverse(),a.compare(u[0],u[1])});return e},fe=(e,t="Expected an array")=>{if(!Array.isArray(e))throw new TypeError(t)},d=e=>Array.isArray(e)?e:[void 0,null].includes(e)?[]:[e],X=["sort","where","only","without"];function V(e,t={}){const a={};for(const r of Object.keys(t.initialParams||{}))a[r]=X.includes(r)?d(t.initialParams[r]):t.initialParams[r];const i=(r,u=l=>l)=>(...l)=>(a[r]=u(...l),s),n=r=>{var u;return t.legacy?r!=null&&r.surround?r.surround:r&&(r!=null&&r.dirConfig&&(r.result={_path:(u=r.dirConfig)==null?void 0:u._path,...r.result,_dir:r.dirConfig}),r!=null&&r._path||Array.isArray(r)||!Object.prototype.hasOwnProperty.call(r,"result")?r:r==null?void 0:r.result):r},s={params:()=>({...a,...a.where?{where:[...d(a.where)]}:{},...a.sort?{sort:[...d(a.sort)]}:{}}),only:i("only",d),without:i("without",d),where:i("where",r=>[...d(a.where),...d(r)]),sort:i("sort",r=>[...d(a.sort),...d(r)]),limit:i("limit",r=>parseInt(String(r),10)),skip:i("skip",r=>parseInt(String(r),10)),find:()=>e(s).then(n),findOne:()=>e(i("first")(!0)).then(n),count:()=>e(i("count")(!0)).then(n),locale:r=>s.where({_locale:r}),withSurround:i("surround",(r,u)=>({query:r,...u})),withDirConfig:()=>i("dirConfig")(!0)};return t.legacy&&(s.findSurround=(r,u)=>s.withSurround(r,u).find().then(n)),s}function R(e){return JSON.stringify(e,Y)}function Y(e,t){return t instanceof RegExp?`--REGEX ${t.toString()}`:t}const Z=e=>{let t=R(e);return t=typeof Buffer<"u"?Buffer.from(t).toString("base64"):btoa(t),t=t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),(t.match(/.{1,100}/g)||[]).join("/")},$=e=>N(e,g().public.content.api.baseURL),de=()=>{throw console.warn("useContent is only accessible when you are using `documentDriven` mode."),console.warn("Learn more by visiting: https://content.nuxt.com/document-driven"),new Error("useContent is only accessible when you are using `documentDriven` mode.")},ee=()=>{const{experimental:e}=g().public.content;return e.clientDB?!0:O().isEnabled()},te=()=>async e=>{const{content:t}=g().public,a=e.params(),i=t.experimental.stripQueryParameters?$(`/query/${`${b(a)}.${t.integrity}`}/${Z(a)}.json`):$(`/query/${b(a)}.${t.integrity}.json`);if(ee())return(await A(()=>import("./BJOqsctX.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url).then(r=>r.useContentDatabase())).fetch(e);const n=await $fetch(i,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:R(a),previewToken:O().getPreviewToken()}});if(typeof n=="string"&&n.startsWith(""))throw new Error("Not found");return n};function he(e,...t){const{content:a}=g().public,i=V(te(),{initialParams:typeof e!="string"?e:{},legacy:!0});let n;typeof e=="string"&&(n=U(k(e,...t)));const s=i.params;return i.params=()=>{var u,l,p;const r=s();return n&&(r.where=r.where||[],r.first&&(r.where||[]).length===0?r.where.push({_path:z(n)}):r.where.push({_path:new RegExp(`^${n.replace(/[-[\]{}()*+.,^$\s/]/g,"\\$&")}`)})),(u=r.sort)!=null&&u.length||(r.sort=[{_file:1,$numeric:!0}]),a.locales.length&&((p=(l=r.where)==null?void 0:l.find(m=>m._locale))!=null&&p._locale||(r.where=r.where||[],r.where.push({_locale:a.defaultLocale}))),r},i}export{se as a,fe as b,d as c,le as d,Z as e,oe as f,E as g,ce as h,ue as i,R as j,V as k,ie as o,he as q,ee as s,de as u,$ as w}; diff --git a/_nuxt/0lDBlFmI.js b/_nuxt/0lDBlFmI.js deleted file mode 100644 index b6a053976..000000000 --- a/_nuxt/0lDBlFmI.js +++ /dev/null @@ -1 +0,0 @@ -import{h as r,j as n,ao as c,ag as h,ae as o,ap as l,o as u,c as d,I as g}from"./ZI84DZB4.js";const f=["src","alt","width","height"],p=r({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(e){const t=e,i=n(()=>{var s;if((s=t.src)!=null&&s.startsWith("/")&&!t.src.startsWith("//")){const a=c(h(o().app.baseURL));if(a!=="/"&&!t.src.startsWith(a))return l(a,t.src)}return t.src});return(s,a)=>(u(),d("img",{src:g(i),alt:e.alt,width:e.width,height:e.height},null,8,f))}});export{p as default}; diff --git a/_nuxt/igdY0Og6.js b/_nuxt/11VvIB8a.js similarity index 79% rename from _nuxt/igdY0Og6.js rename to _nuxt/11VvIB8a.js index 0284caf5b..fb6c8015a 100644 --- a/_nuxt/igdY0Og6.js +++ b/_nuxt/11VvIB8a.js @@ -1 +1 @@ -import{h as t,r}from"./ZI84DZB4.js";const o=t({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null}},setup(n){return(e,a)=>r(e.$slots,"default")}});export{o as _}; +import{d as t,r}from"./DzgF3Vew.js";const o=t({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null}},setup(n){return(e,a)=>r(e.$slots,"default")}});export{o as _}; diff --git a/_nuxt/1XwWt0dk.js b/_nuxt/1XwWt0dk.js new file mode 100644 index 000000000..320888b6c --- /dev/null +++ b/_nuxt/1XwWt0dk.js @@ -0,0 +1 @@ +import{G as S,H as T,I as E,w as C,J as A,K as O,v as I,s as h}from"./DzgF3Vew.js";import{i as P}from"./IShi1APO.js";function R(e,o){if(typeof e!="string")throw new TypeError("argument str must be a string");const i={},t=o||{},a=t.decode||D;let s=0;for(;sO(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))},L=void 0;function y(e,o){var u;const i={...M,...o},t=b(i)||{};let a;i.maxAge!==void 0?a=i.maxAge*1e3:i.expires&&(a=i.expires.getTime()-Date.now());const s=a!==void 0&&a<=0,r=f(s?void 0:t[e]??((u=i.default)==null?void 0:u.call(i))),n=a&&!s?q(r,a,i.watch&&i.watch!=="shallow"):S(r);{let c=null;try{!L&&typeof BroadcastChannel<"u"&&(c=new BroadcastChannel(`nuxt:cookies:${e}`))}catch{}const l=()=>{i.readonly||P(n.value,t[e])||(_(e,n.value,i),t[e]=f(n.value),c==null||c.postMessage({value:i.encode(n.value)}))},p=w=>{var v;const j=w.refresh?(v=b(i))==null?void 0:v[e]:i.decode(w.value);d=!0,t[e]=n.value=j,I(()=>{d=!1})};let d=!1;T()&&E(()=>{d=!0,l(),c==null||c.close()}),c&&(c.onmessage=({data:w})=>p(w)),i.watch?C(n,()=>{d||l()},{deep:i.watch!=="shallow"}):l()}return n}function b(e={}){return R(document.cookie,e)}function U(e,o,i={}){return o==null?g(e,o,{...i,maxAge:-1}):g(e,o,i)}function _(e,o,i={}){document.cookie=U(e,o,i)}const k=2147483647;function q(e,o,i){let t,a,s=0;const r=i?S(e):{value:e};return T()&&E(()=>{a==null||a(),clearTimeout(t)}),A((n,u)=>{i&&(a=C(r,u));function c(){clearTimeout(t);const l=o-s,p=l{if(s+=p,s({isEnabled:()=>{const t=h().query;return Object.prototype.hasOwnProperty.call(t,"preview")&&!t.preview?!1:!!(t.preview||y("previewToken").value||sessionStorage.getItem("previewToken"))},getPreviewToken:()=>y("previewToken").value||sessionStorage.getItem("previewToken")||void 0,setPreviewToken:t=>{y("previewToken").value=t,h().query.preview=t||"",t?sessionStorage.setItem("previewToken",t):sessionStorage.removeItem("previewToken"),window.location.reload()}});export{H as u}; diff --git a/_nuxt/1wWk9IEk.js b/_nuxt/1wWk9IEk.js new file mode 100644 index 000000000..3c9af21f3 --- /dev/null +++ b/_nuxt/1wWk9IEk.js @@ -0,0 +1 @@ +import{_ as r,o,b as s,r as t}from"./DzgF3Vew.js";const n={};function c(e,l){return o(),s("ul",null,[t(e.$slots,"default")])}const _=r(n,[["render",c]]);export{_ as default}; diff --git a/_nuxt/4hq1URUI.js b/_nuxt/4hq1URUI.js new file mode 100644 index 000000000..9d2faec84 --- /dev/null +++ b/_nuxt/4hq1URUI.js @@ -0,0 +1 @@ +import{q as d,w,s as y,v as D,f as H,a as g,d as q,u as x,x as S,h as u}from"./DzgF3Vew.js";import _ from"./BIVkUQcf.js";import b from"./Dq0ogEhO.js";import"./BhaonjGO.js";import"./C-v3KzvZ.js";import"./1XwWt0dk.js";import"./IShi1APO.js";import"./by_5UnZ2.js";const a=(p,s=y())=>{const e=d(p),f=g();w(()=>d(p),(n=e)=>{if(!s.path||!n)return;const t=Object.assign({},(n==null?void 0:n.head)||{});t.meta=[...t.meta||[]],t.link=[...t.link||[]];const r=t.title||(n==null?void 0:n.title);r&&(t.title=r),f.public.content.host;const c=(t==null?void 0:t.description)||(n==null?void 0:n.description);c&&t.meta.filter(l=>l.name==="description").length===0&&t.meta.push({name:"description",content:c}),t!=null&&t.image||(n==null||n.image),D(()=>H(t))},{immediate:!0})},$=q({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:void 0}},render(p){const{contentHead:s}=g().public.content,e=x(),{tag:f,excerpt:m,path:n,query:t,head:r}=p,c=r===void 0?s:r,l={...t||{},path:n||(t==null?void 0:t.path)||S(y().path),find:"one"},v=(o,i)=>u("pre",null,JSON.stringify({message:"You should use slots with ",slot:o,data:i},null,2));return u(b,l,{default:e!=null&&e.default?({data:o,refresh:i,isPartial:C})=>{var h;return c&&a(o),(h=e.default)==null?void 0:h.call(e,{doc:o,refresh:i,isPartial:C,excerpt:m,...this.$attrs})}:({data:o})=>(c&&a(o),u(_,{value:o,excerpt:m,tag:f,...this.$attrs},{empty:i=>e!=null&&e.empty?e.empty(i):v("default",o)})),empty:o=>{var i;return((i=e==null?void 0:e.empty)==null?void 0:i.call(e,o))||u("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":o=>{var i;return((i=e==null?void 0:e["not-found"])==null?void 0:i.call(e,o))||u("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}}),J=$;export{J as default}; diff --git a/_nuxt/7I4epCkE.js b/_nuxt/7I4epCkE.js new file mode 100644 index 000000000..99b9b35d3 --- /dev/null +++ b/_nuxt/7I4epCkE.js @@ -0,0 +1,95 @@ +import{_ as S,l as z,j as Nt,al as mt,a5 as Dt,d as at,I as Ot,ac as At,D as tt,i as et,ad as It,ae as Ct,af as Rt}from"./BN9GDn3H.js";import{c as pt}from"./FpOb6hff.js";import{c as ot,g as xt}from"./Cpj98o6Y.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";var dt={exports:{}},it={exports:{}},nt={exports:{}},ut;function Mt(){return ut||(ut=1,function(I,w){(function(D,y){I.exports=y()})(ot,function(){return function(f){var D={};function y(r){if(D[r])return D[r].exports;var t=D[r]={i:r,l:!1,exports:{}};return f[r].call(t.exports,t,t.exports,y),t.l=!0,t.exports}return y.m=f,y.c=D,y.i=function(r){return r},y.d=function(r,t,e){y.o(r,t)||Object.defineProperty(r,t,{configurable:!1,enumerable:!0,get:e})},y.n=function(r){var t=r&&r.__esModule?function(){return r.default}:function(){return r};return y.d(t,"a",t),t},y.o=function(r,t){return Object.prototype.hasOwnProperty.call(r,t)},y.p="",y(y.s=26)}([function(f,D,y){function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,f.exports=r},function(f,D,y){var r=y(2),t=y(8),e=y(9);function i(g,a,v){r.call(this,v),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=v,this.bendpoints=[],this.source=g,this.target=a}i.prototype=Object.create(r.prototype);for(var o in r)i[o]=r[o];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(g){if(this.source===g)return this.target;if(this.target===g)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(g,a){for(var v=this.getOtherEnd(g),n=a.getGraphManager().getRoot();;){if(v.getOwner()==a)return v;if(v.getOwner()==n)break;v=v.getOwner().getParent()}return null},i.prototype.updateLength=function(){var g=new Array(4);this.isOverlapingSourceAndTarget=t.getIntersection(this.target.getRect(),this.source.getRect(),g),this.isOverlapingSourceAndTarget||(this.lengthX=g[0]-g[2],this.lengthY=g[1]-g[3],Math.abs(this.lengthX)<1&&(this.lengthX=e.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=e.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=e.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=e.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},f.exports=i},function(f,D,y){function r(t){this.vGraphObject=t}f.exports=r},function(f,D,y){var r=y(2),t=y(10),e=y(13),i=y(0),o=y(16),g=y(4);function a(n,c,l,E){l==null&&E==null&&(E=c),r.call(this,E),n.graphManager!=null&&(n=n.graphManager),this.estimatedSize=t.MIN_VALUE,this.inclusionTreeDepth=t.MAX_VALUE,this.vGraphObject=E,this.edges=[],this.graphManager=n,l!=null&&c!=null?this.rect=new e(c.x,c.y,l.width,l.height):this.rect=new e}a.prototype=Object.create(r.prototype);for(var v in r)a[v]=r[v];a.prototype.getEdges=function(){return this.edges},a.prototype.getChild=function(){return this.child},a.prototype.getOwner=function(){return this.owner},a.prototype.getWidth=function(){return this.rect.width},a.prototype.setWidth=function(n){this.rect.width=n},a.prototype.getHeight=function(){return this.rect.height},a.prototype.setHeight=function(n){this.rect.height=n},a.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},a.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},a.prototype.getCenter=function(){return new g(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},a.prototype.getLocation=function(){return new g(this.rect.x,this.rect.y)},a.prototype.getRect=function(){return this.rect},a.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},a.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},a.prototype.setRect=function(n,c){this.rect.x=n.x,this.rect.y=n.y,this.rect.width=c.width,this.rect.height=c.height},a.prototype.setCenter=function(n,c){this.rect.x=n-this.rect.width/2,this.rect.y=c-this.rect.height/2},a.prototype.setLocation=function(n,c){this.rect.x=n,this.rect.y=c},a.prototype.moveBy=function(n,c){this.rect.x+=n,this.rect.y+=c},a.prototype.getEdgeListToNode=function(n){var c=[],l=this;return l.edges.forEach(function(E){if(E.target==n){if(E.source!=l)throw"Incorrect edge source!";c.push(E)}}),c},a.prototype.getEdgesBetween=function(n){var c=[],l=this;return l.edges.forEach(function(E){if(!(E.source==l||E.target==l))throw"Incorrect edge source and/or target";(E.target==n||E.source==n)&&c.push(E)}),c},a.prototype.getNeighborsList=function(){var n=new Set,c=this;return c.edges.forEach(function(l){if(l.source==c)n.add(l.target);else{if(l.target!=c)throw"Incorrect incidency!";n.add(l.source)}}),n},a.prototype.withChildren=function(){var n=new Set,c,l;if(n.add(this),this.child!=null)for(var E=this.child.getNodes(),T=0;Tc&&(this.rect.x-=(this.labelWidth-c)/2,this.setWidth(this.labelWidth)),this.labelHeight>l&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-l)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-l),this.setHeight(this.labelHeight))}}},a.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==t.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},a.prototype.transform=function(n){var c=this.rect.x;c>i.WORLD_BOUNDARY?c=i.WORLD_BOUNDARY:c<-i.WORLD_BOUNDARY&&(c=-i.WORLD_BOUNDARY);var l=this.rect.y;l>i.WORLD_BOUNDARY?l=i.WORLD_BOUNDARY:l<-i.WORLD_BOUNDARY&&(l=-i.WORLD_BOUNDARY);var E=new g(c,l),T=n.inverseTransformPoint(E);this.setLocation(T.x,T.y)},a.prototype.getLeft=function(){return this.rect.x},a.prototype.getRight=function(){return this.rect.x+this.rect.width},a.prototype.getTop=function(){return this.rect.y},a.prototype.getBottom=function(){return this.rect.y+this.rect.height},a.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},f.exports=a},function(f,D,y){function r(t,e){t==null&&e==null?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},f.exports=r},function(f,D,y){var r=y(2),t=y(10),e=y(0),i=y(6),o=y(3),g=y(1),a=y(13),v=y(12),n=y(11);function c(E,T,m){r.call(this,m),this.estimatedSize=t.MIN_VALUE,this.margin=e.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=E,T!=null&&T instanceof i?this.graphManager=T:T!=null&&T instanceof Layout&&(this.graphManager=T.graphManager)}c.prototype=Object.create(r.prototype);for(var l in r)c[l]=r[l];c.prototype.getNodes=function(){return this.nodes},c.prototype.getEdges=function(){return this.edges},c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getParent=function(){return this.parent},c.prototype.getLeft=function(){return this.left},c.prototype.getRight=function(){return this.right},c.prototype.getTop=function(){return this.top},c.prototype.getBottom=function(){return this.bottom},c.prototype.isConnected=function(){return this.isConnected},c.prototype.add=function(E,T,m){if(T==null&&m==null){var L=E;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(L)>-1)throw"Node already in graph!";return L.owner=this,this.getNodes().push(L),L}else{var O=E;if(!(this.getNodes().indexOf(T)>-1&&this.getNodes().indexOf(m)>-1))throw"Source or target not in graph!";if(!(T.owner==m.owner&&T.owner==this))throw"Both owners must be this graph!";return T.owner!=m.owner?null:(O.source=T,O.target=m,O.isInterGraph=!1,this.getEdges().push(O),T.edges.push(O),m!=T&&m.edges.push(O),O)}},c.prototype.remove=function(E){var T=E;if(E instanceof o){if(T==null)throw"Node is null!";if(!(T.owner!=null&&T.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var m=T.edges.slice(),L,O=m.length,d=0;d-1&&h>-1))throw"Source and/or target doesn't know this edge!";L.source.edges.splice(s,1),L.target!=L.source&&L.target.edges.splice(h,1);var N=L.source.owner.getEdges().indexOf(L);if(N==-1)throw"Not in owner's edge list!";L.source.owner.getEdges().splice(N,1)}},c.prototype.updateLeftTop=function(){for(var E=t.MAX_VALUE,T=t.MAX_VALUE,m,L,O,d=this.getNodes(),N=d.length,s=0;sm&&(E=m),T>L&&(T=L)}return E==t.MAX_VALUE?null:(d[0].getParent().paddingLeft!=null?O=d[0].getParent().paddingLeft:O=this.margin,this.left=T-O,this.top=E-O,new v(this.left,this.top))},c.prototype.updateBounds=function(E){for(var T=t.MAX_VALUE,m=-t.MAX_VALUE,L=t.MAX_VALUE,O=-t.MAX_VALUE,d,N,s,h,u,p=this.nodes,A=p.length,C=0;Cd&&(T=d),ms&&(L=s),Od&&(T=d),ms&&(L=s),O=this.nodes.length){var A=0;m.forEach(function(C){C.owner==E&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},f.exports=c},function(f,D,y){var r,t=y(1);function e(i){r=y(5),this.layout=i,this.graphs=[],this.edges=[]}e.prototype.addRoot=function(){var i=this.layout.newGraph(),o=this.layout.newNode(null),g=this.add(i,o);return this.setRootGraph(g),this.rootGraph},e.prototype.add=function(i,o,g,a,v){if(g==null&&a==null&&v==null){if(i==null)throw"Graph is null!";if(o==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(o.child!=null)throw"Already has a child!";return i.parent=o,o.child=i,i}else{v=g,a=o,g=i;var n=a.getOwner(),c=v.getOwner();if(!(n!=null&&n.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(c!=null&&c.getGraphManager()==this))throw"Target not in this graph mgr!";if(n==c)return g.isInterGraph=!1,n.add(g,a,v);if(g.isInterGraph=!0,g.source=a,g.target=v,this.edges.indexOf(g)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(g),!(g.source!=null&&g.target!=null))throw"Edge source and/or target is null!";if(!(g.source.edges.indexOf(g)==-1&&g.target.edges.indexOf(g)==-1))throw"Edge already in source and/or target incidency list!";return g.source.edges.push(g),g.target.edges.push(g),g}},e.prototype.remove=function(i){if(i instanceof r){var o=i;if(o.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(o==this.rootGraph||o.parent!=null&&o.parent.graphManager==this))throw"Invalid parent node!";var g=[];g=g.concat(o.getEdges());for(var a,v=g.length,n=0;n=i.getRight()?o[0]+=Math.min(i.getX()-e.getX(),e.getRight()-i.getRight()):i.getX()<=e.getX()&&i.getRight()>=e.getRight()&&(o[0]+=Math.min(e.getX()-i.getX(),i.getRight()-e.getRight())),e.getY()<=i.getY()&&e.getBottom()>=i.getBottom()?o[1]+=Math.min(i.getY()-e.getY(),e.getBottom()-i.getBottom()):i.getY()<=e.getY()&&i.getBottom()>=e.getBottom()&&(o[1]+=Math.min(e.getY()-i.getY(),i.getBottom()-e.getBottom()));var v=Math.abs((i.getCenterY()-e.getCenterY())/(i.getCenterX()-e.getCenterX()));i.getCenterY()===e.getCenterY()&&i.getCenterX()===e.getCenterX()&&(v=1);var n=v*o[0],c=o[1]/v;o[0]n)return o[0]=g,o[1]=l,o[2]=v,o[3]=p,!1;if(av)return o[0]=c,o[1]=a,o[2]=h,o[3]=n,!1;if(gv?(o[0]=T,o[1]=m,x=!0):(o[0]=E,o[1]=l,x=!0):U===M&&(g>v?(o[0]=c,o[1]=l,x=!0):(o[0]=L,o[1]=m,x=!0)),-X===M?v>g?(o[2]=u,o[3]=p,_=!0):(o[2]=h,o[3]=s,_=!0):X===M&&(v>g?(o[2]=N,o[3]=s,_=!0):(o[2]=A,o[3]=p,_=!0)),x&&_)return!1;if(g>v?a>n?(G=this.getCardinalDirection(U,M,4),F=this.getCardinalDirection(X,M,2)):(G=this.getCardinalDirection(-U,M,3),F=this.getCardinalDirection(-X,M,1)):a>n?(G=this.getCardinalDirection(-U,M,1),F=this.getCardinalDirection(-X,M,3)):(G=this.getCardinalDirection(U,M,2),F=this.getCardinalDirection(X,M,4)),!x)switch(G){case 1:Y=l,b=g+-d/M,o[0]=b,o[1]=Y;break;case 2:b=L,Y=a+O*M,o[0]=b,o[1]=Y;break;case 3:Y=m,b=g+d/M,o[0]=b,o[1]=Y;break;case 4:b=T,Y=a+-O*M,o[0]=b,o[1]=Y;break}if(!_)switch(F){case 1:H=s,k=v+-R/M,o[2]=k,o[3]=H;break;case 2:k=A,H=n+C*M,o[2]=k,o[3]=H;break;case 3:H=p,k=v+R/M,o[2]=k,o[3]=H;break;case 4:k=u,H=n+-C*M,o[2]=k,o[3]=H;break}}return!1},t.getCardinalDirection=function(e,i,o){return e>i?o:1+o%4},t.getIntersection=function(e,i,o,g){if(g==null)return this.getIntersection2(e,i,o);var a=e.x,v=e.y,n=i.x,c=i.y,l=o.x,E=o.y,T=g.x,m=g.y,L=void 0,O=void 0,d=void 0,N=void 0,s=void 0,h=void 0,u=void 0,p=void 0,A=void 0;return d=c-v,s=a-n,u=n*v-a*c,N=m-E,h=l-T,p=T*E-l*m,A=d*h-N*s,A===0?null:(L=(s*p-h*u)/A,O=(N*u-d*p)/A,new r(L,O))},t.angleOfVector=function(e,i,o,g){var a=void 0;return e!==o?(a=Math.atan((g-i)/(o-e)),o0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},f.exports=r},function(f,D,y){function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,f.exports=r},function(f,D,y){var r=function(){function a(v,n){for(var c=0;c"u"?"undefined":r(e);return e==null||i!="object"&&i!="function"},f.exports=t},function(f,D,y){function r(l){if(Array.isArray(l)){for(var E=0,T=Array(l.length);E0&&E;){for(d.push(s[0]);d.length>0&&E;){var h=d[0];d.splice(0,1),O.add(h);for(var u=h.getEdges(),L=0;L-1&&s.splice(R,1)}O=new Set,N=new Map}}return l},c.prototype.createDummyNodesForBendpoints=function(l){for(var E=[],T=l.source,m=this.graphManager.calcLowestCommonAncestor(l.source,l.target),L=0;L0){for(var m=this.edgeToDummyNodes.get(T),L=0;L=0&&E.splice(p,1);var A=N.getNeighborsList();A.forEach(function(x){if(T.indexOf(x)<0){var _=m.get(x),U=_-1;U==1&&h.push(x),m.set(x,U)}})}T=T.concat(h),(E.length==1||E.length==2)&&(L=!0,O=E[0])}return O},c.prototype.setGraphManager=function(l){this.graphManager=l},f.exports=c},function(f,D,y){function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=Math.sin(r.seed++)*1e4,r.x-Math.floor(r.x)},f.exports=r},function(f,D,y){var r=y(4);function t(e,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}t.prototype.getWorldOrgX=function(){return this.lworldOrgX},t.prototype.setWorldOrgX=function(e){this.lworldOrgX=e},t.prototype.getWorldOrgY=function(){return this.lworldOrgY},t.prototype.setWorldOrgY=function(e){this.lworldOrgY=e},t.prototype.getWorldExtX=function(){return this.lworldExtX},t.prototype.setWorldExtX=function(e){this.lworldExtX=e},t.prototype.getWorldExtY=function(){return this.lworldExtY},t.prototype.setWorldExtY=function(e){this.lworldExtY=e},t.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},t.prototype.setDeviceOrgX=function(e){this.ldeviceOrgX=e},t.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},t.prototype.setDeviceOrgY=function(e){this.ldeviceOrgY=e},t.prototype.getDeviceExtX=function(){return this.ldeviceExtX},t.prototype.setDeviceExtX=function(e){this.ldeviceExtX=e},t.prototype.getDeviceExtY=function(){return this.ldeviceExtY},t.prototype.setDeviceExtY=function(e){this.ldeviceExtY=e},t.prototype.transformX=function(e){var i=0,o=this.lworldExtX;return o!=0&&(i=this.ldeviceOrgX+(e-this.lworldOrgX)*this.ldeviceExtX/o),i},t.prototype.transformY=function(e){var i=0,o=this.lworldExtY;return o!=0&&(i=this.ldeviceOrgY+(e-this.lworldOrgY)*this.ldeviceExtY/o),i},t.prototype.inverseTransformX=function(e){var i=0,o=this.ldeviceExtX;return o!=0&&(i=this.lworldOrgX+(e-this.ldeviceOrgX)*this.lworldExtX/o),i},t.prototype.inverseTransformY=function(e){var i=0,o=this.ldeviceExtY;return o!=0&&(i=this.lworldOrgY+(e-this.ldeviceOrgY)*this.lworldExtY/o),i},t.prototype.inverseTransformPoint=function(e){var i=new r(this.inverseTransformX(e.x),this.inverseTransformY(e.y));return i},f.exports=t},function(f,D,y){function r(n){if(Array.isArray(n)){for(var c=0,l=Array(n.length);ce.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*e.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(n-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-e.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT_INCREMENTAL):(n>e.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(e.COOLING_ADAPTATION_FACTOR,1-(n-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*(1-e.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},a.prototype.calcSpringForces=function(){for(var n=this.getAllEdges(),c,l=0;l0&&arguments[0]!==void 0?arguments[0]:!0,c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l,E,T,m,L=this.getAllNodes(),O;if(this.useFRGridVariant)for(this.totalIterations%e.GRID_CALCULATION_CHECK_PERIOD==1&&n&&this.updateGrid(),O=new Set,l=0;ld||O>d)&&(n.gravitationForceX=-this.gravityConstant*T,n.gravitationForceY=-this.gravityConstant*m)):(d=c.getEstimatedSize()*this.compoundGravityRangeFactor,(L>d||O>d)&&(n.gravitationForceX=-this.gravityConstant*T*this.compoundGravityConstant,n.gravitationForceY=-this.gravityConstant*m*this.compoundGravityConstant))},a.prototype.isConverged=function(){var n,c=!1;return this.totalIterations>this.maxIterations/3&&(c=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),n=this.totalDisplacement=L.length||d>=L[0].length)){for(var N=0;Na}}]),o}();f.exports=i},function(f,D,y){var r=function(){function i(o,g){for(var a=0;a2&&arguments[2]!==void 0?arguments[2]:1,v=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;t(this,i),this.sequence1=o,this.sequence2=g,this.match_score=a,this.mismatch_penalty=v,this.gap_penalty=n,this.iMax=o.length+1,this.jMax=g.length+1,this.grid=new Array(this.iMax);for(var c=0;c=0;o--){var g=this.listeners[o];g.event===e&&g.callback===i&&this.listeners.splice(o,1)}},t.emit=function(e,i){for(var o=0;og.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*e.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),g.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},i.prototype.propogateDisplacementToChildren=function(g,a){for(var v=this.getChild().getNodes(),n,c=0;c0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var h=new Set(this.getAllNodes()),u=this.nodesWithGravity.filter(function(p){return h.has(p)});this.graphManager.setAllNodesToApplyGravitation(u),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},d.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%v.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),h=this.nodesWithGravity.filter(function(A){return s.has(A)});this.graphManager.setAllNodesToApplyGravitation(h),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=v.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=v.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var u=!this.isTreeGrowing&&!this.isGrowthFinished,p=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(u,p),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},d.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),h={},u=0;u1){var x;for(x=0;xp&&(p=Math.floor(R.y)),C=Math.floor(R.x+a.DEFAULT_COMPONENT_SEPERATION)}this.transform(new l(n.WORLD_CENTER_X-R.x/2,n.WORLD_CENTER_Y-R.y/2))},d.radialLayout=function(s,h,u){var p=Math.max(this.maxDiagonalInTree(s),a.DEFAULT_RADIAL_SEPARATION);d.branchRadialLayout(h,null,0,359,0,p);var A=L.calculateBounds(s),C=new O;C.setDeviceOrgX(A.getMinX()),C.setDeviceOrgY(A.getMinY()),C.setWorldOrgX(u.x),C.setWorldOrgY(u.y);for(var R=0;R1;){var H=k[0];k.splice(0,1);var P=M.indexOf(H);P>=0&&M.splice(P,1),b--,G--}h!=null?Y=(M.indexOf(k[0])+1)%b:Y=0;for(var B=Math.abs(p-u)/G,$=Y;F!=G;$=++$%b){var K=M[$].getOtherEnd(s);if(K!=h){var Q=(u+F*B)%360,J=(Q+B)%360;d.branchRadialLayout(K,s,Q,J,A+C,C),F++}}},d.maxDiagonalInTree=function(s){for(var h=T.MIN_VALUE,u=0;uh&&(h=A)}return h},d.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},d.prototype.groupZeroDegreeMembers=function(){var s=this,h={};this.memberGroups={},this.idToDummyNode={};for(var u=[],p=this.graphManager.getAllNodes(),A=0;A"u"&&(h[x]=[]),h[x]=h[x].concat(C)}Object.keys(h).forEach(function(_){if(h[_].length>1){var U="DummyCompound_"+_;s.memberGroups[U]=h[_];var X=h[_][0].getParent(),M=new o(s.graphManager);M.id=U,M.paddingLeft=X.paddingLeft||0,M.paddingRight=X.paddingRight||0,M.paddingBottom=X.paddingBottom||0,M.paddingTop=X.paddingTop||0,s.idToDummyNode[U]=M;var G=s.getGraphManager().add(s.newGraph(),M),F=X.getChild();F.add(M);for(var b=0;b=0;s--){var h=this.compoundOrder[s],u=h.id,p=h.paddingLeft,A=h.paddingTop;this.adjustLocations(this.tiledMemberPack[u],h.rect.x,h.rect.y,p,A)}},d.prototype.repopulateZeroDegreeMembers=function(){var s=this,h=this.tiledZeroDegreePack;Object.keys(h).forEach(function(u){var p=s.idToDummyNode[u],A=p.paddingLeft,C=p.paddingTop;s.adjustLocations(h[u],p.rect.x,p.rect.y,A,C)})},d.prototype.getToBeTiled=function(s){var h=s.id;if(this.toBeTiled[h]!=null)return this.toBeTiled[h];var u=s.getChild();if(u==null)return this.toBeTiled[h]=!1,!1;for(var p=u.getNodes(),A=0;A0)return this.toBeTiled[h]=!1,!1;if(C.getChild()==null){this.toBeTiled[C.id]=!1;continue}if(!this.getToBeTiled(C))return this.toBeTiled[h]=!1,!1}return this.toBeTiled[h]=!0,!0},d.prototype.getNodeDegree=function(s){s.id;for(var h=s.getEdges(),u=0,p=0;p_&&(_=X.rect.height)}u+=_+s.verticalPadding}},d.prototype.tileCompoundMembers=function(s,h){var u=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(p){var A=h[p];u.tiledMemberPack[p]=u.tileNodes(s[p],A.paddingLeft+A.paddingRight),A.rect.width=u.tiledMemberPack[p].width,A.rect.height=u.tiledMemberPack[p].height})},d.prototype.tileNodes=function(s,h){var u=a.TILING_PADDING_VERTICAL,p=a.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:h,verticalPadding:u,horizontalPadding:p};s.sort(function(x,_){return x.rect.width*x.rect.height>_.rect.width*_.rect.height?-1:x.rect.width*x.rect.height<_.rect.width*_.rect.height?1:0});for(var C=0;C0&&(R+=s.horizontalPadding),s.rowWidth[u]=R,s.width0&&(x+=s.verticalPadding);var _=0;x>s.rowHeight[u]&&(_=s.rowHeight[u],s.rowHeight[u]=x,_=s.rowHeight[u]-_),s.height+=_,s.rows[u].push(h)},d.prototype.getShortestRowIndex=function(s){for(var h=-1,u=Number.MAX_VALUE,p=0;pu&&(h=p,u=s.rowWidth[p]);return h},d.prototype.canAddHorizontal=function(s,h,u){var p=this.getShortestRowIndex(s);if(p<0)return!0;var A=s.rowWidth[p];if(A+s.horizontalPadding+h<=s.width)return!0;var C=0;s.rowHeight[p]0&&(C=u+s.verticalPadding-s.rowHeight[p]);var R;s.width-A>=h+s.horizontalPadding?R=(s.height+C)/(A+h+s.horizontalPadding):R=(s.height+C)/s.width,C=u+s.verticalPadding;var x;return s.widthC&&h!=u){p.splice(-1,1),s.rows[u].push(A),s.rowWidth[h]=s.rowWidth[h]-C,s.rowWidth[u]=s.rowWidth[u]+C,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var R=Number.MIN_VALUE,x=0;xR&&(R=p[x].height);h>0&&(R+=s.verticalPadding);var _=s.rowHeight[h]+s.rowHeight[u];s.rowHeight[h]=R,s.rowHeight[u]0)for(var F=A;F<=C;F++)G[0]+=this.grid[F][R-1].length+this.grid[F][R].length-1;if(C0)for(var F=R;F<=x;F++)G[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var b=T.MAX_VALUE,Y,k,H=0;H0){var x;x=O.getGraphManager().add(O.newGraph(),u),this.processChildrenList(x,h,O)}}},l.prototype.stop=function(){return this.stopped=!0,this};var T=function(L){L("layout","cose-bilkent",l)};typeof cytoscape<"u"&&T(cytoscape),D.exports=T}])})})(dt);var St=dt.exports;const Gt=xt(St);var st=function(){var I=S(function(O,d,N,s){for(N=N||{},s=O.length;s--;N[O[s]]=d);return N},"o"),w=[1,4],f=[1,13],D=[1,12],y=[1,15],r=[1,16],t=[1,20],e=[1,19],i=[6,7,8],o=[1,26],g=[1,24],a=[1,25],v=[6,7,11],n=[1,6,13,15,16,19,22],c=[1,33],l=[1,34],E=[1,6,7,11,13,15,16,19,22],T={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(d,N,s,h,u,p,A){var C=p.length-1;switch(u){case 6:case 7:return h;case 8:h.getLogger().trace("Stop NL ");break;case 9:h.getLogger().trace("Stop EOF ");break;case 11:h.getLogger().trace("Stop NL2 ");break;case 12:h.getLogger().trace("Stop EOF2 ");break;case 15:h.getLogger().info("Node: ",p[C].id),h.addNode(p[C-1].length,p[C].id,p[C].descr,p[C].type);break;case 16:h.getLogger().trace("Icon: ",p[C]),h.decorateNode({icon:p[C]});break;case 17:case 21:h.decorateNode({class:p[C]});break;case 18:h.getLogger().trace("SPACELIST");break;case 19:h.getLogger().trace("Node: ",p[C].id),h.addNode(0,p[C].id,p[C].descr,p[C].type);break;case 20:h.decorateNode({icon:p[C]});break;case 25:h.getLogger().trace("node found ..",p[C-2]),this.$={id:p[C-1],descr:p[C-1],type:h.getType(p[C-2],p[C])};break;case 26:this.$={id:p[C],descr:p[C],type:h.nodeType.DEFAULT};break;case 27:h.getLogger().trace("node found ..",p[C-3]),this.$={id:p[C-3],descr:p[C-1],type:h.getType(p[C-2],p[C])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:w},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:w},{6:f,7:[1,10],9:9,12:11,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},I(i,[2,3]),{1:[2,2]},I(i,[2,4]),I(i,[2,5]),{1:[2,6],6:f,12:21,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},{6:f,9:22,12:11,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},{6:o,7:g,10:23,11:a},I(v,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:t,22:e}),I(v,[2,18]),I(v,[2,19]),I(v,[2,20]),I(v,[2,21]),I(v,[2,23]),I(v,[2,24]),I(v,[2,26],{19:[1,30]}),{20:[1,31]},{6:o,7:g,10:32,11:a},{1:[2,7],6:f,12:21,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},I(n,[2,14],{7:c,11:l}),I(E,[2,8]),I(E,[2,9]),I(E,[2,10]),I(v,[2,15]),I(v,[2,16]),I(v,[2,17]),{20:[1,35]},{21:[1,36]},I(n,[2,13],{7:c,11:l}),I(E,[2,11]),I(E,[2,12]),{21:[1,37]},I(v,[2,25]),I(v,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(d,N){if(N.recoverable)this.trace(d);else{var s=new Error(d);throw s.hash=N,s}},"parseError"),parse:S(function(d){var N=this,s=[0],h=[],u=[null],p=[],A=this.table,C="",R=0,x=0,_=2,U=1,X=p.slice.call(arguments,1),M=Object.create(this.lexer),G={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(G.yy[F]=this.yy[F]);M.setInput(d,G.yy),G.yy.lexer=M,G.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var b=M.yylloc;p.push(b);var Y=M.options&&M.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function k(V){s.length=s.length-2*V,u.length=u.length-V,p.length=p.length-V}S(k,"popStack");function H(){var V;return V=h.pop()||M.lex()||U,typeof V!="number"&&(V instanceof Array&&(h=V,V=h.pop()),V=N.symbols_[V]||V),V}S(H,"lex");for(var P,B,$,K,Q={},J,j,gt,q;;){if(B=s[s.length-1],this.defaultActions[B]?$=this.defaultActions[B]:((P===null||typeof P>"u")&&(P=H()),$=A[B]&&A[B][P]),typeof $>"u"||!$.length||!$[0]){var rt="";q=[];for(J in A[B])this.terminals_[J]&&J>_&&q.push("'"+this.terminals_[J]+"'");M.showPosition?rt="Parse error on line "+(R+1)+`: +`+M.showPosition()+` +Expecting `+q.join(", ")+", got '"+(this.terminals_[P]||P)+"'":rt="Parse error on line "+(R+1)+": Unexpected "+(P==U?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(rt,{text:M.match,token:this.terminals_[P]||P,line:M.yylineno,loc:b,expected:q})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+P);switch($[0]){case 1:s.push(P),u.push(M.yytext),p.push(M.yylloc),s.push($[1]),P=null,x=M.yyleng,C=M.yytext,R=M.yylineno,b=M.yylloc;break;case 2:if(j=this.productions_[$[1]][1],Q.$=u[u.length-j],Q._$={first_line:p[p.length-(j||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(j||1)].first_column,last_column:p[p.length-1].last_column},Y&&(Q._$.range=[p[p.length-(j||1)].range[0],p[p.length-1].range[1]]),K=this.performAction.apply(Q,[C,x,R,G.yy,$[1],u,p].concat(X)),typeof K<"u")return K;j&&(s=s.slice(0,-1*j*2),u=u.slice(0,-1*j),p=p.slice(0,-1*j)),s.push(this.productions_[$[1]][0]),u.push(Q.$),p.push(Q._$),gt=A[s[s.length-2]][s[s.length-1]],s.push(gt);break;case 3:return!0}}return!0},"parse")},m=function(){var O={EOF:1,parseError:S(function(N,s){if(this.yy.parser)this.yy.parser.parseError(N,s);else throw new Error(N)},"parseError"),setInput:S(function(d,N){return this.yy=N||this.yy||{},this._input=d,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var d=this._input[0];this.yytext+=d,this.yyleng++,this.offset++,this.match+=d,this.matched+=d;var N=d.match(/(?:\r\n?|\n).*/g);return N?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),d},"input"),unput:S(function(d){var N=d.length,s=d.split(/(?:\r\n?|\n)/g);this._input=d+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-N),this.offset-=N;var h=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===h.length?this.yylloc.first_column:0)+h[h.length-s.length].length-s[0].length:this.yylloc.first_column-N},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-N]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(d){this.unput(this.match.slice(d))},"less"),pastInput:S(function(){var d=this.matched.substr(0,this.matched.length-this.match.length);return(d.length>20?"...":"")+d.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var d=this.match;return d.length<20&&(d+=this._input.substr(0,20-d.length)),(d.substr(0,20)+(d.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var d=this.pastInput(),N=new Array(d.length+1).join("-");return d+this.upcomingInput()+` +`+N+"^"},"showPosition"),test_match:S(function(d,N){var s,h,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),h=d[0].match(/(?:\r\n?|\n).*/g),h&&(this.yylineno+=h.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:h?h[h.length-1].length-h[h.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+d[0].length},this.yytext+=d[0],this.match+=d[0],this.matches=d,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(d[0].length),this.matched+=d[0],s=this.performAction.call(this,this.yy,this,N,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var p in u)this[p]=u[p];return!1}return!1},"test_match"),next:S(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var d,N,s,h;this._more||(this.yytext="",this.match="");for(var u=this._currentRules(),p=0;pN[0].length)){if(N=s,h=p,this.options.backtrack_lexer){if(d=this.test_match(s,u[p]),d!==!1)return d;if(this._backtrack){N=!1;continue}else return!1}else if(!this.options.flex)break}return N?(d=this.test_match(N,u[h]),d!==!1?d:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:S(function(){var N=this.next();return N||this.lex()},"lex"),begin:S(function(N){this.conditionStack.push(N)},"begin"),popState:S(function(){var N=this.conditionStack.length-1;return N>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:S(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:S(function(N){return N=this.conditionStack.length-1-Math.abs(N||0),N>=0?this.conditionStack[N]:"INITIAL"},"topState"),pushState:S(function(N){this.begin(N)},"pushState"),stateStackSize:S(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:S(function(N,s,h,u){switch(h){case 0:return N.getLogger().trace("Found comment",s.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:N.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return N.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:N.getLogger().trace("end icon"),this.popState();break;case 10:return N.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return N.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return N.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return N.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:N.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return N.getLogger().trace("description:",s.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),N.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),N.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),N.getLogger().trace("node end ...",s.yytext),"NODE_DEND";case 30:return this.popState(),N.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),N.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),N.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),N.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),N.getLogger().trace("node end (("),"NODE_DEND";case 35:return N.getLogger().trace("Long description:",s.yytext),20;case 36:return N.getLogger().trace("Long description:",s.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return O}();T.lexer=m;function L(){this.yy={}}return S(L,"Parser"),L.prototype=T,T.Parser=L,new L}();st.parser=st;var _t=st,Z=[],vt=0,ht={},Ft=S(()=>{Z=[],vt=0,ht={}},"clear"),bt=S(function(I){for(let w=Z.length-1;w>=0;w--)if(Z[w].levelZ.length>0?Z[0]:null,"getMindmap"),Pt=S((I,w,f,D)=>{var i,o;z.info("addNode",I,w,f,D);const y=at();let r=((i=y.mindmap)==null?void 0:i.padding)??tt.mindmap.padding;switch(D){case W.ROUNDED_RECT:case W.RECT:case W.HEXAGON:r*=2}const t={id:vt++,nodeId:et(w,y),level:I,descr:et(f,y),type:D,children:[],width:((o=y.mindmap)==null?void 0:o.maxNodeWidth)??tt.mindmap.maxNodeWidth,padding:r},e=bt(I);if(e)e.children.push(t),Z.push(t);else if(Z.length===0)Z.push(t);else throw new Error('There can be only one root. No parent could be found for ("'+t.descr+'")')},"addNode"),W={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Yt=S((I,w)=>{switch(z.debug("In get type",I,w),I){case"[":return W.RECT;case"(":return w===")"?W.ROUNDED_RECT:W.CLOUD;case"((":return W.CIRCLE;case")":return W.CLOUD;case"))":return W.BANG;case"{{":return W.HEXAGON;default:return W.DEFAULT}},"getType"),Xt=S((I,w)=>{ht[I]=w},"setElementForId"),kt=S(I=>{if(!I)return;const w=at(),f=Z[Z.length-1];I.icon&&(f.icon=et(I.icon,w)),I.class&&(f.class=et(I.class,w))},"decorateNode"),Ht=S(I=>{switch(I){case W.DEFAULT:return"no-border";case W.RECT:return"rect";case W.ROUNDED_RECT:return"rounded-rect";case W.CIRCLE:return"circle";case W.CLOUD:return"cloud";case W.BANG:return"bang";case W.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),$t=S(()=>z,"getLogger"),Wt=S(I=>ht[I],"getElementById"),Bt={clear:Ft,addNode:Pt,getMindmap:Ut,nodeType:W,getType:Yt,setElementForId:Xt,decorateNode:kt,type2Str:Ht,getLogger:$t,getElementById:Wt},Vt=Bt,Zt=12,Qt=S(function(I,w,f,D){w.append("path").attr("id","node-"+f.id).attr("class","node-bkg node-"+I.type2Str(f.type)).attr("d",`M0 ${f.height-5} v${-f.height+2*5} q0,-5 5,-5 h${f.width-2*5} q5,0 5,5 v${f.height-5} H0 Z`),w.append("line").attr("class","node-line-"+D).attr("x1",0).attr("y1",f.height).attr("x2",f.width).attr("y2",f.height)},"defaultBkg"),jt=S(function(I,w,f){w.append("rect").attr("id","node-"+f.id).attr("class","node-bkg node-"+I.type2Str(f.type)).attr("height",f.height).attr("width",f.width)},"rectBkg"),zt=S(function(I,w,f){const D=f.width,y=f.height,r=.15*D,t=.25*D,e=.35*D,i=.2*D;w.append("path").attr("id","node-"+f.id).attr("class","node-bkg node-"+I.type2Str(f.type)).attr("d",`M0 0 a${r},${r} 0 0,1 ${D*.25},${-1*D*.1} + a${e},${e} 1 0,1 ${D*.4},${-1*D*.1} + a${t},${t} 1 0,1 ${D*.35},${1*D*.2} + + a${r},${r} 1 0,1 ${D*.15},${1*y*.35} + a${i},${i} 1 0,1 ${-1*D*.15},${1*y*.65} + + a${t},${r} 1 0,1 ${-1*D*.25},${D*.15} + a${e},${e} 1 0,1 ${-1*D*.5},0 + a${r},${r} 1 0,1 ${-1*D*.25},${-1*D*.15} + + a${r},${r} 1 0,1 ${-1*D*.1},${-1*y*.35} + a${i},${i} 1 0,1 ${D*.1},${-1*y*.65} + + H0 V0 Z`)},"cloudBkg"),Kt=S(function(I,w,f){const D=f.width,y=f.height,r=.15*D;w.append("path").attr("id","node-"+f.id).attr("class","node-bkg node-"+I.type2Str(f.type)).attr("d",`M0 0 a${r},${r} 1 0,0 ${D*.25},${-1*y*.1} + a${r},${r} 1 0,0 ${D*.25},0 + a${r},${r} 1 0,0 ${D*.25},0 + a${r},${r} 1 0,0 ${D*.25},${1*y*.1} + + a${r},${r} 1 0,0 ${D*.15},${1*y*.33} + a${r*.8},${r*.8} 1 0,0 0,${1*y*.34} + a${r},${r} 1 0,0 ${-1*D*.15},${1*y*.33} + + a${r},${r} 1 0,0 ${-1*D*.25},${y*.15} + a${r},${r} 1 0,0 ${-1*D*.25},0 + a${r},${r} 1 0,0 ${-1*D*.25},0 + a${r},${r} 1 0,0 ${-1*D*.25},${-1*y*.15} + + a${r},${r} 1 0,0 ${-1*D*.1},${-1*y*.33} + a${r*.8},${r*.8} 1 0,0 0,${-1*y*.34} + a${r},${r} 1 0,0 ${D*.1},${-1*y*.33} + + H0 V0 Z`)},"bangBkg"),Jt=S(function(I,w,f){w.append("circle").attr("id","node-"+f.id).attr("class","node-bkg node-"+I.type2Str(f.type)).attr("r",f.width/2)},"circleBkg");function yt(I,w,f,D,y){return I.insert("polygon",":first-child").attr("points",D.map(function(r){return r.x+","+r.y}).join(" ")).attr("transform","translate("+(y.width-w)/2+", "+f+")")}S(yt,"insertPolygonShape");var qt=S(function(I,w,f){const D=f.height,r=D/4,t=f.width-f.padding+2*r,e=[{x:r,y:0},{x:t-r,y:0},{x:t,y:-D/2},{x:t-r,y:-D},{x:r,y:-D},{x:0,y:-D/2}];yt(w,t,D,e,f)},"hexagonBkg"),te=S(function(I,w,f){w.append("rect").attr("id","node-"+f.id).attr("class","node-bkg node-"+I.type2Str(f.type)).attr("height",f.height).attr("rx",f.padding).attr("ry",f.padding).attr("width",f.width)},"roundedRectBkg"),ee=S(async function(I,w,f,D,y){const r=y.htmlLabels,t=D%(Zt-1),e=w.append("g");f.section=t;let i="section-"+t;t<0&&(i+=" section-root"),e.attr("class",(f.class?f.class+" ":"")+"mindmap-node "+i);const o=e.append("g"),g=e.append("g"),a=f.descr.replace(/()/g,` +`);await mt(g,a,{useHtmlLabels:r,width:f.width,classes:"mindmap-node-label"},y),r||g.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const v=g.node().getBBox(),[n]=Dt(y.fontSize);if(f.height=v.height+n*1.1*.5+f.padding,f.width=v.width+2*f.padding,f.icon)if(f.type===I.nodeType.CIRCLE)f.height+=50,f.width+=50,e.append("foreignObject").attr("height","50px").attr("width",f.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+t+" "+f.icon),g.attr("transform","translate("+f.width/2+", "+(f.height/2-1.5*f.padding)+")");else{f.width+=50;const c=f.height;f.height=Math.max(c,60);const l=Math.abs(f.height-c);e.append("foreignObject").attr("width","60px").attr("height",f.height).attr("style","text-align: center;margin-top:"+l/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+t+" "+f.icon),g.attr("transform","translate("+(25+f.width/2)+", "+(l/2+f.padding/2)+")")}else if(r){const c=(f.width-v.width)/2,l=(f.height-v.height)/2;g.attr("transform","translate("+c+", "+l+")")}else{const c=f.width/2,l=f.padding/2;g.attr("transform","translate("+c+", "+l+")")}switch(f.type){case I.nodeType.DEFAULT:Qt(I,o,f,t);break;case I.nodeType.ROUNDED_RECT:te(I,o,f,t);break;case I.nodeType.RECT:jt(I,o,f,t);break;case I.nodeType.CIRCLE:o.attr("transform","translate("+f.width/2+", "+ +f.height/2+")"),Jt(I,o,f,t);break;case I.nodeType.CLOUD:zt(I,o,f,t);break;case I.nodeType.BANG:Kt(I,o,f,t);break;case I.nodeType.HEXAGON:qt(I,o,f,t);break}return I.setElementForId(f.id,e),f.height},"drawNode"),re=S(function(I,w){const f=I.getElementById(w.id),D=w.x||0,y=w.y||0;f.attr("transform","translate("+D+","+y+")")},"positionNode");pt.use(Gt);async function lt(I,w,f,D,y){await ee(I,w,f,D,y),f.children&&await Promise.all(f.children.map((r,t)=>lt(I,w,r,D<0?t:D,y)))}S(lt,"drawNodes");function Et(I,w){w.edges().map((f,D)=>{const y=f.data();if(f[0]._private.bodyBounds){const r=f[0]._private.rscratch;z.trace("Edge: ",D,y),I.insert("path").attr("d",`M ${r.startX},${r.startY} L ${r.midX},${r.midY} L${r.endX},${r.endY} `).attr("class","edge section-edge-"+y.section+" edge-depth-"+y.depth)}})}S(Et,"drawEdges");function ct(I,w,f,D){w.add({group:"nodes",data:{id:I.id.toString(),labelText:I.descr,height:I.height,width:I.width,level:D,nodeId:I.id,padding:I.padding,type:I.type},position:{x:I.x,y:I.y}}),I.children&&I.children.forEach(y=>{ct(y,w,f,D+1),w.add({group:"edges",data:{id:`${I.id}_${y.id}`,source:I.id,target:y.id,depth:D,section:y.section}})})}S(ct,"addNodes");function Lt(I,w){return new Promise(f=>{const D=Nt("body").append("div").attr("id","cy").attr("style","display:none"),y=pt({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});D.remove(),ct(I,y,w,0),y.nodes().forEach(function(r){r.layoutDimensions=()=>{const t=r.data();return{w:t.width,h:t.height}}}),y.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),y.ready(r=>{z.info("Ready",r),f(y)})})}S(Lt,"layoutMindmap");function Tt(I,w){w.nodes().map((f,D)=>{const y=f.data();y.x=f.position().x,y.y=f.position().y,re(I,y);const r=I.getElementById(y.nodeId);z.info("Id:",D,"Position: (",f.position().x,", ",f.position().y,")",y),r.attr("transform",`translate(${f.position().x-y.width/2}, ${f.position().y-y.height/2})`),r.attr("attr",`apa-${D})`)})}S(Tt,"positionNodes");var ie=S(async(I,w,f,D)=>{var a,v;z.debug(`Rendering mindmap diagram +`+I);const y=D.db,r=y.getMindmap();if(!r)return;const t=at();t.htmlLabels=!1;const e=Ot(w),i=e.append("g");i.attr("class","mindmap-edges");const o=e.append("g");o.attr("class","mindmap-nodes"),await lt(y,o,r,-1,t);const g=await Lt(r,t);Et(i,g),Tt(y,g),At(void 0,e,((a=t.mindmap)==null?void 0:a.padding)??tt.mindmap.padding,((v=t.mindmap)==null?void 0:v.useMaxWidth)??tt.mindmap.useMaxWidth)},"draw"),ne={draw:ie},se=S(I=>{let w="";for(let f=0;f` + .edge { + stroke-width: 3; + } + ${se(I)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${I.git0}; + } + .section-root text { + fill: ${I.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`,"getStyles"),oe=ae,pe={db:Vt,renderer:ne,parser:_t,styles:oe};export{pe as diagram}; diff --git a/_nuxt/7Sy1XzGG.js b/_nuxt/7Sy1XzGG.js deleted file mode 100644 index fbc173bd5..000000000 --- a/_nuxt/7Sy1XzGG.js +++ /dev/null @@ -1 +0,0 @@ -import d from"./BI2NzfhY.js";import{h as c,af as h,N as f}from"./ZI84DZB4.js";import"./-yCMipV_.js";import"./IShi1APO.js";import"./ny9-2f-j.js";const u=(r,t)=>f("pre",null,JSON.stringify({message:"You should use slots with ",slot:r,data:t},null,2)),l=c({name:"ContentList",props:{path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0}},render(r){const t=h(),{path:p,query:a}=r,m={...a||{},path:p||(a==null?void 0:a.path)||"/"};return f(d,m,{default:t!=null&&t.default?({data:e,refresh:o,isPartial:n})=>t.default({list:e,refresh:o,isPartial:n,...this.$attrs}):e=>u("default",e.data),empty:e=>t!=null&&t.empty?t.empty(e):u("default",e==null?void 0:e.data),"not-found":e=>{var o;return t!=null&&t["not-found"]?(o=t==null?void 0:t["not-found"])==null?void 0:o.call(t,e):u("not-found",e==null?void 0:e.data)}})}}),N=l;export{N as default}; diff --git a/_nuxt/7UxjXbch.js b/_nuxt/7UxjXbch.js new file mode 100644 index 000000000..ebcc58953 --- /dev/null +++ b/_nuxt/7UxjXbch.js @@ -0,0 +1,139 @@ +import{d as ft,f as gt,g as at,b as mt}from"./C8kEXrLA.js";import{_ as i,d as A,q as xt,r as kt,s as _t,g as vt,c as bt,b as wt,x as Tt,j as W,k as St}from"./BN9GDn3H.js";import{d as tt}from"./BpEg4sbd.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";var H=function(){var t=i(function(g,r,a,l){for(a=a||{},l=g.length;l--;a[g[l]]=r);return a},"o"),e=[6,8,10,11,12,14,16,17,18],n=[1,9],c=[1,10],s=[1,11],u=[1,12],h=[1,13],p=[1,14],d={trace:i(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:i(function(r,a,l,y,f,o,S){var _=o.length-1;switch(f){case 1:return o[_-1];case 2:this.$=[];break;case 3:o[_-1].push(o[_]),this.$=o[_-1];break;case 4:case 5:this.$=o[_];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(o[_].substr(6)),this.$=o[_].substr(6);break;case 9:this.$=o[_].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=o[_].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(o[_].substr(8)),this.$=o[_].substr(8);break;case 13:y.addTask(o[_-1],o[_]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:c,14:s,16:u,17:h,18:p},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:n,12:c,14:s,16:u,17:h,18:p},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:i(function(r,a){if(a.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=a,l}},"parseError"),parse:i(function(r){var a=this,l=[0],y=[],f=[null],o=[],S=this.table,_="",B=0,J=0,ut=2,K=1,yt=o.slice.call(arguments,1),k=Object.create(this.lexer),E={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(E.yy[O]=this.yy[O]);k.setInput(r,E.yy),E.yy.lexer=k,E.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var Y=k.yylloc;o.push(Y);var dt=k.options&&k.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(b){l.length=l.length-2*b,f.length=f.length-b,o.length=o.length-b}i(pt,"popStack");function Q(){var b;return b=y.pop()||k.lex()||K,typeof b!="number"&&(b instanceof Array&&(y=b,b=y.pop()),b=a.symbols_[b]||b),b}i(Q,"lex");for(var v,P,w,q,C={},j,M,D,N;;){if(P=l[l.length-1],this.defaultActions[P]?w=this.defaultActions[P]:((v===null||typeof v>"u")&&(v=Q()),w=S[P]&&S[P][v]),typeof w>"u"||!w.length||!w[0]){var G="";N=[];for(j in S[P])this.terminals_[j]&&j>ut&&N.push("'"+this.terminals_[j]+"'");k.showPosition?G="Parse error on line "+(B+1)+`: +`+k.showPosition()+` +Expecting `+N.join(", ")+", got '"+(this.terminals_[v]||v)+"'":G="Parse error on line "+(B+1)+": Unexpected "+(v==K?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(G,{text:k.match,token:this.terminals_[v]||v,line:k.yylineno,loc:Y,expected:N})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+v);switch(w[0]){case 1:l.push(v),f.push(k.yytext),o.push(k.yylloc),l.push(w[1]),v=null,J=k.yyleng,_=k.yytext,B=k.yylineno,Y=k.yylloc;break;case 2:if(M=this.productions_[w[1]][1],C.$=f[f.length-M],C._$={first_line:o[o.length-(M||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(M||1)].first_column,last_column:o[o.length-1].last_column},dt&&(C._$.range=[o[o.length-(M||1)].range[0],o[o.length-1].range[1]]),q=this.performAction.apply(C,[_,J,B,E.yy,w[1],f,o].concat(yt)),typeof q<"u")return q;M&&(l=l.slice(0,-1*M*2),f=f.slice(0,-1*M),o=o.slice(0,-1*M)),l.push(this.productions_[w[1]][0]),f.push(C.$),o.push(C._$),D=S[l[l.length-2]][l[l.length-1]],l.push(D);break;case 3:return!0}}return!0},"parse")},x=function(){var g={EOF:1,parseError:i(function(a,l){if(this.yy.parser)this.yy.parser.parseError(a,l);else throw new Error(a)},"parseError"),setInput:i(function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:i(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:i(function(r){var a=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===y.length?this.yylloc.first_column:0)+y[y.length-l.length].length-l[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:i(function(){return this._more=!0,this},"more"),reject:i(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:i(function(r){this.unput(this.match.slice(r))},"less"),pastInput:i(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:i(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:i(function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+` +`+a+"^"},"showPosition"),test_match:i(function(r,a){var l,y,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),y=r[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],l=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var o in f)this[o]=f[o];return!1}return!1},"test_match"),next:i(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,a,l,y;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),o=0;oa[0].length)){if(a=l,y=o,this.options.backtrack_lexer){if(r=this.test_match(l,f[o]),r!==!1)return r;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(r=this.test_match(a,f[y]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:i(function(){var a=this.next();return a||this.lex()},"lex"),begin:i(function(a){this.conditionStack.push(a)},"begin"),popState:i(function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:i(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:i(function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:i(function(a){this.begin(a)},"pushState"),stateStackSize:i(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:i(function(a,l,y,f){switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return g}();d.lexer=x;function m(){this.yy={}}return i(m,"Parser"),m.prototype=d,d.Parser=m,new m}();H.parser=H;var Mt=H,V="",U=[],R=[],F=[],$t=i(function(){U.length=0,R.length=0,V="",F.length=0,Tt()},"clear"),Et=i(function(t){V=t,U.push(t)},"addSection"),Pt=i(function(){return U},"getSections"),It=i(function(){let t=et();const e=100;let n=0;for(;!t&&n{n.people&&t.push(...n.people)}),[...new Set(t)].sort()},"updateActors"),Ct=i(function(t,e){const n=e.substr(1).split(":");let c=0,s=[];n.length===1?(c=Number(n[0]),s=[]):(c=Number(n[0]),s=n[1].split(","));const u=s.map(p=>p.trim()),h={section:V,type:V,people:u,task:t,score:c};F.push(h)},"addTask"),Vt=i(function(t){const e={section:V,type:V,description:t,task:t,classes:[]};R.push(e)},"addTaskOrg"),et=i(function(){const t=i(function(n){return F[n].processed},"compileTask");let e=!0;for(const[n,c]of F.entries())t(n),e=e&&c.processed;return e},"compileTasks"),Rt=i(function(){return At()},"getActors"),rt={getConfig:i(()=>A().journey,"getConfig"),clear:$t,setDiagramTitle:xt,getDiagramTitle:kt,setAccTitle:_t,getAccTitle:vt,setAccDescription:bt,getAccDescription:wt,addSection:Et,getSections:Pt,getTasks:It,addTask:Ct,addTaskOrg:Vt,getActors:Rt},Ft=i(t=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0?`fill: ${t.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${t.fillType0?`fill: ${t.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${t.fillType0?`fill: ${t.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${t.fillType0?`fill: ${t.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${t.fillType0?`fill: ${t.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${t.fillType0?`fill: ${t.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${t.fillType0?`fill: ${t.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${t.fillType0?`fill: ${t.fillType7}`:""}; + } + + .actor-0 { + ${t.actor0?`fill: ${t.actor0}`:""}; + } + .actor-1 { + ${t.actor1?`fill: ${t.actor1}`:""}; + } + .actor-2 { + ${t.actor2?`fill: ${t.actor2}`:""}; + } + .actor-3 { + ${t.actor3?`fill: ${t.actor3}`:""}; + } + .actor-4 { + ${t.actor4?`fill: ${t.actor4}`:""}; + } + .actor-5 { + ${t.actor5?`fill: ${t.actor5}`:""}; + } +`,"getStyles"),Lt=Ft,Z=i(function(t,e){return ft(t,e)},"drawRect"),Bt=i(function(t,e){const c=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),s=t.append("g");s.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),s.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function u(d){const x=tt().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);d.append("path").attr("class","mouth").attr("d",x).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}i(u,"smile");function h(d){const x=tt().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);d.append("path").attr("class","mouth").attr("d",x).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}i(h,"sad");function p(d){d.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return i(p,"ambivalent"),e.score>3?u(s):e.score<3?h(s):p(s),c},"drawFace"),lt=i(function(t,e){const n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),n.class!==void 0&&n.attr("class",n.class),e.title!==void 0&&n.append("title").text(e.title),n},"drawCircle"),ot=i(function(t,e){return gt(t,e)},"drawText"),jt=i(function(t,e){function n(s,u,h,p,d){return s+","+u+" "+(s+h)+","+u+" "+(s+h)+","+(u+p-d)+" "+(s+h-d*1.2)+","+(u+p)+" "+s+","+(u+p)}i(n,"genPoints");const c=t.append("polygon");c.attr("points",n(e.x,e.y,50,20,7)),c.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,ot(t,e)},"drawLabel"),Nt=i(function(t,e,n){const c=t.append("g"),s=at();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=n.width*e.taskCount+n.diagramMarginX*(e.taskCount-1),s.height=n.height,s.class="journey-section section-type-"+e.num,s.rx=3,s.ry=3,Z(c,s),ct(n)(e.text,c,s.x,s.y,s.width,s.height,{class:"journey-section section-type-"+e.num},n,e.colour)},"drawSection"),st=-1,zt=i(function(t,e,n){const c=e.x+n.width/2,s=t.append("g");st++;const u=300+5*30;s.append("line").attr("id","task"+st).attr("x1",c).attr("y1",e.y).attr("x2",c).attr("y2",u).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Bt(s,{cx:c,cy:300+(5-e.score)*30,score:e.score});const h=at();h.x=e.x,h.y=e.y,h.fill=e.fill,h.width=n.width,h.height=n.height,h.class="task task-type-"+e.num,h.rx=3,h.ry=3,Z(s,h);let p=e.x+14;e.people.forEach(d=>{const x=e.actors[d].color,m={cx:p,cy:e.y,r:7,fill:x,stroke:"#000",title:d,pos:e.actors[d].position};lt(s,m),p+=10}),ct(n)(e.task,s,h.x,h.y,h.width,h.height,{class:"task"},n,e.colour)},"drawTask"),Ot=i(function(t,e){mt(t,e)},"drawBackgroundRect"),ct=function(){function t(s,u,h,p,d,x,m,g){const r=u.append("text").attr("x",h+d/2).attr("y",p+x/2+5).style("font-color",g).style("text-anchor","middle").text(s);c(r,m)}i(t,"byText");function e(s,u,h,p,d,x,m,g,r){const{taskFontSize:a,taskFontFamily:l}=g,y=s.split(//gi);for(let f=0;f{const s=$[c].color,u={cx:20,cy:n,r:7,fill:s,stroke:"#000",pos:$[c].position};L.drawCircle(t,u);const h={x:40,y:n+7,fill:"#666",text:c,textMargin:e.boxTextMargin|5};L.drawText(t,h),n+=20})}i(ht,"drawActorLegend");var z=A().journey,I=z.leftMargin,Gt=i(function(t,e,n,c){const s=A().journey,u=A().securityLevel;let h;u==="sandbox"&&(h=W("#i"+e));const p=u==="sandbox"?W(h.nodes()[0].contentDocument.body):W("body");T.init();const d=p.select("#"+e);L.initGraphics(d);const x=c.db.getTasks(),m=c.db.getDiagramTitle(),g=c.db.getActors();for(const o in $)delete $[o];let r=0;g.forEach(o=>{$[o]={color:s.actorColours[r%s.actorColours.length],position:r},r++}),ht(d),T.insert(0,0,I,Object.keys($).length*50),Wt(d,x,0);const a=T.getBounds();m&&d.append("text").text(m).attr("x",I).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const l=a.stopy-a.starty+2*s.diagramMarginY,y=I+a.stopx+2*s.diagramMarginX;St(d,l,y,s.useMaxWidth),d.append("line").attr("x1",I).attr("y1",s.height*4).attr("x2",y-I-4).attr("y2",s.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const f=m?70:0;d.attr("viewBox",`${a.startx} -25 ${y} ${l+f}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",l+f+25)},"draw"),T={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:i(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:i(function(t,e,n,c){t[e]===void 0?t[e]=n:t[e]=c(n,t[e])},"updateVal"),updateBounds:i(function(t,e,n,c){const s=A().journey,u=this;let h=0;function p(d){return i(function(m){h++;const g=u.sequenceItems.length-h+1;u.updateVal(m,"starty",e-g*s.boxMargin,Math.min),u.updateVal(m,"stopy",c+g*s.boxMargin,Math.max),u.updateVal(T.data,"startx",t-g*s.boxMargin,Math.min),u.updateVal(T.data,"stopx",n+g*s.boxMargin,Math.max),d!=="activation"&&(u.updateVal(m,"startx",t-g*s.boxMargin,Math.min),u.updateVal(m,"stopx",n+g*s.boxMargin,Math.max),u.updateVal(T.data,"starty",e-g*s.boxMargin,Math.min),u.updateVal(T.data,"stopy",c+g*s.boxMargin,Math.max))},"updateItemBounds")}i(p,"updateFn"),this.sequenceItems.forEach(p())},"updateBounds"),insert:i(function(t,e,n,c){const s=Math.min(t,n),u=Math.max(t,n),h=Math.min(e,c),p=Math.max(e,c);this.updateVal(T.data,"startx",s,Math.min),this.updateVal(T.data,"starty",h,Math.min),this.updateVal(T.data,"stopx",u,Math.max),this.updateVal(T.data,"stopy",p,Math.max),this.updateBounds(s,h,u,p)},"insert"),bumpVerticalPos:i(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:i(function(){return this.verticalPos},"getVerticalPos"),getBounds:i(function(){return this.data},"getBounds")},X=z.sectionFills,it=z.sectionColours,Wt=i(function(t,e,n){const c=A().journey;let s="";const u=c.height*2+c.diagramMarginY,h=n+u;let p=0,d="#CCC",x="black",m=0;for(const[g,r]of e.entries()){if(s!==r.section){d=X[p%X.length],m=p%X.length,x=it[p%it.length];let l=0;const y=r.section;for(let o=g;o($[y]&&(l[y]=$[y]),l),{});r.x=g*c.taskMargin+g*c.width+I,r.y=h,r.width=c.diagramMarginX,r.height=c.diagramMarginY,r.colour=x,r.fill=d,r.num=m,r.actors=a,L.drawTask(t,r,c),T.insert(r.x,r.y,r.x+r.width+c.taskMargin,300+5*30)}},"drawTasks"),nt={setConf:qt,draw:Gt},Dt={parser:Mt,db:rt,renderer:nt,styles:Lt,init:i(t=>{nt.setConf(t.journey),rt.clear()},"init")};export{Dt as diagram}; diff --git a/_nuxt/7nLUnQzp.js b/_nuxt/7nLUnQzp.js new file mode 100644 index 000000000..46efadb6a --- /dev/null +++ b/_nuxt/7nLUnQzp.js @@ -0,0 +1 @@ +import{e as x,c as b,g as m,k as P,h as p,j as w,l as N,m as c,n as I,t as A,o as M}from"./BH-Vtj6c.js";import{aJ as g,aq as E,aK as F,aL as _,aM as $,aN as l,aO as B,aP as T,aQ as y,aR as L}from"./BN9GDn3H.js";var R=/\s/;function S(n){for(var r=n.length;r--&&R.test(n.charAt(r)););return r}var q=/^\s+/;function G(n){return n&&n.slice(0,S(n)+1).replace(q,"")}var o=NaN,H=/^[-+]0x[0-9a-f]+$/i,K=/^0b[01]+$/i,z=/^0o[0-7]+$/i,C=parseInt;function J(n){if(typeof n=="number")return n;if(x(n))return o;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=G(n);var t=K.test(n);return t||z.test(n)?C(n.slice(2),t?2:8):H.test(n)?o:+n}var v=1/0,Q=17976931348623157e292;function W(n){if(!n)return n===0?n:0;if(n=J(n),n===v||n===-v){var r=n<0?-1:1;return r*Q}return n===n?n:0}function X(n){var r=W(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?b(n):[]}var O=Object.prototype,Y=O.hasOwnProperty,dn=E(function(n,r){n=Object(n);var t=-1,i=r.length,a=i>2?r[2]:void 0;for(a&&F(r[0],r[1],a)&&(i=1);++t-1?a[f?r[e]:e]:void 0}}var U=Math.max;function Z(n,r,t){var i=n==null?0:n.length;if(!i)return-1;var a=t==null?0:X(t);return a<0&&(a=U(i+a,0)),p(n,m(r),a)}var hn=D(Z);function V(n,r){var t=-1,i=l(n)?Array(n.length):[];return w(n,function(a,f,e){i[++t]=r(a,f,e)}),i}function gn(n,r){var t=B(n)?N:V;return t(n,m(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function mn(n,r){return n!=null&&c(n,r,nn)}function rn(n,r){return n{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h5)});return(e,m)=>(s(),n("h5",{id:e.id},[e.id&&u(d)?(s(),n("a",{key:0,href:`#${e.id}`},[t(e.$slots,"default")],8,l)):t(e.$slots,"default",{key:1})],8,f))}});export{k as default}; diff --git a/_nuxt/8ufgy5XF.js b/_nuxt/8ufgy5XF.js new file mode 100644 index 000000000..f05605fe4 --- /dev/null +++ b/_nuxt/8ufgy5XF.js @@ -0,0 +1 @@ +import{c as s,a,b as e,s as t}from"./uI78RzAp.js";import{_ as i}from"./BN9GDn3H.js";import"./Dk871sGE.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";var b={parser:s,db:a,renderer:e,styles:t,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute,a.clear()},"init")};export{b as diagram}; diff --git a/_nuxt/B1ETFVk0.js b/_nuxt/B1ETFVk0.js new file mode 100644 index 000000000..0dd3ba3b7 --- /dev/null +++ b/_nuxt/B1ETFVk0.js @@ -0,0 +1 @@ +import{d as i,a as c,c as p,o as s,b as n,q as u,r as t}from"./DzgF3Vew.js";const f=["id"],l=["href"],k=i({__name:"ProseH5",props:{id:{}},setup(r){const a=r,{headings:o}=c().public.mdc,d=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h5)});return(e,m)=>(s(),n("h5",{id:e.id},[e.id&&u(d)?(s(),n("a",{key:0,href:`#${e.id}`},[t(e.$slots,"default")],8,l)):t(e.$slots,"default",{key:1})],8,f))}});export{k as default}; diff --git a/_nuxt/B4E6yrnf.js b/_nuxt/B4E6yrnf.js deleted file mode 100644 index bbb96300a..000000000 --- a/_nuxt/B4E6yrnf.js +++ /dev/null @@ -1 +0,0 @@ -import r from"./C7rv9HNS.js";import{h as o,af as f,j as u,E as c}from"./ZI84DZB4.js";const i=o({name:"Markdown",extends:r,setup(t){const{parent:e}=c(),{between:n,default:a}=f(),s=u(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:a,tags:s,between:n,parent:e}}});export{i as default}; diff --git a/_nuxt/B63kVRHZ.js b/_nuxt/B63kVRHZ.js deleted file mode 100644 index e726ce738..000000000 --- a/_nuxt/B63kVRHZ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,o,c as s,r as t}from"./ZI84DZB4.js";const c={};function n(e,a){return o(),s("li",null,[t(e.$slots,"default")])}const _=r(c,[["render",n]]);export{_ as default}; diff --git a/_nuxt/B6SjRGD-.js b/_nuxt/B6SjRGD-.js new file mode 100644 index 000000000..c46607602 --- /dev/null +++ b/_nuxt/B6SjRGD-.js @@ -0,0 +1,257 @@ +import{aS as Je,aT as Ke,aU as $e,aV as tn,aW as Fn,aX as re,aY as En,_ as h,aZ as at,d as _t,s as Ln,g as An,q as In,r as Wn,c as On,b as Hn,x as Nn,m as Vn,l as Qt,j as Zt,k as zn,e as Pn,v as Rn}from"./BN9GDn3H.js";import{c as Te,g as be}from"./Cpj98o6Y.js";import{b as Bn,t as Ie,c as Zn,a as qn,l as Xn}from"./BXAbmjOT.js";import{i as Gn}from"./Gi6I4Gst.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";function jn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=r)&&(n=r);else{let r=-1;for(let a of t)(a=e(a,++r,t))!=null&&(n=a)&&(n=a)}return n}function Qn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let a of t)(a=e(a,++r,t))!=null&&(n>a||n===void 0&&a>=a)&&(n=a)}return n}function Jn(t){return t}var Xt=1,ae=2,me=3,qt=4,We=1e-6;function Kn(t){return"translate("+t+",0)"}function $n(t){return"translate(0,"+t+")"}function tr(t){return e=>+t(e)}function er(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function nr(){return!this.__axis}function en(t,e){var n=[],r=null,a=null,i=6,s=6,k=3,M=typeof window<"u"&&window.devicePixelRatio>1?0:.5,T=t===Xt||t===qt?-1:1,g=t===qt||t===ae?"x":"y",F=t===Xt||t===me?Kn:$n;function D(b){var X=r??(e.ticks?e.ticks.apply(e,n):e.domain()),O=a??(e.tickFormat?e.tickFormat.apply(e,n):Jn),C=Math.max(i,0)+k,I=e.range(),V=+I[0]+M,W=+I[I.length-1]+M,Z=(e.bandwidth?er:tr)(e.copy(),M),Q=b.selection?b.selection():b,w=Q.selectAll(".domain").data([null]),H=Q.selectAll(".tick").data(X,e).order(),x=H.exit(),Y=H.enter().append("g").attr("class","tick"),_=H.select("line"),S=H.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),H=H.merge(Y),_=_.merge(Y.append("line").attr("stroke","currentColor").attr(g+"2",T*i)),S=S.merge(Y.append("text").attr("fill","currentColor").attr(g,T*C).attr("dy",t===Xt?"0em":t===me?"0.71em":"0.32em")),b!==Q&&(w=w.transition(b),H=H.transition(b),_=_.transition(b),S=S.transition(b),x=x.transition(b).attr("opacity",We).attr("transform",function(p){return isFinite(p=Z(p))?F(p+M):this.getAttribute("transform")}),Y.attr("opacity",We).attr("transform",function(p){var U=this.parentNode.__axis;return F((U&&isFinite(U=U(p))?U:Z(p))+M)})),x.remove(),w.attr("d",t===qt||t===ae?s?"M"+T*s+","+V+"H"+M+"V"+W+"H"+T*s:"M"+M+","+V+"V"+W:s?"M"+V+","+T*s+"V"+M+"H"+W+"V"+T*s:"M"+V+","+M+"H"+W),H.attr("opacity",1).attr("transform",function(p){return F(Z(p)+M)}),_.attr(g+"2",T*i),S.attr(g,T*C).text(O),Q.filter(nr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===ae?"start":t===qt?"end":"middle"),Q.each(function(){this.__axis=Z})}return D.scale=function(b){return arguments.length?(e=b,D):e},D.ticks=function(){return n=Array.from(arguments),D},D.tickArguments=function(b){return arguments.length?(n=b==null?[]:Array.from(b),D):n.slice()},D.tickValues=function(b){return arguments.length?(r=b==null?null:Array.from(b),D):r&&r.slice()},D.tickFormat=function(b){return arguments.length?(a=b,D):a},D.tickSize=function(b){return arguments.length?(i=s=+b,D):i},D.tickSizeInner=function(b){return arguments.length?(i=+b,D):i},D.tickSizeOuter=function(b){return arguments.length?(s=+b,D):s},D.tickPadding=function(b){return arguments.length?(k=+b,D):k},D.offset=function(b){return arguments.length?(M=+b,D):M},D}function rr(t){return en(Xt,t)}function ar(t){return en(me,t)}const ir=Math.PI/180,sr=180/Math.PI,Jt=18,nn=.96422,rn=1,an=.82521,sn=4/29,St=6/29,on=3*St*St,or=St*St*St;function cn(t){if(t instanceof ft)return new ft(t.l,t.a,t.b,t.opacity);if(t instanceof dt)return ln(t);t instanceof $e||(t=Fn(t));var e=ce(t.r),n=ce(t.g),r=ce(t.b),a=ie((.2225045*e+.7168786*n+.0606169*r)/rn),i,s;return e===n&&n===r?i=s=a:(i=ie((.4360747*e+.3850649*n+.1430804*r)/nn),s=ie((.0139322*e+.0971045*n+.7141733*r)/an)),new ft(116*a-16,500*(i-a),200*(a-s),t.opacity)}function cr(t,e,n,r){return arguments.length===1?cn(t):new ft(t,e,n,r??1)}function ft(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}Je(ft,cr,Ke(tn,{brighter(t){return new ft(this.l+Jt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ft(this.l-Jt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=nn*se(e),t=rn*se(t),n=an*se(n),new $e(oe(3.1338561*e-1.6168667*t-.4906146*n),oe(-.9787684*e+1.9161415*t+.033454*n),oe(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ie(t){return t>or?Math.pow(t,1/3):t/on+sn}function se(t){return t>St?t*t*t:on*(t-sn)}function oe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ce(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function lr(t){if(t instanceof dt)return new dt(t.h,t.c,t.l,t.opacity);if(t instanceof ft||(t=cn(t)),t.a===0&&t.b===0)return new dt(NaN,0(t(i=new Date(+i)),i),a.ceil=i=>(t(i=new Date(i-1)),e(i,1),t(i),i),a.round=i=>{const s=a(i),k=a.ceil(i);return i-s(e(i=new Date(+i),s==null?1:Math.floor(s)),i),a.range=(i,s,k)=>{const M=[];if(i=a.ceil(i),k=k==null?1:Math.floor(k),!(i0))return M;let T;do M.push(T=new Date(+i)),e(i,k),t(i);while(Tet(s=>{if(s>=s)for(;t(s),!i(s);)s.setTime(s-1)},(s,k)=>{if(s>=s)if(k<0)for(;++k<=0;)for(;e(s,-1),!i(s););else for(;--k>=0;)for(;e(s,1),!i(s););}),n&&(a.count=(i,s)=>(le.setTime(+i),ue.setTime(+s),t(le),t(ue),Math.floor(n(le,ue))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(r?s=>r(s)%i===0:s=>a.count(0,s)%i===0):a)),a}const Ut=et(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ut.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?et(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Ut);Ut.range;const mt=1e3,ct=mt*60,gt=ct*60,yt=gt*24,xe=yt*7,Oe=yt*30,fe=yt*365,vt=et(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCSeconds());vt.range;const Wt=et(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getMinutes());Wt.range;const dr=et(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getUTCMinutes());dr.range;const Ot=et(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt-t.getMinutes()*ct)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());Ot.range;const mr=et(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours());mr.range;const Tt=et(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ct)/yt,t=>t.getDate()-1);Tt.range;const we=et(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>t.getUTCDate()-1);we.range;const gr=et(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>Math.floor(t/yt));gr.range;function wt(t){return et(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*ct)/xe)}const Vt=wt(0),Ht=wt(1),un=wt(2),fn=wt(3),bt=wt(4),hn=wt(5),dn=wt(6);Vt.range;Ht.range;un.range;fn.range;bt.range;hn.range;dn.range;function Dt(t){return et(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/xe)}const mn=Dt(0),Kt=Dt(1),yr=Dt(2),kr=Dt(3),Ft=Dt(4),pr=Dt(5),vr=Dt(6);mn.range;Kt.range;yr.range;kr.range;Ft.range;pr.range;vr.range;const Nt=et(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Nt.range;const Tr=et(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Tr.range;const kt=et(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());kt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:et(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});kt.range;const xt=et(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());xt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:et(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});xt.range;function br(t,e,n,r,a,i){const s=[[vt,1,mt],[vt,5,5*mt],[vt,15,15*mt],[vt,30,30*mt],[i,1,ct],[i,5,5*ct],[i,15,15*ct],[i,30,30*ct],[a,1,gt],[a,3,3*gt],[a,6,6*gt],[a,12,12*gt],[r,1,yt],[r,2,2*yt],[n,1,xe],[e,1,Oe],[e,3,3*Oe],[t,1,fe]];function k(T,g,F){const D=gC).right(s,D);if(b===s.length)return t.every(Ie(T/fe,g/fe,F));if(b===0)return Ut.every(Math.max(Ie(T,g,F),1));const[X,O]=s[D/s[b-1][2]53)return null;"w"in u||(u.w=1),"Z"in u?(L=de(Lt(u.y,0,1)),j=L.getUTCDay(),L=j>4||j===0?Kt.ceil(L):Kt(L),L=we.offset(L,(u.V-1)*7),u.y=L.getUTCFullYear(),u.m=L.getUTCMonth(),u.d=L.getUTCDate()+(u.w+6)%7):(L=he(Lt(u.y,0,1)),j=L.getDay(),L=j>4||j===0?Ht.ceil(L):Ht(L),L=Tt.offset(L,(u.V-1)*7),u.y=L.getFullYear(),u.m=L.getMonth(),u.d=L.getDate()+(u.w+6)%7)}else("W"in u||"U"in u)&&("w"in u||(u.w="u"in u?u.u%7:"W"in u?1:0),j="Z"in u?de(Lt(u.y,0,1)).getUTCDay():he(Lt(u.y,0,1)).getDay(),u.m=0,u.d="W"in u?(u.w+6)%7+u.W*7-(j+5)%7:u.w+u.U*7-(j+6)%7);return"Z"in u?(u.H+=u.Z/100|0,u.M+=u.Z%100,de(u)):he(u)}}function x(v,A,N,u){for(var K=0,L=A.length,j=N.length,q,rt;K=j)return-1;if(q=A.charCodeAt(K++),q===37){if(q=A.charAt(K++),rt=Q[q in He?A.charAt(K++):q],!rt||(u=rt(v,N,u))<0)return-1}else if(q!=N.charCodeAt(u++))return-1}return u}function Y(v,A,N){var u=T.exec(A.slice(N));return u?(v.p=g.get(u[0].toLowerCase()),N+u[0].length):-1}function _(v,A,N){var u=b.exec(A.slice(N));return u?(v.w=X.get(u[0].toLowerCase()),N+u[0].length):-1}function S(v,A,N){var u=F.exec(A.slice(N));return u?(v.w=D.get(u[0].toLowerCase()),N+u[0].length):-1}function p(v,A,N){var u=I.exec(A.slice(N));return u?(v.m=V.get(u[0].toLowerCase()),N+u[0].length):-1}function U(v,A,N){var u=O.exec(A.slice(N));return u?(v.m=C.get(u[0].toLowerCase()),N+u[0].length):-1}function l(v,A,N){return x(v,e,A,N)}function f(v,A,N){return x(v,n,A,N)}function y(v,A,N){return x(v,r,A,N)}function m(v){return s[v.getDay()]}function E(v){return i[v.getDay()]}function c(v){return M[v.getMonth()]}function d(v){return k[v.getMonth()]}function o(v){return a[+(v.getHours()>=12)]}function P(v){return 1+~~(v.getMonth()/3)}function z(v){return s[v.getUTCDay()]}function R(v){return i[v.getUTCDay()]}function $(v){return M[v.getUTCMonth()]}function G(v){return k[v.getUTCMonth()]}function J(v){return a[+(v.getUTCHours()>=12)]}function it(v){return 1+~~(v.getUTCMonth()/3)}return{format:function(v){var A=w(v+="",W);return A.toString=function(){return v},A},parse:function(v){var A=H(v+="",!1);return A.toString=function(){return v},A},utcFormat:function(v){var A=w(v+="",Z);return A.toString=function(){return v},A},utcParse:function(v){var A=H(v+="",!0);return A.toString=function(){return v},A}}}var He={"-":"",_:" ",0:"0"},nt=/^\s*\d+/,Cr=/^%/,Mr=/[\\^$*+?|[\]().{}]/g;function B(t,e,n){var r=t<0?"-":"",a=(r?-t:t)+"",i=a.length;return r+(i[e.toLowerCase(),n]))}function Sr(t,e,n){var r=nt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Yr(t,e,n){var r=nt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Ur(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Fr(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Er(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ne(t,e,n){var r=nt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ve(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Lr(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Ar(t,e,n){var r=nt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Ir(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function ze(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=nt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Pe(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Hr(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=nt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Vr(t,e,n){var r=nt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function zr(t,e,n){var r=Cr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Pr(t,e,n){var r=nt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Rr(t,e,n){var r=nt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Re(t,e){return B(t.getDate(),e,2)}function Br(t,e){return B(t.getHours(),e,2)}function Zr(t,e){return B(t.getHours()%12||12,e,2)}function qr(t,e){return B(1+Tt.count(kt(t),t),e,3)}function gn(t,e){return B(t.getMilliseconds(),e,3)}function Xr(t,e){return gn(t,e)+"000"}function Gr(t,e){return B(t.getMonth()+1,e,2)}function jr(t,e){return B(t.getMinutes(),e,2)}function Qr(t,e){return B(t.getSeconds(),e,2)}function Jr(t){var e=t.getDay();return e===0?7:e}function Kr(t,e){return B(Vt.count(kt(t)-1,t),e,2)}function yn(t){var e=t.getDay();return e>=4||e===0?bt(t):bt.ceil(t)}function $r(t,e){return t=yn(t),B(bt.count(kt(t),t)+(kt(t).getDay()===4),e,2)}function ta(t){return t.getDay()}function ea(t,e){return B(Ht.count(kt(t)-1,t),e,2)}function na(t,e){return B(t.getFullYear()%100,e,2)}function ra(t,e){return t=yn(t),B(t.getFullYear()%100,e,2)}function aa(t,e){return B(t.getFullYear()%1e4,e,4)}function ia(t,e){var n=t.getDay();return t=n>=4||n===0?bt(t):bt.ceil(t),B(t.getFullYear()%1e4,e,4)}function sa(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+B(e/60|0,"0",2)+B(e%60,"0",2)}function Be(t,e){return B(t.getUTCDate(),e,2)}function oa(t,e){return B(t.getUTCHours(),e,2)}function ca(t,e){return B(t.getUTCHours()%12||12,e,2)}function la(t,e){return B(1+we.count(xt(t),t),e,3)}function kn(t,e){return B(t.getUTCMilliseconds(),e,3)}function ua(t,e){return kn(t,e)+"000"}function fa(t,e){return B(t.getUTCMonth()+1,e,2)}function ha(t,e){return B(t.getUTCMinutes(),e,2)}function da(t,e){return B(t.getUTCSeconds(),e,2)}function ma(t){var e=t.getUTCDay();return e===0?7:e}function ga(t,e){return B(mn.count(xt(t)-1,t),e,2)}function pn(t){var e=t.getUTCDay();return e>=4||e===0?Ft(t):Ft.ceil(t)}function ya(t,e){return t=pn(t),B(Ft.count(xt(t),t)+(xt(t).getUTCDay()===4),e,2)}function ka(t){return t.getUTCDay()}function pa(t,e){return B(Kt.count(xt(t)-1,t),e,2)}function va(t,e){return B(t.getUTCFullYear()%100,e,2)}function Ta(t,e){return t=pn(t),B(t.getUTCFullYear()%100,e,2)}function ba(t,e){return B(t.getUTCFullYear()%1e4,e,4)}function xa(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Ft(t):Ft.ceil(t),B(t.getUTCFullYear()%1e4,e,4)}function wa(){return"+0000"}function Ze(){return"%"}function qe(t){return+t}function Xe(t){return Math.floor(+t/1e3)}var Mt,$t;Da({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Da(t){return Mt=Dr(t),$t=Mt.format,Mt.parse,Mt.utcFormat,Mt.utcParse,Mt}function Ca(t){return new Date(t)}function Ma(t){return t instanceof Date?+t:+new Date(+t)}function vn(t,e,n,r,a,i,s,k,M,T){var g=Zn(),F=g.invert,D=g.domain,b=T(".%L"),X=T(":%S"),O=T("%I:%M"),C=T("%I %p"),I=T("%a %d"),V=T("%b %d"),W=T("%B"),Z=T("%Y");function Q(w){return(M(w)4&&(b+=7),D.add(b,n));return X.diff(O,"week")+1},k.isoWeekday=function(T){return this.$utils().u(T)?this.day()||7:this.day(this.day()%7?T:T-7)};var M=k.startOf;k.startOf=function(T,g){var F=this.$utils(),D=!!F.u(g)||g;return F.p(T)==="isoweek"?D?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):M.bind(this)(T,g)}}})})(Tn);var Sa=Tn.exports;const Ya=be(Sa);var bn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(Te,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,a=/\d/,i=/\d\d/,s=/\d\d?/,k=/\d*[^-_:/,()\s\d]+/,M={},T=function(C){return(C=+C)+(C>68?1900:2e3)},g=function(C){return function(I){this[C]=+I}},F=[/[+-]\d\d:?(\d\d)?|Z/,function(C){(this.zone||(this.zone={})).offset=function(I){if(!I||I==="Z")return 0;var V=I.match(/([+-]|\d\d)/g),W=60*V[1]+(+V[2]||0);return W===0?0:V[0]==="+"?-W:W}(C)}],D=function(C){var I=M[C];return I&&(I.indexOf?I:I.s.concat(I.f))},b=function(C,I){var V,W=M.meridiem;if(W){for(var Z=1;Z<=24;Z+=1)if(C.indexOf(W(Z,0,I))>-1){V=Z>12;break}}else V=C===(I?"pm":"PM");return V},X={A:[k,function(C){this.afternoon=b(C,!1)}],a:[k,function(C){this.afternoon=b(C,!0)}],Q:[a,function(C){this.month=3*(C-1)+1}],S:[a,function(C){this.milliseconds=100*+C}],SS:[i,function(C){this.milliseconds=10*+C}],SSS:[/\d{3}/,function(C){this.milliseconds=+C}],s:[s,g("seconds")],ss:[s,g("seconds")],m:[s,g("minutes")],mm:[s,g("minutes")],H:[s,g("hours")],h:[s,g("hours")],HH:[s,g("hours")],hh:[s,g("hours")],D:[s,g("day")],DD:[i,g("day")],Do:[k,function(C){var I=M.ordinal,V=C.match(/\d+/);if(this.day=V[0],I)for(var W=1;W<=31;W+=1)I(W).replace(/\[|\]/g,"")===C&&(this.day=W)}],w:[s,g("week")],ww:[i,g("week")],M:[s,g("month")],MM:[i,g("month")],MMM:[k,function(C){var I=D("months"),V=(D("monthsShort")||I.map(function(W){return W.slice(0,3)})).indexOf(C)+1;if(V<1)throw new Error;this.month=V%12||V}],MMMM:[k,function(C){var I=D("months").indexOf(C)+1;if(I<1)throw new Error;this.month=I%12||I}],Y:[/[+-]?\d+/,g("year")],YY:[i,function(C){this.year=T(C)}],YYYY:[/\d{4}/,g("year")],Z:F,ZZ:F};function O(C){var I,V;I=C,V=M&&M.formats;for(var W=(C=I.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(_,S,p){var U=p&&p.toUpperCase();return S||V[p]||n[p]||V[U].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(l,f,y){return f||y.slice(1)})})).match(r),Z=W.length,Q=0;Q-1)return new Date((E==="X"?1e3:1)*m);var o=O(E)(m),P=o.year,z=o.month,R=o.day,$=o.hours,G=o.minutes,J=o.seconds,it=o.milliseconds,v=o.zone,A=o.week,N=new Date,u=R||(P||z?1:N.getDate()),K=P||N.getFullYear(),L=0;P&&!z||(L=z>0?z-1:N.getMonth());var j,q=$||0,rt=G||0,st=J||0,pt=it||0;return v?new Date(Date.UTC(K,L,u,q,rt,st,pt+60*v.offset*1e3)):c?new Date(Date.UTC(K,L,u,q,rt,st,pt)):(j=new Date(K,L,u,q,rt,st,pt),A&&(j=d(j).week(A).toDate()),j)}catch{return new Date("")}}(w,Y,H,V),this.init(),U&&U!==!0&&(this.$L=this.locale(U).$L),p&&w!=this.format(Y)&&(this.$d=new Date("")),M={}}else if(Y instanceof Array)for(var l=Y.length,f=1;f<=l;f+=1){x[1]=Y[f-1];var y=V.apply(this,x);if(y.isValid()){this.$d=y.$d,this.$L=y.$L,this.init();break}f===l&&(this.$d=new Date(""))}else Z.call(this,Q)}}})})(bn);var Ua=bn.exports;const Fa=be(Ua);var xn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(Te,function(){return function(n,r){var a=r.prototype,i=a.format;a.format=function(s){var k=this,M=this.$locale();if(!this.isValid())return i.bind(this)(s);var T=this.$utils(),g=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(F){switch(F){case"Q":return Math.ceil((k.$M+1)/3);case"Do":return M.ordinal(k.$D);case"gggg":return k.weekYear();case"GGGG":return k.isoWeekYear();case"wo":return M.ordinal(k.week(),"W");case"w":case"ww":return T.s(k.week(),F==="w"?1:2,"0");case"W":case"WW":return T.s(k.isoWeek(),F==="W"?1:2,"0");case"k":case"kk":return T.s(String(k.$H===0?24:k.$H),F==="k"?1:2,"0");case"X":return Math.floor(k.$d.getTime()/1e3);case"x":return k.$d.getTime();case"z":return"["+k.offsetName()+"]";case"zzz":return"["+k.offsetName("long")+"]";default:return F}});return i.bind(this)(g)}}})})(xn);var Ea=xn.exports;const La=be(Ea);var ye=function(){var t=h(function(U,l,f,y){for(f=f||{},y=U.length;y--;f[U[y]]=l);return f},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],r=[1,27],a=[1,28],i=[1,29],s=[1,30],k=[1,31],M=[1,32],T=[1,33],g=[1,34],F=[1,9],D=[1,10],b=[1,11],X=[1,12],O=[1,13],C=[1,14],I=[1,15],V=[1,16],W=[1,19],Z=[1,20],Q=[1,21],w=[1,22],H=[1,23],x=[1,25],Y=[1,35],_={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:h(function(l,f,y,m,E,c,d){var o=c.length-1;switch(E){case 1:return c[o-1];case 2:this.$=[];break;case 3:c[o-1].push(c[o]),this.$=c[o-1];break;case 4:case 5:this.$=c[o];break;case 6:case 7:this.$=[];break;case 8:m.setWeekday("monday");break;case 9:m.setWeekday("tuesday");break;case 10:m.setWeekday("wednesday");break;case 11:m.setWeekday("thursday");break;case 12:m.setWeekday("friday");break;case 13:m.setWeekday("saturday");break;case 14:m.setWeekday("sunday");break;case 15:m.setWeekend("friday");break;case 16:m.setWeekend("saturday");break;case 17:m.setDateFormat(c[o].substr(11)),this.$=c[o].substr(11);break;case 18:m.enableInclusiveEndDates(),this.$=c[o].substr(18);break;case 19:m.TopAxis(),this.$=c[o].substr(8);break;case 20:m.setAxisFormat(c[o].substr(11)),this.$=c[o].substr(11);break;case 21:m.setTickInterval(c[o].substr(13)),this.$=c[o].substr(13);break;case 22:m.setExcludes(c[o].substr(9)),this.$=c[o].substr(9);break;case 23:m.setIncludes(c[o].substr(9)),this.$=c[o].substr(9);break;case 24:m.setTodayMarker(c[o].substr(12)),this.$=c[o].substr(12);break;case 27:m.setDiagramTitle(c[o].substr(6)),this.$=c[o].substr(6);break;case 28:this.$=c[o].trim(),m.setAccTitle(this.$);break;case 29:case 30:this.$=c[o].trim(),m.setAccDescription(this.$);break;case 31:m.addSection(c[o].substr(8)),this.$=c[o].substr(8);break;case 33:m.addTask(c[o-1],c[o]),this.$="task";break;case 34:this.$=c[o-1],m.setClickEvent(c[o-1],c[o],null);break;case 35:this.$=c[o-2],m.setClickEvent(c[o-2],c[o-1],c[o]);break;case 36:this.$=c[o-2],m.setClickEvent(c[o-2],c[o-1],null),m.setLink(c[o-2],c[o]);break;case 37:this.$=c[o-3],m.setClickEvent(c[o-3],c[o-2],c[o-1]),m.setLink(c[o-3],c[o]);break;case 38:this.$=c[o-2],m.setClickEvent(c[o-2],c[o],null),m.setLink(c[o-2],c[o-1]);break;case 39:this.$=c[o-3],m.setClickEvent(c[o-3],c[o-1],c[o]),m.setLink(c[o-3],c[o-2]);break;case 40:this.$=c[o-1],m.setLink(c[o-1],c[o]);break;case 41:case 47:this.$=c[o-1]+" "+c[o];break;case 42:case 43:case 45:this.$=c[o-2]+" "+c[o-1]+" "+c[o];break;case 44:case 46:this.$=c[o-3]+" "+c[o-2]+" "+c[o-1]+" "+c[o];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:a,15:i,16:s,17:k,18:M,19:18,20:T,21:g,22:F,23:D,24:b,25:X,26:O,27:C,28:I,29:V,30:W,31:Z,33:Q,35:w,36:H,37:24,38:x,40:Y},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:a,15:i,16:s,17:k,18:M,19:18,20:T,21:g,22:F,23:D,24:b,25:X,26:O,27:C,28:I,29:V,30:W,31:Z,33:Q,35:w,36:H,37:24,38:x,40:Y},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:h(function(l,f){if(f.recoverable)this.trace(l);else{var y=new Error(l);throw y.hash=f,y}},"parseError"),parse:h(function(l){var f=this,y=[0],m=[],E=[null],c=[],d=this.table,o="",P=0,z=0,R=2,$=1,G=c.slice.call(arguments,1),J=Object.create(this.lexer),it={yy:{}};for(var v in this.yy)Object.prototype.hasOwnProperty.call(this.yy,v)&&(it.yy[v]=this.yy[v]);J.setInput(l,it.yy),it.yy.lexer=J,it.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var A=J.yylloc;c.push(A);var N=J.options&&J.options.ranges;typeof it.yy.parseError=="function"?this.parseError=it.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function u(ot){y.length=y.length-2*ot,E.length=E.length-ot,c.length=c.length-ot}h(u,"popStack");function K(){var ot;return ot=m.pop()||J.lex()||$,typeof ot!="number"&&(ot instanceof Array&&(m=ot,ot=m.pop()),ot=f.symbols_[ot]||ot),ot}h(K,"lex");for(var L,j,q,rt,st={},pt,lt,Ae,Bt;;){if(j=y[y.length-1],this.defaultActions[j]?q=this.defaultActions[j]:((L===null||typeof L>"u")&&(L=K()),q=d[j]&&d[j][L]),typeof q>"u"||!q.length||!q[0]){var ne="";Bt=[];for(pt in d[j])this.terminals_[pt]&&pt>R&&Bt.push("'"+this.terminals_[pt]+"'");J.showPosition?ne="Parse error on line "+(P+1)+`: +`+J.showPosition()+` +Expecting `+Bt.join(", ")+", got '"+(this.terminals_[L]||L)+"'":ne="Parse error on line "+(P+1)+": Unexpected "+(L==$?"end of input":"'"+(this.terminals_[L]||L)+"'"),this.parseError(ne,{text:J.match,token:this.terminals_[L]||L,line:J.yylineno,loc:A,expected:Bt})}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+L);switch(q[0]){case 1:y.push(L),E.push(J.yytext),c.push(J.yylloc),y.push(q[1]),L=null,z=J.yyleng,o=J.yytext,P=J.yylineno,A=J.yylloc;break;case 2:if(lt=this.productions_[q[1]][1],st.$=E[E.length-lt],st._$={first_line:c[c.length-(lt||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(lt||1)].first_column,last_column:c[c.length-1].last_column},N&&(st._$.range=[c[c.length-(lt||1)].range[0],c[c.length-1].range[1]]),rt=this.performAction.apply(st,[o,z,P,it.yy,q[1],E,c].concat(G)),typeof rt<"u")return rt;lt&&(y=y.slice(0,-1*lt*2),E=E.slice(0,-1*lt),c=c.slice(0,-1*lt)),y.push(this.productions_[q[1]][0]),E.push(st.$),c.push(st._$),Ae=d[y[y.length-2]][y[y.length-1]],y.push(Ae);break;case 3:return!0}}return!0},"parse")},S=function(){var U={EOF:1,parseError:h(function(f,y){if(this.yy.parser)this.yy.parser.parseError(f,y);else throw new Error(f)},"parseError"),setInput:h(function(l,f){return this.yy=f||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:h(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var f=l.match(/(?:\r\n?|\n).*/g);return f?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:h(function(l){var f=l.length,y=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-f),this.offset-=f;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===m.length?this.yylloc.first_column:0)+m[m.length-y.length].length-y[0].length:this.yylloc.first_column-f},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-f]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:h(function(l){this.unput(this.match.slice(l))},"less"),pastInput:h(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var l=this.pastInput(),f=new Array(l.length+1).join("-");return l+this.upcomingInput()+` +`+f+"^"},"showPosition"),test_match:h(function(l,f){var y,m,E;if(this.options.backtrack_lexer&&(E={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(E.yylloc.range=this.yylloc.range.slice(0))),m=l[0].match(/(?:\r\n?|\n).*/g),m&&(this.yylineno+=m.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:m?m[m.length-1].length-m[m.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(l[0].length),this.matched+=l[0],y=this.performAction.call(this,this.yy,this,f,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var c in E)this[c]=E[c];return!1}return!1},"test_match"),next:h(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,f,y,m;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),c=0;cf[0].length)){if(f=y,m=c,this.options.backtrack_lexer){if(l=this.test_match(y,E[c]),l!==!1)return l;if(this._backtrack){f=!1;continue}else return!1}else if(!this.options.flex)break}return f?(l=this.test_match(f,E[m]),l!==!1?l:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:h(function(){var f=this.next();return f||this.lex()},"lex"),begin:h(function(f){this.conditionStack.push(f)},"begin"),popState:h(function(){var f=this.conditionStack.length-1;return f>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:h(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:h(function(f){return f=this.conditionStack.length-1-Math.abs(f||0),f>=0?this.conditionStack[f]:"INITIAL"},"topState"),pushState:h(function(f){this.begin(f)},"pushState"),stateStackSize:h(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:h(function(f,y,m,E){switch(m){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return U}();_.lexer=S;function p(){this.yy={}}return h(p,"Parser"),p.prototype=_,_.Parser=p,new p}();ye.parser=ye;var Aa=ye;at.extend(Ya);at.extend(Fa);at.extend(La);var Ge={friday:5,saturday:6},ut="",De="",Ce=void 0,Me="",zt=[],Pt=[],_e=new Map,Se=[],te=[],Et="",Ye="",wn=["active","done","crit","milestone"],Ue=[],Rt=!1,Fe=!1,Ee="sunday",ee="saturday",ke=0,Ia=h(function(){Se=[],te=[],Et="",Ue=[],Gt=0,ve=void 0,jt=void 0,tt=[],ut="",De="",Ye="",Ce=void 0,Me="",zt=[],Pt=[],Rt=!1,Fe=!1,ke=0,_e=new Map,Nn(),Ee="sunday",ee="saturday"},"clear"),Wa=h(function(t){De=t},"setAxisFormat"),Oa=h(function(){return De},"getAxisFormat"),Ha=h(function(t){Ce=t},"setTickInterval"),Na=h(function(){return Ce},"getTickInterval"),Va=h(function(t){Me=t},"setTodayMarker"),za=h(function(){return Me},"getTodayMarker"),Pa=h(function(t){ut=t},"setDateFormat"),Ra=h(function(){Rt=!0},"enableInclusiveEndDates"),Ba=h(function(){return Rt},"endDatesAreInclusive"),Za=h(function(){Fe=!0},"enableTopAxis"),qa=h(function(){return Fe},"topAxisEnabled"),Xa=h(function(t){Ye=t},"setDisplayMode"),Ga=h(function(){return Ye},"getDisplayMode"),ja=h(function(){return ut},"getDateFormat"),Qa=h(function(t){zt=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),Ja=h(function(){return zt},"getIncludes"),Ka=h(function(t){Pt=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),$a=h(function(){return Pt},"getExcludes"),ti=h(function(){return _e},"getLinks"),ei=h(function(t){Et=t,Se.push(t)},"addSection"),ni=h(function(){return Se},"getSections"),ri=h(function(){let t=je();const e=10;let n=0;for(;!t&&n[\d\w- ]+)/.exec(n);if(a!==null){let s=null;for(const M of a.groups.ids.split(" ")){let T=Ct(M);T!==void 0&&(!s||T.endTime>s.endTime)&&(s=T)}if(s)return s.endTime;const k=new Date;return k.setHours(0,0,0,0),k}let i=at(n,e.trim(),!0);if(i.isValid())return i.toDate();{Qt.debug("Invalid date:"+n),Qt.debug("With date format:"+e.trim());const s=new Date(n);if(s===void 0||isNaN(s.getTime())||s.getFullYear()<-1e4||s.getFullYear()>1e4)throw new Error("Invalid date:"+n);return s}},"getStartDate"),Mn=h(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),_n=h(function(t,e,n,r=!1){n=n.trim();const i=/^until\s+(?[\d\w- ]+)/.exec(n);if(i!==null){let g=null;for(const D of i.groups.ids.split(" ")){let b=Ct(D);b!==void 0&&(!g||b.startTime{window.open(n,"_self")}),_e.set(r,n))}),Yn(t,"clickable")},"setLink"),Yn=h(function(t,e){t.split(",").forEach(function(n){let r=Ct(n);r!==void 0&&r.classes.push(e)})},"setClass"),di=h(function(t,e,n){if(_t().securityLevel!=="loose"||e===void 0)return;let r=[];if(typeof n=="string"){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let i=0;i{Rn.runFunc(e,...r)})},"setClickFun"),Un=h(function(t,e){Ue.push(function(){const n=document.querySelector(`[id="${t}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const n=document.querySelector(`[id="${t}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),mi=h(function(t,e,n){t.split(",").forEach(function(r){di(r,e,n)}),Yn(t,"clickable")},"setClickEvent"),gi=h(function(t){Ue.forEach(function(e){e(t)})},"bindFunctions"),yi={getConfig:h(()=>_t().gantt,"getConfig"),clear:Ia,setDateFormat:Pa,getDateFormat:ja,enableInclusiveEndDates:Ra,endDatesAreInclusive:Ba,enableTopAxis:Za,topAxisEnabled:qa,setAxisFormat:Wa,getAxisFormat:Oa,setTickInterval:Ha,getTickInterval:Na,setTodayMarker:Va,getTodayMarker:za,setAccTitle:Ln,getAccTitle:An,setDiagramTitle:In,getDiagramTitle:Wn,setDisplayMode:Xa,getDisplayMode:Ga,setAccDescription:On,getAccDescription:Hn,addSection:ei,getSections:ni,getTasks:ri,addTask:ui,findTaskById:Ct,addTaskOrg:fi,setIncludes:Qa,getIncludes:Ja,setExcludes:Ka,getExcludes:$a,setClickEvent:mi,setLink:hi,getLinks:ti,bindFunctions:gi,parseDuration:Mn,isInvalidDate:Dn,setWeekday:ai,getWeekday:ii,setWeekend:si};function Le(t,e,n){let r=!0;for(;r;)r=!1,n.forEach(function(a){const i="^\\s*"+a+"\\s*$",s=new RegExp(i);t[0].match(s)&&(e[a]=!0,t.shift(1),r=!0)})}h(Le,"getTaskTags");var ki=h(function(){Qt.debug("Something is calling, setConf, remove the call")},"setConf"),Qe={monday:Ht,tuesday:un,wednesday:fn,thursday:bt,friday:hn,saturday:dn,sunday:Vt},pi=h((t,e)=>{let n=[...t].map(()=>-1/0),r=[...t].sort((i,s)=>i.startTime-s.startTime||i.order-s.order),a=0;for(const i of r)for(let s=0;s=n[s]){n[s]=i.endTime,i.order=s+e,s>a&&(a=s);break}return a},"getMaxIntersections"),ht,vi=h(function(t,e,n,r){const a=_t().gantt,i=_t().securityLevel;let s;i==="sandbox"&&(s=Zt("#i"+e));const k=i==="sandbox"?Zt(s.nodes()[0].contentDocument.body):Zt("body"),M=i==="sandbox"?s.nodes()[0].contentDocument:document,T=M.getElementById(e);ht=T.parentElement.offsetWidth,ht===void 0&&(ht=1200),a.useWidth!==void 0&&(ht=a.useWidth);const g=r.db.getTasks();let F=[];for(const x of g)F.push(x.type);F=H(F);const D={};let b=2*a.topPadding;if(r.db.getDisplayMode()==="compact"||a.displayMode==="compact"){const x={};for(const _ of g)x[_.section]===void 0?x[_.section]=[_]:x[_.section].push(_);let Y=0;for(const _ of Object.keys(x)){const S=pi(x[_],Y)+1;Y+=S,b+=S*(a.barHeight+a.barGap),D[_]=S}}else{b+=g.length*(a.barHeight+a.barGap);for(const x of F)D[x]=g.filter(Y=>Y.type===x).length}T.setAttribute("viewBox","0 0 "+ht+" "+b);const X=k.select(`[id="${e}"]`),O=_a().domain([Qn(g,function(x){return x.startTime}),jn(g,function(x){return x.endTime})]).rangeRound([0,ht-a.leftPadding-a.rightPadding]);function C(x,Y){const _=x.startTime,S=Y.startTime;let p=0;return _>S?p=1:_d.order))].map(d=>x.find(o=>o.order===d));X.append("g").selectAll("rect").data(y).enter().append("rect").attr("x",0).attr("y",function(d,o){return o=d.order,o*Y+_-2}).attr("width",function(){return l-a.rightPadding/2}).attr("height",Y).attr("class",function(d){for(const[o,P]of F.entries())if(d.type===P)return"section section"+o%a.numberSectionStyles;return"section section0"});const m=X.append("g").selectAll("rect").data(x).enter(),E=r.db.getLinks();if(m.append("rect").attr("id",function(d){return d.id}).attr("rx",3).attr("ry",3).attr("x",function(d){return d.milestone?O(d.startTime)+S+.5*(O(d.endTime)-O(d.startTime))-.5*p:O(d.startTime)+S}).attr("y",function(d,o){return o=d.order,o*Y+_}).attr("width",function(d){return d.milestone?p:O(d.renderEndTime||d.endTime)-O(d.startTime)}).attr("height",p).attr("transform-origin",function(d,o){return o=d.order,(O(d.startTime)+S+.5*(O(d.endTime)-O(d.startTime))).toString()+"px "+(o*Y+_+.5*p).toString()+"px"}).attr("class",function(d){const o="task";let P="";d.classes.length>0&&(P=d.classes.join(" "));let z=0;for(const[$,G]of F.entries())d.type===G&&(z=$%a.numberSectionStyles);let R="";return d.active?d.crit?R+=" activeCrit":R=" active":d.done?d.crit?R=" doneCrit":R=" done":d.crit&&(R+=" crit"),R.length===0&&(R=" task"),d.milestone&&(R=" milestone "+R),R+=z,R+=" "+P,o+R}),m.append("text").attr("id",function(d){return d.id+"-text"}).text(function(d){return d.task}).attr("font-size",a.fontSize).attr("x",function(d){let o=O(d.startTime),P=O(d.renderEndTime||d.endTime);d.milestone&&(o+=.5*(O(d.endTime)-O(d.startTime))-.5*p),d.milestone&&(P=o+p);const z=this.getBBox().width;return z>P-o?P+z+1.5*a.leftPadding>l?o+S-5:P+S+5:(P-o)/2+o+S}).attr("y",function(d,o){return o=d.order,o*Y+a.barHeight/2+(a.fontSize/2-2)+_}).attr("text-height",p).attr("class",function(d){const o=O(d.startTime);let P=O(d.endTime);d.milestone&&(P=o+p);const z=this.getBBox().width;let R="";d.classes.length>0&&(R=d.classes.join(" "));let $=0;for(const[J,it]of F.entries())d.type===it&&($=J%a.numberSectionStyles);let G="";return d.active&&(d.crit?G="activeCritText"+$:G="activeText"+$),d.done?d.crit?G=G+" doneCritText"+$:G=G+" doneText"+$:d.crit&&(G=G+" critText"+$),d.milestone&&(G+=" milestoneText"),z>P-o?P+z+1.5*a.leftPadding>l?R+" taskTextOutsideLeft taskTextOutside"+$+" "+G:R+" taskTextOutsideRight taskTextOutside"+$+" "+G+" width-"+z:R+" taskText taskText"+$+" "+G+" width-"+z}),_t().securityLevel==="sandbox"){let d;d=Zt("#i"+e);const o=d.nodes()[0].contentDocument;m.filter(function(P){return E.has(P.id)}).each(function(P){var z=o.querySelector("#"+P.id),R=o.querySelector("#"+P.id+"-text");const $=z.parentNode;var G=o.createElement("a");G.setAttribute("xlink:href",E.get(P.id)),G.setAttribute("target","_top"),$.appendChild(G),G.appendChild(z),G.appendChild(R)})}}h(V,"drawRects");function W(x,Y,_,S,p,U,l,f){if(l.length===0&&f.length===0)return;let y,m;for(const{startTime:z,endTime:R}of U)(y===void 0||zm)&&(m=R);if(!y||!m)return;if(at(m).diff(at(y),"year")>5){Qt.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const E=r.db.getDateFormat(),c=[];let d=null,o=at(y);for(;o.valueOf()<=m;)r.db.isInvalidDate(o,E,l,f)?d?d.end=o:d={start:o,end:o}:d&&(c.push(d),d=null),o=o.add(1,"d");X.append("g").selectAll("rect").data(c).enter().append("rect").attr("id",function(z){return"exclude-"+z.start.format("YYYY-MM-DD")}).attr("x",function(z){return O(z.start)+_}).attr("y",a.gridLineStartPadding).attr("width",function(z){const R=z.end.add(1,"day");return O(R)-O(z.start)}).attr("height",p-Y-a.gridLineStartPadding).attr("transform-origin",function(z,R){return(O(z.start)+_+.5*(O(z.end)-O(z.start))).toString()+"px "+(R*x+.5*p).toString()+"px"}).attr("class","exclude-range")}h(W,"drawExcludeDays");function Z(x,Y,_,S){let p=ar(O).tickSize(-S+Y+a.gridLineStartPadding).tickFormat($t(r.db.getAxisFormat()||a.axisFormat||"%Y-%m-%d"));const l=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||a.tickInterval);if(l!==null){const f=l[1],y=l[2],m=r.db.getWeekday()||a.weekday;switch(y){case"millisecond":p.ticks(Ut.every(f));break;case"second":p.ticks(vt.every(f));break;case"minute":p.ticks(Wt.every(f));break;case"hour":p.ticks(Ot.every(f));break;case"day":p.ticks(Tt.every(f));break;case"week":p.ticks(Qe[m].every(f));break;case"month":p.ticks(Nt.every(f));break}}if(X.append("g").attr("class","grid").attr("transform","translate("+x+", "+(S-50)+")").call(p).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||a.topAxis){let f=rr(O).tickSize(-S+Y+a.gridLineStartPadding).tickFormat($t(r.db.getAxisFormat()||a.axisFormat||"%Y-%m-%d"));if(l!==null){const y=l[1],m=l[2],E=r.db.getWeekday()||a.weekday;switch(m){case"millisecond":f.ticks(Ut.every(y));break;case"second":f.ticks(vt.every(y));break;case"minute":f.ticks(Wt.every(y));break;case"hour":f.ticks(Ot.every(y));break;case"day":f.ticks(Tt.every(y));break;case"week":f.ticks(Qe[E].every(y));break;case"month":f.ticks(Nt.every(y));break}}X.append("g").attr("class","grid").attr("transform","translate("+x+", "+Y+")").call(f).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}h(Z,"makeGrid");function Q(x,Y){let _=0;const S=Object.keys(D).map(p=>[p,D[p]]);X.append("g").selectAll("text").data(S).enter().append(function(p){const U=p[0].split(Pn.lineBreakRegex),l=-(U.length-1)/2,f=M.createElementNS("http://www.w3.org/2000/svg","text");f.setAttribute("dy",l+"em");for(const[y,m]of U.entries()){const E=M.createElementNS("http://www.w3.org/2000/svg","tspan");E.setAttribute("alignment-baseline","central"),E.setAttribute("x","10"),y>0&&E.setAttribute("dy","1em"),E.textContent=m,f.appendChild(E)}return f}).attr("x",10).attr("y",function(p,U){if(U>0)for(let l=0;l` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor||t.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`,"getStyles"),xi=bi,Ui={parser:Aa,db:yi,renderer:Ti,styles:xi};export{Ui as diagram}; diff --git a/_nuxt/B6ZS9b_z.js b/_nuxt/B6ZS9b_z.js new file mode 100644 index 000000000..c23291ac1 --- /dev/null +++ b/_nuxt/B6ZS9b_z.js @@ -0,0 +1 @@ +import{_ as r,o,b as s,r as t}from"./DzgF3Vew.js";const n={};function c(e,a){return o(),s("li",null,[t(e.$slots,"default")])}const _=r(n,[["render",c]]);export{_ as default}; diff --git a/_nuxt/BBPqxCFz.js b/_nuxt/BBPqxCFz.js new file mode 100644 index 000000000..79619121e --- /dev/null +++ b/_nuxt/BBPqxCFz.js @@ -0,0 +1,7 @@ +import{_ as o,a0 as _e,D,l as At,d as wt,i as Ae,r as ie,s as ke,g as Fe,q as Pe,b as ve,c as Ce,x as Le,j as zt,k as Ee}from"./BN9GDn3H.js";import{l as ee}from"./BXAbmjOT.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";import"./Gi6I4Gst.js";var Vt=function(){var t=o(function(j,r,l,g){for(l=l||{},g=j.length;g--;l[j[g]]=r);return l},"o"),n=[1,3],u=[1,4],c=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],A=[2,36],d=[1,37],T=[1,36],m=[1,38],q=[1,35],b=[1,43],x=[1,41],O=[1,14],Y=[1,23],G=[1,18],yt=[1,19],Tt=[1,20],ht=[1,21],Ft=[1,22],ct=[1,24],dt=[1,25],ut=[1,26],xt=[1,27],i=[1,28],Bt=[1,29],W=[1,32],U=[1,33],k=[1,34],F=[1,39],P=[1,40],v=[1,42],C=[1,44],H=[1,62],X=[1,61],L=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],Rt=[1,65],Nt=[1,66],Wt=[1,67],Ut=[1,68],Qt=[1,69],Ot=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],I=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,90],$=[1,91],tt=[1,92],et=[1,99],it=[1,93],at=[1,96],nt=[1,94],st=[1,95],rt=[1,97],ot=[1,98],Pt=[1,102],Kt=[10,55,56,57],R=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],vt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,g,f,_,e,ft){var s=e.length-1;switch(_){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],f.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),f.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),f.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),f.setAccDescription(this.$);break;case 46:f.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:f.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:f.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:f.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:f.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:f.setXAxisLeftText(e[s-2]),f.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",f.setXAxisLeftText(e[s-1]);break;case 53:f.setXAxisLeftText(e[s]);break;case 54:f.setYAxisBottomText(e[s-2]),f.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",f.setYAxisBottomText(e[s-1]);break;case 56:f.setYAxisBottomText(e[s]);break;case 57:f.setQuadrant1Text(e[s]);break;case 58:f.setQuadrant2Text(e[s]);break;case 59:f.setQuadrant3Text(e[s]);break;case 60:f.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:c,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:u,55:c,56:h,57:p},{18:n,26:9,27:2,28:u,55:c,56:h,57:p},t(y,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,A,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:T,10:m,12:q,13:b,14:x,18:O,25:Y,35:G,37:yt,39:Tt,41:ht,42:Ft,48:ct,50:dt,51:ut,52:xt,53:i,54:Bt,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(y,[2,34]),{27:45,55:c,56:h,57:p},t(a,[2,37]),t(a,A,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:d,5:T,10:m,12:q,13:b,14:x,18:O,25:Y,35:G,37:yt,39:Tt,41:ht,42:Ft,48:ct,50:dt,51:ut,52:xt,53:i,54:Bt,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(a,[2,45]),t(a,[2,46]),{18:[1,50]},{4:d,5:T,10:m,12:q,13:b,14:x,43:51,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:m,12:q,13:b,14:x,43:52,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:m,12:q,13:b,14:x,43:53,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:m,12:q,13:b,14:x,43:54,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:m,12:q,13:b,14:x,43:55,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:m,12:q,13:b,14:x,43:56,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,8:H,10:m,12:q,13:b,14:x,18:X,44:[1,57],47:[1,58],58:60,59:59,63:k,64:F,65:P,66:v,67:C},t(L,[2,64]),t(L,[2,66]),t(L,[2,67]),t(L,[2,70]),t(L,[2,71]),t(L,[2,72]),t(L,[2,73]),t(L,[2,74]),t(L,[2,75]),t(L,[2,76]),t(L,[2,77]),t(L,[2,78]),t(L,[2,79]),t(L,[2,80]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:64,4:Rt,5:Nt,6:Wt,7:Ut,8:Qt,9:Ot,10:Ht,11:Xt,12:Mt,13:Yt,14:jt,15:Gt,21:63},t(a,[2,53],{59:59,58:60,4:d,5:T,8:H,10:m,12:q,13:b,14:x,18:X,49:[1,77],63:k,64:F,65:P,66:v,67:C}),t(a,[2,56],{59:59,58:60,4:d,5:T,8:H,10:m,12:q,13:b,14:x,18:X,49:[1,78],63:k,64:F,65:P,66:v,67:C}),t(a,[2,57],{59:59,58:60,4:d,5:T,8:H,10:m,12:q,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,58],{59:59,58:60,4:d,5:T,8:H,10:m,12:q,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,59],{59:59,58:60,4:d,5:T,8:H,10:m,12:q,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,60],{59:59,58:60,4:d,5:T,8:H,10:m,12:q,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),{45:[1,79]},{44:[1,80]},t(L,[2,65]),t(L,[2,81]),t(L,[2,82]),t(L,[2,83]),{3:82,4:Rt,5:Nt,6:Wt,7:Ut,8:Qt,9:Ot,10:Ht,11:Xt,12:Mt,13:Yt,14:jt,15:Gt,18:[1,81]},t(I,[2,23]),t(I,[2,1]),t(I,[2,2]),t(I,[2,3]),t(I,[2,4]),t(I,[2,5]),t(I,[2,6]),t(I,[2,7]),t(I,[2,8]),t(I,[2,9]),t(I,[2,10]),t(I,[2,11]),t(I,[2,12]),t(a,[2,52],{58:31,43:83,4:d,5:T,10:m,12:q,13:b,14:x,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(a,[2,55],{58:31,43:84,4:d,5:T,10:m,12:q,13:b,14:x,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),{46:[1,85]},{45:[1,86]},{4:J,5:$,6:tt,8:et,11:it,13:at,16:89,17:nt,18:st,19:rt,20:ot,22:88,23:87},t(I,[2,24]),t(a,[2,51],{59:59,58:60,4:d,5:T,8:H,10:m,12:q,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,54],{59:59,58:60,4:d,5:T,8:H,10:m,12:q,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,47],{22:88,16:89,23:100,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{46:[1,101]},t(a,[2,29],{10:Pt}),t(Kt,[2,27],{16:103,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),t(R,[2,25]),t(R,[2,13]),t(R,[2,14]),t(R,[2,15]),t(R,[2,16]),t(R,[2,17]),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),t(R,[2,21]),t(R,[2,22]),t(a,[2,49],{10:Pt}),t(a,[2,48],{22:88,16:89,23:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{4:J,5:$,6:tt,8:et,11:it,13:at,16:89,17:nt,18:st,19:rt,20:ot,22:105},t(R,[2,26]),t(a,[2,50],{10:Pt}),t(Kt,[2,28],{16:103,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var g=new Error(r);throw g.hash=l,g}},"parseError"),parse:o(function(r){var l=this,g=[0],f=[],_=[null],e=[],ft=this.table,s="",qt=0,Zt=0,me=2,Jt=1,qe=e.slice.call(arguments,1),E=Object.create(this.lexer),K={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(K.yy[Ct]=this.yy[Ct]);E.setInput(r,K.yy),K.yy.lexer=E,K.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var Lt=E.yylloc;e.push(Lt);var be=E.options&&E.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Se(B){g.length=g.length-2*B,_.length=_.length-B,e.length=e.length-B}o(Se,"popStack");function $t(){var B;return B=f.pop()||E.lex()||Jt,typeof B!="number"&&(B instanceof Array&&(f=B,B=f.pop()),B=l.symbols_[B]||B),B}o($t,"lex");for(var w,Z,N,Et,lt={},bt,M,te,St;;){if(Z=g[g.length-1],this.defaultActions[Z]?N=this.defaultActions[Z]:((w===null||typeof w>"u")&&(w=$t()),N=ft[Z]&&ft[Z][w]),typeof N>"u"||!N.length||!N[0]){var Dt="";St=[];for(bt in ft[Z])this.terminals_[bt]&&bt>me&&St.push("'"+this.terminals_[bt]+"'");E.showPosition?Dt="Parse error on line "+(qt+1)+`: +`+E.showPosition()+` +Expecting `+St.join(", ")+", got '"+(this.terminals_[w]||w)+"'":Dt="Parse error on line "+(qt+1)+": Unexpected "+(w==Jt?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(Dt,{text:E.match,token:this.terminals_[w]||w,line:E.yylineno,loc:Lt,expected:St})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+w);switch(N[0]){case 1:g.push(w),_.push(E.yytext),e.push(E.yylloc),g.push(N[1]),w=null,Zt=E.yyleng,s=E.yytext,qt=E.yylineno,Lt=E.yylloc;break;case 2:if(M=this.productions_[N[1]][1],lt.$=_[_.length-M],lt._$={first_line:e[e.length-(M||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(M||1)].first_column,last_column:e[e.length-1].last_column},be&&(lt._$.range=[e[e.length-(M||1)].range[0],e[e.length-1].range[1]]),Et=this.performAction.apply(lt,[s,Zt,qt,K.yy,N[1],_,e].concat(qe)),typeof Et<"u")return Et;M&&(g=g.slice(0,-1*M*2),_=_.slice(0,-1*M),e=e.slice(0,-1*M)),g.push(this.productions_[N[1]][0]),_.push(lt.$),e.push(lt._$),te=ft[g[g.length-2]][g[g.length-1]],g.push(te);break;case 3:return!0}}return!0},"parse")},Te=function(){var j={EOF:1,parseError:o(function(l,g){if(this.yy.parser)this.yy.parser.parseError(l,g);else throw new Error(l)},"parseError"),setInput:o(function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:o(function(r){var l=r.length,g=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var f=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===f.length?this.yylloc.first_column:0)+f[f.length-g.length].length-g[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(r){this.unput(this.match.slice(r))},"less"),pastInput:o(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+` +`+l+"^"},"showPosition"),test_match:o(function(r,l){var g,f,_;if(this.options.backtrack_lexer&&(_={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(_.yylloc.range=this.yylloc.range.slice(0))),f=r[0].match(/(?:\r\n?|\n).*/g),f&&(this.yylineno+=f.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:f?f[f.length-1].length-f[f.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],g=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var e in _)this[e]=_[e];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,l,g,f;this._more||(this.yytext="",this.match="");for(var _=this._currentRules(),e=0;e<_.length;e++)if(g=this._input.match(this.rules[_[e]]),g&&(!l||g[0].length>l[0].length)){if(l=g,f=e,this.options.backtrack_lexer){if(r=this.test_match(g,_[e]),r!==!1)return r;if(this._backtrack){l=!1;continue}else return!1}else if(!this.options.flex)break}return l?(r=this.test_match(l,_[f]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var l=this.next();return l||this.lex()},"lex"),begin:o(function(l){this.conditionStack.push(l)},"begin"),popState:o(function(){var l=this.conditionStack.length-1;return l>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(l){return l=this.conditionStack.length-1-Math.abs(l||0),l>=0?this.conditionStack[l]:"INITIAL"},"topState"),pushState:o(function(l){this.begin(l)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(l,g,f,_){switch(f){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return j}();vt.lexer=Te;function mt(){this.yy={}}return o(mt,"Parser"),mt.prototype=vt,vt.Parser=mt,new mt}();Vt.parser=Vt;var De=Vt,V=_e(),gt,ze=(gt=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var n,u,c,h,p,y,S,a,A,d,T,m,q,b,x,O,Y,G;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((n=D.quadrantChart)==null?void 0:n.chartWidth)||500,chartWidth:((u=D.quadrantChart)==null?void 0:u.chartHeight)||500,titlePadding:((c=D.quadrantChart)==null?void 0:c.titlePadding)||10,titleFontSize:((h=D.quadrantChart)==null?void 0:h.titleFontSize)||20,quadrantPadding:((p=D.quadrantChart)==null?void 0:p.quadrantPadding)||5,xAxisLabelPadding:((y=D.quadrantChart)==null?void 0:y.xAxisLabelPadding)||5,yAxisLabelPadding:((S=D.quadrantChart)==null?void 0:S.yAxisLabelPadding)||5,xAxisLabelFontSize:((a=D.quadrantChart)==null?void 0:a.xAxisLabelFontSize)||16,yAxisLabelFontSize:((A=D.quadrantChart)==null?void 0:A.yAxisLabelFontSize)||16,quadrantLabelFontSize:((d=D.quadrantChart)==null?void 0:d.quadrantLabelFontSize)||16,quadrantTextTopPadding:((T=D.quadrantChart)==null?void 0:T.quadrantTextTopPadding)||5,pointTextPadding:((m=D.quadrantChart)==null?void 0:m.pointTextPadding)||5,pointLabelFontSize:((q=D.quadrantChart)==null?void 0:q.pointLabelFontSize)||12,pointRadius:((b=D.quadrantChart)==null?void 0:b.pointRadius)||5,xAxisPosition:((x=D.quadrantChart)==null?void 0:x.xAxisPosition)||"top",yAxisPosition:((O=D.quadrantChart)==null?void 0:O.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((Y=D.quadrantChart)==null?void 0:Y.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((G=D.quadrantChart)==null?void 0:G.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:V.quadrant1Fill,quadrant2Fill:V.quadrant2Fill,quadrant3Fill:V.quadrant3Fill,quadrant4Fill:V.quadrant4Fill,quadrant1TextFill:V.quadrant1TextFill,quadrant2TextFill:V.quadrant2TextFill,quadrant3TextFill:V.quadrant3TextFill,quadrant4TextFill:V.quadrant4TextFill,quadrantPointFill:V.quadrantPointFill,quadrantPointTextFill:V.quadrantPointTextFill,quadrantXAxisTextFill:V.quadrantXAxisTextFill,quadrantYAxisTextFill:V.quadrantYAxisTextFill,quadrantTitleFill:V.quadrantTitleFill,quadrantInternalBorderStrokeFill:V.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:V.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,At.info("clear called")}setData(n){this.data={...this.data,...n}}addPoints(n){this.data.points=[...n,...this.data.points]}addClass(n,u){this.classes.set(n,u)}setConfig(n){At.trace("setConfig called with: ",n),this.config={...this.config,...n}}setThemeConfig(n){At.trace("setThemeConfig called with: ",n),this.themeConfig={...this.themeConfig,...n}}calculateSpace(n,u,c,h){const p=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,y={top:n==="top"&&u?p:0,bottom:n==="bottom"&&u?p:0},S=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,a={left:this.config.yAxisPosition==="left"&&c?S:0,right:this.config.yAxisPosition==="right"&&c?S:0},A=this.config.titleFontSize+this.config.titlePadding*2,d={top:h?A:0},T=this.config.quadrantPadding+a.left,m=this.config.quadrantPadding+y.top+d.top,q=this.config.chartWidth-this.config.quadrantPadding*2-a.left-a.right,b=this.config.chartHeight-this.config.quadrantPadding*2-y.top-y.bottom-d.top,x=q/2,O=b/2;return{xAxisSpace:y,yAxisSpace:a,titleSpace:d,quadrantSpace:{quadrantLeft:T,quadrantTop:m,quadrantWidth:q,quadrantHalfWidth:x,quadrantHeight:b,quadrantHalfHeight:O}}}getAxisLabels(n,u,c,h){const{quadrantSpace:p,titleSpace:y}=h,{quadrantHalfHeight:S,quadrantHeight:a,quadrantLeft:A,quadrantHalfWidth:d,quadrantTop:T,quadrantWidth:m}=p,q=!!this.data.xAxisRightText,b=!!this.data.yAxisTopText,x=[];return this.data.xAxisLeftText&&u&&x.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:A+(q?d/2:0),y:n==="top"?this.config.xAxisLabelPadding+y.top:this.config.xAxisLabelPadding+T+a+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:q?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&u&&x.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:A+d+(q?d/2:0),y:n==="top"?this.config.xAxisLabelPadding+y.top:this.config.xAxisLabelPadding+T+a+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:q?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&c&&x.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+A+m+this.config.quadrantPadding,y:T+a-(b?S/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:b?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&c&&x.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+A+m+this.config.quadrantPadding,y:T+S-(b?S/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:b?"center":"left",horizontalPos:"top",rotation:-90}),x}getQuadrants(n){const{quadrantSpace:u}=n,{quadrantHalfHeight:c,quadrantLeft:h,quadrantHalfWidth:p,quadrantTop:y}=u,S=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:h+p,y,width:p,height:c,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:h,y,width:p,height:c,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:h,y:y+c,width:p,height:c,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:h+p,y:y+c,width:p,height:c,fill:this.themeConfig.quadrant4Fill}];for(const a of S)a.text.x=a.x+a.width/2,this.data.points.length===0?(a.text.y=a.y+a.height/2,a.text.horizontalPos="middle"):(a.text.y=a.y+this.config.quadrantTextTopPadding,a.text.horizontalPos="top");return S}getQuadrantPoints(n){const{quadrantSpace:u}=n,{quadrantHeight:c,quadrantLeft:h,quadrantTop:p,quadrantWidth:y}=u,S=ee().domain([0,1]).range([h,y+h]),a=ee().domain([0,1]).range([c+p,p]);return this.data.points.map(d=>{const T=this.classes.get(d.className);return T&&(d={...T,...d}),{x:S(d.x),y:a(d.y),fill:d.color??this.themeConfig.quadrantPointFill,radius:d.radius??this.config.pointRadius,text:{text:d.text,fill:this.themeConfig.quadrantPointTextFill,x:S(d.x),y:a(d.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:d.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:d.strokeWidth??"0px"}})}getBorders(n){const u=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:c}=n,{quadrantHalfHeight:h,quadrantHeight:p,quadrantLeft:y,quadrantHalfWidth:S,quadrantTop:a,quadrantWidth:A}=c;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:y-u,y1:a,x2:y+A+u,y2:a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:y+A,y1:a+u,x2:y+A,y2:a+p-u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:y-u,y1:a+p,x2:y+A+u,y2:a+p},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:y,y1:a+u,x2:y,y2:a+p-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:y+S,y1:a+u,x2:y+S,y2:a+p-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:y+u,y1:a+h,x2:y+A-u,y2:a+h}]}getTitle(n){if(n)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const n=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),u=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),c=this.config.showTitle&&!!this.data.titleText,h=this.data.points.length>0?"bottom":this.config.xAxisPosition,p=this.calculateSpace(h,n,u,c);return{points:this.getQuadrantPoints(p),quadrants:this.getQuadrants(p),axisLabels:this.getAxisLabels(h,n,u,p),borderLines:this.getBorders(p),title:this.getTitle(c)}}},o(gt,"QuadrantBuilder"),gt),pt,_t=(pt=class extends Error{constructor(n,u,c){super(`value for ${n} ${u} is invalid, please use a valid ${c}`),this.name="InvalidStyleError"}},o(pt,"InvalidStyleError"),pt);function It(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}o(It,"validateHexCode");function ae(t){return!/^\d+$/.test(t)}o(ae,"validateNumber");function ne(t){return!/^\d+px$/.test(t)}o(ne,"validateSizeInPixels");var Ve=wt();function Q(t){return Ae(t.trim(),Ve)}o(Q,"textSanitizer");var z=new ze;function se(t){z.setData({quadrant1Text:Q(t.text)})}o(se,"setQuadrant1Text");function re(t){z.setData({quadrant2Text:Q(t.text)})}o(re,"setQuadrant2Text");function oe(t){z.setData({quadrant3Text:Q(t.text)})}o(oe,"setQuadrant3Text");function le(t){z.setData({quadrant4Text:Q(t.text)})}o(le,"setQuadrant4Text");function he(t){z.setData({xAxisLeftText:Q(t.text)})}o(he,"setXAxisLeftText");function ce(t){z.setData({xAxisRightText:Q(t.text)})}o(ce,"setXAxisRightText");function de(t){z.setData({yAxisTopText:Q(t.text)})}o(de,"setYAxisTopText");function ue(t){z.setData({yAxisBottomText:Q(t.text)})}o(ue,"setYAxisBottomText");function kt(t){const n={};for(const u of t){const[c,h]=u.trim().split(/\s*:\s*/);if(c==="radius"){if(ae(h))throw new _t(c,h,"number");n.radius=parseInt(h)}else if(c==="color"){if(It(h))throw new _t(c,h,"hex code");n.color=h}else if(c==="stroke-color"){if(It(h))throw new _t(c,h,"hex code");n.strokeColor=h}else if(c==="stroke-width"){if(ne(h))throw new _t(c,h,"number of pixels (eg. 10px)");n.strokeWidth=h}else throw new Error(`style named ${c} is not supported.`)}return n}o(kt,"parseStyles");function xe(t,n,u,c,h){const p=kt(h);z.addPoints([{x:u,y:c,text:Q(t.text),className:n,...p}])}o(xe,"addPoint");function fe(t,n){z.addClass(t,kt(n))}o(fe,"addClass");function ge(t){z.setConfig({chartWidth:t})}o(ge,"setWidth");function pe(t){z.setConfig({chartHeight:t})}o(pe,"setHeight");function ye(){const t=wt(),{themeVariables:n,quadrantChart:u}=t;return u&&z.setConfig(u),z.setThemeConfig({quadrant1Fill:n.quadrant1Fill,quadrant2Fill:n.quadrant2Fill,quadrant3Fill:n.quadrant3Fill,quadrant4Fill:n.quadrant4Fill,quadrant1TextFill:n.quadrant1TextFill,quadrant2TextFill:n.quadrant2TextFill,quadrant3TextFill:n.quadrant3TextFill,quadrant4TextFill:n.quadrant4TextFill,quadrantPointFill:n.quadrantPointFill,quadrantPointTextFill:n.quadrantPointTextFill,quadrantXAxisTextFill:n.quadrantXAxisTextFill,quadrantYAxisTextFill:n.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:n.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:n.quadrantInternalBorderStrokeFill,quadrantTitleFill:n.quadrantTitleFill}),z.setData({titleText:ie()}),z.build()}o(ye,"getQuadrantData");var Ie=o(function(){z.clear(),Le()},"clear"),we={setWidth:ge,setHeight:pe,setQuadrant1Text:se,setQuadrant2Text:re,setQuadrant3Text:oe,setQuadrant4Text:le,setXAxisLeftText:he,setXAxisRightText:ce,setYAxisTopText:de,setYAxisBottomText:ue,parseStyles:kt,addPoint:xe,addClass:fe,getQuadrantData:ye,clear:Ie,setAccTitle:ke,getAccTitle:Fe,setDiagramTitle:Pe,getDiagramTitle:ie,getAccDescription:ve,setAccDescription:Ce},Be=o((t,n,u,c)=>{var dt,ut,xt;function h(i){return i==="top"?"hanging":"middle"}o(h,"getDominantBaseLine");function p(i){return i==="left"?"start":"middle"}o(p,"getTextAnchor");function y(i){return`translate(${i.x}, ${i.y}) rotate(${i.rotation||0})`}o(y,"getTransformation");const S=wt();At.debug(`Rendering quadrant chart +`+t);const a=S.securityLevel;let A;a==="sandbox"&&(A=zt("#i"+n));const T=(a==="sandbox"?zt(A.nodes()[0].contentDocument.body):zt("body")).select(`[id="${n}"]`),m=T.append("g").attr("class","main"),q=((dt=S.quadrantChart)==null?void 0:dt.chartWidth)??500,b=((ut=S.quadrantChart)==null?void 0:ut.chartHeight)??500;Ee(T,b,q,((xt=S.quadrantChart)==null?void 0:xt.useMaxWidth)??!0),T.attr("viewBox","0 0 "+q+" "+b),c.db.setHeight(b),c.db.setWidth(q);const x=c.db.getQuadrantData(),O=m.append("g").attr("class","quadrants"),Y=m.append("g").attr("class","border"),G=m.append("g").attr("class","data-points"),yt=m.append("g").attr("class","labels"),Tt=m.append("g").attr("class","title");x.title&&Tt.append("text").attr("x",0).attr("y",0).attr("fill",x.title.fill).attr("font-size",x.title.fontSize).attr("dominant-baseline",h(x.title.horizontalPos)).attr("text-anchor",p(x.title.verticalPos)).attr("transform",y(x.title)).text(x.title.text),x.borderLines&&Y.selectAll("line").data(x.borderLines).enter().append("line").attr("x1",i=>i.x1).attr("y1",i=>i.y1).attr("x2",i=>i.x2).attr("y2",i=>i.y2).style("stroke",i=>i.strokeFill).style("stroke-width",i=>i.strokeWidth);const ht=O.selectAll("g.quadrant").data(x.quadrants).enter().append("g").attr("class","quadrant");ht.append("rect").attr("x",i=>i.x).attr("y",i=>i.y).attr("width",i=>i.width).attr("height",i=>i.height).attr("fill",i=>i.fill),ht.append("text").attr("x",0).attr("y",0).attr("fill",i=>i.text.fill).attr("font-size",i=>i.text.fontSize).attr("dominant-baseline",i=>h(i.text.horizontalPos)).attr("text-anchor",i=>p(i.text.verticalPos)).attr("transform",i=>y(i.text)).text(i=>i.text.text),yt.selectAll("g.label").data(x.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(i=>i.text).attr("fill",i=>i.fill).attr("font-size",i=>i.fontSize).attr("dominant-baseline",i=>h(i.horizontalPos)).attr("text-anchor",i=>p(i.verticalPos)).attr("transform",i=>y(i));const ct=G.selectAll("g.data-point").data(x.points).enter().append("g").attr("class","data-point");ct.append("circle").attr("cx",i=>i.x).attr("cy",i=>i.y).attr("r",i=>i.radius).attr("fill",i=>i.fill).attr("stroke",i=>i.strokeColor).attr("stroke-width",i=>i.strokeWidth),ct.append("text").attr("x",0).attr("y",0).text(i=>i.text.text).attr("fill",i=>i.text.fill).attr("font-size",i=>i.text.fontSize).attr("dominant-baseline",i=>h(i.text.horizontalPos)).attr("text-anchor",i=>p(i.text.verticalPos)).attr("transform",i=>y(i.text))},"draw"),Re={draw:Be},Me={parser:De,db:we,renderer:Re,styles:o(()=>"","styles")};export{Me as diagram}; diff --git a/_nuxt/BFGZpWx_.js b/_nuxt/BFGZpWx_.js deleted file mode 100644 index 78b5f1f70..000000000 --- a/_nuxt/BFGZpWx_.js +++ /dev/null @@ -1 +0,0 @@ -import{h as i,ae as c,j as p,o as s,c as n,I as u,r as t}from"./ZI84DZB4.js";const f=["id"],l=["href"],k=i({__name:"ProseH3",props:{id:{}},setup(r){const a=r,{headings:o}=c().public.mdc,d=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h3)});return(e,m)=>(s(),n("h3",{id:e.id},[e.id&&u(d)?(s(),n("a",{key:0,href:`#${e.id}`},[t(e.$slots,"default")],8,l)):t(e.$slots,"default",{key:1})],8,f))}});export{k as default}; diff --git a/_nuxt/BFdqArbZ.js b/_nuxt/BFdqArbZ.js deleted file mode 100644 index 37614f3f6..000000000 --- a/_nuxt/BFdqArbZ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,o as r,c as s,r as t}from"./ZI84DZB4.js";const c={};function n(e,l){return r(),s("ol",null,[t(e.$slots,"default")])}const _=o(c,[["render",n]]);export{_ as default}; diff --git a/_nuxt/BH-Vtj6c.js b/_nuxt/BH-Vtj6c.js new file mode 100644 index 000000000..0d1e76cf4 --- /dev/null +++ b/_nuxt/BH-Vtj6c.js @@ -0,0 +1 @@ +import{b9 as I,ba as Rn,bb as w,aO as T,aN as sn,bc as xn,bd as Mn,be as mn,bf as un,bg as x,aL as G,bh as Fn,bi as on,bj as Cn,bk as S,bl as R,b7 as gn,aJ as ln,bm as Dn,bn as D,bo as Nn,bp as Gn,bq as _,aR as Un,br as Bn,aM as Kn,bs as J,bt as jn,bu as Hn,aQ as Yn,aP as cn,b5 as qn,bv as m}from"./BN9GDn3H.js";var Zn="[object Symbol]";function U(n){return typeof n=="symbol"||I(n)&&Rn(n)==Zn}function bn(n,r){for(var e=-1,t=n==null?0:n.length,a=Array(t);++e-1}function $(n){return sn(n)?xn(n):Mn(n)}var nr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||U(n)?!0:rr.test(n)||!nr.test(n)||r!=null&&n in Object(r)}var er=500;function tr(n){var r=mn(n,function(t){return e.size===er&&e.clear(),t}),e=r.cache;return r}var ir=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ar=/\\(\\)?/g,fr=tr(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(ir,function(e,t,a,i){r.push(a?i.replace(ar,"$1"):t||e)}),r});function sr(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:B(n,r)?[n]:fr(sr(n))}var ur=1/0;function M(n){if(typeof n=="string"||U(n))return n;var r=n+"";return r=="0"&&1/n==-ur?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&es))return!1;var b=i.get(n),l=i.get(r);if(b&&l)return b==r&&l==n;var o=-1,c=!0,h=e&Re?new E:void 0;for(i.set(n,r),i.set(r,n);++o=Ot){var b=r?null:wt(n);if(b)return H(b);f=!1,a=Sn,u=new E}else u=r?[]:s;n:for(;++t{var e;return(e=t.value)==null?void 0:e.includes("/_")}),p=!N().public.content.experimental.advanceQuery;_(()=>a,()=>n(),{deep:!0});const i=e=>p?e!=null&&e.surround?e.surround:e!=null&&e._id||Array.isArray(e)?e:e==null?void 0:e.result:e.result,{data:v,refresh:n}=await g(`content-query-${O(a)}`,()=>{let e;return t.value?e=m(t.value):e=m(),r.value&&(e=e.only(r.value)),o.value&&(e=e.without(o.value)),u.value&&(e=e.where(u.value)),f.value&&(e=e.sort(f.value)),l.value&&(e=e.limit(l.value)),d.value&&(e=e.skip(d.value)),s.value&&(e=e.where({_locale:s.value})),h.value==="one"?e.findOne().then(i):h.value==="surround"?t.value?p?e.findSurround(t.value):e.withSurround(t.value).findOne().then(i):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find().then(i)):e.find().then(i)});return{isPartial:y,data:v,refresh:n}},render(a){var c;const t=k(),{data:r,refresh:o,isPartial:u,path:f,only:l,without:d,where:s,sort:h,limit:y,skip:p,locale:i,find:v}=a,n={path:f,only:l,without:d,where:s,sort:h,limit:y,skip:p,locale:i,find:v};if(n.find==="one"){if(!r&&(t!=null&&t["not-found"]))return t["not-found"]({props:n,...this.$attrs});if(t!=null&&t.empty&&(r==null?void 0:r._type)==="markdown"&&!((c=r==null?void 0:r.body)!=null&&c.children.length))return t.empty({props:n,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:n,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:o,isPartial:u,props:n,...this.$attrs}):((w,q)=>A("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:u})}}),J=Q;export{J as default}; diff --git a/_nuxt/BIVkUQcf.js b/_nuxt/BIVkUQcf.js new file mode 100644 index 000000000..bc8acc4b1 --- /dev/null +++ b/_nuxt/BIVkUQcf.js @@ -0,0 +1 @@ +import{_ as f}from"./BhaonjGO.js";import{d as l,w as s,u as d,h as c}from"./DzgF3Vew.js";import"./C-v3KzvZ.js";import"./1XwWt0dk.js";import"./IShi1APO.js";const _=l({name:"ContentRenderer",props:{value:{type:Object,required:!1,default:()=>({})},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"}},setup(t){s(()=>t.excerpt,n=>{var e,u,i;n&&!((e=t.value)!=null&&e.excerpt)&&(console.warn(`No excerpt found for document content/${(u=t==null?void 0:t.value)==null?void 0:u._path}.${(i=t==null?void 0:t.value)==null?void 0:i._extension}!`),console.warn("Make sure to use in your content if you want to use excerpt feature."))},{immediate:!0})},render(t){var a,o;const n=d(),{value:e,excerpt:u,tag:i}=t,r=u?e==null?void 0:e.excerpt:e==null?void 0:e.body;return!((a=r==null?void 0:r.children)!=null&&a.length)&&(n!=null&&n.empty)?n.empty({value:e,excerpt:u,tag:i,...this.$attrs}):n!=null&&n.default?n.default({value:e,excerpt:u,tag:i,...this.$attrs}):(r==null?void 0:r.type)==="root"&&((o=r==null?void 0:r.children)!=null&&o.length)?c(f,{value:e,excerpt:u,tag:i,...this.$attrs}):c("pre",null,JSON.stringify({message:"You should use slots with ",value:e,excerpt:u,tag:i},null,2))}});export{_ as default}; diff --git a/_nuxt/BJOqsctX.js b/_nuxt/BJOqsctX.js deleted file mode 100644 index bd5c13ccd..000000000 --- a/_nuxt/BJOqsctX.js +++ /dev/null @@ -1 +0,0 @@ -import{au as _,ap as T,ae as D,an as W,D as B}from"./ZI84DZB4.js";import{g as b,b as j,c as E,o as k,d as J,f as $,h as P,i as M,k as H}from"./-yCMipV_.js";import{p as G}from"./C-v3KzvZ.js";import{u as U}from"./ny9-2f-j.js";import"./IShi1APO.js";const Z="memory",q=()=>{const t=new Map;return{name:Z,options:{},hasItem(r){return t.has(r)},getItem(r){return t.get(r)??null},getItemRaw(r){return t.get(r)??null},setItem(r,n){t.set(r,n)},setItemRaw(r,n){t.set(r,n)},removeItem(r){t.delete(r)},getKeys(){return Array.from(t.keys())},clear(){t.clear()},dispose(){t.clear()}}};function F(t){return!t||typeof t.then!="function"?Promise.resolve(t):t}function p(t,...r){try{return F(t(...r))}catch(n){return Promise.reject(n)}}function V(t){const r=typeof t;return t===null||r!=="object"&&r!=="function"}function Q(t){const r=Object.getPrototypeOf(t);return!r||r.isPrototypeOf(Object)}function K(t){if(V(t))return String(t);if(Q(t)||Array.isArray(t))return JSON.stringify(t);if(typeof t.toJSON=="function")return K(t.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function z(){if(typeof Buffer===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const R="base64:";function X(t){if(typeof t=="string")return t;z();const r=Buffer.from(t).toString("base64");return R+r}function ee(t){return typeof t!="string"||!t.startsWith(R)?t:(z(),Buffer.from(t.slice(R.length),"base64"))}const te=["hasItem","getItem","getItemRaw","setItem","setItemRaw","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function re(t,r){if(r=A(r),!r)return t;const n={...t};for(const a of te)n[a]=(l="",...c)=>t[a](r+l,...c);return n.getKeys=(a="",...l)=>t.getKeys(r+a,...l).then(c=>c.map(o=>o.slice(r.length))),n}function d(t){return t?t.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function ne(...t){return d(t.join(":"))}function A(t){return t=d(t),t?t+":":""}const ie="memory",ae=()=>{const t=new Map;return{name:ie,options:{},hasItem(r){return t.has(r)},getItem(r){return t.get(r)??null},getItemRaw(r){return t.get(r)??null},setItem(r,n){t.set(r,n)},setItemRaw(r,n){t.set(r,n)},removeItem(r){t.delete(r)},getKeys(){return Array.from(t.keys())},clear(){t.clear()},dispose(){t.clear()}}};function se(t={}){const r={mounts:{"":t.driver||ae()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(const i of r.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:r.mounts[i]};return{base:"",relativeKey:e,driver:r.mounts[""]}},a=(e,i)=>r.mountpoints.filter(s=>s.startsWith(e)||i&&e.startsWith(s)).map(s=>({relativeBase:e.length>s.length?e.slice(s.length):void 0,mountpoint:s,driver:r.mounts[s]})),l=(e,i)=>{if(r.watching){i=d(i);for(const s of r.watchListeners)s(e,i)}},c=async()=>{if(!r.watching){r.watching=!0;for(const e in r.mounts)r.unwatch[e]=await x(r.mounts[e],l,e)}},o=async()=>{if(r.watching){for(const e in r.unwatch)await r.unwatch[e]();r.unwatch={},r.watching=!1}},h=(e,i,s)=>{const u=new Map,f=m=>{let y=u.get(m.base);return y||(y={driver:m.driver,base:m.base,items:[]},u.set(m.base,y)),y};for(const m of e){const y=typeof m=="string",v=d(y?m:m.key),w=y?void 0:m.value,I=y||!m.options?i:{...i,...m.options},O=n(v);f(O).items.push({key:v,value:w,relativeKey:O.relativeKey,options:I})}return Promise.all([...u.values()].map(m=>s(m))).then(m=>m.flat())},g={hasItem(e,i={}){e=d(e);const{relativeKey:s,driver:u}=n(e);return p(u.hasItem,s,i)},getItem(e,i={}){e=d(e);const{relativeKey:s,driver:u}=n(e);return p(u.getItem,s,i).then(f=>_(f))},getItems(e,i){return h(e,i,s=>s.driver.getItems?p(s.driver.getItems,s.items.map(u=>({key:u.relativeKey,options:u.options})),i).then(u=>u.map(f=>({key:ne(s.base,f.key),value:_(f.value)}))):Promise.all(s.items.map(u=>p(s.driver.getItem,u.relativeKey,u.options).then(f=>({key:u.key,value:_(f)})))))},getItemRaw(e,i={}){e=d(e);const{relativeKey:s,driver:u}=n(e);return u.getItemRaw?p(u.getItemRaw,s,i):p(u.getItem,s,i).then(f=>ee(f))},async setItem(e,i,s={}){if(i===void 0)return g.removeItem(e);e=d(e);const{relativeKey:u,driver:f}=n(e);f.setItem&&(await p(f.setItem,u,K(i),s),f.watch||l("update",e))},async setItems(e,i){await h(e,i,async s=>{if(s.driver.setItems)return p(s.driver.setItems,s.items.map(u=>({key:u.relativeKey,value:K(u.value),options:u.options})),i);s.driver.setItem&&await Promise.all(s.items.map(u=>p(s.driver.setItem,u.relativeKey,K(u.value),u.options)))})},async setItemRaw(e,i,s={}){if(i===void 0)return g.removeItem(e,s);e=d(e);const{relativeKey:u,driver:f}=n(e);if(f.setItemRaw)await p(f.setItemRaw,u,i,s);else if(f.setItem)await p(f.setItem,u,X(i),s);else return;f.watch||l("update",e)},async removeItem(e,i={}){typeof i=="boolean"&&(i={removeMeta:i}),e=d(e);const{relativeKey:s,driver:u}=n(e);u.removeItem&&(await p(u.removeItem,s,i),(i.removeMeta||i.removeMata)&&await p(u.removeItem,s+"$",i),u.watch||l("remove",e))},async getMeta(e,i={}){typeof i=="boolean"&&(i={nativeOnly:i}),e=d(e);const{relativeKey:s,driver:u}=n(e),f=Object.create(null);if(u.getMeta&&Object.assign(f,await p(u.getMeta,s,i)),!i.nativeOnly){const m=await p(u.getItem,s+"$",i).then(y=>_(y));m&&typeof m=="object"&&(typeof m.atime=="string"&&(m.atime=new Date(m.atime)),typeof m.mtime=="string"&&(m.mtime=new Date(m.mtime)),Object.assign(f,m))}return f},setMeta(e,i,s={}){return this.setItem(e+"$",i,s)},removeMeta(e,i={}){return this.removeItem(e+"$",i)},async getKeys(e,i={}){e=A(e);const s=a(e,!0);let u=[];const f=[];for(const m of s){const v=(await p(m.driver.getKeys,m.relativeBase,i)).map(w=>m.mountpoint+d(w)).filter(w=>!u.some(I=>w.startsWith(I)));f.push(...v),u=[m.mountpoint,...u.filter(w=>!w.startsWith(m.mountpoint))]}return e?f.filter(m=>m.startsWith(e)&&!m.endsWith("$")):f.filter(m=>!m.endsWith("$"))},async clear(e,i={}){e=A(e),await Promise.all(a(e,!1).map(async s=>{if(s.driver.clear)return p(s.driver.clear,s.relativeBase,i);if(s.driver.removeItem){const u=await s.driver.getKeys(s.relativeBase||"",i);return Promise.all(u.map(f=>s.driver.removeItem(f,i)))}}))},async dispose(){await Promise.all(Object.values(r.mounts).map(e=>L(e)))},async watch(e){return await c(),r.watchListeners.push(e),async()=>{r.watchListeners=r.watchListeners.filter(i=>i!==e),r.watchListeners.length===0&&await o()}},async unwatch(){r.watchListeners=[],await o()},mount(e,i){if(e=A(e),e&&r.mounts[e])throw new Error(`already mounted at ${e}`);return e&&(r.mountpoints.push(e),r.mountpoints.sort((s,u)=>u.length-s.length)),r.mounts[e]=i,r.watching&&Promise.resolve(x(i,l,e)).then(s=>{r.unwatch[e]=s}).catch(console.error),g},async unmount(e,i=!0){e=A(e),!(!e||!r.mounts[e])&&(r.watching&&e in r.unwatch&&(r.unwatch[e](),delete r.unwatch[e]),i&&await L(r.mounts[e]),r.mountpoints=r.mountpoints.filter(s=>s!==e),delete r.mounts[e])},getMount(e=""){e=d(e)+":";const i=n(e);return{driver:i.driver,base:i.base}},getMounts(e="",i={}){return e=d(e),a(e,i.parents).map(u=>({driver:u.driver,base:u.mountpoint}))}};return g}function x(t,r,n){return t.watch?t.watch((a,l)=>r(a,n+l)):()=>{}}async function L(t){typeof t.dispose=="function"&&await p(t.dispose)}function oe(t={}){const r=ue(n,t.operators);function n(a,l){return typeof l!="object"||l instanceof RegExp?r.$eq(a,l):Object.keys(l||{}).every(c=>{const o=l[c];if(c.startsWith("$")&&r[c]){const h=r[c];return typeof h=="function"?h(a,o):!1}return n(b(a,c),o)})}return n}function ue(t,r={}){return{$match:(n,a)=>t(n,a),$eq:(n,a)=>a instanceof RegExp?a.test(n):n===a,$ne:(n,a)=>a instanceof RegExp?!a.test(n):n!==a,$not:(n,a)=>!t(n,a),$and:(n,a)=>(j(a,"$and requires an array as condition"),a.every(l=>t(n,l))),$or:(n,a)=>(j(a,"$or requires an array as condition"),a.some(l=>t(n,l))),$in:(n,a)=>E(a).some(l=>Array.isArray(n)?t(n,{$contains:l}):t(n,l)),$contains:(n,a)=>(n=Array.isArray(n)?n:String(n),E(a).every(l=>n.includes(l))),$icontains:(n,a)=>{if(typeof a!="string")throw new TypeError("$icontains requires a string, use $contains instead");return n=String(n).toLocaleLowerCase(),E(a).every(l=>n.includes(l.toLocaleLowerCase()))},$containsAny:(n,a)=>(j(a,"$containsAny requires an array as condition"),n=Array.isArray(n)?n:String(n),a.some(l=>n.includes(l))),$exists:(n,a)=>a?typeof n<"u":typeof n>"u",$type:(n,a)=>typeof n===String(a),$regex:(n,a)=>{if(!(a instanceof RegExp)){const l=String(a).match(/\/(.*)\/([dgimsuy]*)$/);a=l?new RegExp(l[1],l[2]||""):new RegExp(a)}return a.test(String(n||""))},$lt:(n,a)=>nn<=a,$gt:(n,a)=>n>a,$gte:(n,a)=>n>=a,...r||{}}}function ce(t){const r=oe(),n=(c,{query:o,before:h,after:g})=>{const e=typeof o=="string"?{_path:o}:o,i=c.findIndex(u=>r(u,e));h=h??1,g=g??1;const s=new Array(h+g).fill(null,0);return i===-1?s:s.map((u,f)=>c[i-h+f+ +(f>=h)]||null)},a=[(c,o)=>{const h=c.result.filter(g=>E(o.where).every(e=>r(g,e)));return{...c,result:h,total:h.length}},(c,o)=>E(o.sort).forEach(h=>J(c.result,h)),function(o,h,g){var e;if(h.surround){let i=n(((e=o.result)==null?void 0:e.length)===1?g:o.result,h.surround);i=$(P(h.without))(i),i=$(M(h.only))(i),o.surround=i}return o}],l=[(c,o)=>{if(o.skip)return{...c,result:c.result.slice(o.skip),skip:o.skip}},(c,o)=>{if(o.limit)return{...c,result:c.result.slice(0,o.limit),limit:o.limit}},function(o,h,g){var e,i,s;if(h.dirConfig){const u=((e=o.result[0])==null?void 0:e._path)||((s=(i=h.where)==null?void 0:i.find(f=>f._path))==null?void 0:s._path);if(typeof u=="string"){const f=g.find(m=>m._path===T(u,"_dir"));f&&(o.dirConfig={_path:f._path,...P(["_"])(f)})}}return o},(c,o)=>({...c,result:$(P(o.without))(c.result)}),(c,o)=>({...c,result:$(M(o.only))(c.result)})];return async c=>{const o=await t(),h=c.params(),g={result:o,limit:0,skip:0,total:o.length},e=a.reduce((s,u)=>u(s,h,o)||s,g);if(h.count)return{result:e.result.length};const i=l.reduce((s,u)=>u(s,h,o)||s,e);return h.first?{...k(["skip","limit","total"])(i),result:i.result[0]}:i}}function N(t){const r=ce(t);return async n=>{var c;n.params().first&&n.withDirConfig();const a=n.params(),l=await r(n);return a.surround?l==null?void 0:l.surround:(l!=null&&l.dirConfig&&(l.result={_path:(c=l.dirConfig)==null?void 0:c._path,...l.result,_dir:l.dirConfig}),l==null?void 0:l.result)}}var le=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},fe={exports:{}};(function(t,r){(function(n,a,l){t.exports=l(),t.exports.default=l()})("slugify",le,function(){var n=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),a=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function l(c,o){if(typeof c!="string")throw new Error("slugify: string argument expected");o=typeof o=="string"?{replacement:o}:o||{};var h=a[o.locale]||{},g=o.replacement===void 0?"-":o.replacement,e=o.trim===void 0?!0:o.trim,i=c.normalize().split("").reduce(function(s,u){var f=h[u];return f===void 0&&(f=n[u]),f===void 0&&(f=u),f===g&&(f=" "),s+f.replace(o.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return o.strict&&(i=i.replace(/[^A-Za-z0-9\s]/g,"")),e&&(i=i.trim()),i=i.replace(/\s+/g,g),o.lower&&(i=i.toLowerCase()),i}return l.extend=function(c){Object.assign(n,c)},l})})(fe);const me=t=>t.split(/[\s-]/g).map(G).join(" ");function he(t,r){const{navigation:n}=D().public.content;if(n===!1)return[];const a=c=>({...pe(["title",...n.fields])(c),...de(c==null?void 0:c.navigation)?c.navigation:{}}),l=t.sort((c,o)=>c._path.localeCompare(o._path)).reduce((c,o)=>{const h=o._path.substring(1).split("/"),g=o._id.split(":").slice(1),e=!!g[g.length-1].match(/([1-9][0-9]*\.)?index.md/g),i=f=>({title:f.title,_path:f._path,_file:f._file,children:[],...a(f),...f._draft?{_draft:!0}:{}}),s=i(o);if(e){const f=r[s._path];if(typeof(f==null?void 0:f.navigation)<"u"&&!(f!=null&&f.navigation))return c;if(o._path!=="/"){const m=i(o);s.children.push(m)}Object.assign(s,a(f))}return h.length===1?(c.push(s),c):(h.slice(0,-1).reduce((f,m,y)=>{const v="/"+h.slice(0,y+1).join("/"),w=r[v];if(typeof(w==null?void 0:w.navigation)<"u"&&!w.navigation)return[];let I=f.find(O=>O._path===v);return I||(I={title:me(m),_path:v,_file:o._file,children:[],...a(w)},f.push(I)),I.children},c).push(s),c)},[]);return Y(l)}const ge=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function Y(t){var n;t.forEach(a=>{a._file=a._file.split(".").slice(0,-1).join(".")});const r=t.sort((a,l)=>ge.compare(a._file,l._file));for(const a of r)(n=a.children)!=null&&n.length?Y(a.children):delete a.children,delete a._file;return t}function pe(t){return r=>(r=r||{},t&&t.length?t.filter(n=>typeof r[n]<"u").reduce((n,a)=>Object.assign(n,{[a]:r[a]}),{}):r)}function de(t){return Object.prototype.toString.call(t)==="[object Object]"}const ye=t=>W(t,D().public.content.api.baseURL),we=re(se({driver:q()}),"@content");function ve(t){async function r(){const n=new Set(await t.getKeys("cache:")),a=U().getPreviewToken();if(a){const c=await t.getItem(`${a}$`).then(g=>g||{});if(Array.isArray(c.ignoreSources)){const g=c.ignoreSources.map(e=>`cache:${e.trim()}:`);for(const e of n)g.some(i=>e.startsWith(i))&&n.delete(e)}const o=await t.getKeys(`${a}:`),h=await Promise.all(o.map(g=>t.getItem(g)));for(const g of h)n.delete(`cache:${g._id}`),g.__deleted||n.add(`${a}:${g._id}`)}return await Promise.all(Array.from(n).map(c=>t.getItem(c)))}return{storage:t,fetch:N(r),query:n=>H(N(r),{initialParams:n,legacy:!0})}}let C=null,S=null;async function Ie(){return S?await S:C||(S=Ae(),C=await S),C}async function Ae(){const t=B(),{content:r}=D().public,n=ve(we),a=await n.storage.getItem("integrity");if(r.integrity!==+(a||0)){const{contents:l,navigation:c}=await $fetch(ye(r.integrity?`cache.${r.integrity}.json`:"cache.json"));await Promise.all(l.map(o=>n.storage.setItem(`cache:${o._id}`,o))),await n.storage.setItem("navigation",c),await n.storage.setItem("integrity",r.integrity)}return await t.callHook("content:storage",n.storage),n}async function Ke(t){const r=await Ie();if(!U().getPreviewToken()&&Object.keys(t||{}).length===0)return r.storage.getItem("navigation");const n=await r.query(t).where({_partial:!1,navigation:{$ne:!1}}).find(),l=(await r.query().where({_path:/\/_dir$/i,_partial:!0}).find()).reduce((c,o)=>{var g;((g=o.title)==null?void 0:g.toLowerCase())==="dir"&&(o.title=void 0);const h=o._path.split("/").slice(0,-1).join("/")||"/";return c[h]={...o,...o.body},c},{});return he(n,l)}export{we as contentStorage,ve as createDB,Ke as generateNavigation,Ie as useContentDatabase}; diff --git a/_nuxt/BJxZixah.js b/_nuxt/BJevMQrH.js similarity index 83% rename from _nuxt/BJxZixah.js rename to _nuxt/BJevMQrH.js index 8b15f5d6c..995178f64 100644 --- a/_nuxt/BJxZixah.js +++ b/_nuxt/BJevMQrH.js @@ -1,4 +1,4 @@ -import{Y as K,Z as $,j as _,$ as k,m as B,L as Y,a0 as J,y as P,O as I,E as L,C as j,K as Z,R as ee,_ as F,h as g,o as d,q as f,a1 as R,a2 as S,a3 as te,w as V,r as y,n as w,x as oe,a as ae,a4 as O,e as ne,g as M,i as se,k as ie,l as D,s as q,v as T,c as _e,t as le,a5 as ue,V as U,I as E,a6 as v,a7 as re,a8 as pe,a9 as ce,D as de,N as A,aa as me,S as fe,ab as ge,ac as be,ad as he}from"./ZI84DZB4.js";import{i as ye}from"./IShi1APO.js";const z={to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1}},we=e=>Object.keys(z).reduce((t,n)=>(e[n]!==void 0&&(t[n]=e[n]),t),{}),xe=(e,s,t,n,a=!1)=>{const o=K(),i=$(),r=_(()=>{var c;const u=k(s),b=k(t),m=k(n);return B((u==null?void 0:u.strategy)||((c=i.ui)==null?void 0:c.strategy),m?{wrapper:m}:{},u||{},a?Y(i.ui,e,{}):{},b||{})}),l=_(()=>J(o,["class"]));return{ui:r,attrs:l}};function ze(e){const t=`group-${L().uid}`,n=P({children:[],register(a){this.children.push(a)},unregister(a){const o=this.children.indexOf(a);o>-1&&this.children.splice(o,1)},...e});I(t,n)}function ve({ui:e,props:s}){const t=L();if(I("ButtonGroupContextConsumer",!0),j("ButtonGroupContextConsumer",!1))return{size:_(()=>s.size),rounded:_(()=>e.value.rounded)};let a=t.parent,o;for(;a&&!o;){if(a.type.name==="ButtonGroup"){o=j(`group-${a.uid}`);break}a=a.parent}const i=_(()=>o==null?void 0:o.value.children.indexOf(t));return Z(()=>{o==null||o.value.register(t)}),ee(()=>{o==null||o.value.unregister(t)}),{size:_(()=>o!=null&&o.value?(o==null?void 0:o.value.size)??e.value.default.size:s.size),rounded:_(()=>!o||i.value===-1?e.value.rounded:o.value.children.length===1?o.value.ui.rounded:i.value===0?o.value.rounded.start:i.value===o.value.children.length-1?o.value.rounded.end:"rounded-none")}}const Ae={base:"focus:outline-none focus-visible:outline-0 disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:cursor-not-allowed aria-disabled:opacity-75 flex-shrink-0",font:"font-medium",rounded:"rounded-md",truncate:"text-left break-all line-clamp-1",block:"w-full flex justify-center items-center",inline:"inline-flex items-center",size:{"2xs":"text-xs",xs:"text-xs",sm:"text-sm",md:"text-sm",lg:"text-sm",xl:"text-base"},gap:{"2xs":"gap-x-1",xs:"gap-x-1.5",sm:"gap-x-1.5",md:"gap-x-2",lg:"gap-x-2.5",xl:"gap-x-2.5"},padding:{"2xs":"px-2 py-1",xs:"px-2.5 py-1.5",sm:"px-2.5 py-1.5",md:"px-3 py-2",lg:"px-3.5 py-2.5",xl:"px-3.5 py-2.5"},square:{"2xs":"p-1",xs:"p-1.5",sm:"p-1.5",md:"p-2",lg:"p-2.5",xl:"p-2.5"},color:{white:{solid:"shadow-sm ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-900 dark:text-white bg-white hover:bg-gray-50 disabled:bg-white aria-disabled:bg-white dark:bg-gray-900 dark:hover:bg-gray-800/50 dark:disabled:bg-gray-900 dark:aria-disabled:bg-gray-900 focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400",ghost:"text-gray-900 dark:text-white hover:bg-white dark:hover:bg-gray-900 focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400"},gray:{solid:"shadow-sm ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-700 dark:text-gray-200 bg-gray-50 hover:bg-gray-100 disabled:bg-gray-50 aria-disabled:bg-gray-50 dark:bg-gray-800 dark:hover:bg-gray-700/50 dark:disabled:bg-gray-800 dark:aria-disabled:bg-gray-800 focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400",ghost:"text-gray-700 dark:text-gray-200 hover:text-gray-900 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-gray-800 focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400",link:"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 underline-offset-4 hover:underline focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400"},black:{solid:"shadow-sm text-white dark:text-gray-900 bg-gray-900 hover:bg-gray-800 disabled:bg-gray-900 aria-disabled:bg-gray-900 dark:bg-white dark:hover:bg-gray-100 dark:disabled:bg-white dark:aria-disabled:bg-white focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400",link:"text-gray-900 dark:text-white underline-offset-4 hover:underline focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400"}},variant:{solid:"shadow-sm text-white dark:text-gray-900 bg-{color}-500 hover:bg-{color}-600 disabled:bg-{color}-500 aria-disabled:bg-{color}-500 dark:bg-{color}-400 dark:hover:bg-{color}-500 dark:disabled:bg-{color}-400 dark:aria-disabled:bg-{color}-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-{color}-500 dark:focus-visible:outline-{color}-400",outline:"ring-1 ring-inset ring-current text-{color}-500 dark:text-{color}-400 hover:bg-{color}-50 disabled:bg-transparent aria-disabled:bg-transparent dark:hover:bg-{color}-950 dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus-visible:ring-2 focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400",soft:"text-{color}-500 dark:text-{color}-400 bg-{color}-50 hover:bg-{color}-100 disabled:bg-{color}-50 aria-disabled:bg-{color}-50 dark:bg-{color}-950 dark:hover:bg-{color}-900 dark:disabled:bg-{color}-950 dark:aria-disabled:bg-{color}-950 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400",ghost:"text-{color}-500 dark:text-{color}-400 hover:bg-{color}-50 disabled:bg-transparent aria-disabled:bg-transparent dark:hover:bg-{color}-950 dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400",link:"text-{color}-500 hover:text-{color}-600 disabled:text-{color}-500 aria-disabled:text-{color}-500 dark:text-{color}-400 dark:hover:text-{color}-500 dark:disabled:text-{color}-400 dark:aria-disabled:text-{color}-400 underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400"},icon:{base:"flex-shrink-0",loading:"animate-spin",size:{"2xs":"h-4 w-4",xs:"h-4 w-4",sm:"h-5 w-5",md:"h-5 w-5",lg:"h-5 w-5",xl:"h-6 w-6"}},default:{size:"sm",variant:"solid",color:"primary",loadingIcon:"i-heroicons-arrow-path-20-solid"}},Q={base:"invisible before:visible before:block before:rotate-45 before:z-[-1] before:w-2 before:h-2",ring:"before:ring-1 before:ring-gray-200 dark:before:ring-gray-800",rounded:"before:rounded-sm",background:"before:bg-gray-200 dark:before:bg-gray-800",shadow:"before:shadow",placement:"group-data-[popper-placement*='right']:-left-1 group-data-[popper-placement*='left']:-right-1 group-data-[popper-placement*='top']:-bottom-1 group-data-[popper-placement*='bottom']:-top-1"},N={container:"z-20 group",trigger:"flex items-center w-full",width:"w-full",height:"max-h-60",base:"relative focus:outline-none overflow-y-auto scroll-py-1",background:"bg-white dark:bg-gray-800",shadow:"shadow-lg",rounded:"rounded-md",padding:"p-1",ring:"ring-1 ring-gray-200 dark:ring-gray-700",empty:"text-sm text-gray-400 dark:text-gray-500 px-2 py-1.5",option:{base:"cursor-default select-none relative flex items-center justify-between gap-1",rounded:"rounded-md",padding:"px-1.5 py-1.5",size:"text-sm",color:"text-gray-900 dark:text-white",container:"flex items-center gap-1.5 min-w-0",active:"bg-gray-100 dark:bg-gray-900",inactive:"",selected:"pe-7",disabled:"cursor-not-allowed opacity-50",empty:"text-sm text-gray-400 dark:text-gray-500 px-2 py-1.5",icon:{base:"flex-shrink-0 h-5 w-5",active:"text-gray-900 dark:text-white",inactive:"text-gray-400 dark:text-gray-500"},selectedIcon:{wrapper:"absolute inset-y-0 end-0 flex items-center",padding:"pe-2",base:"h-5 w-5 text-gray-900 dark:text-white flex-shrink-0"},avatar:{base:"flex-shrink-0",size:"2xs"},chip:{base:"flex-shrink-0 w-2 h-2 mx-1 rounded-full"}},transition:{leaveActiveClass:"transition ease-in duration-100",leaveFromClass:"opacity-100",leaveToClass:"opacity-0"},popper:{placement:"bottom-end"},default:{selectedIcon:"i-heroicons-check-20-solid",trailingIcon:"i-heroicons-chevron-down-20-solid",empty:{label:"No options."},optionEmpty:{label:'No results for "{query}".'}},arrow:{...Q,ring:"before:ring-1 before:ring-gray-200 dark:before:ring-gray-700",background:"before:bg-white dark:before:bg-gray-700"}};({...N,option:{...N.option},arrow:{...Q}});const Ce=g({props:{name:{type:String,required:!0},mode:{type:String,required:!1,default:null},size:{type:[Number,String],required:!1,default:null},customize:{type:Function,required:!1,default:null}}});function ke(e,s,t,n,a,o){const i=te;return d(),f(i,R(S(e.$props)),null,16)}const W=F(Ce,[["render",ke]]),De=g({inheritAttrs:!1,props:{...z,as:{type:String,default:"button"},type:{type:String,default:"button"},disabled:{type:Boolean,default:null},active:{type:Boolean,default:void 0},exact:{type:Boolean,default:!1},exactQuery:{type:Boolean,default:!1},exactHash:{type:Boolean,default:!1},inactiveClass:{type:String,default:void 0}},setup(e){function s(t,n,{isActive:a,isExactActive:o}){return e.exactQuery&&!ye(t.query,n.query)||e.exactHash&&t.hash!==n.hash?e.inactiveClass:e.exact&&o||!e.exact&&a?e.activeClass:e.inactiveClass}return{resolveLinkClass:s}}}),qe=["href","aria-disabled","role","rel","target","tabindex","onClick"];function Te(e,s,t,n,a,o){const i=ne;return e.to?(d(),f(i,w({key:1},e.$props,{custom:""}),{default:V(({route:r,href:l,target:u,rel:b,navigate:m,isActive:c,isExactActive:x,isExternal:C})=>[ae("a",w(e.$attrs,{href:e.disabled?void 0:l,"aria-disabled":e.disabled?"true":void 0,role:e.disabled?"link":void 0,rel:b,target:u,class:e.active!==void 0?e.active?e.activeClass:e.inactiveClass:e.resolveLinkClass(r,e._.provides[O]||e.$route,{isActive:c,isExactActive:x}),tabindex:e.disabled?-1:void 0,onClick:h=>!C&&!e.disabled&&m(h)}),[y(e.$slots,"default",R(S({isActive:e.active!==void 0?e.active:e.exact?x:c})))],16,qe)]),_:3},16)):(d(),f(oe(e.as),w({key:0,type:e.type,disabled:e.disabled},e.$attrs,{class:e.active?e.activeClass:e.inactiveClass}),{default:V(()=>[y(e.$slots,"default",R(S({isActive:e.active})))]),_:3},16,["type","disabled","class"]))}const X=F(De,[["render",Te]]),p=B(M.ui.strategy,M.ui.button,Ae),je=g({components:{UIcon:W,ULink:X},inheritAttrs:!1,props:{...z,type:{type:String,default:"button"},block:{type:Boolean,default:!1},label:{type:String,default:null},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},padded:{type:Boolean,default:!0},size:{type:String,default:()=>p.default.size,validator(e){return Object.keys(p.size).includes(e)}},color:{type:String,default:()=>p.default.color,validator(e){return[...M.ui.colors,...Object.keys(p.color)].includes(e)}},variant:{type:String,default:()=>p.default.variant,validator(e){return[...Object.keys(p.variant),...Object.values(p.color).flatMap(s=>Object.keys(s))].includes(e)}},icon:{type:String,default:null},loadingIcon:{type:String,default:()=>p.default.loadingIcon},leadingIcon:{type:String,default:null},trailingIcon:{type:String,default:null},trailing:{type:Boolean,default:!1},leading:{type:Boolean,default:!1},square:{type:Boolean,default:!1},truncate:{type:Boolean,default:!1},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},setup(e,{slots:s}){const{ui:t,attrs:n}=xe("button",se(e,"ui"),p),{size:a,rounded:o}=ve({ui:t,props:e}),i=_(()=>e.icon&&e.leading||e.icon&&!e.trailing||e.loading&&!e.trailing||e.leadingIcon),r=_(()=>e.icon&&e.trailing||e.loading&&e.trailing||e.trailingIcon),l=_(()=>e.square||!s.default&&!e.label),u=_(()=>{var H,G;const h=((G=(H=t.value.color)==null?void 0:H[e.color])==null?void 0:G[e.variant])||t.value.variant[e.variant];return ie(D(t.value.base,t.value.font,o.value,t.value.size[a.value],t.value.gap[a.value],e.padded&&t.value[l.value?"square":"padding"][a.value],h==null?void 0:h.replaceAll("{color}",e.color),e.block?t.value.block:t.value.inline),e.class)}),b=_(()=>e.loading?e.loadingIcon:e.leadingIcon||e.icon),m=_(()=>e.loading&&!i.value?e.loadingIcon:e.trailingIcon||e.icon),c=_(()=>D(t.value.icon.base,t.value.icon.size[a.value],e.loading&&t.value.icon.loading)),x=_(()=>D(t.value.icon.base,t.value.icon.size[a.value],e.loading&&!i.value&&t.value.icon.loading)),C=_(()=>we(e));return{ui:t,attrs:n,isLeading:i,isTrailing:r,isSquare:l,buttonClass:u,leadingIconName:b,trailingIconName:m,leadingIconClass:c,trailingIconClass:x,linkProps:C}}});function Re(e,s,t,n,a,o){const i=W,r=X;return d(),f(r,w({type:e.type,disabled:e.disabled||e.loading,class:e.buttonClass},{...e.linkProps,...e.attrs}),{default:V(()=>[y(e.$slots,"leading",{disabled:e.disabled,loading:e.loading},()=>[e.isLeading&&e.leadingIconName?(d(),f(i,{key:0,name:e.leadingIconName,class:q(e.leadingIconClass),"aria-hidden":"true"},null,8,["name","class"])):T("",!0)]),y(e.$slots,"default",{},()=>[e.label?(d(),_e("span",{key:0,class:q([e.truncate?e.ui.truncate:""])},le(e.label),3)):T("",!0)]),y(e.$slots,"trailing",{disabled:e.disabled,loading:e.loading},()=>[e.isTrailing&&e.trailingIconName?(d(),f(i,{key:0,name:e.trailingIconName,class:q(e.trailingIconClass),"aria-hidden":"true"},null,8,["name","class"])):T("",!0)])]),_:3},16,["type","disabled","class"])}const He=F(je,[["render",Re]]),Se=g({name:"LayoutLoader",inheritAttrs:!1,props:{name:String,layoutProps:Object},async setup(e,s){const t=await v[e.name]().then(n=>n.default||n);return()=>A(t,e.layoutProps,s.slots)}}),Ge=g({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},setup(e,s){const t=de(),n=j(O),a=n===ue()?U():n,o=_(()=>{let l=E(e.name)??a.meta.layout??"default";return l&&!(l in v)&&e.fallback&&(l=E(e.fallback)),l}),i=P();s.expose({layoutRef:i});const r=t.deferHydration();if(t.isHydrating){const l=t.hooks.hookOnce("app:error",r);re().beforeEach(l)}return()=>{const l=o.value&&o.value in v,u=a.meta.layoutTransition??pe;return ce(me,l&&u,{default:()=>A(ge,{suspensible:!0,onResolve:()=>{fe(r)}},{default:()=>A(Ve,{layoutProps:w(s.attrs,{ref:i}),key:o.value||void 0,name:o.value,shouldProvide:!e.name,hasTransition:!!u},s.slots)})}).default()}}}),Ve=g({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(e,s){const t=e.name;return e.shouldProvide&&I(be,{isCurrent:n=>t===(n.meta.layout??"default")}),()=>{var n,a;return!t||typeof t=="string"&&!(t in v)?(a=(n=s.slots).default)==null?void 0:a.call(n):A(Se,{key:t,layoutProps:e.layoutProps,name:t},s.slots)}}}),Me=[{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Gene-based-Pathogen-Identification.ga",testParameterFiles:["/Gene-based-Pathogen-Identification-tests.yml"],authors:[{name:"Engy Nasr",orcid:"0000-0001-9047-4215",url:"https://orcid.org/0000-0001-9047-4215"},{name:"Bérénice Batut",orcid:"0000-0001-9852-1987",url:"https://orcid.org/0000-0001-9852-1987"},{name:"Paul Zierep",orcid:"0000-0003-2982-388X",url:"https://orcid.org/0000-0003-2982-388X"}],definition:{a_galaxy_workflow:"true",annotation:"Nanopore datasets analysis - Phylogenetic Identification - antibiotic resistance genes detection and contigs building",comments:[{child_steps:[10,13],color:"turquoise",data:{title:"Identifying VF"},id:2,position:[1821.7,.6000000000000014],size:[461.7,234.8],type:"frame"},{child_steps:[11,14],color:"turquoise",data:{title:"Identifying AMR"},id:3,position:[1830.2,640.3],size:[521.5,234.8],type:"frame"},{child_steps:[2,4,6,7,9,12,15],color:"turquoise",data:{title:"Extracting Contigs from our Samples"},id:1,position:[310,490.20000000000005],size:[1469,676],type:"frame"},{child_steps:[1,3,5,8],color:"turquoise",data:{title:"Extract Samples IDs"},id:0,position:[302.4,0],size:[1060.5,234.8],type:"frame"}],creator:[{class:"Person",identifier:"0000-0001-9047-4215",name:"Engy Nasr",url:"https://orcid.org/0000-0001-9047-4215"},{class:"Person",identifier:"0000-0001-9852-1987",name:"Bérénice Batut",url:"https://orcid.org/0000-0001-9852-1987"},{class:"Person",identifier:"0000-0003-2982-388X",name:"Paul Zierep"}],"format-version":"0.1",license:"MIT",release:"0.1",name:"Gene-based Pathogen Identification",report:{markdown:`# Gene-based Pathogen Identification Workflow Report +import{a3 as X,a4 as $,c as _,a5 as k,L as B,a6 as Y,a7 as J,G as V,a8 as I,g as L,a9 as R,aa as Z,Z as ee,_ as F,d as g,o as d,A as f,ab as j,ac as S,ad as te,k as M,r as y,Q as w,R as oe,e as ae,ae as O,m as ne,M as P,N as se,O as ie,P as D,E as q,D as T,b as _e,i as le,s as ue,af as U,q as E,ag as v,ah as re,ai as pe,aj as ce,$ as de,h as A,ak as me,v as fe,al as ge,am as be,an as he}from"./DzgF3Vew.js";import{i as ye}from"./IShi1APO.js";const z={to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1}},we=e=>Object.keys(z).reduce((t,n)=>(e[n]!==void 0&&(t[n]=e[n]),t),{}),xe=(e,s,t,n,a=!1)=>{const o=X(),i=$(),r=_(()=>{var c;const u=k(s),b=k(t),m=k(n);return B((u==null?void 0:u.strategy)||((c=i.ui)==null?void 0:c.strategy),m?{wrapper:m}:{},u||{},a?Y(i.ui,e,{}):{},b||{})}),l=_(()=>J(o,["class"]));return{ui:r,attrs:l}};function ze(e){const t=`group-${L().uid}`,n=V({children:[],register(a){this.children.push(a)},unregister(a){const o=this.children.indexOf(a);o>-1&&this.children.splice(o,1)},...e});I(t,n)}function ve({ui:e,props:s}){const t=L();if(I("ButtonGroupContextConsumer",!0),R("ButtonGroupContextConsumer",!1))return{size:_(()=>s.size),rounded:_(()=>e.value.rounded)};let a=t.parent,o;for(;a&&!o;){if(a.type.name==="ButtonGroup"){o=R(`group-${a.uid}`);break}a=a.parent}const i=_(()=>o==null?void 0:o.value.children.indexOf(t));return Z(()=>{o==null||o.value.register(t)}),ee(()=>{o==null||o.value.unregister(t)}),{size:_(()=>o!=null&&o.value?(o==null?void 0:o.value.size)??e.value.default.size:s.size),rounded:_(()=>!o||i.value===-1?e.value.rounded:o.value.children.length===1?o.value.ui.rounded:i.value===0?o.value.rounded.start:i.value===o.value.children.length-1?o.value.rounded.end:"rounded-none")}}const Ae={base:"focus:outline-none focus-visible:outline-0 disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:cursor-not-allowed aria-disabled:opacity-75 flex-shrink-0",font:"font-medium",rounded:"rounded-md",truncate:"text-left break-all line-clamp-1",block:"w-full flex justify-center items-center",inline:"inline-flex items-center",size:{"2xs":"text-xs",xs:"text-xs",sm:"text-sm",md:"text-sm",lg:"text-sm",xl:"text-base"},gap:{"2xs":"gap-x-1",xs:"gap-x-1.5",sm:"gap-x-1.5",md:"gap-x-2",lg:"gap-x-2.5",xl:"gap-x-2.5"},padding:{"2xs":"px-2 py-1",xs:"px-2.5 py-1.5",sm:"px-2.5 py-1.5",md:"px-3 py-2",lg:"px-3.5 py-2.5",xl:"px-3.5 py-2.5"},square:{"2xs":"p-1",xs:"p-1.5",sm:"p-1.5",md:"p-2",lg:"p-2.5",xl:"p-2.5"},color:{white:{solid:"shadow-sm ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-900 dark:text-white bg-white hover:bg-gray-50 disabled:bg-white aria-disabled:bg-white dark:bg-gray-900 dark:hover:bg-gray-800/50 dark:disabled:bg-gray-900 dark:aria-disabled:bg-gray-900 focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400",ghost:"text-gray-900 dark:text-white hover:bg-white dark:hover:bg-gray-900 focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400"},gray:{solid:"shadow-sm ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-700 dark:text-gray-200 bg-gray-50 hover:bg-gray-100 disabled:bg-gray-50 aria-disabled:bg-gray-50 dark:bg-gray-800 dark:hover:bg-gray-700/50 dark:disabled:bg-gray-800 dark:aria-disabled:bg-gray-800 focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400",ghost:"text-gray-700 dark:text-gray-200 hover:text-gray-900 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-gray-800 focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400",link:"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 underline-offset-4 hover:underline focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400"},black:{solid:"shadow-sm text-white dark:text-gray-900 bg-gray-900 hover:bg-gray-800 disabled:bg-gray-900 aria-disabled:bg-gray-900 dark:bg-white dark:hover:bg-gray-100 dark:disabled:bg-white dark:aria-disabled:bg-white focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400",link:"text-gray-900 dark:text-white underline-offset-4 hover:underline focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400"}},variant:{solid:"shadow-sm text-white dark:text-gray-900 bg-{color}-500 hover:bg-{color}-600 disabled:bg-{color}-500 aria-disabled:bg-{color}-500 dark:bg-{color}-400 dark:hover:bg-{color}-500 dark:disabled:bg-{color}-400 dark:aria-disabled:bg-{color}-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-{color}-500 dark:focus-visible:outline-{color}-400",outline:"ring-1 ring-inset ring-current text-{color}-500 dark:text-{color}-400 hover:bg-{color}-50 disabled:bg-transparent aria-disabled:bg-transparent dark:hover:bg-{color}-950 dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus-visible:ring-2 focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400",soft:"text-{color}-500 dark:text-{color}-400 bg-{color}-50 hover:bg-{color}-100 disabled:bg-{color}-50 aria-disabled:bg-{color}-50 dark:bg-{color}-950 dark:hover:bg-{color}-900 dark:disabled:bg-{color}-950 dark:aria-disabled:bg-{color}-950 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400",ghost:"text-{color}-500 dark:text-{color}-400 hover:bg-{color}-50 disabled:bg-transparent aria-disabled:bg-transparent dark:hover:bg-{color}-950 dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400",link:"text-{color}-500 hover:text-{color}-600 disabled:text-{color}-500 aria-disabled:text-{color}-500 dark:text-{color}-400 dark:hover:text-{color}-500 dark:disabled:text-{color}-400 dark:aria-disabled:text-{color}-400 underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400"},icon:{base:"flex-shrink-0",loading:"animate-spin",size:{"2xs":"h-4 w-4",xs:"h-4 w-4",sm:"h-5 w-5",md:"h-5 w-5",lg:"h-5 w-5",xl:"h-6 w-6"}},default:{size:"sm",variant:"solid",color:"primary",loadingIcon:"i-heroicons-arrow-path-20-solid"}},Q={base:"invisible before:visible before:block before:rotate-45 before:z-[-1] before:w-2 before:h-2",ring:"before:ring-1 before:ring-gray-200 dark:before:ring-gray-800",rounded:"before:rounded-sm",background:"before:bg-gray-200 dark:before:bg-gray-800",shadow:"before:shadow",placement:"group-data-[popper-placement*='right']:-left-1 group-data-[popper-placement*='left']:-right-1 group-data-[popper-placement*='top']:-bottom-1 group-data-[popper-placement*='bottom']:-top-1"},N={container:"z-20 group",trigger:"flex items-center w-full",width:"w-full",height:"max-h-60",base:"relative focus:outline-none overflow-y-auto scroll-py-1",background:"bg-white dark:bg-gray-800",shadow:"shadow-lg",rounded:"rounded-md",padding:"p-1",ring:"ring-1 ring-gray-200 dark:ring-gray-700",empty:"text-sm text-gray-400 dark:text-gray-500 px-2 py-1.5",option:{base:"cursor-default select-none relative flex items-center justify-between gap-1",rounded:"rounded-md",padding:"px-1.5 py-1.5",size:"text-sm",color:"text-gray-900 dark:text-white",container:"flex items-center gap-1.5 min-w-0",active:"bg-gray-100 dark:bg-gray-900",inactive:"",selected:"pe-7",disabled:"cursor-not-allowed opacity-50",empty:"text-sm text-gray-400 dark:text-gray-500 px-2 py-1.5",icon:{base:"flex-shrink-0 h-5 w-5",active:"text-gray-900 dark:text-white",inactive:"text-gray-400 dark:text-gray-500"},selectedIcon:{wrapper:"absolute inset-y-0 end-0 flex items-center",padding:"pe-2",base:"h-5 w-5 text-gray-900 dark:text-white flex-shrink-0"},avatar:{base:"flex-shrink-0",size:"2xs"},chip:{base:"flex-shrink-0 w-2 h-2 mx-1 rounded-full"}},transition:{leaveActiveClass:"transition ease-in duration-100",leaveFromClass:"opacity-100",leaveToClass:"opacity-0"},popper:{placement:"bottom-end"},default:{selectedIcon:"i-heroicons-check-20-solid",trailingIcon:"i-heroicons-chevron-down-20-solid",empty:{label:"No options."},optionEmpty:{label:'No results for "{query}".'}},arrow:{...Q,ring:"before:ring-1 before:ring-gray-200 dark:before:ring-gray-700",background:"before:bg-white dark:before:bg-gray-700"}};({...N,option:{...N.option},arrow:{...Q}});const Ce=g({props:{name:{type:String,required:!0},mode:{type:String,required:!1,default:null},size:{type:[Number,String],required:!1,default:null},customize:{type:Function,required:!1,default:null}}});function ke(e,s,t,n,a,o){const i=te;return d(),f(i,j(S(e.$props)),null,16)}const W=F(Ce,[["render",ke]]),De=g({inheritAttrs:!1,props:{...z,as:{type:String,default:"button"},type:{type:String,default:"button"},disabled:{type:Boolean,default:null},active:{type:Boolean,default:void 0},exact:{type:Boolean,default:!1},exactQuery:{type:Boolean,default:!1},exactHash:{type:Boolean,default:!1},inactiveClass:{type:String,default:void 0}},setup(e){function s(t,n,{isActive:a,isExactActive:o}){return e.exactQuery&&!ye(t.query,n.query)||e.exactHash&&t.hash!==n.hash?e.inactiveClass:e.exact&&o||!e.exact&&a?e.activeClass:e.inactiveClass}return{resolveLinkClass:s}}}),qe=["href","aria-disabled","role","rel","target","tabindex","onClick"];function Te(e,s,t,n,a,o){const i=ne;return e.to?(d(),f(i,w({key:1},e.$props,{custom:""}),{default:M(({route:r,href:l,target:u,rel:b,navigate:m,isActive:c,isExactActive:x,isExternal:C})=>[ae("a",w(e.$attrs,{href:e.disabled?void 0:l,"aria-disabled":e.disabled?"true":void 0,role:e.disabled?"link":void 0,rel:b,target:u,class:e.active!==void 0?e.active?e.activeClass:e.inactiveClass:e.resolveLinkClass(r,e._.provides[O]||e.$route,{isActive:c,isExactActive:x}),tabindex:e.disabled?-1:void 0,onClick:h=>!C&&!e.disabled&&m(h)}),[y(e.$slots,"default",j(S({isActive:e.active!==void 0?e.active:e.exact?x:c})))],16,qe)]),_:3},16)):(d(),f(oe(e.as),w({key:0,type:e.type,disabled:e.disabled},e.$attrs,{class:e.active?e.activeClass:e.inactiveClass}),{default:M(()=>[y(e.$slots,"default",j(S({isActive:e.active})))]),_:3},16,["type","disabled","class"]))}const K=F(De,[["render",Te]]),p=B(P.ui.strategy,P.ui.button,Ae),Re=g({components:{UIcon:W,ULink:K},inheritAttrs:!1,props:{...z,type:{type:String,default:"button"},block:{type:Boolean,default:!1},label:{type:String,default:null},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},padded:{type:Boolean,default:!0},size:{type:String,default:()=>p.default.size,validator(e){return Object.keys(p.size).includes(e)}},color:{type:String,default:()=>p.default.color,validator(e){return[...P.ui.colors,...Object.keys(p.color)].includes(e)}},variant:{type:String,default:()=>p.default.variant,validator(e){return[...Object.keys(p.variant),...Object.values(p.color).flatMap(s=>Object.keys(s))].includes(e)}},icon:{type:String,default:null},loadingIcon:{type:String,default:()=>p.default.loadingIcon},leadingIcon:{type:String,default:null},trailingIcon:{type:String,default:null},trailing:{type:Boolean,default:!1},leading:{type:Boolean,default:!1},square:{type:Boolean,default:!1},truncate:{type:Boolean,default:!1},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},setup(e,{slots:s}){const{ui:t,attrs:n}=xe("button",se(e,"ui"),p),{size:a,rounded:o}=ve({ui:t,props:e}),i=_(()=>e.icon&&e.leading||e.icon&&!e.trailing||e.loading&&!e.trailing||e.leadingIcon),r=_(()=>e.icon&&e.trailing||e.loading&&e.trailing||e.trailingIcon),l=_(()=>e.square||!s.default&&!e.label),u=_(()=>{var G,H;const h=((H=(G=t.value.color)==null?void 0:G[e.color])==null?void 0:H[e.variant])||t.value.variant[e.variant];return ie(D(t.value.base,t.value.font,o.value,t.value.size[a.value],t.value.gap[a.value],e.padded&&t.value[l.value?"square":"padding"][a.value],h==null?void 0:h.replaceAll("{color}",e.color),e.block?t.value.block:t.value.inline),e.class)}),b=_(()=>e.loading?e.loadingIcon:e.leadingIcon||e.icon),m=_(()=>e.loading&&!i.value?e.loadingIcon:e.trailingIcon||e.icon),c=_(()=>D(t.value.icon.base,t.value.icon.size[a.value],e.loading&&t.value.icon.loading)),x=_(()=>D(t.value.icon.base,t.value.icon.size[a.value],e.loading&&!i.value&&t.value.icon.loading)),C=_(()=>we(e));return{ui:t,attrs:n,isLeading:i,isTrailing:r,isSquare:l,buttonClass:u,leadingIconName:b,trailingIconName:m,leadingIconClass:c,trailingIconClass:x,linkProps:C}}});function je(e,s,t,n,a,o){const i=W,r=K;return d(),f(r,w({type:e.type,disabled:e.disabled||e.loading,class:e.buttonClass},{...e.linkProps,...e.attrs}),{default:M(()=>[y(e.$slots,"leading",{disabled:e.disabled,loading:e.loading},()=>[e.isLeading&&e.leadingIconName?(d(),f(i,{key:0,name:e.leadingIconName,class:q(e.leadingIconClass),"aria-hidden":"true"},null,8,["name","class"])):T("",!0)]),y(e.$slots,"default",{},()=>[e.label?(d(),_e("span",{key:0,class:q([e.truncate?e.ui.truncate:""])},le(e.label),3)):T("",!0)]),y(e.$slots,"trailing",{disabled:e.disabled,loading:e.loading},()=>[e.isTrailing&&e.trailingIconName?(d(),f(i,{key:0,name:e.trailingIconName,class:q(e.trailingIconClass),"aria-hidden":"true"},null,8,["name","class"])):T("",!0)])]),_:3},16,["type","disabled","class"])}const Ge=F(Re,[["render",je]]),Se=g({name:"LayoutLoader",inheritAttrs:!1,props:{name:String,layoutProps:Object},async setup(e,s){const t=await v[e.name]().then(n=>n.default||n);return()=>A(t,e.layoutProps,s.slots)}}),He=g({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},setup(e,s){const t=de(),n=R(O),a=n===ue()?U():n,o=_(()=>{let l=E(e.name)??a.meta.layout??"default";return l&&!(l in v)&&e.fallback&&(l=E(e.fallback)),l}),i=V();s.expose({layoutRef:i});const r=t.deferHydration();if(t.isHydrating){const l=t.hooks.hookOnce("app:error",r);re().beforeEach(l)}return()=>{const l=o.value&&o.value in v,u=a.meta.layoutTransition??pe;return ce(me,l&&u,{default:()=>A(ge,{suspensible:!0,onResolve:()=>{fe(r)}},{default:()=>A(Me,{layoutProps:w(s.attrs,{ref:i}),key:o.value||void 0,name:o.value,shouldProvide:!e.name,hasTransition:!!u},s.slots)})}).default()}}}),Me=g({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(e,s){const t=e.name;return e.shouldProvide&&I(be,{isCurrent:n=>t===(n.meta.layout??"default")}),()=>{var n,a;return!t||typeof t=="string"&&!(t in v)?(a=(n=s.slots).default)==null?void 0:a.call(n):A(Se,{key:t,layoutProps:e.layoutProps,name:t},s.slots)}}}),Pe=[{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Gene-based-Pathogen-Identification.ga",testParameterFiles:["/Gene-based-Pathogen-Identification-tests.yml"],authors:[{name:"Engy Nasr",orcid:"0000-0001-9047-4215",url:"https://orcid.org/0000-0001-9047-4215"},{name:"Bérénice Batut",orcid:"0000-0001-9852-1987",url:"https://orcid.org/0000-0001-9852-1987"},{name:"Paul Zierep",orcid:"0000-0003-2982-388X",url:"https://orcid.org/0000-0003-2982-388X"}],definition:{a_galaxy_workflow:"true",annotation:"Nanopore datasets analysis - Phylogenetic Identification - antibiotic resistance genes detection and contigs building",comments:[{child_steps:[10,13],color:"turquoise",data:{title:"Identifying VF"},id:2,position:[1821.7,.6000000000000014],size:[461.7,234.8],type:"frame"},{child_steps:[11,14],color:"turquoise",data:{title:"Identifying AMR"},id:3,position:[1830.2,640.3],size:[521.5,234.8],type:"frame"},{child_steps:[2,4,6,7,9,12,15],color:"turquoise",data:{title:"Extracting Contigs from our Samples"},id:1,position:[310,490.20000000000005],size:[1469,676],type:"frame"},{child_steps:[1,3,5,8],color:"turquoise",data:{title:"Extract Samples IDs"},id:0,position:[302.4,0],size:[1060.5,234.8],type:"frame"}],creator:[{class:"Person",identifier:"0000-0001-9047-4215",name:"Engy Nasr",url:"https://orcid.org/0000-0001-9047-4215"},{class:"Person",identifier:"0000-0001-9852-1987",name:"Bérénice Batut",url:"https://orcid.org/0000-0001-9852-1987"},{class:"Person",identifier:"0000-0003-2982-388X",name:"Paul Zierep"}],"format-version":"0.1",license:"MIT",release:"0.1",name:"Gene-based Pathogen Identification",report:{markdown:`# Gene-based Pathogen Identification Workflow Report Below are the results for the Gene based Pathogen Identification Workflow @@ -63,6 +63,48 @@ If you're unsure how to use this workflows, or if you want to see it in action w ## [0.1] 2024-04-18 First release. +`,diagrams:`# Workflow diagrams + +## Gene-based Pathogen Identification + +\`\`\`mermaid +graph LR +0["ℹ️ collection_of_preprocessed_samples"]@{ shape: docs } +1["Extract element identifiers"]@{ shape: process } +0 --> 1 +2["Build list"]@{ shape: process } +0 --> 2 +3["Split file"]@{ shape: process } +1 --> 3 +4["Flye"]@{ shape: process } +2 --> 4 +5["Parse parameter value"]@{ shape: process } +3 --> 5 +6["medaka consensus pipeline"]@{ shape: process } +4 --> 6 +0 --> 6 +7["Bandage Image"]@{ shape: process } +4 --> 7 +8["Compose text parameter value"]@{ shape: process } +5 --> 8 +9["FASTA-to-Tabular"]@{ shape: process } +6 --> 9 +10["ABRicate"]@{ shape: process } +6 --> 10 +11["ABRicate"]@{ shape: process } +6 --> 11 +12["Replace"]@{ shape: process } +8 --> 12 +9 --> 12 +13["Replace"]@{ shape: process } +8 --> 13 +10 --> 13 +14["Replace"]@{ shape: process } +8 --> 14 +11 --> 14 +15["Tabular-to-FASTA"]@{ shape: process } +12 --> 15 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/gene-based-pathogen-identification/main",tests:[{doc:"Test outline for Gene-based-Pathogen-Identification",job:{collection_of_preprocessed_samples:{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode10",location:"https://zenodo.org/record/12190648/files/nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode10.fastq.gz",filetype:"fastqsanger.gz"},{class:"File",identifier:"nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode12",location:"https://zenodo.org/record/12190648/files/nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode12.fastq.gz",filetype:"fastqsanger.gz"}]}},outputs:{extracted_samples_IDs:{path:"test-data/extracted_samples_IDs.txt"}}}]}],path:"./workflows/microbiome/gene-based-pathogen-identification"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Pathogen-Detection-PathoGFAIR-Samples-Aggregation-and-Visualisation.ga",testParameterFiles:["/Pathogen-Detection-PathoGFAIR-Samples-Aggregation-and-Visualisation-tests.yml"],authors:[{name:"Engy Nasr",orcid:"0000-0001-9047-4215",url:"https://orcid.org/0000-0001-9047-4215"},{name:"Bérénice Batut",orcid:"0000-0001-9852-1987",url:"https://orcid.org/0000-0001-9852-1987"},{name:"Paul Zierep",orcid:"0000-0003-2982-388X",url:"https://orcid.org/0000-0003-2982-388X"}],definition:{a_galaxy_workflow:"true",annotation:"Pathogens of all samples report generation and visualization",comments:[{child_steps:[39,0,33,27,21,15,10,45],color:"yellow",data:{title:"AMR Count table"},id:0,position:[0,186],size:[1859.9,219.3],type:"frame"},{child_steps:[41,46,16,11,1,23,29,35],color:"yellow",data:{title:"VF count table and heatmap"},id:1,position:[15,646.1000000000001],size:[1888,285],type:"frame"},{child_steps:[40,50,34,28,22],color:"yellow",data:{title:"Both VF and AMR count table"},id:2,position:[609.7,418.20000000000005],size:[1438.3,199.5],type:"frame"},{child_steps:[17,30,68,12,2,24,36,42,47,51,54,57,60,62,64,66],color:"yellow",data:{title:"AMR Phylogenetic tree for all samples"},id:3,position:[31,1088.0000000000002],size:[4170,273],type:"frame"},{child_steps:[18,19,20,25,31,32,37,43,48,52,55,58,69,13,3,14,4,26,38,44,49,53,56,59,61,63,65,67],color:"yellow",data:{title:"VFs Phylogenetic Tree for all samples and Phylogenetic trees for each VF genes across all samples"},id:4,position:[27,1415.0000000000002],size:[4170,620],type:"frame"},{child_steps:[5,6,7,8,9],color:"yellow",data:{title:"Tabulars for Bar chart Visualisations & Metadata for extending with Jupytools"},id:5,position:[2104,0],size:[650,614],type:"frame"}],creator:[{class:"Person",identifier:"0000-0001-9047-4215",name:"Engy Nasr",url:"https://orcid.org/0000-0001-9047-4215"},{class:"Person",identifier:"0000-0001-9852-1987",name:"Bérénice Batut",url:"https://orcid.org/0000-0001-9852-1987"},{class:"Person",identifier:"0000-0003-2982-388X",name:"Paul Zierep"}],"format-version":"0.1",license:"MIT",release:"0.1",name:"Pathogen Detection PathoGFAIR Samples Aggregation and Visualisation",report:{markdown:`# Pathogen Detection - PathoGFAIR Samples Aggregation and Visualisation Workflow Report Below are the results for the PathoGFAIR Samples Aggregation and Visualisation Workflow @@ -161,6 +203,147 @@ If you're unsure how to use this workflows, or if you want to see it in action w ## [0.1] 2024-04-24 First release. +`,diagrams:`# Workflow diagrams + +## Pathogen Detection PathoGFAIR Samples Aggregation and Visualisation + +\`\`\`mermaid +graph LR +0["ℹ️ amr_identified_by_ncbi"]@{ shape: docs } +1["ℹ️ vfs_of_genes_identified_by_vfdb"]@{ shape: docs } +2["ℹ️ amrs"]@{ shape: docs } +3["ℹ️ contigs"]@{ shape: docs } +4["ℹ️ vfs"]@{ shape: docs } +5["ℹ️ removed_hosts_percentage_tabular"]@{ shape: doc } +6["ℹ️ mapping_mean_depth_per_sample"]@{ shape: doc } +7["ℹ️ mapping_coverage_percentage_per_sample"]@{ shape: doc } +8["ℹ️ number_of_variants_per_sample"]@{ shape: doc } +9["ℹ️ metadata"]@{ shape: doc } +10["Filter failed datasets"]@{ shape: process } +0 --> 10 +11["Filter failed datasets"]@{ shape: process } +1 --> 11 +12["Filter failed datasets"]@{ shape: process } +2 --> 12 +13["Filter failed datasets"]@{ shape: process } +3 --> 13 +14["Filter failed datasets"]@{ shape: process } +4 --> 14 +15["Remove beginning"]@{ shape: process } +10 --> 15 +16["Remove beginning"]@{ shape: process } +11 --> 16 +17["Remove beginning"]@{ shape: process } +12 --> 17 +18["Collapse Collection"]@{ shape: process } +13 --> 18 +19["Collapse Collection"]@{ shape: process } +14 --> 19 +20["Remove beginning"]@{ shape: process } +14 --> 20 +21["Count"]@{ shape: process } +15 --> 21 +22["Count"]@{ shape: process } +16 --> 22 +23["Group"]@{ shape: process } +16 --> 23 +24["Unique"]@{ shape: process } +17 --> 24 +25["Split by group"]@{ shape: process } +19 --> 25 +26["Unique"]@{ shape: process } +20 --> 26 +27["Cut"]@{ shape: process } +21 --> 27 +28["Cut"]@{ shape: process } +22 --> 28 +29["Filter empty datasets"]@{ shape: process } +23 --> 29 +30["Cut"]@{ shape: process } +24 --> 30 +31["Cut"]@{ shape: process } +25 --> 31 +32["Cut"]@{ shape: process } +26 --> 32 +33["Collapse Collection"]@{ shape: process } +27 --> 33 +34["Collapse Collection"]@{ shape: process } +28 --> 34 +35["Column join"]@{ shape: process } +29 --> 35 +36["bedtools getfasta"]@{ shape: process } +18 --> 36 +30 --> 36 +37["Remove beginning"]@{ shape: process } +31 --> 37 +38["bedtools getfasta"]@{ shape: process } +18 --> 38 +32 --> 38 +39["Column Regex Find And Replace"]@{ shape: process } +33 --> 39 +40["Column Regex Find And Replace"]@{ shape: process } +34 --> 40 +41["Column Regex Find And Replace"]@{ shape: process } +35 --> 41 +42["Regex Find And Replace"]@{ shape: process } +36 --> 42 +43["bedtools getfasta"]@{ shape: process } +18 --> 43 +37 --> 43 +44["Regex Find And Replace"]@{ shape: process } +38 --> 44 +45["Multi-Join"]@{ shape: process } +40 --> 45 +39 --> 45 +46["Heatmap w ggplot"]@{ shape: process } +41 --> 46 +47["Filter empty datasets"]@{ shape: process } +42 --> 47 +48["ClustalW"]@{ shape: process } +43 --> 48 +49["Filter empty datasets"]@{ shape: process } +44 --> 49 +50["Replace Text"]@{ shape: process } +45 --> 50 +51["FASTA-to-Tabular"]@{ shape: process } +47 --> 51 +52["Filter empty datasets"]@{ shape: process } +48 --> 52 +53["FASTA-to-Tabular"]@{ shape: process } +49 --> 53 +54["Cut"]@{ shape: process } +51 --> 54 +55["FASTTREE"]@{ shape: process } +52 --> 55 +56["Cut"]@{ shape: process } +53 --> 56 +57["Group"]@{ shape: process } +54 --> 57 +58["Newick Display"]@{ shape: process } +55 --> 58 +59["Group"]@{ shape: process } +56 --> 59 +60["Tabular-to-FASTA"]@{ shape: process } +57 --> 60 +61["Tabular-to-FASTA"]@{ shape: process } +59 --> 61 +62["FASTA Merge Files and Filter Unique Sequences"]@{ shape: process } +60 --> 62 +63["FASTA Merge Files and Filter Unique Sequences"]@{ shape: process } +61 --> 63 +64["ClustalW"]@{ shape: process } +62 --> 64 +65["ClustalW"]@{ shape: process } +63 --> 65 +66["FASTTREE"]@{ shape: process } +64 --> 66 +67["FASTTREE"]@{ shape: process } +65 --> 67 +68["Newick Display"]@{ shape: process } +66 --> 68 +69["Newick Display"]@{ shape: process } +67 --> 69 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/pathogen-detection-pathogfair-samples-aggregation-and-visualisation/main",tests:[{doc:"Test outline for Pathogen-Detection-PathoGFAIR-Samples-Aggregation-and-Visualisation",job:{removed_hosts_percentage_tabular:{class:"File",path:"test-data/removed_hosts_percentage_tabular.tabular",filetype:"tabular"},mapping_mean_depth_per_sample:{class:"File",path:"test-data/mapping_mean_depth_per_sample.tabular",filetype:"tabular"},mapping_coverage_percentage_per_sample:{class:"File",path:"test-data/mapping_coverage_percentage_per_sample.tabular",filetype:"tabular"},number_of_variants_per_sample:{class:"File",path:"test-data/number_of_variants_per_sample.tabular",filetype:"tabular"},amr_identified_by_ncbi:{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"collection_of_all_samples_Spike3bBarcode10.fastq.gz",path:"test-data/amr_identified_by_ncbi_collection_of_all_samples_Spike3bBarcode10.fastq.gz.tabular"},{class:"File",identifier:"collection_of_all_samples_Spike3bBarcode12.fastq.gz",path:"test-data/amr_identified_by_ncbi_collection_of_all_samples_Spike3bBarcode12.fastq.gz.tabular"}]},vfs_of_genes_identified_by_vfdb:{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"collection_of_all_samples_Spike3bBarcode10.fastq.gz",path:"test-data/vfs_of_genes_identified_by_vfdb_collection_of_all_samples_Spike3bBarcode10.fastq.gz.tabular"},{class:"File",identifier:"collection_of_all_samples_Spike3bBarcode12.fastq.gz",path:"test-data/vfs_of_genes_identified_by_vfdb_collection_of_all_samples_Spike3bBarcode12.fastq.gz.tabular"}]},amrs:{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"split_file_000000.txt",path:"test-data/amrs_split_file_000000.txt.tabular"},{class:"File",identifier:"split_file_000001.txt",path:"test-data/amrs_split_file_000001.txt.tabular"}]},vfs:{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"split_file_000000.txt",path:"test-data/vfs_split_file_000000.txt.tabular"},{class:"File",identifier:"split_file_000001.txt",path:"test-data/vfs_split_file_000001.txt.tabular"}]},contigs:{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"split_file_000000.txt",path:"test-data/contigs_split_file_000000.txt.fasta"},{class:"File",identifier:"split_file_000001.txt",path:"test-data/contigs_split_file_000001.txt.fasta"}]},metadata:null},outputs:{adjusted_abricate_vfs_tabular_part1:{attributes:{},element_tests:{YP_001006764:{path:"test-data/adjusted_abricate_vfs_tabular_part1_YP_001006764.tabular"}}}}}]}],path:"./workflows/microbiome/pathogen-detection-pathogfair-samples-aggregation-and-visualisation"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Nanopore-Pre-Processing.ga",testParameterFiles:["/Nanopore-Pre-Processing-tests.yml"],authors:[{name:"Bérénice Batut",orcid:"0000-0001-9852-1987",url:"https://orcid.org/0000-0001-9852-1987"},{name:"Engy Nasr",orcid:"0000-0001-9047-4215",url:"https://orcid.org/0000-0001-9047-4215"},{name:"Paul Zierep",orcid:"0000-0003-2982-388X",url:"https://orcid.org/0000-0003-2982-388X"}],definition:{a_galaxy_workflow:"true",annotation:"Microbiome - QC and Contamination Filtering",comments:[{color:"lime",data:{text:`In this workflow, we recommend nanopore samples since we are using some tools that are specified for nanopore such as: Minimap2, Nanoplot porechp and fastp. In order to switch to illumina please remove the nanoplot step, replace porechop and fastp with cutadapt or trimmomatic, and finally replace Minimap2 with Bowtie2. @@ -232,6 +415,72 @@ If you're unsure how to use this workflows, or if you want to see it in action w ## [0.1] 2024-04-25 First release. +`,diagrams:`# Workflow diagrams + +## Nanopore Preprocessing + +\`\`\`mermaid +graph LR +0["ℹ️ samples_profile"]@{ shape: lean-l } +1["ℹ️ host_reference_genome"]@{ shape: lean-l } +2["ℹ️ collection_of_all_samples"]@{ shape: docs } +3["Porechop"]@{ shape: process } +2 --> 3 +4["NanoPlot"]@{ shape: process } +2 --> 4 +5["FastQC"]@{ shape: process } +2 --> 5 +6["fastp"]@{ shape: process } +3 --> 6 +7["MultiQC"]@{ shape: process } +5 --> 7 +8["Map with minimap2"]@{ shape: process } +0 --> 8 +6 --> 8 +1 --> 8 +9["NanoPlot"]@{ shape: process } +6 --> 9 +10["FastQC"]@{ shape: process } +6 --> 10 +11["Split BAM by reads mapping status"]@{ shape: process } +8 --> 11 +12["Select"]@{ shape: process } +10 --> 12 +13["Samtools fastx"]@{ shape: process } +11 --> 13 +14["Samtools fastx"]@{ shape: process } +11 --> 14 +15["Collapse Collection"]@{ shape: process } +12 --> 15 +16["Filter failed datasets"]@{ shape: process } +13 --> 16 +17["Kraken2"]@{ shape: process } +14 --> 17 +18["Cut"]@{ shape: process } +15 --> 18 +19["FastQC"]@{ shape: process } +16 --> 19 +20["Krakentools: Extract Kraken Reads By ID"]@{ shape: process } +6 --> 20 +17 --> 20 +17 --> 20 +21["Select"]@{ shape: process } +19 --> 21 +22["Collapse Collection"]@{ shape: process } +21 --> 22 +23["Cut"]@{ shape: process } +22 --> 23 +24["Column join"]@{ shape: process } +18 --> 24 +23 --> 24 +25["Compute"]@{ shape: process } +24 --> 25 +26["Column Regex Find And Replace"]@{ shape: process } +25 --> 26 +27["MultiQC"]@{ shape: process } +10 --> 27 +26 --> 27 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/nanopore-pre-processing/main",tests:[{doc:"Test outline for Nanopore-Pre-Processing",job:{collection_of_all_samples:{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"collection_of_all_samples_Spike3bBarcode10",location:"https://zenodo.org/record/12190648/files/collection_of_all_samples_Spike3bBarcode10.fastq.gz",filetype:"fastqsanger.gz"},{class:"File",identifier:"collection_of_all_samples_Spike3bBarcode12",location:"https://zenodo.org/record/12190648/files/collection_of_all_samples_Spike3bBarcode12.fastq.gz",filetype:"fastqsanger.gz"}]},samples_profile:"map-pb",host_reference_genome:"apiMel3"},outputs:{nanoplot_qc_on_reads_after_preprocessing_nanostats:{attributes:{},element_tests:{collection_of_all_samples_Spike3bBarcode12:{asserts:{has_n_lines:{n:24}},path:"test-data/nanoplot_qc_on_reads_after_preprocessing_nanostats_collection_of_all_samples_Spike3bBarcode12.tabular"}}}}}]}],path:"./workflows/microbiome/nanopore-pre-processing"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Allele-based-Pathogen-Identification.ga",testParameterFiles:["/Allele-based-Pathogen-Identification-tests.yml"],authors:[{name:"Engy Nasr",orcid:"0000-0001-9047-4215",url:"https://orcid.org/0000-0001-9047-4215"},{name:"Bérénice Batut",orcid:"0000-0001-9852-1987",url:"https://orcid.org/0000-0001-9852-1987"},{name:"Paul Zierep",orcid:"0000-0003-2982-388X",url:"https://orcid.org/0000-0003-2982-388X"}],definition:{a_galaxy_workflow:"true",annotation:"Microbiome - Variant calling and Consensus Building",comments:[{child_steps:[18,7,10,13,16,20],color:"pink",data:{title:"Mapping coverage"},id:2,position:[910,909.9],size:[1400,237.8],type:"frame"},{child_steps:[4,5,8,11,14,15,25,17,19,21,23,24],color:"pink",data:{title:"Mapping, Variant and SNP calling"},id:0,position:[553,0],size:[2628.6,462.8],type:"frame"},{child_steps:[22,6,9,12],color:"pink",data:{title:"Mapping mean depth"},id:1,position:[888,577.9],size:[1586,239.4],type:"frame"}],creator:[{class:"Person",identifier:"0000-0001-9047-4215",name:"Engy Nasr",url:"https://orcid.org/0000-0001-9047-4215"},{class:"Person",identifier:"0000-0001-9852-1987",name:"Bérénice Batut",url:"https://orcid.org/0000-0001-9852-1987"},{class:"Person",identifier:"0000-0003-2982-388X",name:"Paul Zierep"}],"format-version":"0.1",license:"MIT",release:"0.1.2",name:"Allele-based Pathogen Identification",report:{markdown:`# Allele-based Pathogen Identification Workflow Report Below are the results for the Allele based Pathogenic Identification Workflow @@ -292,7 +541,69 @@ This workflow identifies pathogens using an allelic approach, detecting Single N - VCF files indicating identified variants and SNPs, BAM files with mapping results, and Tabular files with mapping depth and coverage calculations. If you're unsure how to use this workflows, or if you want to see it in action with test datasets, it is included in our detailed training material for foodborne pathogen detection and tracking. You can find step-by-step instructions and practical examples in the following [GTN tutorial](https://training.galaxyproject.org/training-material/topics/microbiome/tutorials/pathogen-detection-from-nanopore-foodborne-data/tutorial.html) -`,changelog:"# Changelog\n\n## [0.1.2] 2024-09-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/clair3/clair3/0.1.12+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/clair3/clair3/1.0.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.15.1+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.15.1+galaxy4`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy4`\n\n## [0.1.1] 2024-06-28\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.24+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.28+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.9+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.15.1+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.9+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy3`\n\n## [0.1] 2024-06-19\n\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/allele-based-pathogen-identification/main",tests:[{doc:"Test outline for Allele-based-Pathogen-Identification",job:{reference_genome_of_tested_strain:{class:"File",location:"https://zenodo.org/record/12190648/files/reference_genome_of_tested_strain.fasta.gz",filetype:"fasta.gz"},collection_of_preprocessed_samples:{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode10",location:"https://zenodo.org/record/12190648/files/nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode10.fastq.gz",filetype:"fastqsanger.gz"},{class:"File",identifier:"nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode12",location:"https://zenodo.org/record/12190648/files/nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode12.fastq.gz",filetype:"fastqsanger.gz"}]},samples_profile:null},outputs:{mapping_mean_depth_per_sample:{path:"test-data/mapping_mean_depth_per_sample.tabular"}}}]}],path:"./workflows/microbiome/allele-based-pathogen-identification"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Taxonomy-Profiling-and-Visualization-with-Krona.ga",testParameterFiles:["/Taxonomy-Profiling-and-Visualization-with-Krona-tests.yml"],authors:[{name:"Engy Nasr",orcid:"0000-0001-9047-4215",url:"https://orcid.org/0000-0001-9047-4215"},{name:"Bérénice Batut",orcid:"0000-0001-9852-1987",url:"https://orcid.org/0000-0001-9852-1987"},{name:"Paul Zierep",orcid:"0000-0003-2982-388X",url:"https://orcid.org/0000-0003-2982-388X"}],definition:{a_galaxy_workflow:"true",annotation:"Microbiome - Taxonomy Profiling",comments:[{child_steps:[4],color:"red",data:{title:"Taxonomy Visualisation"},id:1,position:[685,167.31666564941406],size:[236,191],type:"frame"},{child_steps:[2,3,1],color:"red",data:{title:"Taxonomy Profiling"},id:0,position:[4.800000000000011,165.01666564941405],size:[663.2,295.6],type:"frame"}],creator:[{class:"Person",identifier:"0000-0001-9047-4215",name:"Engy Nasr",url:"https://orcid.org/0000-0001-9047-4215"},{class:"Person",identifier:"0000-0001-9852-1987",name:"Bérénice Batut",url:"https://orcid.org/0000-0001-9852-1987"},{class:"Person",identifier:"0000-0003-2982-388X",name:"Paul Zierep"}],"format-version":"0.1",license:"MIT",release:"0.1",name:"Taxonomy Profiling and Visualization with Krona",report:{markdown:`# Taxonomy Profiling and Visualisation with Krona Workflow Report +`,changelog:"# Changelog\n\n## [0.1.2] 2024-09-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/clair3/clair3/0.1.12+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/clair3/clair3/1.0.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.15.1+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.15.1+galaxy4`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy4`\n\n## [0.1.1] 2024-06-28\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.24+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.28+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.9+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.15.1+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.9+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy3`\n\n## [0.1] 2024-06-19\n\nFirst release.\n",diagrams:`# Workflow diagrams + +## Allele-based Pathogen Identification + +\`\`\`mermaid +graph LR +0["ℹ️ collection_of_preprocessed_samples"]@{ shape: docs } +1["ℹ️ samples_profile"]@{ shape: lean-l } +2["ℹ️ reference_genome_of_tested_strain"]@{ shape: doc } +3["Convert compressed file to uncompressed."]@{ shape: process } +2 --> 3 +4["Map with minimap2"]@{ shape: process } +1 --> 4 +0 --> 4 +3 --> 4 +5["Clair3"]@{ shape: process } +4 --> 5 +3 --> 5 +6["Samtools depth"]@{ shape: process } +4 --> 6 +7["Samtools coverage"]@{ shape: process } +4 --> 7 +8["bcftools norm"]@{ shape: process } +5 --> 8 +3 --> 8 +9["Advanced Cut"]@{ shape: process } +6 --> 9 +10["Remove beginning"]@{ shape: process } +7 --> 10 +11["SnpSift Filter"]@{ shape: process } +8 --> 11 +12["Table Compute"]@{ shape: process } +9 --> 12 +13["Cut"]@{ shape: process } +10 --> 13 +14["SnpSift Extract Fields"]@{ shape: process } +11 --> 14 +15["bcftools consensus"]@{ shape: process } +11 --> 15 +3 --> 15 +16["Select first"]@{ shape: process } +13 --> 16 +17["Remove beginning"]@{ shape: process } +14 --> 17 +18["Collapse Collection"]@{ shape: process } +16 --> 18 +19["Count"]@{ shape: process } +17 --> 19 +20["Advanced Cut"]@{ shape: process } +18 --> 20 +21["Cut"]@{ shape: process } +19 --> 21 +22["Paste"]@{ shape: process } +20 --> 22 +12 --> 22 +23["Select first"]@{ shape: process } +21 --> 23 +24["Collapse Collection"]@{ shape: process } +23 --> 24 +25["Column Regex Find And Replace"]@{ shape: process } +24 --> 25 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/allele-based-pathogen-identification/main",tests:[{doc:"Test outline for Allele-based-Pathogen-Identification",job:{reference_genome_of_tested_strain:{class:"File",location:"https://zenodo.org/record/12190648/files/reference_genome_of_tested_strain.fasta.gz",filetype:"fasta.gz"},collection_of_preprocessed_samples:{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode10",location:"https://zenodo.org/record/12190648/files/nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode10.fastq.gz",filetype:"fastqsanger.gz"},{class:"File",identifier:"nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode12",location:"https://zenodo.org/record/12190648/files/nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode12.fastq.gz",filetype:"fastqsanger.gz"}]},samples_profile:null},outputs:{mapping_mean_depth_per_sample:{path:"test-data/mapping_mean_depth_per_sample.tabular"}}}]}],path:"./workflows/microbiome/allele-based-pathogen-identification"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Taxonomy-Profiling-and-Visualization-with-Krona.ga",testParameterFiles:["/Taxonomy-Profiling-and-Visualization-with-Krona-tests.yml"],authors:[{name:"Engy Nasr",orcid:"0000-0001-9047-4215",url:"https://orcid.org/0000-0001-9047-4215"},{name:"Bérénice Batut",orcid:"0000-0001-9852-1987",url:"https://orcid.org/0000-0001-9852-1987"},{name:"Paul Zierep",orcid:"0000-0003-2982-388X",url:"https://orcid.org/0000-0003-2982-388X"}],definition:{a_galaxy_workflow:"true",annotation:"Microbiome - Taxonomy Profiling",comments:[{child_steps:[4],color:"red",data:{title:"Taxonomy Visualisation"},id:1,position:[685,167.31666564941406],size:[236,191],type:"frame"},{child_steps:[2,3,1],color:"red",data:{title:"Taxonomy Profiling"},id:0,position:[4.800000000000011,165.01666564941405],size:[663.2,295.6],type:"frame"}],creator:[{class:"Person",identifier:"0000-0001-9047-4215",name:"Engy Nasr",url:"https://orcid.org/0000-0001-9047-4215"},{class:"Person",identifier:"0000-0001-9852-1987",name:"Bérénice Batut",url:"https://orcid.org/0000-0001-9852-1987"},{class:"Person",identifier:"0000-0003-2982-388X",name:"Paul Zierep"}],"format-version":"0.1",license:"MIT",release:"0.1",name:"Taxonomy Profiling and Visualization with Krona",report:{markdown:`# Taxonomy Profiling and Visualisation with Krona Workflow Report In this workflow you can identify your microbial community, but identifying all possible Taxon found in your samples, from the kingdom level down to the species level. In the application of the pathogen detection, this workflow gives an overview of the possible bacterial found in samples and what might be a possible suspect for pathogenicity. @@ -340,6 +651,22 @@ If you're unsure how to use this workflows, or if you want to see it in action w ## [0.1] 2024-04-25 First release. +`,diagrams:`# Workflow diagrams + +## Taxonomy Profiling and Visualization with Krona + +\`\`\`mermaid +graph LR +0["ℹ️ collection_of_preprocessed_samples"]@{ shape: docs } +1["ℹ️ kraken_database"]@{ shape: lean-l } +2["Kraken2"]@{ shape: process } +1 --> 2 +0 --> 2 +3["Krakentools: Convert kraken report file"]@{ shape: process } +2 --> 3 +4["Krona pie chart"]@{ shape: process } +3 --> 4 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/taxonomy-profiling-and-visualization-with-krona/main",tests:[{doc:"Test outline for Taxonomy-Profiling-and-Visualization-with-Krona",job:{collection_of_preprocessed_samples:{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode10",location:"https://zenodo.org/record/12190648/files/nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode10.fastq.gz",filetype:"fastqsanger.gz"},{class:"File",identifier:"nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode12",location:"https://zenodo.org/record/12190648/files/nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode12.fastq.gz",filetype:"fastqsanger.gz"}]},kraken_database:"k2_minusb_20210517"},outputs:{converted_kraken_report:{attributes:{},element_tests:{nanopore_preprocessed_collection_of_all_samples_Spike3bBarcode12:{path:"test-data/converted_kraken_report_collection_of_all_samples_Spike3bBarcode12.tabular"}}}}}]}],path:"./workflows/microbiome/taxonomy-profiling-and-visualization-with-krona"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Assembly-polishing-with-long-reads.ga",testParameterFiles:["/Assembly-polishing-with-long-reads-tests.yml"],authors:[{name:"Anna Syme",orcid:"0000-0002-9906-0673"}],definition:{a_galaxy_workflow:"true",annotation:"Racon polish with long reads, x4",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9906-0673",name:"Anna Syme"}],"format-version":"0.1",release:"0.1",license:"MIT",name:"Assembly polishing with long reads",steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"",name:"Assembly to be polished"}],label:"Assembly to be polished",name:"Input dataset",outputs:[],position:{left:0,top:216.625},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"c7796c36-adf8-49e4-a8e4-66e606d70311",when:null,workflow_outputs:[]},1:{annotation:"",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"",name:"long reads"}],label:"long reads",name:"Input dataset",outputs:[],position:{left:4.5,top:360.234375},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"e2e4a70b-6e36-4b8b-bdf6-12b97189a6bd",when:null,workflow_outputs:[]},2:{annotation:"",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"",name:"minimap setting (for long reads) "}],label:"minimap setting (for long reads) ",name:"Input parameter",outputs:[],position:{left:.578125,top:496.10504150390625},tool_id:null,tool_state:'{"suggestions": ["map-ont", "map-pb", "map-hifi"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"fb80c05c-08d4-4ac2-b4bf-81ed906e4d72",when:null,workflow_outputs:[]},3:{annotation:"Map raw reads to assembly; output paf",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0",errors:null,id:3,input_connections:{"fastq_input|analysis_type_selector":{id:2,output_name:"output"},"fastq_input|fastq_input1":{id:1,output_name:"output"},"reference_source|ref_file":{id:0,output_name:"output"}},inputs:[],label:"Minimap2: map long reads to assembly",name:"Map with minimap2",outputs:[{name:"alignment_output",type:"bam"}],position:{left:377.640625,top:0},post_job_actions:{HideDatasetActionalignment_output:{action_arguments:{},action_type:"HideDatasetAction",output_name:"alignment_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0",tool_shed_repository:{changeset_revision:"be1d967337e4",name:"minimap2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "alignment_options": {"splicing": {"splice_mode": "preset", "__current_case__": 0}, "A": null, "B": null, "O": null, "O2": null, "E": null, "E2": null, "z": null, "z2": null, "s": null, "no_end_flt": true}, "fastq_input": {"fastq_input_selector": "single", "__current_case__": 0, "fastq_input1": {"__class__": "ConnectedValue"}, "analysis_type_selector": {"__class__": "ConnectedValue"}}, "indexing_options": {"H": false, "k": null, "w": null, "I": null}, "io_options": {"output_format": "paf", "Q": false, "L": false, "K": null, "cs": null, "c": false, "eqx": false, "Y": false}, "mapping_options": {"N": null, "F": null, "f": null, "kmer_ocurrence_interval": {"interval": "", "__current_case__": 1}, "min_occ_floor": null, "q_occ_frac": "0.01", "g": null, "r": null, "n": null, "m": null, "max_chain_skip": null, "max_chain_iter": null, "X": false, "p": null, "mask_len": null}, "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.26+galaxy0",type:"tool",uuid:"0c06144f-d1ac-4b45-9669-1ddf11fcb06b",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/racon/racon/1.5.0+galaxy1",errors:null,id:4,input_connections:{corrected_reads:{id:0,output_name:"output"},overlaps:{id:3,output_name:"alignment_output"},reads:{id:1,output_name:"output"}},inputs:[],label:"Racon: polish 1",name:"Racon",outputs:[{name:"consensus",type:"fasta"}],position:{left:440.06805419921875,top:598.93798828125},post_job_actions:{HideDatasetActionconsensus:{action_arguments:{},action_type:"HideDatasetAction",output_name:"consensus"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/racon/racon/1.5.0+galaxy1",tool_shed_repository:{changeset_revision:"e100a765370e",name:"racon",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "corrected_reads": {"__class__": "ConnectedValue"}, "e": "0.3", "error_threshold": "0.3", "f": "false", "fragment_correction": false, "g": "-8", "gap": "-4", "include_unpolished": false, "m": "5", "match": "3", "mismatch": "-5", "no_trimming": false, "overlaps": {"__class__": "ConnectedValue"}, "q": "10.0", "quality_threshold": "10.0", "reads": {"__class__": "ConnectedValue"}, "u": "true", "w": "500", "window_length": "500", "x": "-4", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.5.0+galaxy1",type:"tool",uuid:"6c144354-91f2-49dd-a1f5-7c4119859730",when:null,workflow_outputs:[]},5:{annotation:"Map raw reads to assembly; output paf",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0",errors:null,id:5,input_connections:{"fastq_input|analysis_type_selector":{id:2,output_name:"output"},"fastq_input|fastq_input1":{id:1,output_name:"output"},"reference_source|ref_file":{id:4,output_name:"consensus"}},inputs:[],label:"Minimap2: map long reads to polished assembly 1",name:"Map with minimap2",outputs:[{name:"alignment_output",type:"bam"}],position:{left:721.2265625,top:.6822357177734375},post_job_actions:{HideDatasetActionalignment_output:{action_arguments:{},action_type:"HideDatasetAction",output_name:"alignment_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0",tool_shed_repository:{changeset_revision:"be1d967337e4",name:"minimap2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "alignment_options": {"splicing": {"splice_mode": "preset", "__current_case__": 0}, "A": null, "B": null, "O": null, "O2": null, "E": null, "E2": null, "z": null, "z2": null, "s": null, "no_end_flt": true}, "fastq_input": {"fastq_input_selector": "single", "__current_case__": 0, "fastq_input1": {"__class__": "ConnectedValue"}, "analysis_type_selector": {"__class__": "ConnectedValue"}}, "indexing_options": {"H": false, "k": null, "w": null, "I": null}, "io_options": {"output_format": "paf", "Q": false, "L": false, "K": null, "cs": null, "c": false, "eqx": false, "Y": false}, "mapping_options": {"N": null, "F": null, "f": null, "kmer_ocurrence_interval": {"interval": "", "__current_case__": 1}, "min_occ_floor": null, "q_occ_frac": "0.01", "g": null, "r": null, "n": null, "m": null, "max_chain_skip": null, "max_chain_iter": null, "X": false, "p": null, "mask_len": null}, "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.26+galaxy0",type:"tool",uuid:"c1b83dad-a8ed-42cb-951f-73f59f2dfa92",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/racon/racon/1.5.0+galaxy1",errors:null,id:6,input_connections:{corrected_reads:{id:4,output_name:"consensus"},overlaps:{id:5,output_name:"alignment_output"},reads:{id:1,output_name:"output"}},inputs:[],label:"Racon: polish 2",name:"Racon",outputs:[{name:"consensus",type:"fasta"}],position:{left:759.9375,top:485.71875},post_job_actions:{HideDatasetActionconsensus:{action_arguments:{},action_type:"HideDatasetAction",output_name:"consensus"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/racon/racon/1.5.0+galaxy1",tool_shed_repository:{changeset_revision:"e100a765370e",name:"racon",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "corrected_reads": {"__class__": "ConnectedValue"}, "e": "0.3", "error_threshold": "0.3", "f": "false", "fragment_correction": false, "g": "-8", "gap": "-4", "include_unpolished": false, "m": "5", "match": "3", "mismatch": "-5", "no_trimming": false, "overlaps": {"__class__": "ConnectedValue"}, "q": "10.0", "quality_threshold": "10.0", "reads": {"__class__": "ConnectedValue"}, "u": "true", "w": "500", "window_length": "500", "x": "-4", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.5.0+galaxy1",type:"tool",uuid:"3208491e-b831-4238-957e-5b7388d7ff8d",when:null,workflow_outputs:[]},7:{annotation:"Map raw reads to assembly; output paf",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0",errors:null,id:7,input_connections:{"fastq_input|analysis_type_selector":{id:2,output_name:"output"},"fastq_input|fastq_input1":{id:1,output_name:"output"},"reference_source|ref_file":{id:6,output_name:"consensus"}},inputs:[],label:"Minimap2: map long reads to polished assembly 2",name:"Map with minimap2",outputs:[{name:"alignment_output",type:"bam"}],position:{left:998.75,top:27.9375},post_job_actions:{HideDatasetActionalignment_output:{action_arguments:{},action_type:"HideDatasetAction",output_name:"alignment_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0",tool_shed_repository:{changeset_revision:"be1d967337e4",name:"minimap2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "alignment_options": {"splicing": {"splice_mode": "preset", "__current_case__": 0}, "A": null, "B": null, "O": null, "O2": null, "E": null, "E2": null, "z": null, "z2": null, "s": null, "no_end_flt": true}, "fastq_input": {"fastq_input_selector": "single", "__current_case__": 0, "fastq_input1": {"__class__": "ConnectedValue"}, "analysis_type_selector": {"__class__": "ConnectedValue"}}, "indexing_options": {"H": false, "k": null, "w": null, "I": null}, "io_options": {"output_format": "paf", "Q": false, "L": false, "K": null, "cs": null, "c": false, "eqx": false, "Y": false}, "mapping_options": {"N": null, "F": null, "f": null, "kmer_ocurrence_interval": {"interval": "", "__current_case__": 1}, "min_occ_floor": null, "q_occ_frac": "0.01", "g": null, "r": null, "n": null, "m": null, "max_chain_skip": null, "max_chain_iter": null, "X": false, "p": null, "mask_len": null}, "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.26+galaxy0",type:"tool",uuid:"42af524b-7f74-4c75-8d78-f6888078dd2e",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/racon/racon/1.5.0+galaxy1",errors:null,id:8,input_connections:{corrected_reads:{id:6,output_name:"consensus"},overlaps:{id:7,output_name:"alignment_output"},reads:{id:1,output_name:"output"}},inputs:[],label:"Racon: polish 3",name:"Racon",outputs:[{name:"consensus",type:"fasta"}],position:{left:1089.71875,top:455.53125},post_job_actions:{HideDatasetActionconsensus:{action_arguments:{},action_type:"HideDatasetAction",output_name:"consensus"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/racon/racon/1.5.0+galaxy1",tool_shed_repository:{changeset_revision:"e100a765370e",name:"racon",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "corrected_reads": {"__class__": "ConnectedValue"}, "e": "0.3", "error_threshold": "0.3", "f": "false", "fragment_correction": false, "g": "-8", "gap": "-4", "include_unpolished": false, "m": "5", "match": "3", "mismatch": "-5", "no_trimming": false, "overlaps": {"__class__": "ConnectedValue"}, "q": "10.0", "quality_threshold": "10.0", "reads": {"__class__": "ConnectedValue"}, "u": "true", "w": "500", "window_length": "500", "x": "-4", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.5.0+galaxy1",type:"tool",uuid:"21f339bd-ebc1-4c73-a976-5d0b9ab2127a",when:null,workflow_outputs:[]},9:{annotation:"Map raw reads to assembly; output paf",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0",errors:null,id:9,input_connections:{"fastq_input|analysis_type_selector":{id:2,output_name:"output"},"fastq_input|fastq_input1":{id:1,output_name:"output"},"reference_source|ref_file":{id:8,output_name:"consensus"}},inputs:[],label:"Minimap2: map long reads to polished assembly 3",name:"Map with minimap2",outputs:[{name:"alignment_output",type:"bam"}],position:{left:1316.53125,top:38.046875},post_job_actions:{HideDatasetActionalignment_output:{action_arguments:{},action_type:"HideDatasetAction",output_name:"alignment_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0",tool_shed_repository:{changeset_revision:"be1d967337e4",name:"minimap2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "alignment_options": {"splicing": {"splice_mode": "preset", "__current_case__": 0}, "A": null, "B": null, "O": null, "O2": null, "E": null, "E2": null, "z": null, "z2": null, "s": null, "no_end_flt": true}, "fastq_input": {"fastq_input_selector": "single", "__current_case__": 0, "fastq_input1": {"__class__": "ConnectedValue"}, "analysis_type_selector": {"__class__": "ConnectedValue"}}, "indexing_options": {"H": false, "k": null, "w": null, "I": null}, "io_options": {"output_format": "paf", "Q": false, "L": false, "K": null, "cs": null, "c": false, "eqx": false, "Y": false}, "mapping_options": {"N": null, "F": null, "f": null, "kmer_ocurrence_interval": {"interval": "", "__current_case__": 1}, "min_occ_floor": null, "q_occ_frac": "0.01", "g": null, "r": null, "n": null, "m": null, "max_chain_skip": null, "max_chain_iter": null, "X": false, "p": null, "mask_len": null}, "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.26+galaxy0",type:"tool",uuid:"7d36291e-aa76-4312-9943-b5e56d0e90c5",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/racon/racon/1.5.0+galaxy1",errors:null,id:10,input_connections:{corrected_reads:{id:8,output_name:"consensus"},overlaps:{id:9,output_name:"alignment_output"},reads:{id:1,output_name:"output"}},inputs:[],label:"Racon: polish 4",name:"Racon",outputs:[{name:"consensus",type:"fasta"}],position:{left:1496.078125,top:431.1875},post_job_actions:{RenameDatasetActionconsensus:{action_arguments:{newname:"Racon_long_reads_polished_assembly.fasta"},action_type:"RenameDatasetAction",output_name:"consensus"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/racon/racon/1.5.0+galaxy1",tool_shed_repository:{changeset_revision:"e100a765370e",name:"racon",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "corrected_reads": {"__class__": "ConnectedValue"}, "e": "0.3", "error_threshold": "0.3", "f": "false", "fragment_correction": false, "g": "-8", "gap": "-4", "include_unpolished": false, "m": "5", "match": "3", "mismatch": "-5", "no_trimming": false, "overlaps": {"__class__": "ConnectedValue"}, "q": "10.0", "quality_threshold": "10.0", "reads": {"__class__": "ConnectedValue"}, "u": "true", "w": "500", "window_length": "500", "x": "-4", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.5.0+galaxy1",type:"tool",uuid:"53f4572e-3a4a-4585-89ab-9459f8a61720",when:null,workflow_outputs:[{label:"Assembly polished by long reads using Racon",output_name:"consensus",uuid:"bcf0f03c-5951-46a7-aa38-545aed9bc183"}]}},tags:[],uuid:"68d6270a-bfd1-452a-abc9-4a314e13af85",version:9},readme:`# Assembly polishing with Racon workflow ## Inputs @@ -374,6 +701,48 @@ There is one output: the polished assembly in fasta format. ## [0.1] 2023-07-15 First release. +`,diagrams:`# Workflow diagrams + +## Assembly polishing with long reads + +\`\`\`mermaid +graph LR +0["ℹ️ Assembly to be polished"]@{ shape: doc } +1["ℹ️ long reads"]@{ shape: doc } +2["ℹ️ minimap setting (for long reads) "]@{ shape: lean-l } +3["Minimap2: map long reads to assembly"]@{ shape: process } +2 --> 3 +1 --> 3 +0 --> 3 +4["Racon: polish 1"]@{ shape: process } +0 --> 4 +3 --> 4 +1 --> 4 +5["Minimap2: map long reads to polished assembly 1"]@{ shape: process } +2 --> 5 +1 --> 5 +4 --> 5 +6["Racon: polish 2"]@{ shape: process } +4 --> 6 +5 --> 6 +1 --> 6 +7["Minimap2: map long reads to polished assembly 2"]@{ shape: process } +2 --> 7 +1 --> 7 +6 --> 7 +8["Racon: polish 3"]@{ shape: process } +6 --> 8 +7 --> 8 +1 --> 8 +9["Minimap2: map long reads to polished assembly 3"]@{ shape: process } +2 --> 9 +1 --> 9 +8 --> 9 +10["Racon: polish 4"]@{ shape: process } +8 --> 10 +9 --> 10 +1 --> 10 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/polish-with-long-reads/main",tests:[{doc:"Test outline for Assembly-polishing-with-long-reads",job:{"Assembly to be polished":{class:"File",path:"test-data/assembly.fasta",filetype:"fasta"},"long reads":{class:"File",path:"test-data/long_reads.fastqsanger.gz",filetype:"fastqsanger.gz"},"minimap setting (for long reads) ":"map-ont"},outputs:{"Assembly polished by long reads using Racon":{path:"test-data/assembly_polished_by_long_reads.fasta",compare:"sim_size",delta_frac:.2}}}]}],path:"./workflows/genome-assembly/polish-with-long-reads"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/quality_and_contamination_control.ga",testParameterFiles:["/quality_and_contamination_control-tests.yml"],authors:[{name:"ABRomics",email:"abromics-support@groupes.france-bioinformatique.fr"},{name:"abromics-consortium",url:"https://www.abromics.fr/"},{name:"Pierre Marin",alternateName:"pimarin",orcid:"0000-0002-8304-138X"},{name:"Clea Siguret",alternateName:"clsiguret",orcid:"0009-0005-6140-0379"}],definition:{a_galaxy_workflow:"true",annotation:"Short paired-end read analysis to provide quality analysis, read cleaning and taxonomy assignation",creator:[{class:"Person",email:"mailto:abromics-support@groupes.france-bioinformatique.fr",name:"ABRomics"},{class:"Organization",name:"abromics-consortium",url:"https://www.abromics.fr/"},{alternateName:"pimarin",class:"Person",identifier:"https://orcid.org/0000-0002-8304-138X",name:"Pierre Marin"},{alternateName:"clsiguret",class:"Person",identifier:"https://orcid.org/0009-0005-6140-0379",name:"Clea Siguret"}],"format-version":"0.1",license:"GPL-3.0-or-later",release:"1.1.6",name:"Quality and Contamination Control For Genome Assembly",steps:{0:{annotation:"Should be the forward strand of the paired end reads.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be the forward strand of the paired end reads.",name:"Input sequence reads (forward)"}],label:"Input sequence reads (forward)",name:"Input dataset",outputs:[],position:{left:21.02195459971947,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["fastq", "fastq.gz", "fastqsanger", "fastqsanger.gz"], "tag": ""}',tool_version:null,type:"data_input",uuid:"05125e59-489b-4896-8e58-8bf49a8dde78",when:null,workflow_outputs:[]},1:{annotation:"Should be the reverse strand of the paired end reads.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Should be the reverse strand of the paired end reads.",name:"Input sequence reads (reverse)"}],label:"Input sequence reads (reverse)",name:"Input dataset",outputs:[],position:{left:17.95353354143969,top:108.04692569668924},tool_id:null,tool_state:'{"optional": false, "format": ["fastq", "fastq.gz", "fastqsanger", "fastqsanger.gz"], "tag": ""}',tool_version:null,type:"data_input",uuid:"f0763317-fde5-4f81-9297-0163663b1742",when:null,workflow_outputs:[]},2:{annotation:"Select the database to use for assigning taxonomies for Kraken2 and Bracken.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Select the database to use for assigning taxonomies for Kraken2 and Bracken.",name:"Select a taxonomy database"}],label:"Select a taxonomy database",name:"Input parameter",outputs:[],position:{left:0,top:307.433349609375},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"1a56b57e-8893-4cbc-a984-329e0b815cbd",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"62ded62a-d0c4-49ba-b3ef-c97ff39c6c5e"}]},3:{annotation:"Select the ncbi taxonomy database for Recentrifuge.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Select the ncbi taxonomy database for Recentrifuge.",name:"Select a NCBI taxonomy database"}],label:"Select a NCBI taxonomy database",name:"Input parameter",outputs:[],position:{left:5.9666748046875,top:454.91066885428484},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"daac0634-bcf4-4fdd-bcd2-67247f5afdd0",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"9b99164e-0a87-4bba-8838-ec4f428cf4d5"}]},4:{annotation:"fastp_triming, quality analaysis and read cleaning",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3",errors:null,id:4,input_connections:{"single_paired|in1":{id:0,output_name:"output"},"single_paired|in2":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool fastp",name:"single_paired"},{description:"runtime parameter for tool fastp",name:"single_paired"}],label:"fastp_trimming_step",name:"fastp",outputs:[{name:"out1",type:"input"},{name:"out2",type:"input"},{name:"report_html",type:"html"},{name:"report_json",type:"json"}],position:{left:256.3279681321078,top:11.29864083194758},post_job_actions:{ChangeDatatypeActionout1:{action_arguments:{newtype:"fastqsanger.gz"},action_type:"ChangeDatatypeAction",output_name:"out1"},ChangeDatatypeActionout2:{action_arguments:{newtype:"fastqsanger.gz"},action_type:"ChangeDatatypeAction",output_name:"out2"},RenameDatasetActionout1:{action_arguments:{newname:"fastp_trimmed_R1"},action_type:"RenameDatasetAction",output_name:"out1"},RenameDatasetActionout2:{action_arguments:{newname:"fastp_trimmed_R2"},action_type:"RenameDatasetAction",output_name:"out2"},RenameDatasetActionreport_html:{action_arguments:{newname:"fastp_report_html"},action_type:"RenameDatasetAction",output_name:"report_html"},RenameDatasetActionreport_json:{action_arguments:{newname:"fastp_report_json"},action_type:"RenameDatasetAction",output_name:"report_json"},TagDatasetActionout1:{action_arguments:{tags:"R1"},action_type:"TagDatasetAction",output_name:"out1"},TagDatasetActionout2:{action_arguments:{tags:"R2"},action_type:"TagDatasetAction",output_name:"out2"},TagDatasetActionreport_html:{action_arguments:{tags:"fastp,html"},action_type:"TagDatasetAction",output_name:"report_html"},TagDatasetActionreport_json:{action_arguments:{tags:"fastp,report,json"},action_type:"TagDatasetAction",output_name:"report_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3",tool_shed_repository:{changeset_revision:"a626e8c0e1ba",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": false, "qualified_quality_phred": null, "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": false, "length_required": null, "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": false, "complexity_threshold": null}}, "output_options": {"report_html": true, "report_json": true}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": false, "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": false, "umi_loc": null, "umi_len": null, "umi_prefix": null}, "cutting_by_quality_options": {"cut_by_quality5": false, "cut_by_quality3": false, "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": false}}, "single_paired": {"single_paired_selector": "paired", "__current_case__": 1, "in1": {"__class__": "ConnectedValue"}, "in2": {"__class__": "ConnectedValue"}, "merge_reads": {"merge": "", "__current_case__": 1}, "adapter_trimming_options": {"disable_adapter_trimming": false, "adapter_sequence1": null, "adapter_sequence2": null, "detect_adapter_for_pe": false}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null, "trim_front2": null, "trim_tail2": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.24.0+galaxy3",type:"tool",uuid:"7f405009-2491-4633-b4e1-ca0fdbd8360d",when:null,workflow_outputs:[{label:"fastp_trimmed_R1",output_name:"out1",uuid:"d596e01c-9180-4482-9326-cc8289427fa1"},{label:"fastp_trimmed_R2",output_name:"out2",uuid:"44c14c4e-40af-4045-856c-f2429af36b98"},{label:"fastp_report_html",output_name:"report_html",uuid:"f6b7db2c-fdd8-4d7c-81c0-6d4a9dd76ff7"},{label:"fastp_report_json",output_name:"report_json",uuid:"4ce40cda-0c59-4128-b8fe-d2fe67fe0ba9"}]},5:{annotation:"kraken_taxonomy_assignation",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.3+galaxy1",errors:null,id:5,input_connections:{kraken2_database:{id:2,output_name:"output"},"single_paired|forward_input":{id:4,output_name:"out1"},"single_paired|reverse_input":{id:4,output_name:"out2"}},inputs:[{description:"runtime parameter for tool Kraken2",name:"single_paired"},{description:"runtime parameter for tool Kraken2",name:"single_paired"}],label:"kraken_taxonomy_assignation",name:"Kraken2",outputs:[{name:"report_output",type:"tabular"},{name:"output",type:"tabular"}],position:{left:563.3447180137721,top:148.60919325423987},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"kraken_report_reads"},action_type:"RenameDatasetAction",output_name:"output"},RenameDatasetActionreport_output:{action_arguments:{newname:"kraken_report_tabular"},action_type:"RenameDatasetAction",output_name:"report_output"},TagDatasetActionoutput:{action_arguments:{tags:"kraken2,report,reads"},action_type:"TagDatasetAction",output_name:"output"},TagDatasetActionreport_output:{action_arguments:{tags:"kraken2,report,tabular"},action_type:"TagDatasetAction",output_name:"report_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.3+galaxy1",tool_shed_repository:{changeset_revision:"cdee7158adf3",name:"kraken2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"confidence": "0.0", "kraken2_database": {"__class__": "ConnectedValue"}, "min_base_quality": "10", "minimum_hit_groups": "2", "quick": false, "report": {"create_report": true, "use_mpa_style": false, "report_zero_counts": false, "report_minimizer_data": false}, "single_paired": {"single_paired_selector": "yes", "__current_case__": 1, "forward_input": {"__class__": "ConnectedValue"}, "reverse_input": {"__class__": "ConnectedValue"}}, "split_reads": false, "use_names": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.3+galaxy1",type:"tool",uuid:"e414f0c1-5e79-472c-bf06-a3984aa3a46b",when:null,workflow_outputs:[{label:"kraken_report_tabular",output_name:"report_output",uuid:"68f9f0c0-375c-43ba-8687-9e2a1e602e8e"},{label:"kraken_report_reads",output_name:"output",uuid:"267ff8a0-b6bc-4fcf-97b9-bbf5a3d0c05f"}]},6:{annotation:"bracken_abundance_estimation",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/3.0+galaxy0",errors:null,id:6,input_connections:{input:{id:5,output_name:"report_output"},kmer_distr:{id:2,output_name:"output"}},inputs:[],label:"bracken_abundance_estimation",name:"Bracken",outputs:[{name:"report",type:"tabular"},{name:"kraken_report",type:"tabular"}],position:{left:810.7535213344084,top:77.49065954589844},post_job_actions:{RenameDatasetActionkraken_report:{action_arguments:{newname:"bracken_kraken_report"},action_type:"RenameDatasetAction",output_name:"kraken_report"},RenameDatasetActionreport:{action_arguments:{newname:"bracken_report_tsv"},action_type:"RenameDatasetAction",output_name:"report"},TagDatasetActionkraken_report:{action_arguments:{tags:"bracken_kraken_report"},action_type:"TagDatasetAction",output_name:"kraken_report"},TagDatasetActionreport:{action_arguments:{tags:"bracken,report"},action_type:"TagDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/3.0+galaxy0",tool_shed_repository:{changeset_revision:"0c7b6eb7e752",name:"bracken",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "ConnectedValue"}, "kmer_distr": {"__class__": "ConnectedValue"}, "level": "S", "logfile_output": false, "out_report": true, "threshold": "10", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.0+galaxy0",type:"tool",uuid:"e088cdc6-d79b-453c-8787-6d4b7004312a",when:null,workflow_outputs:[{label:"bracken_kraken_report",output_name:"kraken_report",uuid:"63933cf1-8f43-4481-98ff-3a7c36fbaf00"},{label:"bracken_report_tsv",output_name:"report",uuid:"2d962685-0630-4cf8-a943-800eab2d4f67"}]},7:{annotation:"recentrifuge_taxonomy_visualization",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.15.0+galaxy0",errors:null,id:7,input_connections:{"database|database_name":{id:3,output_name:"output"},input_file:{id:5,output_name:"output"}},inputs:[{description:"runtime parameter for tool Recentrifuge",name:"database"}],label:"recentrifuge_taxonomy_visualization",name:"Recentrifuge",outputs:[{name:"html_report",type:"html"},{name:"logfile",type:"txt"},{name:"data_tsv",type:"tabular"},{name:"stat_tsv",type:"tabular"}],position:{left:809.9535335414397,top:405.274},post_job_actions:{RenameDatasetActiondata_tsv:{action_arguments:{newname:"recentrifuge_data_tabular"},action_type:"RenameDatasetAction",output_name:"data_tsv"},RenameDatasetActionhtml_report:{action_arguments:{newname:"recentrifuge_report_html"},action_type:"RenameDatasetAction",output_name:"html_report"},RenameDatasetActionlogfile:{action_arguments:{newname:"recentrifuge_logfile"},action_type:"RenameDatasetAction",output_name:"logfile"},RenameDatasetActionstat_tsv:{action_arguments:{newname:"recentrifuge_stats_tabular"},action_type:"RenameDatasetAction",output_name:"stat_tsv"},TagDatasetActiondata_tsv:{action_arguments:{tags:"recentrifuge,data"},action_type:"TagDatasetAction",output_name:"data_tsv"},TagDatasetActionhtml_report:{action_arguments:{tags:"recentrifuge_report_html"},action_type:"TagDatasetAction",output_name:"html_report"},TagDatasetActionlogfile:{action_arguments:{tags:"logfile"},action_type:"TagDatasetAction",output_name:"logfile"},TagDatasetActionstat_tsv:{action_arguments:{tags:"recentrifuge,stats"},action_type:"TagDatasetAction",output_name:"stat_tsv"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.15.0+galaxy0",tool_shed_repository:{changeset_revision:"591175c0f051",name:"recentrifuge",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_option": {"controls": "0", "scoring": null, "minscore_value": "0", "mintaxa": "0", "exclude_taxa_name": null, "include_taxa_name": null, "avoidcross": false}, "database": {"database_name": {"__class__": "ConnectedValue"}}, "file_type": {"filetype": "kraken", "__current_case__": 3}, "input_file": {"__class__": "ConnectedValue"}, "more_advanced_option": {"ctrlminscore": "0", "ctrlmintaxa": "0", "summary": "ADD", "takeoutroot": false, "nokollapse": false, "strain": true, "sequential": false}, "output_option": {"extra": "TSV", "nohtml": false, "no_logfile": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.15.0+galaxy0",type:"tool",uuid:"2db5d20e-62c7-43ad-b21f-e9992c77faa1",when:null,workflow_outputs:[{label:"recentrifuge_report_html",output_name:"html_report",uuid:"1cb280ed-a5dc-4d26-8ce4-833b3c3ffe47"},{label:"recentrifuge_stats_tabular",output_name:"stat_tsv",uuid:"62543f1b-765b-4022-bf57-ce2a7f6d3845"},{label:"recentrifuge_data_tabular",output_name:"data_tsv",uuid:"2c9ca7c0-6fd8-4324-8684-94e4d1fa24ba"},{label:"recentrifuge_logfile",output_name:"logfile",uuid:"f09996c8-a1be-484c-9b0d-3d96a68ae8c7"}]},8:{annotation:"ToolDistillator extracts results from tools and creates a JSON file for each tool",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1",errors:null,id:8,input_connections:{"tool_section|tools_0|select_tool|html_report_path":{id:4,output_name:"report_html"},"tool_section|tools_0|select_tool|input":{id:4,output_name:"report_json"},"tool_section|tools_0|select_tool|trimmed_forward_R1_path":{id:4,output_name:"out1"},"tool_section|tools_0|select_tool|trimmed_reverse_R2_path":{id:4,output_name:"out2"},"tool_section|tools_1|select_tool|input":{id:5,output_name:"report_output"},"tool_section|tools_1|select_tool|reference_database_version":{id:2,output_name:"output"},"tool_section|tools_1|select_tool|seq_classification_file_path":{id:5,output_name:"output"},"tool_section|tools_2|select_tool|input":{id:6,output_name:"report"},"tool_section|tools_2|select_tool|kraken_report_path":{id:6,output_name:"kraken_report"},"tool_section|tools_2|select_tool|reference_database_version":{id:2,output_name:"output"},"tool_section|tools_3|select_tool|input":{id:7,output_name:"data_tsv"},"tool_section|tools_3|select_tool|rcf_html_path":{id:7,output_name:"html_report"},"tool_section|tools_3|select_tool|rcf_stat_path":{id:7,output_name:"stat_tsv"},"tool_section|tools_3|select_tool|reference_database_version":{id:3,output_name:"output"}},inputs:[],label:"ToolDistillator",name:"ToolDistillator",outputs:[{name:"output_json",type:"input"}],position:{left:1208.036907564877,top:47.093340454101565},post_job_actions:{RenameDatasetActionoutput_json:{action_arguments:{newname:"tooldistillator_results"},action_type:"RenameDatasetAction",output_name:"output_json"},TagDatasetActionoutput_json:{action_arguments:{tags:"tooldistillator_results"},action_type:"TagDatasetAction",output_name:"output_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1",tool_shed_repository:{changeset_revision:"ea93df4b3df2",name:"tooldistillator",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"log": false, "tool_section": {"tools": [{"__index__": 0, "select_tool": {"tool_list": "fastp", "__current_case__": 6, "input": {"__class__": "ConnectedValue"}, "trimmed_forward_R1_path": {"__class__": "ConnectedValue"}, "trimmed_reverse_R2_path": {"__class__": "ConnectedValue"}, "html_report_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": null}}, {"__index__": 1, "select_tool": {"tool_list": "kraken2", "__current_case__": 12, "input": {"__class__": "ConnectedValue"}, "seq_classification_file_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "select_tool": {"tool_list": "bracken", "__current_case__": 4, "input": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": {"__class__": "ConnectedValue"}, "kraken_report_path": {"__class__": "ConnectedValue"}, "threshold": null, "read_len": "100", "level": "S"}}, {"__index__": 3, "select_tool": {"tool_list": "recentrifuge", "__current_case__": 17, "input": {"__class__": "ConnectedValue"}, "rcf_stat_path": {"__class__": "ConnectedValue"}, "rcf_html_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": {"__class__": "ConnectedValue"}}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.1+galaxy1",type:"tool",uuid:"b88b0ffe-f660-43ea-b00a-40ca0087f83f",when:null,workflow_outputs:[{label:"tooldistillator_results",output_name:"output_json",uuid:"d0ad8d88-a27f-439a-8523-6e0626401c58"}]},9:{annotation:"ToolDistillator summarize groups all JSON file into a unique JSON file",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1",errors:null,id:9,input_connections:{summarize_data:{id:8,output_name:"output_json"}},inputs:[],label:"ToolDistillator summarize",name:"ToolDistillator Summarize",outputs:[{name:"summary_json",type:"json"}],position:{left:1509.353557955502,top:342.8073251953125},post_job_actions:{RenameDatasetActionsummary_json:{action_arguments:{newname:"tooldistillator_summarize"},action_type:"RenameDatasetAction",output_name:"summary_json"},TagDatasetActionsummary_json:{action_arguments:{tags:"tooldistillator_summarize"},action_type:"TagDatasetAction",output_name:"summary_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1",tool_shed_repository:{changeset_revision:"24eec94e6dfc",name:"tooldistillator_summarize",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"summarize_data": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.1+galaxy1",type:"tool",uuid:"fbc8d552-c0b1-426c-b26f-8bfe8371b05e",when:null,workflow_outputs:[{label:"tooldistillator_summarize",output_name:"summary_json",uuid:"2db8147f-05b9-4ddc-a3db-bd31fb57c690"}]}},tags:["Genomics","fastq","bacterial-genomics","taxonomy-assignment","paired-end","quality","ABRomics","trimming"],uuid:"eb1c667d-639d-4403-a2b4-1cb6683e0fa5",version:1},readme:`# Quality and Contamination control workflow for paired end data (v1.0) This workflow uses paired-end illumina fastq(.gz) files and executes the following steps: @@ -401,7 +770,48 @@ This workflow uses paired-end illumina fastq(.gz) files and executes the followi - Krona chart to illustrate species diversity of the sample 3. Aggregating outputs: - JSON file with information about the outputs of **fastp**, **Kraken2**, **Bracken**, **Recentrifuge** -`,changelog:'# Changelog\n\n## [1.1.6] 2024-11-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3`\n\n## [1.1.5] 2024-10-21\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1`\n\n## [1.1.4] 2024-10-10\n\n### Manual update\n\n- Changed input parameters to select databases in WFs. Use "Attempt restriction based on connections" instead of "Provide list of suggested values".\n\n## [1.1.3] 2024-09-30\n\n### Manual update\n\n- Updated Recentrifuge version manually in the ToolDistillator parameters\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.14.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.15.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0`\n\n## [1.1.2] 2024-08-05\n\n### Manual update\n\n- Updated the tool versions manually in the ToolDistillator parameters\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/2.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/3.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.14.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.14.1+galaxy0`\n\n## [1.1.1] 2024-07-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0`\n\n## [1.1] 2024-06-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/2.9+galaxy0`\n\n## [1.0] - 04-06-2024\n\n- First release\n',trsID:"#workflow/github.com/iwc-workflows/quality-and-contamination-control/main",tests:[{doc:"Test outline for quality_and_contamination_control.ga",job:{"Input sequence reads (forward)":{class:"File",path:"https://zenodo.org/records/11484215/files/paired_r1.fastq.gz",filetype:"fastqsanger.gz"},"Input sequence reads (reverse)":{class:"File",path:"https://zenodo.org/records/11484215/files/paired_r2.fastq.gz",filetype:"fastqsanger.gz"},"Select a taxonomy database":"k2_minusb_20210517","Select a NCBI taxonomy database":"2022-03-08"},outputs:{fastp_report_json:{asserts:{has_text:{text:"read2_before_filtering"}}},kraken_report_tabular:{asserts:{has_text:{text:"Enterococcus avium"},has_n_columns:{n:6}}},kraken_report_reads:{asserts:{has_text:{text:"M07044:90:000000000-JRJWP:1:1119:23974:4461"},has_n_columns:{n:5}}},bracken_kraken_report:{asserts:{has_text:{text:"Enterococcus gallinarum"},has_n_columns:{n:6}}},bracken_report_tsv:{asserts:{has_text:{text:"Escherichia coli"},has_n_columns:{n:7}}},recentrifuge_data_tabular:{asserts:{has_text:{text:"Enterococcus faecalis"},has_n_columns:{n:6}}},recentrifuge_stats_tabular:{asserts:{has_text:{text:"input_dir/kraken_report_reads"},has_n_columns:{n:2}}},tooldistillator_summarize:{asserts:[{that:"has_text",text:"fastp_report"},{that:"has_text",text:"ncbi_taxonomic_id"},{that:"has_text",text:"kraken2_report"}]}}}]}],path:"./workflows/genome-assembly/quality-and-contamination-control"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Genome-assembly-with-Flye.ga",testParameterFiles:["/Genome-assembly-with-Flye-tests.yml"],authors:[{name:"Anna Syme",orcid:"0000-0002-9906-0673"}],definition:{a_galaxy_workflow:"true",annotation:"Assemble long reads with Flye, then view assembly statistics and assembly graph",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9906-0673",name:"Anna Syme"}],"format-version":"0.1",license:"MIT",release:"0.2",name:"Genome assembly with Flye",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n\n"},steps:{0:{annotation:"Sequence reads e.g. nanopore",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Sequence reads e.g. nanopore",name:"Input sequence reads"}],label:"Input sequence reads",name:"Input dataset",outputs:[],position:{left:0,top:263.5110244255367},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"501d7387-3bed-4510-891f-a4571a48d9ab",when:null,workflow_outputs:[]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/flye/flye/2.9.3+galaxy0",errors:null,id:1,input_connections:{inputs:{id:0,output_name:"output"}},inputs:[],label:"Flye: assembly",name:"Flye",outputs:[{name:"consensus",type:"fasta"},{name:"assembly_graph",type:"graph_dot"},{name:"assembly_gfa",type:"txt"},{name:"assembly_info",type:"tabular"}],position:{left:264.3488280182951,top:139.5081025362239},post_job_actions:{RenameDatasetActionassembly_gfa:{action_arguments:{newname:"Flye output as GFA for bandage"},action_type:"RenameDatasetAction",output_name:"assembly_gfa"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/flye/flye/2.9.3+galaxy0",tool_shed_repository:{changeset_revision:"291923e6f276",name:"flye",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"asm": {"asm_select": "false", "__current_case__": 1}, "generate_log": false, "i": "1", "inputs": {"__class__": "ConnectedValue"}, "iterations": "1", "keep_haplotypes": false, "m": null, "meta": false, "min_overlap": null, "mode": "--nano-raw", "mode_conditional": {"mode": "--nano-raw", "__current_case__": 0}, "no_alt_contigs": false, "no_trestle": "false", "plasmids": "false", "scaffold": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.9.3+galaxy0",type:"tool",uuid:"8bed3591-266a-41f1-91d3-11b3456e8609",when:null,workflow_outputs:[{label:"Flye assembly (consensus)",output_name:"consensus",uuid:"3960e31d-7a9e-400c-bb21-f6e47b75e649"},{label:"Flye assembly (assembly_graph)",output_name:"assembly_graph",uuid:"e524f295-a957-4c91-838c-f8e98e809b6c"},{label:"Flye assembly (Graphical Fragment Assembly)",output_name:"assembly_gfa",uuid:"48b854e2-dd6e-4345-8d05-09abca6659da"},{label:"Flye assembly (assembly_info)",output_name:"assembly_info",uuid:"8672c172-71a7-432c-9679-a8e37f36cf53"}]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.2.0+galaxy1",errors:null,id:2,input_connections:{"mode|in|inputs":{id:1,output_name:"consensus"}},inputs:[],label:"Quast genome report",name:"Quast",outputs:[{name:"report_html",type:"html"}],position:{left:562.9918212890625,top:0},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.2.0+galaxy1",tool_shed_repository:{changeset_revision:"72472698a2df",name:"quast",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "advanced": {"contig_thresholds": "0,1000", "strict_NA": false, "extensive_mis_size": "1000", "scaffold_gap_max_size": "1000", "unaligned_part_size": "500", "skip_unaligned_mis_contigs": true, "fragmented_max_indent": null, "report_all_metrics": false, "x_for_Nx": "90"}, "al": {"ambiguity_score": "0.99", "ambiguity_usage": "one", "fragmented": false, "fragmented_max_indent": "50", "min_alignment": "65", "min_identity": "95.0", "upper_bound_assembly": false, "upper_bound_min_con": "2", "use_all_alignments": false}, "alignments": {"use_all_alignments": false, "min_alignment": "65", "ambiguity_usage": "one", "ambiguity_score": "0.99", "fragmented": false, "upper_bound_assembly": false, "upper_bound_min_con": null, "local_mis_size": "200"}, "assembly": {"type": "genome", "__current_case__": 0, "ref": {"use_ref": "false", "__current_case__": 1, "est_ref_size": null}, "orga_type": "", "min_identity": "95.0"}, "circos": "false", "contig_thresholds": "0,1000", "extensive_mis_size": "1000", "genes": {"gene_finding": {"tool": "none", "__current_case__": 0}, "rna_finding": false, "conserved_genes_finding": false}, "in": {"__current_case__": 1, "custom": "false", "inputs": {"__class__": "RuntimeValue"}}, "k_mer": {"__current_case__": 1, "k_mer_stats": ""}, "large": true, "min_contig": "500", "mode": {"mode": "co", "__current_case__": 1, "in": {"custom": "false", "__current_case__": 1, "inputs": {"__class__": "ConnectedValue"}}, "reads": {"reads_option": "disabled", "__current_case__": 0}}, "output_files": "html", "scaffold_gap_max_size": "1000", "skip_unaligned_mis_contigs": "false", "split_scaffolds": false, "strict_NA": "false", "unaligned_part_size": "500", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.2.0+galaxy1",type:"tool",uuid:"5bc29646-ec4c-4eb3-af01-73d82fc690a2",when:null,workflow_outputs:[{label:"Quast: HTML report",output_name:"report_html",uuid:"17cdf8e0-8ad4-4570-afae-1861934fc678"}]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fasta_stats/fasta-stats/2.0",errors:null,id:3,input_connections:{fasta:{id:1,output_name:"consensus"}},inputs:[],label:"Fasta statistics",name:"Fasta Statistics",outputs:[{name:"stats_output",type:"tabular"}],position:{left:569.7271118164062,top:189.37097199902308},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fasta_stats/fasta-stats/2.0",tool_shed_repository:{changeset_revision:"0dbb995c7d35",name:"fasta_stats",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"dataset": {"__class__": "ConnectedValue"}, "fasta": {"__class__": "ConnectedValue"}, "gaps_option": false, "genome_size": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0",type:"tool",uuid:"811b5756-e24e-4de3-a3d6-2ee4bf347c1b",when:null,workflow_outputs:[{label:"Flye assembly statistics",output_name:"stats_output",uuid:"49f24151-e76c-4d94-8045-4d52bcd9aae5"}]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/2022.09+galaxy4",errors:null,id:4,input_connections:{input_file:{id:1,output_name:"assembly_gfa"}},inputs:[],label:"Bandage image: Flye assembly",name:"Bandage Image",outputs:[{name:"outfile",type:"jpg"}],position:{left:571.0624389648438,top:311.80291748046875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/2022.09+galaxy4",tool_shed_repository:{changeset_revision:"ddddce450736",name:"bandage",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"fontsize": null, "height": "1000", "input_file": {"__class__": "ConnectedValue"}, "lengths": false, "names": false, "nodewidth": null, "output_format": "jpg", "width": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022.09+galaxy4",type:"tool",uuid:"395f2dfe-3fa5-4684-bf97-7dd12e970f78",when:null,workflow_outputs:[{label:"Bandage Image: Assembly Graph Image",output_name:"outfile",uuid:"e66bd129-146f-48dc-95b8-39a2a1ffb68d"}]}},tags:[],uuid:"83ef6fdc-b8a9-41af-a824-0225f0199e63",version:21},readme:`# Genome assembly with Flye workflow +`,changelog:'# Changelog\n\n## [1.1.6] 2024-11-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3`\n\n## [1.1.5] 2024-10-21\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1`\n\n## [1.1.4] 2024-10-10\n\n### Manual update\n\n- Changed input parameters to select databases in WFs. Use "Attempt restriction based on connections" instead of "Provide list of suggested values".\n\n## [1.1.3] 2024-09-30\n\n### Manual update\n\n- Updated Recentrifuge version manually in the ToolDistillator parameters\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.14.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.15.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0`\n\n## [1.1.2] 2024-08-05\n\n### Manual update\n\n- Updated the tool versions manually in the ToolDistillator parameters\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/2.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/3.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.14.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.14.1+galaxy0`\n\n## [1.1.1] 2024-07-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0`\n\n## [1.1] 2024-06-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/2.9+galaxy0`\n\n## [1.0] - 04-06-2024\n\n- First release\n',diagrams:`# Workflow diagrams + +## Quality and Contamination Control For Genome Assembly + +\`\`\`mermaid +graph LR +0["ℹ️ Input sequence reads (forward)"]@{ shape: doc } +1["ℹ️ Input sequence reads (reverse)"]@{ shape: doc } +2["ℹ️ Select a taxonomy database"]@{ shape: lean-l } +3["ℹ️ Select a NCBI taxonomy database"]@{ shape: lean-l } +4["fastp_trimming_step"]@{ shape: process } +0 --> 4 +1 --> 4 +5["kraken_taxonomy_assignation"]@{ shape: process } +2 --> 5 +4 --> 5 +4 --> 5 +6["bracken_abundance_estimation"]@{ shape: process } +5 --> 6 +2 --> 6 +7["recentrifuge_taxonomy_visualization"]@{ shape: process } +3 --> 7 +5 --> 7 +8["ToolDistillator"]@{ shape: process } +4 --> 8 +4 --> 8 +4 --> 8 +4 --> 8 +5 --> 8 +2 --> 8 +5 --> 8 +6 --> 8 +6 --> 8 +2 --> 8 +7 --> 8 +7 --> 8 +7 --> 8 +3 --> 8 +9["ToolDistillator summarize"]@{ shape: process } +8 --> 9 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/quality-and-contamination-control/main",tests:[{doc:"Test outline for quality_and_contamination_control.ga",job:{"Input sequence reads (forward)":{class:"File",path:"https://zenodo.org/records/11484215/files/paired_r1.fastq.gz",filetype:"fastqsanger.gz"},"Input sequence reads (reverse)":{class:"File",path:"https://zenodo.org/records/11484215/files/paired_r2.fastq.gz",filetype:"fastqsanger.gz"},"Select a taxonomy database":"k2_minusb_20210517","Select a NCBI taxonomy database":"2022-03-08"},outputs:{fastp_report_json:{asserts:{has_text:{text:"read2_before_filtering"}}},kraken_report_tabular:{asserts:{has_text:{text:"Enterococcus avium"},has_n_columns:{n:6}}},kraken_report_reads:{asserts:{has_text:{text:"M07044:90:000000000-JRJWP:1:1119:23974:4461"},has_n_columns:{n:5}}},bracken_kraken_report:{asserts:{has_text:{text:"Enterococcus gallinarum"},has_n_columns:{n:6}}},bracken_report_tsv:{asserts:{has_text:{text:"Escherichia coli"},has_n_columns:{n:7}}},recentrifuge_data_tabular:{asserts:{has_text:{text:"Enterococcus faecalis"},has_n_columns:{n:6}}},recentrifuge_stats_tabular:{asserts:{has_text:{text:"input_dir/kraken_report_reads"},has_n_columns:{n:2}}},tooldistillator_summarize:{asserts:[{that:"has_text",text:"fastp_report"},{that:"has_text",text:"ncbi_taxonomic_id"},{that:"has_text",text:"kraken2_report"}]}}}]}],path:"./workflows/genome-assembly/quality-and-contamination-control"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Genome-assembly-with-Flye.ga",testParameterFiles:["/Genome-assembly-with-Flye-tests.yml"],authors:[{name:"Anna Syme",orcid:"0000-0002-9906-0673"}],definition:{a_galaxy_workflow:"true",annotation:"Assemble long reads with Flye, then view assembly statistics and assembly graph",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9906-0673",name:"Anna Syme"}],"format-version":"0.1",license:"MIT",release:"0.2",name:"Genome assembly with Flye",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n\n"},steps:{0:{annotation:"Sequence reads e.g. nanopore",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Sequence reads e.g. nanopore",name:"Input sequence reads"}],label:"Input sequence reads",name:"Input dataset",outputs:[],position:{left:0,top:263.5110244255367},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"501d7387-3bed-4510-891f-a4571a48d9ab",when:null,workflow_outputs:[]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/flye/flye/2.9.3+galaxy0",errors:null,id:1,input_connections:{inputs:{id:0,output_name:"output"}},inputs:[],label:"Flye: assembly",name:"Flye",outputs:[{name:"consensus",type:"fasta"},{name:"assembly_graph",type:"graph_dot"},{name:"assembly_gfa",type:"txt"},{name:"assembly_info",type:"tabular"}],position:{left:264.3488280182951,top:139.5081025362239},post_job_actions:{RenameDatasetActionassembly_gfa:{action_arguments:{newname:"Flye output as GFA for bandage"},action_type:"RenameDatasetAction",output_name:"assembly_gfa"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/flye/flye/2.9.3+galaxy0",tool_shed_repository:{changeset_revision:"291923e6f276",name:"flye",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"asm": {"asm_select": "false", "__current_case__": 1}, "generate_log": false, "i": "1", "inputs": {"__class__": "ConnectedValue"}, "iterations": "1", "keep_haplotypes": false, "m": null, "meta": false, "min_overlap": null, "mode": "--nano-raw", "mode_conditional": {"mode": "--nano-raw", "__current_case__": 0}, "no_alt_contigs": false, "no_trestle": "false", "plasmids": "false", "scaffold": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.9.3+galaxy0",type:"tool",uuid:"8bed3591-266a-41f1-91d3-11b3456e8609",when:null,workflow_outputs:[{label:"Flye assembly (consensus)",output_name:"consensus",uuid:"3960e31d-7a9e-400c-bb21-f6e47b75e649"},{label:"Flye assembly (assembly_graph)",output_name:"assembly_graph",uuid:"e524f295-a957-4c91-838c-f8e98e809b6c"},{label:"Flye assembly (Graphical Fragment Assembly)",output_name:"assembly_gfa",uuid:"48b854e2-dd6e-4345-8d05-09abca6659da"},{label:"Flye assembly (assembly_info)",output_name:"assembly_info",uuid:"8672c172-71a7-432c-9679-a8e37f36cf53"}]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.2.0+galaxy1",errors:null,id:2,input_connections:{"mode|in|inputs":{id:1,output_name:"consensus"}},inputs:[],label:"Quast genome report",name:"Quast",outputs:[{name:"report_html",type:"html"}],position:{left:562.9918212890625,top:0},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.2.0+galaxy1",tool_shed_repository:{changeset_revision:"72472698a2df",name:"quast",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "advanced": {"contig_thresholds": "0,1000", "strict_NA": false, "extensive_mis_size": "1000", "scaffold_gap_max_size": "1000", "unaligned_part_size": "500", "skip_unaligned_mis_contigs": true, "fragmented_max_indent": null, "report_all_metrics": false, "x_for_Nx": "90"}, "al": {"ambiguity_score": "0.99", "ambiguity_usage": "one", "fragmented": false, "fragmented_max_indent": "50", "min_alignment": "65", "min_identity": "95.0", "upper_bound_assembly": false, "upper_bound_min_con": "2", "use_all_alignments": false}, "alignments": {"use_all_alignments": false, "min_alignment": "65", "ambiguity_usage": "one", "ambiguity_score": "0.99", "fragmented": false, "upper_bound_assembly": false, "upper_bound_min_con": null, "local_mis_size": "200"}, "assembly": {"type": "genome", "__current_case__": 0, "ref": {"use_ref": "false", "__current_case__": 1, "est_ref_size": null}, "orga_type": "", "min_identity": "95.0"}, "circos": "false", "contig_thresholds": "0,1000", "extensive_mis_size": "1000", "genes": {"gene_finding": {"tool": "none", "__current_case__": 0}, "rna_finding": false, "conserved_genes_finding": false}, "in": {"__current_case__": 1, "custom": "false", "inputs": {"__class__": "RuntimeValue"}}, "k_mer": {"__current_case__": 1, "k_mer_stats": ""}, "large": true, "min_contig": "500", "mode": {"mode": "co", "__current_case__": 1, "in": {"custom": "false", "__current_case__": 1, "inputs": {"__class__": "ConnectedValue"}}, "reads": {"reads_option": "disabled", "__current_case__": 0}}, "output_files": "html", "scaffold_gap_max_size": "1000", "skip_unaligned_mis_contigs": "false", "split_scaffolds": false, "strict_NA": "false", "unaligned_part_size": "500", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.2.0+galaxy1",type:"tool",uuid:"5bc29646-ec4c-4eb3-af01-73d82fc690a2",when:null,workflow_outputs:[{label:"Quast: HTML report",output_name:"report_html",uuid:"17cdf8e0-8ad4-4570-afae-1861934fc678"}]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fasta_stats/fasta-stats/2.0",errors:null,id:3,input_connections:{fasta:{id:1,output_name:"consensus"}},inputs:[],label:"Fasta statistics",name:"Fasta Statistics",outputs:[{name:"stats_output",type:"tabular"}],position:{left:569.7271118164062,top:189.37097199902308},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fasta_stats/fasta-stats/2.0",tool_shed_repository:{changeset_revision:"0dbb995c7d35",name:"fasta_stats",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"dataset": {"__class__": "ConnectedValue"}, "fasta": {"__class__": "ConnectedValue"}, "gaps_option": false, "genome_size": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0",type:"tool",uuid:"811b5756-e24e-4de3-a3d6-2ee4bf347c1b",when:null,workflow_outputs:[{label:"Flye assembly statistics",output_name:"stats_output",uuid:"49f24151-e76c-4d94-8045-4d52bcd9aae5"}]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/2022.09+galaxy4",errors:null,id:4,input_connections:{input_file:{id:1,output_name:"assembly_gfa"}},inputs:[],label:"Bandage image: Flye assembly",name:"Bandage Image",outputs:[{name:"outfile",type:"jpg"}],position:{left:571.0624389648438,top:311.80291748046875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/2022.09+galaxy4",tool_shed_repository:{changeset_revision:"ddddce450736",name:"bandage",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"fontsize": null, "height": "1000", "input_file": {"__class__": "ConnectedValue"}, "lengths": false, "names": false, "nodewidth": null, "output_format": "jpg", "width": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022.09+galaxy4",type:"tool",uuid:"395f2dfe-3fa5-4684-bf97-7dd12e970f78",when:null,workflow_outputs:[{label:"Bandage Image: Assembly Graph Image",output_name:"outfile",uuid:"e66bd129-146f-48dc-95b8-39a2a1ffb68d"}]}},tags:[],uuid:"83ef6fdc-b8a9-41af-a824-0225f0199e63",version:21},readme:`# Genome assembly with Flye workflow ## Why use this workflow? @@ -450,6 +860,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.1] 2023-07-14 First release. +`,diagrams:`# Workflow diagrams + +## Genome assembly with Flye + +\`\`\`mermaid +graph LR +0["ℹ️ Input sequence reads"]@{ shape: doc } +1["Flye: assembly"]@{ shape: process } +0 --> 1 +2["Quast genome report"]@{ shape: process } +1 --> 2 +3["Fasta statistics"]@{ shape: process } +1 --> 3 +4["Bandage image: Flye assembly"]@{ shape: process } +1 --> 4 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/assembly-with-flye/main",tests:[{doc:"Test outline for Genome-assembly-with-Flye",job:{"Input sequence reads":{class:"File",path:"test-data/Input_reads.fastqsanger.gz",filetype:"fastqsanger.gz"}},outputs:{"Flye assembly (consensus)":{asserts:{has_text:{text:">contig_1"},has_size:{min:"80k",max:"86k"}}},"Flye assembly (assembly_graph)":{asserts:{has_text:{text:"digraph {"},has_n_lines:{min:20,max:24}}},"Flye assembly (Graphical Fragment Assembly)":{asserts:{has_text:{text:"edge_1"},has_n_lines:{min:6,max:8}}},"Flye assembly (assembly_info)":{asserts:{has_text:{text:"seq_name"}}},"Quast: HTML report":{asserts:{has_size:{min:"250k",max:"400k"}}},"Flye assembly statistics":{asserts:{has_text:{text:"Scaffold L50"}}},"Bandage Image: Assembly Graph Image":{asserts:{has_size:{min:"30k",max:"50k"}}}}}]}],path:"./workflows/genome-assembly/assembly-with-flye"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/bacterial_genome_assembly.ga",testParameterFiles:["/bacterial_genome_assembly-tests.yml"],authors:[{name:"abromics-consortium",url:"https://www.abromics.fr/"},{name:"ABRomics",email:"abromics-support@groupes.france-bioinformatique.fr"},{name:"Pierre Marin",alternateName:"pimarin",orcid:"0000-0002-8304-138X"},{name:"Clea Siguret",alternateName:"clsiguret",orcid:"0009-0005-6140-0379"}],definition:{a_galaxy_workflow:"true",annotation:"Assembly of bacterial paired-end short read data with generation of quality metrics and reports",creator:[{class:"Organization",name:"abromics-consortium",url:"https://www.abromics.fr/"},{class:"Person",email:"mailto:abromics-support@groupes.france-bioinformatique.fr",name:"ABRomics"},{alternateName:"pimarin",class:"Person",identifier:"https://orcid.org/0000-0002-8304-138X",name:"Pierre Marin"},{alternateName:"clsiguret",class:"Person",identifier:"https://orcid.org/0009-0005-6140-0379",name:"Clea Siguret"}],"format-version":"0.1",release:"1.1.5",license:"GPL-3.0-or-later",name:"Bacterial Genome Assembly using Shovill",steps:{0:{annotation:"Should be the adapter trimmed forward strand of the paired end reads.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be the adapter trimmed forward strand of the paired end reads.",name:"Input adapter trimmed sequence reads (forward)"}],label:"Input adapter trimmed sequence reads (forward)",name:"Input dataset",outputs:[],position:{left:0,top:26.85905752718789},tool_id:null,tool_state:'{"optional": false, "format": ["fastq", "fastq.gz", "fastqsanger", "fastqsanger.gz"], "tag": ""}',tool_version:null,type:"data_input",uuid:"d223414b-29dc-4ffa-9851-a366cc4a3a80",when:null,workflow_outputs:[]},1:{annotation:"Should be the adapter trimmed reverse strand of the paired end reads.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Should be the adapter trimmed reverse strand of the paired end reads.",name:"Input adapter trimmed sequence reads (reverse)"}],label:"Input adapter trimmed sequence reads (reverse)",name:"Input dataset",outputs:[],position:{left:1.5420743426057233,top:179.85816302215434},tool_id:null,tool_state:'{"optional": false, "format": ["fastq", "fastq.gz", "fastqsanger", "fastqsanger.gz"], "tag": ""}',tool_version:null,type:"data_input",uuid:"33a6db62-4324-4469-a903-33b5ef505a17",when:null,workflow_outputs:[]},2:{annotation:"genome assembly with shovill tool",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy2",errors:null,id:2,input_connections:{"library|R1":{id:0,output_name:"output"},"library|R2":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Shovill",name:"library"},{description:"runtime parameter for tool Shovill",name:"library"}],label:"shovill_genome_assembly",name:"Shovill",outputs:[{name:"shovill_std_log",type:"txt"},{name:"contigs",type:"fasta"},{name:"contigs_graph",type:"txt"},{name:"bamfiles",type:"unsorted.bam"}],position:{left:308.4719663659007,top:131.00139799356907},post_job_actions:{ChangeDatatypeActionbamfiles:{action_arguments:{newtype:"bam"},action_type:"ChangeDatatypeAction",output_name:"bamfiles"},RenameDatasetActionbamfiles:{action_arguments:{newname:"shovill_alignment_bam"},action_type:"RenameDatasetAction",output_name:"bamfiles"},RenameDatasetActioncontigs:{action_arguments:{newname:"shovill_contigs_fasta"},action_type:"RenameDatasetAction",output_name:"contigs"},RenameDatasetActioncontigs_graph:{action_arguments:{newname:"shovill_contigs_graph"},action_type:"RenameDatasetAction",output_name:"contigs_graph"},RenameDatasetActionshovill_std_log:{action_arguments:{newname:"shovill_logfile"},action_type:"RenameDatasetAction",output_name:"shovill_std_log"},TagDatasetActionbamfiles:{action_arguments:{tags:"shovill,alignment,bam"},action_type:"TagDatasetAction",output_name:"bamfiles"},TagDatasetActioncontigs:{action_arguments:{tags:"shovill,fasta,contigs"},action_type:"TagDatasetAction",output_name:"contigs"},TagDatasetActioncontigs_graph:{action_arguments:{tags:"shovill,graph"},action_type:"TagDatasetAction",output_name:"contigs_graph"},TagDatasetActionshovill_std_log:{action_arguments:{tags:"logfile"},action_type:"TagDatasetAction",output_name:"shovill_std_log"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy2",tool_shed_repository:{changeset_revision:"ee17a294d3a3",name:"shovill",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"namefmt": "contig%05d", "depth": "100", "gsize": "", "kmers": "", "opts": "", "keep_files": {"nocorr": "yes_correction", "__current_case__": 1, "keepfiles": true}, "minlen": "0", "mincov": "2"}, "assembler": "spades", "library": {"lib_type": "paired", "__current_case__": 0, "R1": {"__class__": "ConnectedValue"}, "R2": {"__class__": "ConnectedValue"}}, "log": true, "trim": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0+galaxy2",type:"tool",uuid:"316380fb-2944-4d85-8832-8c8b70fe3623",when:null,workflow_outputs:[{label:"shovill_contigs_fasta",output_name:"contigs",uuid:"c74a1bd3-1a9e-45c2-aa00-4c42a6269eee"},{label:"shovill_contigs_graph",output_name:"contigs_graph",uuid:"d368ce7d-6123-436e-a566-a7ae0f56234d"},{label:"shovill_alignment_bam",output_name:"bamfiles",uuid:"8cbb3659-4de3-4c4f-b15d-c44dd5b5ccfa"},{label:"shovill_logfile",output_name:"shovill_std_log",uuid:"3b25ebd4-8348-43ac-afdc-870e292d420e"}]},3:{annotation:"quast_quality",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.3.0+galaxy0",errors:null,id:3,input_connections:{"mode|in|inputs":{id:2,output_name:"contigs"},"mode|reads|input_1":{id:0,output_name:"output"},"mode|reads|input_2":{id:1,output_name:"output"}},inputs:[],label:"quast_quality",name:"Quast",outputs:[{name:"report_tabular",type:"tabular"},{name:"report_html",type:"html"},{name:"report_pdf",type:"pdf"},{name:"log",type:"txt"}],position:{left:583.5485996614345,top:0},post_job_actions:{RenameDatasetActionlog:{action_arguments:{newname:"quast_log"},action_type:"RenameDatasetAction",output_name:"log"},RenameDatasetActionreport_html:{action_arguments:{newname:"quast_report_html"},action_type:"RenameDatasetAction",output_name:"report_html"},RenameDatasetActionreport_pdf:{action_arguments:{newname:"quast_report_pdf"},action_type:"RenameDatasetAction",output_name:"report_pdf"},RenameDatasetActionreport_tabular:{action_arguments:{newname:"quast_report_tabular"},action_type:"RenameDatasetAction",output_name:"report_tabular"},TagDatasetActionlog:{action_arguments:{tags:"quast_log"},action_type:"TagDatasetAction",output_name:"log"},TagDatasetActionreport_html:{action_arguments:{tags:"quast_report_html"},action_type:"TagDatasetAction",output_name:"report_html"},TagDatasetActionreport_pdf:{action_arguments:{tags:"quast_report_pdf"},action_type:"TagDatasetAction",output_name:"report_pdf"},TagDatasetActionreport_tabular:{action_arguments:{tags:"quast_report_tabular"},action_type:"TagDatasetAction",output_name:"report_tabular"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.3.0+galaxy0",tool_shed_repository:{changeset_revision:"a3b35edea53a",name:"quast",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced": {"contig_thresholds": "0,1000", "strict_NA": false, "extensive_mis_size": "1000", "scaffold_gap_max_size": "1000", "unaligned_part_size": "500", "skip_unaligned_mis_contigs": true, "fragmented_max_indent": null, "report_all_metrics": false, "x_for_Nx": "90"}, "alignments": {"use_all_alignments": false, "min_alignment": "65", "ambiguity_usage": "one", "ambiguity_score": "0.99", "fragmented": false, "upper_bound_assembly": false, "upper_bound_min_con": null, "local_mis_size": "200"}, "assembly": {"type": "genome", "__current_case__": 0, "ref": {"use_ref": "false", "__current_case__": 1, "est_ref_size": null}, "orga_type": "", "min_identity": "95.0"}, "genes": {"gene_finding": {"tool": "none", "__current_case__": 0}, "rna_finding": false, "conserved_genes_finding": true}, "large": false, "min_contig": "500", "mode": {"mode": "individual", "__current_case__": 0, "in": {"custom": "false", "__current_case__": 1, "inputs": {"__class__": "ConnectedValue"}}, "reads": {"reads_option": "paired", "__current_case__": 2, "input_1": {"__class__": "ConnectedValue"}, "input_2": {"__class__": "ConnectedValue"}}}, "output_files": ["html", "pdf", "tabular", "log", "summary", "krona"], "split_scaffolds": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.3.0+galaxy0",type:"tool",uuid:"94a29697-b779-4cf4-a25c-c59f7f88325c",when:null,workflow_outputs:[{label:"quast_log",output_name:"log",uuid:"eadbce9e-d43b-43b1-9704-cae70da20521"},{label:"quast_report_pdf",output_name:"report_pdf",uuid:"7477d62e-ff9f-4fca-8318-dbd876805655"},{label:"quast_report_tabular",output_name:"report_tabular",uuid:"e8269834-4b1d-40c7-9ccc-efaa011ad255"},{label:"quast_report_html",output_name:"report_html",uuid:"4169fc6b-c47e-4994-b44e-ca62e804f902"}]},4:{annotation:"refseqmasher_genome, search close reference genome in refseq database",content_id:"toolshed.g2.bx.psu.edu/repos/nml/refseq_masher/refseq_masher_matches/0.1.2",errors:null,id:4,input_connections:{"input|fasta":{id:2,output_name:"contigs"}},inputs:[{description:"runtime parameter for tool RefSeq Masher Matches",name:"input"}],label:"refseqmasher_genome",name:"RefSeq Masher Matches",outputs:[{name:"output_path_tab",type:"tabular"}],position:{left:793.6819614778408,top:329.4499969482422},post_job_actions:{RenameDatasetActionoutput_path_tab:{action_arguments:{newname:"refseqmasher_report_tabular"},action_type:"RenameDatasetAction",output_name:"output_path_tab"},TagDatasetActionoutput_path_tab:{action_arguments:{tags:"refseqmasher,report"},action_type:"TagDatasetAction",output_name:"output_path_tab"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/refseq_masher/refseq_masher_matches/0.1.2",tool_shed_repository:{changeset_revision:"1ec42f033bb4",name:"refseq_masher",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"min_kmer_threshold": "8", "output_type": "tab", "verbosity": "-vv"}, "input": {"type": "fasta", "__current_case__": 0, "fasta": {"__class__": "ConnectedValue"}}, "top_n_results": "3", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.2",type:"tool",uuid:"55213145-5284-462b-98ab-e8871ff9f056",when:null,workflow_outputs:[{label:"refseqmasher_report_tabular",output_name:"output_path_tab",uuid:"538ade11-0fcb-4bb3-be5d-8dc164c91602"}]},5:{annotation:"bandage_contig_graph_stats",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_info/2022.09+galaxy2",errors:null,id:5,input_connections:{input_file:{id:2,output_name:"contigs_graph"}},inputs:[],label:"bandage_contig_graph_stats",name:"Bandage Info",outputs:[{name:"outfile",type:"tabular"}],position:{left:771.3861542615132,top:516.142295707301},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"bandage_contig_graph_stats"},action_type:"RenameDatasetAction",output_name:"outfile"},TagDatasetActionoutfile:{action_arguments:{tags:"bandage_contig_graph_stats"},action_type:"TagDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_info/2022.09+galaxy2",tool_shed_repository:{changeset_revision:"ddddce450736",name:"bandage",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_file": {"__class__": "ConnectedValue"}, "tsv": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022.09+galaxy2",type:"tool",uuid:"e84778db-553a-424d-b71e-547994be4050",when:null,workflow_outputs:[{label:"bandage_contig_graph_stats",output_name:"outfile",uuid:"c075d076-3c99-48e2-94e9-ba9330c6c5f8"}]},6:{annotation:"bandage_contig_graph_plot",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/2022.09+galaxy4",errors:null,id:6,input_connections:{input_file:{id:2,output_name:"contigs_graph"}},inputs:[],label:"bandage_contig_graph_plot",name:"Bandage Image",outputs:[{name:"outfile",type:"jpg"}],position:{left:769.9687076931637,top:740.2606081887517},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"bandage_contig_graph_plot"},action_type:"RenameDatasetAction",output_name:"outfile"},TagDatasetActionoutfile:{action_arguments:{tags:"bandage_contig_graph_plot"},action_type:"TagDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/2022.09+galaxy4",tool_shed_repository:{changeset_revision:"ddddce450736",name:"bandage",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"fontsize": null, "height": "1000", "input_file": {"__class__": "ConnectedValue"}, "lengths": false, "names": false, "nodewidth": null, "output_format": "svg", "width": "1000", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022.09+galaxy4",type:"tool",uuid:"7a357116-66a1-46d7-9af2-14e7415ef19e",when:null,workflow_outputs:[{label:"bandage_contig_graph_plot",output_name:"outfile",uuid:"eb9d5175-0589-4c3e-8373-ef9cafc72e1e"}]},7:{annotation:"ToolDistillator extracts results from tools and creates a JSON file for each tool",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1",errors:null,id:7,input_connections:{"tool_section|tools_0|select_tool|bam_file_path":{id:2,output_name:"bamfiles"},"tool_section|tools_0|select_tool|contig_graph_path":{id:2,output_name:"contigs_graph"},"tool_section|tools_0|select_tool|input":{id:2,output_name:"contigs"},"tool_section|tools_1|select_tool|input":{id:3,output_name:"report_tabular"},"tool_section|tools_1|select_tool|quast_html_path":{id:3,output_name:"report_html"},"tool_section|tools_2|select_tool|input":{id:4,output_name:"output_path_tab"},"tool_section|tools_3|select_tool|bandage_plot_path":{id:6,output_name:"outfile"},"tool_section|tools_3|select_tool|input":{id:5,output_name:"outfile"}},inputs:[],label:"ToolDistillator",name:"ToolDistillator",outputs:[{name:"output_json",type:"input"}],position:{left:1299.389187169496,top:264.0158282844628},post_job_actions:{RenameDatasetActionoutput_json:{action_arguments:{newname:"tooldistillator_results"},action_type:"RenameDatasetAction",output_name:"output_json"},TagDatasetActionoutput_json:{action_arguments:{tags:"tooldistillator_results"},action_type:"TagDatasetAction",output_name:"output_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1",tool_shed_repository:{changeset_revision:"ea93df4b3df2",name:"tooldistillator",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"log": false, "tool_section": {"tools": [{"__index__": 0, "select_tool": {"tool_list": "shovill", "__current_case__": 19, "input": {"__class__": "ConnectedValue"}, "contig_graph_path": {"__class__": "ConnectedValue"}, "bam_file_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": null}}, {"__index__": 1, "select_tool": {"tool_list": "quast", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}, "quast_html_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": null}}, {"__index__": 2, "select_tool": {"tool_list": "refseqmasher", "__current_case__": 18, "input": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": null}}, {"__index__": 3, "select_tool": {"tool_list": "bandage", "__current_case__": 3, "input": {"__class__": "ConnectedValue"}, "bandage_plot_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": null}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.1+galaxy1",type:"tool",uuid:"b6156c8e-5048-41e3-90d9-f9302734c3d1",when:null,workflow_outputs:[{label:"tooldistillator_results",output_name:"output_json",uuid:"6f9bffbd-5b92-47ee-9d52-5846a7db2a4a"}]},8:{annotation:"ToolDistillator summarize groups all JSON file into a unique JSON file",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1",errors:null,id:8,input_connections:{summarize_data:{id:7,output_name:"output_json"}},inputs:[],label:"ToolDistillator summarize",name:"ToolDistillator Summarize",outputs:[{name:"summary_json",type:"json"}],position:{left:1646.4377091829172,top:358.6654042662252},post_job_actions:{RenameDatasetActionsummary_json:{action_arguments:{newname:"tooldistillator_summarize"},action_type:"RenameDatasetAction",output_name:"summary_json"},TagDatasetActionsummary_json:{action_arguments:{tags:"tooldistillator_summarize"},action_type:"TagDatasetAction",output_name:"summary_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1",tool_shed_repository:{changeset_revision:"24eec94e6dfc",name:"tooldistillator_summarize",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"summarize_data": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.1+galaxy1",type:"tool",uuid:"3bbe0eba-b6bb-4d43-ab57-2b899b8112ae",when:null,workflow_outputs:[{label:"tooldistillator_summarize",output_name:"summary_json",uuid:"9097e16d-ace5-47f5-9af5-7eb3b13b91d2"}]}},tags:["fastq","Genomics","bacterial-genomics","paired-end","assembly","quality","ABRomics"],uuid:"bfe7f341-07ef-4bfe-9b50-2bc7628d6c55",version:1},readme:`# Bacterial genome assembly workflow for paired end data (v1.0) This workflow uses paired-end illumina trimmed reads fastq(.gz) files and executes the following steps: @@ -477,7 +903,40 @@ This workflow uses paired-end illumina trimmed reads fastq(.gz) files and execut - Assembly Graph - Tabular result of closed reference genome 3. Aggregating outputs - - JSON file with information about the outputs of **Shovill**, **Quast**, **Bandage**, **Refseqmasher**`,changelog:"# Changelog\n\n## [1.1.5] 2024-11-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.2.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.3.0+galaxy0`\n\n## [1.1.4] 2024-10-21\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1`\n\n## [1.1.3] 2024-09-30\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0`\n\n## [1.1.2] 2024-09-19\n\n### Manual update\n\n- Updated the tool versions manually in the ToolDistillator parameters\n\n## [1.1.1] 2024-07-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0`\n\n## [1.1] 2024-06-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_info/0.8.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_info/2022.09+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/0.8.1+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/2022.09+galaxy4`\n\n## [1.0] - 05-06-2024\n\n- First release",trsID:"#workflow/github.com/iwc-workflows/bacterial-genome-assembly/main",tests:[{doc:"Test outline for bacterial_genome_assembly.ga",job:{"Input adapter trimmed sequence reads (forward)":{class:"File",path:"https://zenodo.org/records/11485346/files/fastp_trimmed_R1.fastqsanger.gz",filetype:"fastqsanger.gz"},"Input adapter trimmed sequence reads (reverse)":{class:"File",path:"https://zenodo.org/records/11485346/files/fastp_trimmed_R2.fastqsanger.gz",filetype:"fastqsanger.gz"}},outputs:{shovill_contigs_graph:{asserts:{has_text:{text:"KC:i"}}},shovill_logfile:{asserts:{has_text:{text:"[shovill] Done."}}},shovill_contigs_fasta:{asserts:{has_text:{text:">contig00001"}}},quast_report_tabular:{asserts:{has_n_columns:{n:2},has_text:{text:"shovill_contigs_fasta"}}},quast_log:{asserts:{has_text:{text:"Thank you for using QUAST!"}}},refseqmasher_report_tabular:{asserts:{has_text:{text:"Enterococcus faecalis"},has_n_columns:{n:21}}},bandage_contig_graph_stats:{asserts:{has_text:{text:"Total length orphaned nodes (bp):"},has_n_columns:{n:2}}},tooldistillator_summarize:{asserts:{has_text:{text:"bandage_plot_path"}}}}}]}],path:"./workflows/genome-assembly/bacterial-genome-assembly"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/bacterial_genome_annotation.ga",testParameterFiles:["/bacterial_genome_annotation-tests.yml"],authors:[{name:"ABRomics",email:"abromics-support@groupes.france-bioinformatique.fr"},{name:"abromics-consortium",url:"https://www.abromics.fr/"},{name:"Pierre Marin",alternateName:"pimarin",orcid:"0000-0002-8304-138X"},{name:"Clea Siguret",alternateName:"clsiguret",orcid:"0009-0005-6140-0379"}],definition:{a_galaxy_workflow:"true",annotation:"Annotation of an assembled bacterial genomes to detect genes, potential plasmids, integrons and Insertion sequence (IS) elements.",creator:[{class:"Person",email:"mailto:abromics-support@groupes.france-bioinformatique.fr",name:"ABRomics"},{class:"Organization",name:"abromics-consortium",url:"https://www.abromics.fr/"},{alternateName:"pimarin",class:"Person",identifier:"https://orcid.org/0000-0002-8304-138X",name:"Pierre Marin"},{alternateName:"clsiguret",class:"Person",identifier:"https://orcid.org/0009-0005-6140-0379",name:"Clea Siguret"}],"format-version":"0.1",license:"GPL-3.0-or-later",release:"1.1.7",name:"bacterial_genome_annotation",steps:{0:{annotation:"Can be any fasta file.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Can be any fasta file.",name:"Input sequence fasta"}],label:"Input sequence fasta",name:"Input dataset",outputs:[],position:{left:0,top:559.2197431502472},tool_id:null,tool_state:'{"optional": false, "format": ["fasta"], "tag": null}',tool_version:null,type:"data_input",uuid:"8afa880e-a04c-4831-b37b-d0f317f767b0",when:null,workflow_outputs:[]},1:{annotation:"Select a database to identify plasmids with PlasmidFinder.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Select a database to identify plasmids with PlasmidFinder.",name:"Select a plasmid detection database"}],label:"Select a plasmid detection database",name:"Input parameter",outputs:[],position:{left:9.602014342350742,top:734.3939210886799},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"66c11ad1-7cd5-40b7-b97f-8d15cc097dd9",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"a2d4e531-c070-45c1-b56a-be4356aabc79"}]},2:{annotation:"Select a database to predict CDS and small proteins (sORF) with Bakta.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Select a database to predict CDS and small proteins (sORF) with Bakta.",name:"Select a bacterial genome annotation database"}],label:"Select a bacterial genome annotation database",name:"Input parameter",outputs:[],position:{left:21.882601498378413,top:859.5166625976562},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"4de1f52c-078c-4112-86ad-e4e8f3b62e3a",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"724dc1d5-6f90-4c1c-915c-99dded697740"}]},3:{annotation:"Select a database to annotate AMR genes with Bakta.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Select a database to annotate AMR genes with Bakta.",name:"Select a AMRFinderPlus database"}],label:"Select a AMRFinderPlus database",name:"Input parameter",outputs:[],position:{left:10.643158620281753,top:995.2631409484753},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"aec02a2c-6bf7-476d-91aa-3f1ce49083c7",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"768e962a-f016-41c6-96c5-4b32b26b4856"}]},4:{annotation:"genomic_annotation_insertionelement_isescan",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/isescan/isescan/1.7.2.3+galaxy1",errors:null,id:4,input_connections:{input_file:{id:0,output_name:"output"}},inputs:[],label:"genomic_annotation_insertionelement_isescan",name:"ISEScan",outputs:[{name:"logfile",type:"txt"},{name:"summary",type:"tabular"},{name:"all_results",type:"tabular"},{name:"annotation",type:"gff"},{name:"is_fasta",type:"fasta"},{name:"orf_fna",type:"fasta"},{name:"orf_faa",type:"fasta"}],position:{left:887.7889628790149,top:105.14125185095409},post_job_actions:{RenameDatasetActionall_results:{action_arguments:{newname:"isescan_results_tabular"},action_type:"RenameDatasetAction",output_name:"all_results"},RenameDatasetActionannotation:{action_arguments:{newname:"isescan_annotation_gff3"},action_type:"RenameDatasetAction",output_name:"annotation"},RenameDatasetActionis_fasta:{action_arguments:{newname:"isescan_is_fasta"},action_type:"RenameDatasetAction",output_name:"is_fasta"},RenameDatasetActionlogfile:{action_arguments:{newname:"isescan_logfile_text"},action_type:"RenameDatasetAction",output_name:"logfile"},RenameDatasetActionorf_faa:{action_arguments:{newname:"isescan_orf_faa"},action_type:"RenameDatasetAction",output_name:"orf_faa"},RenameDatasetActionorf_fna:{action_arguments:{newname:"isescan_orf_fasta"},action_type:"RenameDatasetAction",output_name:"orf_fna"},RenameDatasetActionsummary:{action_arguments:{newname:"isescan_summary_tabular"},action_type:"RenameDatasetAction",output_name:"summary"},TagDatasetActionall_results:{action_arguments:{tags:"isescan_results_tabular"},action_type:"TagDatasetAction",output_name:"all_results"},TagDatasetActionannotation:{action_arguments:{tags:"isescan_annotation_gff3"},action_type:"TagDatasetAction",output_name:"annotation"},TagDatasetActionis_fasta:{action_arguments:{tags:"isescan_is_fasta"},action_type:"TagDatasetAction",output_name:"is_fasta"},TagDatasetActionlogfile:{action_arguments:{tags:"isescan,logfile"},action_type:"TagDatasetAction",output_name:"logfile"},TagDatasetActionorf_faa:{action_arguments:{tags:"isescan_orf_faa"},action_type:"TagDatasetAction",output_name:"orf_faa"},TagDatasetActionorf_fna:{action_arguments:{tags:"isescan_orf_fasta"},action_type:"TagDatasetAction",output_name:"orf_fna"},TagDatasetActionsummary:{action_arguments:{tags:"isescan_summary_tabular"},action_type:"TagDatasetAction",output_name:"summary"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/isescan/isescan/1.7.2.3+galaxy1",tool_shed_repository:{changeset_revision:"9e776e7fab4f",name:"isescan",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_file": {"__class__": "ConnectedValue"}, "log_activate": true, "remove_short_is": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.7.2.3+galaxy1",type:"tool",uuid:"f589af2f-9dd9-41c0-b7a2-a499c875cb54",when:null,workflow_outputs:[{label:"isescan_summary_tabular",output_name:"summary",uuid:"a09e2ed7-5b31-4beb-9923-d5ec6910da16"},{label:"isescan_annotation_gff3",output_name:"annotation",uuid:"de82533b-90f8-470d-80a2-e1559be93f0d"},{label:"isescan_logfile_text",output_name:"logfile",uuid:"c0539e24-831e-406f-a5d2-3dd52845a5d7"},{label:"isescan_results_tabular",output_name:"all_results",uuid:"24f7dee0-f50a-4444-83f4-b09623a4a993"},{label:"isescan_orf_faa",output_name:"orf_faa",uuid:"c74754f5-e011-4f55-801f-feeab8dd777c"},{label:"isescan_is_fasta",output_name:"is_fasta",uuid:"a89b0159-ccef-4c10-9b17-d5da62312bda"},{label:"isescan_orf_fasta",output_name:"orf_fna",uuid:"1a91afd7-104d-4807-bffa-61c5df646b85"}]},5:{annotation:"genomic_annotation_integron",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/integron_finder/integron_finder/2.0.5+galaxy0",errors:null,id:5,input_connections:{sequence:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Integron Finder",name:"topology_file"}],label:"genomic_annotation_integron",name:"Integron Finder",outputs:[{name:"integron_log",type:"txt"},{name:"integrons_table",type:"tsv"},{name:"summary",type:"tsv"}],position:{left:581.3510244512896,top:719.4853608141518},post_job_actions:{RenameDatasetActionintegron_log:{action_arguments:{newname:"integronfinder2_logfile_text"},action_type:"RenameDatasetAction",output_name:"integron_log"},RenameDatasetActionintegrons_table:{action_arguments:{newname:"integronfinder2_results_tabular"},action_type:"RenameDatasetAction",output_name:"integrons_table"},RenameDatasetActionsummary:{action_arguments:{newname:"integronfinder2_summary"},action_type:"RenameDatasetAction",output_name:"summary"},TagDatasetActionintegron_log:{action_arguments:{tags:"integronfinder,logfile"},action_type:"TagDatasetAction",output_name:"integron_log"},TagDatasetActionintegrons_table:{action_arguments:{tags:"integronfinder2_results_tabular"},action_type:"TagDatasetAction",output_name:"integrons_table"},TagDatasetActionsummary:{action_arguments:{tags:"integronfinder2_summary"},action_type:"TagDatasetAction",output_name:"summary"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/integron_finder/integron_finder/2.0.5+galaxy0",tool_shed_repository:{changeset_revision:"bfd290fe1588",name:"integron_finder",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"gbk": false, "local_max": true, "no_logfile": false, "pdf": false, "promoter_attI": true, "sequence": {"__class__": "ConnectedValue"}, "settings": {"attc_settings": {"dist_thresh": "4000", "calin_threshold": "2", "max_attc_size": "200", "min_attc_size": "40", "keep_palindromes": false, "covar_matrix": {"__class__": "RuntimeValue"}}, "protein_settings": {"no_proteins": false, "union_integrases": false, "func_annot": false}}, "topology_file": {"__class__": "RuntimeValue"}, "type_replicon": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.5+galaxy0",type:"tool",uuid:"0f39c064-cac7-4ee7-9f37-94b7717a033e",when:null,workflow_outputs:[{label:"integronfinder2_logfile_text",output_name:"integron_log",uuid:"dca60f87-9f7a-4631-b197-62ca54f7bafe"},{label:"integronfinder2_summary",output_name:"summary",uuid:"b96d90c3-7678-41b8-9b01-61d5c9da80bc"},{label:"integronfinder2_results_tabular",output_name:"integrons_table",uuid:"cb38191b-3a0e-43d3-823a-0c9563e39d66"}]},6:{annotation:"genomic_annotation_plasmid_plasmidfinder",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/plasmidfinder/plasmidfinder/2.1.6+galaxy1",errors:null,id:6,input_connections:{"input|database_name":{id:1,output_name:"output"},"input|input_file":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool PlasmidFinder",name:"input"},{description:"runtime parameter for tool PlasmidFinder",name:"input"}],label:"genomic_annotation_plasmid_plasmidfinder",name:"PlasmidFinder",outputs:[{name:"json_file",type:"json"},{name:"hit_file",type:"fasta"},{name:"plasmid_file",type:"fasta"},{name:"result_file",type:"tabular"},{name:"raw_file",type:"txt"}],position:{left:469.0425884161387,top:0},post_job_actions:{RenameDatasetActionhit_file:{action_arguments:{newname:"plasmidfinder_hit_genome_fasta"},action_type:"RenameDatasetAction",output_name:"hit_file"},RenameDatasetActionjson_file:{action_arguments:{newname:"plasmidfinder_result_json"},action_type:"RenameDatasetAction",output_name:"json_file"},RenameDatasetActionplasmid_file:{action_arguments:{newname:"plasmidfinder_hit_reference_fasta"},action_type:"RenameDatasetAction",output_name:"plasmid_file"},RenameDatasetActionraw_file:{action_arguments:{newname:"plasmidfinder_results_raw"},action_type:"RenameDatasetAction",output_name:"raw_file"},RenameDatasetActionresult_file:{action_arguments:{newname:"plasmidfinder_results_tabular"},action_type:"RenameDatasetAction",output_name:"result_file"},TagDatasetActionhit_file:{action_arguments:{tags:"plasmidfinder_hit_genome_fasta"},action_type:"TagDatasetAction",output_name:"hit_file"},TagDatasetActionjson_file:{action_arguments:{tags:"plasmidfinder_result_json"},action_type:"TagDatasetAction",output_name:"json_file"},TagDatasetActionplasmid_file:{action_arguments:{tags:"plasmidfinder_hit_reference_fasta"},action_type:"TagDatasetAction",output_name:"plasmid_file"},TagDatasetActionraw_file:{action_arguments:{tags:"plasmidfinder_results_raw"},action_type:"TagDatasetAction",output_name:"raw_file"},TagDatasetActionresult_file:{action_arguments:{tags:"plasmidfinder_results_tabular"},action_type:"TagDatasetAction",output_name:"result_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/plasmidfinder/plasmidfinder/2.1.6+galaxy1",tool_shed_repository:{changeset_revision:"7075b7a5441b",name:"plasmidfinder",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"input_file": {"__class__": "ConnectedValue"}, "database_name": {"__class__": "ConnectedValue"}}, "options": {"min_cov": "0.6", "threshold": "0.95"}, "output_files": {"output_selection": ["hit_fasta", "plasmid_fasta", "result_tsv", "result_txt", "data_json"]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.6+galaxy1",type:"tool",uuid:"0cbd7d74-9525-4fc4-9518-836c99f6d397",when:null,workflow_outputs:[{label:"plasmidfinder_results_tabular",output_name:"result_file",uuid:"696867f7-0700-4ca5-bee4-bf405f44f6fa"},{label:"plasmidfinder_result_json",output_name:"json_file",uuid:"1449c8c3-9621-4ba2-b32e-29a597a63f2d"},{label:"plasmidfinder_results_raw",output_name:"raw_file",uuid:"e4c42f08-1e32-40e0-a0f0-09037299c4a7"},{label:"plasmidfinder_hit_genome_fasta",output_name:"hit_file",uuid:"2924588e-064d-4c31-9011-ef9cfc646c6e"},{label:"plasmidfinder_hit_reference_fasta",output_name:"plasmid_file",uuid:"b70ea191-97da-4e59-b14c-3988284e552e"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bakta/bakta/1.9.4+galaxy0",errors:null,id:7,input_connections:{"input_option|amrfinder_db_select":{id:3,output_name:"output"},"input_option|bakta_db_select":{id:2,output_name:"output"},"input_option|input_file":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Bakta",name:"annotation"},{description:"runtime parameter for tool Bakta",name:"annotation"},{description:"runtime parameter for tool Bakta",name:"annotation"},{description:"runtime parameter for tool Bakta",name:"annotation"},{description:"runtime parameter for tool Bakta",name:"input_option"},{description:"runtime parameter for tool Bakta",name:"input_option"},{description:"runtime parameter for tool Bakta",name:"input_option"}],label:null,name:"Bakta",outputs:[{name:"annotation_tsv",type:"tabular"},{name:"annotation_gff3",type:"gff3"},{name:"annotation_gbff",type:"tabular"},{name:"annotation_embl",type:"tabular"},{name:"annotation_fna",type:"fasta"},{name:"annotation_ffn",type:"fasta"},{name:"annotation_faa",type:"fasta"},{name:"hypotheticals_tsv",type:"tabular"},{name:"hypotheticals_faa",type:"fasta"},{name:"summary_txt",type:"txt"},{name:"annotation_json",type:"json"},{name:"annotation_plot",type:"svg"}],position:{left:1035.0012031530584,top:927.9172491992002},post_job_actions:{RenameDatasetActionannotation_embl:{action_arguments:{newname:"bakta_annotation_embl"},action_type:"RenameDatasetAction",output_name:"annotation_embl"},RenameDatasetActionannotation_faa:{action_arguments:{newname:"bakta_aminoacid_sequence_faa"},action_type:"RenameDatasetAction",output_name:"annotation_faa"},RenameDatasetActionannotation_ffn:{action_arguments:{newname:"bakta_nucleotide_sequence_fasta"},action_type:"RenameDatasetAction",output_name:"annotation_ffn"},RenameDatasetActionannotation_fna:{action_arguments:{newname:"bakta_assembly_fasta"},action_type:"RenameDatasetAction",output_name:"annotation_fna"},RenameDatasetActionannotation_gbff:{action_arguments:{newname:"bakta_annotation_gbff"},action_type:"RenameDatasetAction",output_name:"annotation_gbff"},RenameDatasetActionannotation_gff3:{action_arguments:{newname:"bakta_annotation_gff3"},action_type:"RenameDatasetAction",output_name:"annotation_gff3"},RenameDatasetActionannotation_json:{action_arguments:{newname:"bakta_annotation_json"},action_type:"RenameDatasetAction",output_name:"annotation_json"},RenameDatasetActionannotation_plot:{action_arguments:{newname:"bakta_annotation_plot"},action_type:"RenameDatasetAction",output_name:"annotation_plot"},RenameDatasetActionannotation_tsv:{action_arguments:{newname:"bakta_annotation_tabular"},action_type:"RenameDatasetAction",output_name:"annotation_tsv"},RenameDatasetActionhypotheticals_faa:{action_arguments:{newname:"bakta_hypothetical_faa"},action_type:"RenameDatasetAction",output_name:"hypotheticals_faa"},RenameDatasetActionhypotheticals_tsv:{action_arguments:{newname:"bakta_hypothetical_tabular"},action_type:"RenameDatasetAction",output_name:"hypotheticals_tsv"},RenameDatasetActionsummary_txt:{action_arguments:{newname:"bakta_summary_text"},action_type:"RenameDatasetAction",output_name:"summary_txt"},TagDatasetActionannotation_embl:{action_arguments:{tags:"bakta_annotation_embl"},action_type:"TagDatasetAction",output_name:"annotation_embl"},TagDatasetActionannotation_faa:{action_arguments:{tags:"bakta_aminoacid_sequence_faa"},action_type:"TagDatasetAction",output_name:"annotation_faa"},TagDatasetActionannotation_ffn:{action_arguments:{tags:"bakta_nucleotide_sequence_fasta"},action_type:"TagDatasetAction",output_name:"annotation_ffn"},TagDatasetActionannotation_fna:{action_arguments:{tags:"bakta_assembly_fasta"},action_type:"TagDatasetAction",output_name:"annotation_fna"},TagDatasetActionannotation_gbff:{action_arguments:{tags:"bakta_annotation_gbff"},action_type:"TagDatasetAction",output_name:"annotation_gbff"},TagDatasetActionannotation_gff3:{action_arguments:{tags:"bakta_annotation_gff3"},action_type:"TagDatasetAction",output_name:"annotation_gff3"},TagDatasetActionannotation_json:{action_arguments:{tags:"bakta_annotation_json"},action_type:"TagDatasetAction",output_name:"annotation_json"},TagDatasetActionannotation_plot:{action_arguments:{tags:"bakta_annotation_plot"},action_type:"TagDatasetAction",output_name:"annotation_plot"},TagDatasetActionannotation_tsv:{action_arguments:{tags:"bakta_annotation_tabular"},action_type:"TagDatasetAction",output_name:"annotation_tsv"},TagDatasetActionhypotheticals_faa:{action_arguments:{tags:"bakta_hypothetical_faa"},action_type:"TagDatasetAction",output_name:"hypotheticals_faa"},TagDatasetActionhypotheticals_tsv:{action_arguments:{tags:"bakta_hypothetical_tabular"},action_type:"TagDatasetAction",output_name:"hypotheticals_tsv"},TagDatasetActionsummary_txt:{action_arguments:{tags:"bakta_summary_text"},action_type:"TagDatasetAction",output_name:"summary_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bakta/bakta/1.9.4+galaxy0",tool_shed_repository:{changeset_revision:"d77802fe76f7",name:"bakta",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"annotation": {"complete": false, "prodigal": {"__class__": "RuntimeValue"}, "translation_table": "11", "keep_contig_headers": false, "replicons": {"__class__": "RuntimeValue"}, "compliant": false, "proteins": {"__class__": "RuntimeValue"}, "meta": false, "regions": {"__class__": "RuntimeValue"}}, "input_option": {"input_file": {"__class__": "ConnectedValue"}, "min_contig_length": null, "bakta_db_select": {"__class__": "ConnectedValue"}, "amrfinder_db_select": {"__class__": "ConnectedValue"}}, "organism": {"genus": null, "species": null, "strain": null, "plasmid": null}, "output_files": {"output_selection": ["file_tsv", "file_gff3", "file_ffn", "file_plot", "file_gbff", "file_embl", "file_fna", "file_faa", "hypo_tsv", "hypo_fa", "file_json", "sum_txt"]}, "workflow": {"skip_analysis": null}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.9.4+galaxy0",type:"tool",uuid:"0a32dcad-f456-460e-9e6f-9e306a8fd515",when:null,workflow_outputs:[{label:"bakta_nucleotide_sequence_fasta",output_name:"annotation_ffn",uuid:"31d239a4-5065-49fb-9989-8b83f3b53642"},{label:"bakta_aminoacid_sequence_faa",output_name:"annotation_faa",uuid:"3827a853-ad2a-48ad-89dd-648883467abd"},{label:"bakta_hypothetical_tabular",output_name:"hypotheticals_tsv",uuid:"db4f4056-01ba-42ed-b053-e3c6086011ab"},{label:"bakta_assembly_fasta",output_name:"annotation_fna",uuid:"7d88510c-813b-40f7-8fd6-5b079ff11ab2"},{label:"bakta_annotation_tabular",output_name:"annotation_tsv",uuid:"b84d6b52-d921-42d5-a7df-4abbd523bdc7"},{label:"bakta_annotation_gff3",output_name:"annotation_gff3",uuid:"3af64163-439d-4241-b950-f540e6f18134"},{label:"bakta_annotation_gbff",output_name:"annotation_gbff",uuid:"5a6c32eb-42ca-45c0-afc9-a12cc777247d"},{label:"bakta_annotation_embl",output_name:"annotation_embl",uuid:"e3b70765-90ee-47e9-8870-411e6a263963"},{label:"bakta_hypothetical_faa",output_name:"hypotheticals_faa",uuid:"4aa10d6e-0577-45b3-8759-63f1e0712b0e"},{label:"bakta_annotation_json",output_name:"annotation_json",uuid:"4ab292e3-0eb7-4746-b2aa-e03c2679aa2b"},{label:"bakta_annotation_plot",output_name:"annotation_plot",uuid:"c5b8dc03-6ee6-4d0b-8703-f92b15165d77"},{label:"bakta_summary_text",output_name:"summary_txt",uuid:"12e3ec34-9d84-4924-a8a6-0bc41a9f23f1"}]},8:{annotation:"ToolDistillator extracts results from tools and creates a JSON file for each tool",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1",errors:null,id:8,input_connections:{"tool_section|tools_0|select_tool|genome_hit_path":{id:6,output_name:"hit_file"},"tool_section|tools_0|select_tool|input":{id:6,output_name:"json_file"},"tool_section|tools_0|select_tool|plasmid_hit_path":{id:6,output_name:"plasmid_file"},"tool_section|tools_0|select_tool|plasmid_result_tabular_path":{id:6,output_name:"result_file"},"tool_section|tools_0|select_tool|reference_database_version":{id:1,output_name:"output"},"tool_section|tools_1|select_tool|annotation_path":{id:4,output_name:"annotation"},"tool_section|tools_1|select_tool|input":{id:4,output_name:"all_results"},"tool_section|tools_1|select_tool|is_fna_path":{id:4,output_name:"is_fasta"},"tool_section|tools_1|select_tool|orf_faa_path":{id:4,output_name:"orf_faa"},"tool_section|tools_1|select_tool|orf_fna_path":{id:4,output_name:"orf_fna"},"tool_section|tools_1|select_tool|summary_path":{id:4,output_name:"summary"},"tool_section|tools_2|select_tool|input":{id:5,output_name:"integrons_table"},"tool_section|tools_2|select_tool|summary_file_path":{id:5,output_name:"summary"},"tool_section|tools_3|select_tool|amino_acid_annotation_path":{id:7,output_name:"annotation_faa"},"tool_section|tools_3|select_tool|annotation_embl_path":{id:7,output_name:"annotation_embl"},"tool_section|tools_3|select_tool|annotation_genbank_path":{id:7,output_name:"annotation_gbff"},"tool_section|tools_3|select_tool|annotation_tabular_path":{id:7,output_name:"annotation_tsv"},"tool_section|tools_3|select_tool|contig_sequences_path":{id:7,output_name:"annotation_fna"},"tool_section|tools_3|select_tool|gff_file_path":{id:7,output_name:"annotation_gff3"},"tool_section|tools_3|select_tool|hypothetical_protein_path":{id:7,output_name:"hypotheticals_faa"},"tool_section|tools_3|select_tool|hypothetical_tabular_path":{id:7,output_name:"hypotheticals_tsv"},"tool_section|tools_3|select_tool|input":{id:7,output_name:"annotation_json"},"tool_section|tools_3|select_tool|nucleotide_annotation_path":{id:7,output_name:"annotation_ffn"},"tool_section|tools_3|select_tool|plot_file_path":{id:7,output_name:"annotation_plot"},"tool_section|tools_3|select_tool|reference_database_version":{id:2,output_name:"output"},"tool_section|tools_3|select_tool|summary_result_path":{id:7,output_name:"summary_txt"}},inputs:[],label:"ToolDistillator",name:"ToolDistillator",outputs:[{name:"output_json",type:"input"}],position:{left:1521.7059634117236,top:515.5903476661389},post_job_actions:{RenameDatasetActionoutput_json:{action_arguments:{newname:"tooldistillator_results"},action_type:"RenameDatasetAction",output_name:"output_json"},TagDatasetActionoutput_json:{action_arguments:{tags:"tooldistillator_results"},action_type:"TagDatasetAction",output_name:"output_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1",tool_shed_repository:{changeset_revision:"ea93df4b3df2",name:"tooldistillator",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"log": false, "tool_section": {"tools": [{"__index__": 0, "select_tool": {"tool_list": "plasmidfinder", "__current_case__": 14, "input": {"__class__": "ConnectedValue"}, "plasmid_result_tabular_path": {"__class__": "ConnectedValue"}, "genome_hit_path": {"__class__": "ConnectedValue"}, "plasmid_hit_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "select_tool": {"tool_list": "isescan", "__current_case__": 11, "input": {"__class__": "ConnectedValue"}, "summary_path": {"__class__": "ConnectedValue"}, "annotation_path": {"__class__": "ConnectedValue"}, "orf_fna_path": {"__class__": "ConnectedValue"}, "orf_faa_path": {"__class__": "ConnectedValue"}, "is_fna_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": null}}, {"__index__": 2, "select_tool": {"tool_list": "integronfinder2", "__current_case__": 10, "input": {"__class__": "ConnectedValue"}, "summary_file_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": null}}, {"__index__": 3, "select_tool": {"tool_list": "bakta", "__current_case__": 2, "input": {"__class__": "ConnectedValue"}, "annotation_tabular_path": {"__class__": "ConnectedValue"}, "annotation_genbank_path": {"__class__": "ConnectedValue"}, "annotation_embl_path": {"__class__": "ConnectedValue"}, "contig_sequences_path": {"__class__": "ConnectedValue"}, "hypothetical_protein_path": {"__class__": "ConnectedValue"}, "hypothetical_tabular_path": {"__class__": "ConnectedValue"}, "plot_file_path": {"__class__": "ConnectedValue"}, "summary_result_path": {"__class__": "ConnectedValue"}, "nucleotide_annotation_path": {"__class__": "ConnectedValue"}, "amino_acid_annotation_path": {"__class__": "ConnectedValue"}, "gff_file_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": {"__class__": "ConnectedValue"}}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.1+galaxy1",type:"tool",uuid:"678bdbfe-7a3a-4a91-8ea7-1cb17f53daa6",when:null,workflow_outputs:[{label:"tooldistillator_results",output_name:"output_json",uuid:"a8db4b4d-8573-45bf-990c-304868ad5150"}]},9:{annotation:"ToolDistillator summarize groups all JSON file into a unique JSON file",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1",errors:null,id:9,input_connections:{summarize_data:{id:8,output_name:"output_json"}},inputs:[],label:"ToolDistillator summarize",name:"ToolDistillator Summarize",outputs:[{name:"summary_json",type:"json"}],position:{left:1999.7866424448703,top:1179.174084225585},post_job_actions:{RenameDatasetActionsummary_json:{action_arguments:{newname:"tooldistillator_summarize"},action_type:"RenameDatasetAction",output_name:"summary_json"},TagDatasetActionsummary_json:{action_arguments:{tags:"tooldistillator_summarize"},action_type:"TagDatasetAction",output_name:"summary_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1",tool_shed_repository:{changeset_revision:"24eec94e6dfc",name:"tooldistillator_summarize",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"summarize_data": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.1+galaxy1",type:"tool",uuid:"3427b1f1-79ce-4ade-a350-baf15ac250c2",when:null,workflow_outputs:[{label:"tooldistillator_summarize",output_name:"summary_json",uuid:"96d63721-4cb5-4879-8984-4eeba8dec36b"}]}},tags:["Genomics","fasta","ABRomics","bacterial-genomics","Annotation","genome-annotation"],uuid:"d55a9e46-a205-4143-b92f-3783499063ed",version:1},readme:`# Bacterial genome annotation workflow (v1.0) + - JSON file with information about the outputs of **Shovill**, **Quast**, **Bandage**, **Refseqmasher**`,changelog:"# Changelog\n\n## [1.1.5] 2024-11-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.2.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.3.0+galaxy0`\n\n## [1.1.4] 2024-10-21\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1`\n\n## [1.1.3] 2024-09-30\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0`\n\n## [1.1.2] 2024-09-19\n\n### Manual update\n\n- Updated the tool versions manually in the ToolDistillator parameters\n\n## [1.1.1] 2024-07-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0`\n\n## [1.1] 2024-06-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_info/0.8.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_info/2022.09+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/0.8.1+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/2022.09+galaxy4`\n\n## [1.0] - 05-06-2024\n\n- First release",diagrams:`# Workflow diagrams + +## Bacterial Genome Assembly using Shovill + +\`\`\`mermaid +graph LR +0["ℹ️ Input adapter trimmed sequence reads (forward)"]@{ shape: doc } +1["ℹ️ Input adapter trimmed sequence reads (reverse)"]@{ shape: doc } +2["shovill_genome_assembly"]@{ shape: process } +0 --> 2 +1 --> 2 +3["quast_quality"]@{ shape: process } +2 --> 3 +0 --> 3 +1 --> 3 +4["refseqmasher_genome"]@{ shape: process } +2 --> 4 +5["bandage_contig_graph_stats"]@{ shape: process } +2 --> 5 +6["bandage_contig_graph_plot"]@{ shape: process } +2 --> 6 +7["ToolDistillator"]@{ shape: process } +2 --> 7 +2 --> 7 +2 --> 7 +3 --> 7 +3 --> 7 +4 --> 7 +6 --> 7 +5 --> 7 +8["ToolDistillator summarize"]@{ shape: process } +7 --> 8 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/bacterial-genome-assembly/main",tests:[{doc:"Test outline for bacterial_genome_assembly.ga",job:{"Input adapter trimmed sequence reads (forward)":{class:"File",path:"https://zenodo.org/records/11485346/files/fastp_trimmed_R1.fastqsanger.gz",filetype:"fastqsanger.gz"},"Input adapter trimmed sequence reads (reverse)":{class:"File",path:"https://zenodo.org/records/11485346/files/fastp_trimmed_R2.fastqsanger.gz",filetype:"fastqsanger.gz"}},outputs:{shovill_contigs_graph:{asserts:{has_text:{text:"KC:i"}}},shovill_logfile:{asserts:{has_text:{text:"[shovill] Done."}}},shovill_contigs_fasta:{asserts:{has_text:{text:">contig00001"}}},quast_report_tabular:{asserts:{has_n_columns:{n:2},has_text:{text:"shovill_contigs_fasta"}}},quast_log:{asserts:{has_text:{text:"Thank you for using QUAST!"}}},refseqmasher_report_tabular:{asserts:{has_text:{text:"Enterococcus faecalis"},has_n_columns:{n:21}}},bandage_contig_graph_stats:{asserts:{has_text:{text:"Total length orphaned nodes (bp):"},has_n_columns:{n:2}}},tooldistillator_summarize:{asserts:{has_text:{text:"bandage_plot_path"}}}}}]}],path:"./workflows/genome-assembly/bacterial-genome-assembly"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/bacterial_genome_annotation.ga",testParameterFiles:["/bacterial_genome_annotation-tests.yml"],authors:[{name:"ABRomics",email:"abromics-support@groupes.france-bioinformatique.fr"},{name:"abromics-consortium",url:"https://www.abromics.fr/"},{name:"Pierre Marin",alternateName:"pimarin",orcid:"0000-0002-8304-138X"},{name:"Clea Siguret",alternateName:"clsiguret",orcid:"0009-0005-6140-0379"}],definition:{a_galaxy_workflow:"true",annotation:"Annotation of an assembled bacterial genomes to detect genes, potential plasmids, integrons and Insertion sequence (IS) elements.",creator:[{class:"Person",email:"mailto:abromics-support@groupes.france-bioinformatique.fr",name:"ABRomics"},{class:"Organization",name:"abromics-consortium",url:"https://www.abromics.fr/"},{alternateName:"pimarin",class:"Person",identifier:"https://orcid.org/0000-0002-8304-138X",name:"Pierre Marin"},{alternateName:"clsiguret",class:"Person",identifier:"https://orcid.org/0009-0005-6140-0379",name:"Clea Siguret"}],"format-version":"0.1",license:"GPL-3.0-or-later",release:"1.1.7",name:"bacterial_genome_annotation",steps:{0:{annotation:"Can be any fasta file.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Can be any fasta file.",name:"Input sequence fasta"}],label:"Input sequence fasta",name:"Input dataset",outputs:[],position:{left:0,top:559.2197431502472},tool_id:null,tool_state:'{"optional": false, "format": ["fasta"], "tag": null}',tool_version:null,type:"data_input",uuid:"8afa880e-a04c-4831-b37b-d0f317f767b0",when:null,workflow_outputs:[]},1:{annotation:"Select a database to identify plasmids with PlasmidFinder.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Select a database to identify plasmids with PlasmidFinder.",name:"Select a plasmid detection database"}],label:"Select a plasmid detection database",name:"Input parameter",outputs:[],position:{left:9.602014342350742,top:734.3939210886799},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"66c11ad1-7cd5-40b7-b97f-8d15cc097dd9",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"a2d4e531-c070-45c1-b56a-be4356aabc79"}]},2:{annotation:"Select a database to predict CDS and small proteins (sORF) with Bakta.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Select a database to predict CDS and small proteins (sORF) with Bakta.",name:"Select a bacterial genome annotation database"}],label:"Select a bacterial genome annotation database",name:"Input parameter",outputs:[],position:{left:21.882601498378413,top:859.5166625976562},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"4de1f52c-078c-4112-86ad-e4e8f3b62e3a",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"724dc1d5-6f90-4c1c-915c-99dded697740"}]},3:{annotation:"Select a database to annotate AMR genes with Bakta.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Select a database to annotate AMR genes with Bakta.",name:"Select a AMRFinderPlus database"}],label:"Select a AMRFinderPlus database",name:"Input parameter",outputs:[],position:{left:10.643158620281753,top:995.2631409484753},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"aec02a2c-6bf7-476d-91aa-3f1ce49083c7",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"768e962a-f016-41c6-96c5-4b32b26b4856"}]},4:{annotation:"genomic_annotation_insertionelement_isescan",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/isescan/isescan/1.7.2.3+galaxy1",errors:null,id:4,input_connections:{input_file:{id:0,output_name:"output"}},inputs:[],label:"genomic_annotation_insertionelement_isescan",name:"ISEScan",outputs:[{name:"logfile",type:"txt"},{name:"summary",type:"tabular"},{name:"all_results",type:"tabular"},{name:"annotation",type:"gff"},{name:"is_fasta",type:"fasta"},{name:"orf_fna",type:"fasta"},{name:"orf_faa",type:"fasta"}],position:{left:887.7889628790149,top:105.14125185095409},post_job_actions:{RenameDatasetActionall_results:{action_arguments:{newname:"isescan_results_tabular"},action_type:"RenameDatasetAction",output_name:"all_results"},RenameDatasetActionannotation:{action_arguments:{newname:"isescan_annotation_gff3"},action_type:"RenameDatasetAction",output_name:"annotation"},RenameDatasetActionis_fasta:{action_arguments:{newname:"isescan_is_fasta"},action_type:"RenameDatasetAction",output_name:"is_fasta"},RenameDatasetActionlogfile:{action_arguments:{newname:"isescan_logfile_text"},action_type:"RenameDatasetAction",output_name:"logfile"},RenameDatasetActionorf_faa:{action_arguments:{newname:"isescan_orf_faa"},action_type:"RenameDatasetAction",output_name:"orf_faa"},RenameDatasetActionorf_fna:{action_arguments:{newname:"isescan_orf_fasta"},action_type:"RenameDatasetAction",output_name:"orf_fna"},RenameDatasetActionsummary:{action_arguments:{newname:"isescan_summary_tabular"},action_type:"RenameDatasetAction",output_name:"summary"},TagDatasetActionall_results:{action_arguments:{tags:"isescan_results_tabular"},action_type:"TagDatasetAction",output_name:"all_results"},TagDatasetActionannotation:{action_arguments:{tags:"isescan_annotation_gff3"},action_type:"TagDatasetAction",output_name:"annotation"},TagDatasetActionis_fasta:{action_arguments:{tags:"isescan_is_fasta"},action_type:"TagDatasetAction",output_name:"is_fasta"},TagDatasetActionlogfile:{action_arguments:{tags:"isescan,logfile"},action_type:"TagDatasetAction",output_name:"logfile"},TagDatasetActionorf_faa:{action_arguments:{tags:"isescan_orf_faa"},action_type:"TagDatasetAction",output_name:"orf_faa"},TagDatasetActionorf_fna:{action_arguments:{tags:"isescan_orf_fasta"},action_type:"TagDatasetAction",output_name:"orf_fna"},TagDatasetActionsummary:{action_arguments:{tags:"isescan_summary_tabular"},action_type:"TagDatasetAction",output_name:"summary"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/isescan/isescan/1.7.2.3+galaxy1",tool_shed_repository:{changeset_revision:"9e776e7fab4f",name:"isescan",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_file": {"__class__": "ConnectedValue"}, "log_activate": true, "remove_short_is": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.7.2.3+galaxy1",type:"tool",uuid:"f589af2f-9dd9-41c0-b7a2-a499c875cb54",when:null,workflow_outputs:[{label:"isescan_summary_tabular",output_name:"summary",uuid:"a09e2ed7-5b31-4beb-9923-d5ec6910da16"},{label:"isescan_annotation_gff3",output_name:"annotation",uuid:"de82533b-90f8-470d-80a2-e1559be93f0d"},{label:"isescan_logfile_text",output_name:"logfile",uuid:"c0539e24-831e-406f-a5d2-3dd52845a5d7"},{label:"isescan_results_tabular",output_name:"all_results",uuid:"24f7dee0-f50a-4444-83f4-b09623a4a993"},{label:"isescan_orf_faa",output_name:"orf_faa",uuid:"c74754f5-e011-4f55-801f-feeab8dd777c"},{label:"isescan_is_fasta",output_name:"is_fasta",uuid:"a89b0159-ccef-4c10-9b17-d5da62312bda"},{label:"isescan_orf_fasta",output_name:"orf_fna",uuid:"1a91afd7-104d-4807-bffa-61c5df646b85"}]},5:{annotation:"genomic_annotation_integron",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/integron_finder/integron_finder/2.0.5+galaxy0",errors:null,id:5,input_connections:{sequence:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Integron Finder",name:"topology_file"}],label:"genomic_annotation_integron",name:"Integron Finder",outputs:[{name:"integron_log",type:"txt"},{name:"integrons_table",type:"tsv"},{name:"summary",type:"tsv"}],position:{left:581.3510244512896,top:719.4853608141518},post_job_actions:{RenameDatasetActionintegron_log:{action_arguments:{newname:"integronfinder2_logfile_text"},action_type:"RenameDatasetAction",output_name:"integron_log"},RenameDatasetActionintegrons_table:{action_arguments:{newname:"integronfinder2_results_tabular"},action_type:"RenameDatasetAction",output_name:"integrons_table"},RenameDatasetActionsummary:{action_arguments:{newname:"integronfinder2_summary"},action_type:"RenameDatasetAction",output_name:"summary"},TagDatasetActionintegron_log:{action_arguments:{tags:"integronfinder,logfile"},action_type:"TagDatasetAction",output_name:"integron_log"},TagDatasetActionintegrons_table:{action_arguments:{tags:"integronfinder2_results_tabular"},action_type:"TagDatasetAction",output_name:"integrons_table"},TagDatasetActionsummary:{action_arguments:{tags:"integronfinder2_summary"},action_type:"TagDatasetAction",output_name:"summary"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/integron_finder/integron_finder/2.0.5+galaxy0",tool_shed_repository:{changeset_revision:"bfd290fe1588",name:"integron_finder",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"gbk": false, "local_max": true, "no_logfile": false, "pdf": false, "promoter_attI": true, "sequence": {"__class__": "ConnectedValue"}, "settings": {"attc_settings": {"dist_thresh": "4000", "calin_threshold": "2", "max_attc_size": "200", "min_attc_size": "40", "keep_palindromes": false, "covar_matrix": {"__class__": "RuntimeValue"}}, "protein_settings": {"no_proteins": false, "union_integrases": false, "func_annot": false}}, "topology_file": {"__class__": "RuntimeValue"}, "type_replicon": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.5+galaxy0",type:"tool",uuid:"0f39c064-cac7-4ee7-9f37-94b7717a033e",when:null,workflow_outputs:[{label:"integronfinder2_logfile_text",output_name:"integron_log",uuid:"dca60f87-9f7a-4631-b197-62ca54f7bafe"},{label:"integronfinder2_summary",output_name:"summary",uuid:"b96d90c3-7678-41b8-9b01-61d5c9da80bc"},{label:"integronfinder2_results_tabular",output_name:"integrons_table",uuid:"cb38191b-3a0e-43d3-823a-0c9563e39d66"}]},6:{annotation:"genomic_annotation_plasmid_plasmidfinder",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/plasmidfinder/plasmidfinder/2.1.6+galaxy1",errors:null,id:6,input_connections:{"input|database_name":{id:1,output_name:"output"},"input|input_file":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool PlasmidFinder",name:"input"},{description:"runtime parameter for tool PlasmidFinder",name:"input"}],label:"genomic_annotation_plasmid_plasmidfinder",name:"PlasmidFinder",outputs:[{name:"json_file",type:"json"},{name:"hit_file",type:"fasta"},{name:"plasmid_file",type:"fasta"},{name:"result_file",type:"tabular"},{name:"raw_file",type:"txt"}],position:{left:469.0425884161387,top:0},post_job_actions:{RenameDatasetActionhit_file:{action_arguments:{newname:"plasmidfinder_hit_genome_fasta"},action_type:"RenameDatasetAction",output_name:"hit_file"},RenameDatasetActionjson_file:{action_arguments:{newname:"plasmidfinder_result_json"},action_type:"RenameDatasetAction",output_name:"json_file"},RenameDatasetActionplasmid_file:{action_arguments:{newname:"plasmidfinder_hit_reference_fasta"},action_type:"RenameDatasetAction",output_name:"plasmid_file"},RenameDatasetActionraw_file:{action_arguments:{newname:"plasmidfinder_results_raw"},action_type:"RenameDatasetAction",output_name:"raw_file"},RenameDatasetActionresult_file:{action_arguments:{newname:"plasmidfinder_results_tabular"},action_type:"RenameDatasetAction",output_name:"result_file"},TagDatasetActionhit_file:{action_arguments:{tags:"plasmidfinder_hit_genome_fasta"},action_type:"TagDatasetAction",output_name:"hit_file"},TagDatasetActionjson_file:{action_arguments:{tags:"plasmidfinder_result_json"},action_type:"TagDatasetAction",output_name:"json_file"},TagDatasetActionplasmid_file:{action_arguments:{tags:"plasmidfinder_hit_reference_fasta"},action_type:"TagDatasetAction",output_name:"plasmid_file"},TagDatasetActionraw_file:{action_arguments:{tags:"plasmidfinder_results_raw"},action_type:"TagDatasetAction",output_name:"raw_file"},TagDatasetActionresult_file:{action_arguments:{tags:"plasmidfinder_results_tabular"},action_type:"TagDatasetAction",output_name:"result_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/plasmidfinder/plasmidfinder/2.1.6+galaxy1",tool_shed_repository:{changeset_revision:"7075b7a5441b",name:"plasmidfinder",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"input_file": {"__class__": "ConnectedValue"}, "database_name": {"__class__": "ConnectedValue"}}, "options": {"min_cov": "0.6", "threshold": "0.95"}, "output_files": {"output_selection": ["hit_fasta", "plasmid_fasta", "result_tsv", "result_txt", "data_json"]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.6+galaxy1",type:"tool",uuid:"0cbd7d74-9525-4fc4-9518-836c99f6d397",when:null,workflow_outputs:[{label:"plasmidfinder_results_tabular",output_name:"result_file",uuid:"696867f7-0700-4ca5-bee4-bf405f44f6fa"},{label:"plasmidfinder_result_json",output_name:"json_file",uuid:"1449c8c3-9621-4ba2-b32e-29a597a63f2d"},{label:"plasmidfinder_results_raw",output_name:"raw_file",uuid:"e4c42f08-1e32-40e0-a0f0-09037299c4a7"},{label:"plasmidfinder_hit_genome_fasta",output_name:"hit_file",uuid:"2924588e-064d-4c31-9011-ef9cfc646c6e"},{label:"plasmidfinder_hit_reference_fasta",output_name:"plasmid_file",uuid:"b70ea191-97da-4e59-b14c-3988284e552e"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bakta/bakta/1.9.4+galaxy0",errors:null,id:7,input_connections:{"input_option|amrfinder_db_select":{id:3,output_name:"output"},"input_option|bakta_db_select":{id:2,output_name:"output"},"input_option|input_file":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Bakta",name:"annotation"},{description:"runtime parameter for tool Bakta",name:"annotation"},{description:"runtime parameter for tool Bakta",name:"annotation"},{description:"runtime parameter for tool Bakta",name:"annotation"},{description:"runtime parameter for tool Bakta",name:"input_option"},{description:"runtime parameter for tool Bakta",name:"input_option"},{description:"runtime parameter for tool Bakta",name:"input_option"}],label:null,name:"Bakta",outputs:[{name:"annotation_tsv",type:"tabular"},{name:"annotation_gff3",type:"gff3"},{name:"annotation_gbff",type:"tabular"},{name:"annotation_embl",type:"tabular"},{name:"annotation_fna",type:"fasta"},{name:"annotation_ffn",type:"fasta"},{name:"annotation_faa",type:"fasta"},{name:"hypotheticals_tsv",type:"tabular"},{name:"hypotheticals_faa",type:"fasta"},{name:"summary_txt",type:"txt"},{name:"annotation_json",type:"json"},{name:"annotation_plot",type:"svg"}],position:{left:1035.0012031530584,top:927.9172491992002},post_job_actions:{RenameDatasetActionannotation_embl:{action_arguments:{newname:"bakta_annotation_embl"},action_type:"RenameDatasetAction",output_name:"annotation_embl"},RenameDatasetActionannotation_faa:{action_arguments:{newname:"bakta_aminoacid_sequence_faa"},action_type:"RenameDatasetAction",output_name:"annotation_faa"},RenameDatasetActionannotation_ffn:{action_arguments:{newname:"bakta_nucleotide_sequence_fasta"},action_type:"RenameDatasetAction",output_name:"annotation_ffn"},RenameDatasetActionannotation_fna:{action_arguments:{newname:"bakta_assembly_fasta"},action_type:"RenameDatasetAction",output_name:"annotation_fna"},RenameDatasetActionannotation_gbff:{action_arguments:{newname:"bakta_annotation_gbff"},action_type:"RenameDatasetAction",output_name:"annotation_gbff"},RenameDatasetActionannotation_gff3:{action_arguments:{newname:"bakta_annotation_gff3"},action_type:"RenameDatasetAction",output_name:"annotation_gff3"},RenameDatasetActionannotation_json:{action_arguments:{newname:"bakta_annotation_json"},action_type:"RenameDatasetAction",output_name:"annotation_json"},RenameDatasetActionannotation_plot:{action_arguments:{newname:"bakta_annotation_plot"},action_type:"RenameDatasetAction",output_name:"annotation_plot"},RenameDatasetActionannotation_tsv:{action_arguments:{newname:"bakta_annotation_tabular"},action_type:"RenameDatasetAction",output_name:"annotation_tsv"},RenameDatasetActionhypotheticals_faa:{action_arguments:{newname:"bakta_hypothetical_faa"},action_type:"RenameDatasetAction",output_name:"hypotheticals_faa"},RenameDatasetActionhypotheticals_tsv:{action_arguments:{newname:"bakta_hypothetical_tabular"},action_type:"RenameDatasetAction",output_name:"hypotheticals_tsv"},RenameDatasetActionsummary_txt:{action_arguments:{newname:"bakta_summary_text"},action_type:"RenameDatasetAction",output_name:"summary_txt"},TagDatasetActionannotation_embl:{action_arguments:{tags:"bakta_annotation_embl"},action_type:"TagDatasetAction",output_name:"annotation_embl"},TagDatasetActionannotation_faa:{action_arguments:{tags:"bakta_aminoacid_sequence_faa"},action_type:"TagDatasetAction",output_name:"annotation_faa"},TagDatasetActionannotation_ffn:{action_arguments:{tags:"bakta_nucleotide_sequence_fasta"},action_type:"TagDatasetAction",output_name:"annotation_ffn"},TagDatasetActionannotation_fna:{action_arguments:{tags:"bakta_assembly_fasta"},action_type:"TagDatasetAction",output_name:"annotation_fna"},TagDatasetActionannotation_gbff:{action_arguments:{tags:"bakta_annotation_gbff"},action_type:"TagDatasetAction",output_name:"annotation_gbff"},TagDatasetActionannotation_gff3:{action_arguments:{tags:"bakta_annotation_gff3"},action_type:"TagDatasetAction",output_name:"annotation_gff3"},TagDatasetActionannotation_json:{action_arguments:{tags:"bakta_annotation_json"},action_type:"TagDatasetAction",output_name:"annotation_json"},TagDatasetActionannotation_plot:{action_arguments:{tags:"bakta_annotation_plot"},action_type:"TagDatasetAction",output_name:"annotation_plot"},TagDatasetActionannotation_tsv:{action_arguments:{tags:"bakta_annotation_tabular"},action_type:"TagDatasetAction",output_name:"annotation_tsv"},TagDatasetActionhypotheticals_faa:{action_arguments:{tags:"bakta_hypothetical_faa"},action_type:"TagDatasetAction",output_name:"hypotheticals_faa"},TagDatasetActionhypotheticals_tsv:{action_arguments:{tags:"bakta_hypothetical_tabular"},action_type:"TagDatasetAction",output_name:"hypotheticals_tsv"},TagDatasetActionsummary_txt:{action_arguments:{tags:"bakta_summary_text"},action_type:"TagDatasetAction",output_name:"summary_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bakta/bakta/1.9.4+galaxy0",tool_shed_repository:{changeset_revision:"d77802fe76f7",name:"bakta",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"annotation": {"complete": false, "prodigal": {"__class__": "RuntimeValue"}, "translation_table": "11", "keep_contig_headers": false, "replicons": {"__class__": "RuntimeValue"}, "compliant": false, "proteins": {"__class__": "RuntimeValue"}, "meta": false, "regions": {"__class__": "RuntimeValue"}}, "input_option": {"input_file": {"__class__": "ConnectedValue"}, "min_contig_length": null, "bakta_db_select": {"__class__": "ConnectedValue"}, "amrfinder_db_select": {"__class__": "ConnectedValue"}}, "organism": {"genus": null, "species": null, "strain": null, "plasmid": null}, "output_files": {"output_selection": ["file_tsv", "file_gff3", "file_ffn", "file_plot", "file_gbff", "file_embl", "file_fna", "file_faa", "hypo_tsv", "hypo_fa", "file_json", "sum_txt"]}, "workflow": {"skip_analysis": null}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.9.4+galaxy0",type:"tool",uuid:"0a32dcad-f456-460e-9e6f-9e306a8fd515",when:null,workflow_outputs:[{label:"bakta_nucleotide_sequence_fasta",output_name:"annotation_ffn",uuid:"31d239a4-5065-49fb-9989-8b83f3b53642"},{label:"bakta_aminoacid_sequence_faa",output_name:"annotation_faa",uuid:"3827a853-ad2a-48ad-89dd-648883467abd"},{label:"bakta_hypothetical_tabular",output_name:"hypotheticals_tsv",uuid:"db4f4056-01ba-42ed-b053-e3c6086011ab"},{label:"bakta_assembly_fasta",output_name:"annotation_fna",uuid:"7d88510c-813b-40f7-8fd6-5b079ff11ab2"},{label:"bakta_annotation_tabular",output_name:"annotation_tsv",uuid:"b84d6b52-d921-42d5-a7df-4abbd523bdc7"},{label:"bakta_annotation_gff3",output_name:"annotation_gff3",uuid:"3af64163-439d-4241-b950-f540e6f18134"},{label:"bakta_annotation_gbff",output_name:"annotation_gbff",uuid:"5a6c32eb-42ca-45c0-afc9-a12cc777247d"},{label:"bakta_annotation_embl",output_name:"annotation_embl",uuid:"e3b70765-90ee-47e9-8870-411e6a263963"},{label:"bakta_hypothetical_faa",output_name:"hypotheticals_faa",uuid:"4aa10d6e-0577-45b3-8759-63f1e0712b0e"},{label:"bakta_annotation_json",output_name:"annotation_json",uuid:"4ab292e3-0eb7-4746-b2aa-e03c2679aa2b"},{label:"bakta_annotation_plot",output_name:"annotation_plot",uuid:"c5b8dc03-6ee6-4d0b-8703-f92b15165d77"},{label:"bakta_summary_text",output_name:"summary_txt",uuid:"12e3ec34-9d84-4924-a8a6-0bc41a9f23f1"}]},8:{annotation:"ToolDistillator extracts results from tools and creates a JSON file for each tool",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1",errors:null,id:8,input_connections:{"tool_section|tools_0|select_tool|genome_hit_path":{id:6,output_name:"hit_file"},"tool_section|tools_0|select_tool|input":{id:6,output_name:"json_file"},"tool_section|tools_0|select_tool|plasmid_hit_path":{id:6,output_name:"plasmid_file"},"tool_section|tools_0|select_tool|plasmid_result_tabular_path":{id:6,output_name:"result_file"},"tool_section|tools_0|select_tool|reference_database_version":{id:1,output_name:"output"},"tool_section|tools_1|select_tool|annotation_path":{id:4,output_name:"annotation"},"tool_section|tools_1|select_tool|input":{id:4,output_name:"all_results"},"tool_section|tools_1|select_tool|is_fna_path":{id:4,output_name:"is_fasta"},"tool_section|tools_1|select_tool|orf_faa_path":{id:4,output_name:"orf_faa"},"tool_section|tools_1|select_tool|orf_fna_path":{id:4,output_name:"orf_fna"},"tool_section|tools_1|select_tool|summary_path":{id:4,output_name:"summary"},"tool_section|tools_2|select_tool|input":{id:5,output_name:"integrons_table"},"tool_section|tools_2|select_tool|summary_file_path":{id:5,output_name:"summary"},"tool_section|tools_3|select_tool|amino_acid_annotation_path":{id:7,output_name:"annotation_faa"},"tool_section|tools_3|select_tool|annotation_embl_path":{id:7,output_name:"annotation_embl"},"tool_section|tools_3|select_tool|annotation_genbank_path":{id:7,output_name:"annotation_gbff"},"tool_section|tools_3|select_tool|annotation_tabular_path":{id:7,output_name:"annotation_tsv"},"tool_section|tools_3|select_tool|contig_sequences_path":{id:7,output_name:"annotation_fna"},"tool_section|tools_3|select_tool|gff_file_path":{id:7,output_name:"annotation_gff3"},"tool_section|tools_3|select_tool|hypothetical_protein_path":{id:7,output_name:"hypotheticals_faa"},"tool_section|tools_3|select_tool|hypothetical_tabular_path":{id:7,output_name:"hypotheticals_tsv"},"tool_section|tools_3|select_tool|input":{id:7,output_name:"annotation_json"},"tool_section|tools_3|select_tool|nucleotide_annotation_path":{id:7,output_name:"annotation_ffn"},"tool_section|tools_3|select_tool|plot_file_path":{id:7,output_name:"annotation_plot"},"tool_section|tools_3|select_tool|reference_database_version":{id:2,output_name:"output"},"tool_section|tools_3|select_tool|summary_result_path":{id:7,output_name:"summary_txt"}},inputs:[],label:"ToolDistillator",name:"ToolDistillator",outputs:[{name:"output_json",type:"input"}],position:{left:1521.7059634117236,top:515.5903476661389},post_job_actions:{RenameDatasetActionoutput_json:{action_arguments:{newname:"tooldistillator_results"},action_type:"RenameDatasetAction",output_name:"output_json"},TagDatasetActionoutput_json:{action_arguments:{tags:"tooldistillator_results"},action_type:"TagDatasetAction",output_name:"output_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1",tool_shed_repository:{changeset_revision:"ea93df4b3df2",name:"tooldistillator",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"log": false, "tool_section": {"tools": [{"__index__": 0, "select_tool": {"tool_list": "plasmidfinder", "__current_case__": 14, "input": {"__class__": "ConnectedValue"}, "plasmid_result_tabular_path": {"__class__": "ConnectedValue"}, "genome_hit_path": {"__class__": "ConnectedValue"}, "plasmid_hit_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "select_tool": {"tool_list": "isescan", "__current_case__": 11, "input": {"__class__": "ConnectedValue"}, "summary_path": {"__class__": "ConnectedValue"}, "annotation_path": {"__class__": "ConnectedValue"}, "orf_fna_path": {"__class__": "ConnectedValue"}, "orf_faa_path": {"__class__": "ConnectedValue"}, "is_fna_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": null}}, {"__index__": 2, "select_tool": {"tool_list": "integronfinder2", "__current_case__": 10, "input": {"__class__": "ConnectedValue"}, "summary_file_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": null}}, {"__index__": 3, "select_tool": {"tool_list": "bakta", "__current_case__": 2, "input": {"__class__": "ConnectedValue"}, "annotation_tabular_path": {"__class__": "ConnectedValue"}, "annotation_genbank_path": {"__class__": "ConnectedValue"}, "annotation_embl_path": {"__class__": "ConnectedValue"}, "contig_sequences_path": {"__class__": "ConnectedValue"}, "hypothetical_protein_path": {"__class__": "ConnectedValue"}, "hypothetical_tabular_path": {"__class__": "ConnectedValue"}, "plot_file_path": {"__class__": "ConnectedValue"}, "summary_result_path": {"__class__": "ConnectedValue"}, "nucleotide_annotation_path": {"__class__": "ConnectedValue"}, "amino_acid_annotation_path": {"__class__": "ConnectedValue"}, "gff_file_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": {"__class__": "ConnectedValue"}}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.1+galaxy1",type:"tool",uuid:"678bdbfe-7a3a-4a91-8ea7-1cb17f53daa6",when:null,workflow_outputs:[{label:"tooldistillator_results",output_name:"output_json",uuid:"a8db4b4d-8573-45bf-990c-304868ad5150"}]},9:{annotation:"ToolDistillator summarize groups all JSON file into a unique JSON file",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1",errors:null,id:9,input_connections:{summarize_data:{id:8,output_name:"output_json"}},inputs:[],label:"ToolDistillator summarize",name:"ToolDistillator Summarize",outputs:[{name:"summary_json",type:"json"}],position:{left:1999.7866424448703,top:1179.174084225585},post_job_actions:{RenameDatasetActionsummary_json:{action_arguments:{newname:"tooldistillator_summarize"},action_type:"RenameDatasetAction",output_name:"summary_json"},TagDatasetActionsummary_json:{action_arguments:{tags:"tooldistillator_summarize"},action_type:"TagDatasetAction",output_name:"summary_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1",tool_shed_repository:{changeset_revision:"24eec94e6dfc",name:"tooldistillator_summarize",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"summarize_data": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.1+galaxy1",type:"tool",uuid:"3427b1f1-79ce-4ade-a350-baf15ac250c2",when:null,workflow_outputs:[{label:"tooldistillator_summarize",output_name:"summary_json",uuid:"96d63721-4cb5-4879-8984-4eeba8dec36b"}]}},tags:["Genomics","fasta","ABRomics","bacterial-genomics","Annotation","genome-annotation"],uuid:"d55a9e46-a205-4143-b92f-3783499063ed",version:1},readme:`# Bacterial genome annotation workflow (v1.0) This workflow uses assembled bacterial genome fasta files (but can be any fasta file) and executes the following steps: 1. Genomic annotation @@ -561,6 +1020,57 @@ This workflow uses assembled bacterial genome fasta files (but can be any fasta ## [1.0] - 14-06-2024 - First release +`,diagrams:`# Workflow diagrams + +## bacterial_genome_annotation + +\`\`\`mermaid +graph LR +0["ℹ️ Input sequence fasta"]@{ shape: doc } +1["ℹ️ Select a plasmid detection database"]@{ shape: lean-l } +2["ℹ️ Select a bacterial genome annotation database"]@{ shape: lean-l } +3["ℹ️ Select a AMRFinderPlus database"]@{ shape: lean-l } +4["genomic_annotation_insertionelement_isescan"]@{ shape: process } +0 --> 4 +5["genomic_annotation_integron"]@{ shape: process } +0 --> 5 +6["genomic_annotation_plasmid_plasmidfinder"]@{ shape: process } +1 --> 6 +0 --> 6 +7["Bakta"]@{ shape: process } +3 --> 7 +2 --> 7 +0 --> 7 +8["ToolDistillator"]@{ shape: process } +6 --> 8 +6 --> 8 +6 --> 8 +6 --> 8 +1 --> 8 +4 --> 8 +4 --> 8 +4 --> 8 +4 --> 8 +4 --> 8 +4 --> 8 +5 --> 8 +5 --> 8 +7 --> 8 +7 --> 8 +7 --> 8 +7 --> 8 +7 --> 8 +7 --> 8 +7 --> 8 +7 --> 8 +7 --> 8 +7 --> 8 +7 --> 8 +2 --> 8 +7 --> 8 +9["ToolDistillator summarize"]@{ shape: process } +8 --> 9 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/bacterial_genome_annotation/main",tests:[{doc:"Test outline for bacterial_genome_annotation.ga",job:{"Input sequence fasta":{class:"File",path:"https://zenodo.org/records/11488310/files/shovill_contigs_fasta"},"Select a plasmid detection database":"plasmidfinder_81c11f4_2023_12_04","Select a bacterial genome annotation database":"V5.0_2023-02-20","Select a AMRFinderPlus database":"amrfinderplus_V3.12_2024-05-02.2"},outputs:{integronfinder2_logfile_text:{asserts:{has_text:{text:"Writing out results for replicon"}}},integronfinder2_summary:{asserts:{has_text:{text:"contig00001"}}},integronfinder2_results_tabular:{asserts:{has_text:{text:"contig00009_42"}}},bakta_hypothetical_tabular:{asserts:{has_text:{text:"DHJLLP_04750"}}},bakta_annotation_json:{asserts:{has_text:{text:"aa_hexdigest"}}},bakta_annotation_tabular:{asserts:{has_text:{text:"Phosphotransferase system cellobiose-specific component IIC"}}},isescan_results_tabular:{asserts:{has_text:{text:"IS256_162"}}},isescan_summary_tabular:{asserts:{has_text:{text:"nIS"}}},isescan_logfile_text:{asserts:{has_text:{text:"Both complete and partial IS elements are reported."}}},plasmidfinder_result_json:{asserts:{has_text:{text:"positions_in_contig"}}},plasmidfinder_results_tabular:{asserts:{has_n_columns:{n:8}}},tooldistillator_summarize:{asserts:[{that:"has_text",text:"CDS12738(DOp1)"},{that:"has_text",text:"PFAM"}]}}}]}],path:"./workflows/bacterial_genomics/bacterial_genome_annotation"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/amr_gene_detection.ga",testParameterFiles:["/amr_gene_detection-tests.yml"],authors:[{name:"ABRomics",email:"abromics-support@groupes.france-bioinformatique.fr"},{name:"abromics-consortium",url:"https://www.abromics.fr/"},{name:"Pierre Marin",alternateName:"pimarin",orcid:"0000-0002-8304-138X"},{name:"Clea Siguret",alternateName:"clsiguret",orcid:"0009-0005-6140-0379"}],definition:{a_galaxy_workflow:"true",annotation:"Antimicrobial resistance gene detection from assembled bacterial genomes",creator:[{class:"Person",email:"mailto:abromics-support@groupes.france-bioinformatique.fr",name:"ABRomics"},{class:"Organization",name:"abromics-consortium",url:"https://www.abromics.fr/"},{alternateName:"pimarin",class:"Person",identifier:"https://orcid.org/0000-0002-8304-138X",name:"Pierre Marin"},{alternateName:"clsiguret",class:"Person",identifier:"https://orcid.org/0000-0002-8304-138X",name:"Clea Siguret"}],"format-version":"0.1",license:"GPL-3.0-or-later",release:"1.1.5",name:"amr_gene_detection",steps:{0:{annotation:"Can be any fasta file.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Can be any fasta file.",name:"Input sequence fasta"}],label:"Input sequence fasta",name:"Input dataset",outputs:[],position:{left:2.4727149882562167,top:677.1068397845053},tool_id:null,tool_state:'{"optional": false, "format": ["fasta"], "tag": null}',tool_version:null,type:"data_input",uuid:"67722a09-41de-4af4-9e60-378b2738f910",when:null,workflow_outputs:[]},1:{annotation:"Select the database to identify resistance-associated point mutations with AMRFinderPlus.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Select the database to identify resistance-associated point mutations with AMRFinderPlus.",name:"Select a taxonomy group point mutation"}],label:"Select a taxonomy group point mutation",name:"Input parameter",outputs:[],position:{left:6.398714988256147,top:785.1080080587546},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"6092b401-9042-4ec2-9970-d614afd77441",when:null,workflow_outputs:[]},2:{annotation:"Select the database to identify AMR genes with AMRFinderPlus.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Select the database to identify AMR genes with AMRFinderPlus.",name:"Select a AMR genes detection database"}],label:"Select a AMR genes detection database",name:"Input parameter",outputs:[],position:{left:0,top:1031.8311633489975},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"3c9163c4-9393-49ca-8271-b98a89abcfb9",when:null,workflow_outputs:[]},3:{annotation:"Select the database to identify virulence genes with ABRicate..",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Select the database to identify virulence genes with ABRicate..",name:"Select a virulence genes detection database"}],label:"Select a virulence genes detection database",name:"Input parameter",outputs:[],position:{left:2.0333251953125,top:1166.9166870117188},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"eba8ebb2-0072-41dd-a9b2-878d05f04ff6",when:null,workflow_outputs:[]},4:{annotation:"staramr_amr_genes",content_id:"toolshed.g2.bx.psu.edu/repos/nml/staramr/staramr_search/0.10.0+galaxy1",errors:null,id:4,input_connections:{genomes:{id:0,output_name:"output"}},inputs:[],label:"staramr_amr_genes",name:"staramr",outputs:[{name:"blast_hits",type:"input"},{name:"mlst",type:"tabular"},{name:"summary",type:"tabular"},{name:"detailed_summary",type:"tabular"},{name:"resfinder",type:"tabular"},{name:"plasmidfinder",type:"tabular"},{name:"settings",type:"txt"},{name:"excel",type:"xlsx"}],position:{left:496.9350972460573,top:0},post_job_actions:{RenameDatasetActionblast_hits:{action_arguments:{newname:"staramr_blast_hits"},action_type:"RenameDatasetAction",output_name:"blast_hits"},RenameDatasetActiondetailed_summary:{action_arguments:{newname:"staramr_detailed_summary"},action_type:"RenameDatasetAction",output_name:"detailed_summary"},RenameDatasetActionexcel:{action_arguments:{newname:"staramr_excel_report"},action_type:"RenameDatasetAction",output_name:"excel"},RenameDatasetActionmlst:{action_arguments:{newname:"staramr_mlst_report"},action_type:"RenameDatasetAction",output_name:"mlst"},RenameDatasetActionplasmidfinder:{action_arguments:{newname:"staramr_plasmidfinder_report"},action_type:"RenameDatasetAction",output_name:"plasmidfinder"},RenameDatasetActionresfinder:{action_arguments:{newname:"staramr_resfinder_report"},action_type:"RenameDatasetAction",output_name:"resfinder"},RenameDatasetActionsettings:{action_arguments:{newname:"staramr_settings"},action_type:"RenameDatasetAction",output_name:"settings"},RenameDatasetActionsummary:{action_arguments:{newname:"staramr_summary"},action_type:"RenameDatasetAction",output_name:"summary"},TagDatasetActionblast_hits:{action_arguments:{tags:"staramr_blast_hits"},action_type:"TagDatasetAction",output_name:"blast_hits"},TagDatasetActiondetailed_summary:{action_arguments:{tags:"staramr_detailed_summary"},action_type:"TagDatasetAction",output_name:"detailed_summary"},TagDatasetActionexcel:{action_arguments:{tags:"staramr_excel_report"},action_type:"TagDatasetAction",output_name:"excel"},TagDatasetActionmlst:{action_arguments:{tags:"staramr_mlst_report"},action_type:"TagDatasetAction",output_name:"mlst"},TagDatasetActionplasmidfinder:{action_arguments:{tags:"staramr_plasmidfinder_report"},action_type:"TagDatasetAction",output_name:"plasmidfinder"},TagDatasetActionresfinder:{action_arguments:{tags:"staramr_resfinder_report"},action_type:"TagDatasetAction",output_name:"resfinder"},TagDatasetActionsettings:{action_arguments:{tags:"staramr_settings"},action_type:"TagDatasetAction",output_name:"settings"},TagDatasetActionsummary:{action_arguments:{tags:"staramr_summary"},action_type:"TagDatasetAction",output_name:"summary"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/staramr/staramr_search/0.10.0+galaxy1",tool_shed_repository:{changeset_revision:"3b22de20bd4b",name:"staramr",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced": {"pid_threshold": "90.0", "plength_resfinder": "60.0", "plength_pointfinder": "95.0", "plength_plasmidfinder": "60.0", "genome_size_lower_bound": "4000000", "genome_size_upper_bound": "6000000", "minimum_N50_value": "10000", "minimum_contig_length": "300", "unacceptable_number_contigs": "1000", "report_all_blast": false, "exclude_negatives": false, "exclude_resistance_phenotypes": false, "mlst_scheme": "auto", "exclude_genes": {"exclude_genes_condition": "default", "__current_case__": 0}, "complex_mutations": {"complex_mutations_condition": "default", "__current_case__": 0}, "plasmidfinder_type": "include_all"}, "genomes": {"__class__": "ConnectedValue"}, "pointfinder_db": {"use_pointfinder": "disabled", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.10.0+galaxy1",type:"tool",uuid:"10eed503-9e5b-4acf-8cd8-29e81d7668a5",when:null,workflow_outputs:[{label:"staramr_detailed_summary",output_name:"detailed_summary",uuid:"7a78b7cd-f61a-4c1a-9dea-68714afe61ca"},{label:"staramr_plasmidfinder_report",output_name:"plasmidfinder",uuid:"cfe793e3-ff25-45f6-9f5e-cb4564cfa3ce"},{label:"staramr_excel_report",output_name:"excel",uuid:"a273d6e1-9935-4760-acee-a9d43c06216d"},{label:"staramr_mlst_report",output_name:"mlst",uuid:"95872b33-b343-4225-b150-874b4a10fcb6"},{label:"staramr_resfinder_report",output_name:"resfinder",uuid:"605f5f68-027d-4435-94db-f9d148143994"},{label:"staramr_settings",output_name:"settings",uuid:"12fe0304-ebd1-4ec9-935e-f41a21872caf"},{label:"staramr_blast_hits",output_name:"blast_hits",uuid:"a919060d-f83c-4da6-93ef-6d71fa564e8a"},{label:"staramr_summary",output_name:"summary",uuid:"bf2d3ff0-7116-46a8-91fb-027609667b83"}]},5:{annotation:"amrfinderplus_point_mutation",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/amrfinderplus/amrfinderplus/3.12.8+galaxy0",errors:null,id:5,input_connections:{"input_option|amrfinder_db_select":{id:2,output_name:"output"},"input_option|input_mode|nucleotide_input":{id:0,output_name:"output"},"organism_options|organism_conditionnal|organism":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool AMRFinderPlus",name:"input_option"}],label:"amrfinderplus_point_mutation",name:"AMRFinderPlus",outputs:[{name:"amrfinderplus_report",type:"tabular"},{name:"mutation_all_report",type:"tabular"},{name:"nucleotide_output",type:"fasta"}],position:{left:641.3405290986273,top:837.2197586407639},post_job_actions:{TagDatasetActionamrfinderplus_report:{action_arguments:{tags:"amrfinderplus_report"},action_type:"TagDatasetAction",output_name:"amrfinderplus_report"},TagDatasetActionmutation_all_report:{action_arguments:{tags:"amrfinderplus_mutation"},action_type:"TagDatasetAction",output_name:"mutation_all_report"},TagDatasetActionnucleotide_output:{action_arguments:{tags:"amrfinderplus_nucleotide"},action_type:"TagDatasetAction",output_name:"nucleotide_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/amrfinderplus/amrfinderplus/3.12.8+galaxy0",tool_shed_repository:{changeset_revision:"7844dbe4f8e2",name:"amrfinderplus",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_option": {"amrfinder_db_select": {"__class__": "ConnectedValue"}, "input_mode": {"input_select": "nucleotide", "__current_case__": 0, "nucleotide_input": {"__class__": "ConnectedValue"}, "nucleotide_flank5_size": "0"}}, "options": {"ident_min": "-1.0", "coverage_min": "0.5", "translation_table": "11", "plus": true, "report_all_equal": true, "print_node": true, "name": null}, "organism_options": {"organism_conditionnal": {"organism_select": "add_organism", "__current_case__": 0, "organism": {"__class__": "ConnectedValue"}, "mutation_all": true, "report_common": true}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.12.8+galaxy0",type:"tool",uuid:"3b79182a-17e6-46ec-9623-99dd5838f7cc",when:null,workflow_outputs:[{label:"amrfinderplus_nucleotide",output_name:"nucleotide_output",uuid:"7c952fb9-0d93-4c24-9bac-3c5373d2af07"},{label:"amrfinderplus_mutation",output_name:"mutation_all_report",uuid:"5b415cff-3d62-4e3b-997c-b01a940c1938"},{label:"amrfinderplus_report",output_name:"amrfinderplus_report",uuid:"6a5038ba-93fd-4e89-a00c-2b458578898b"}]},6:{annotation:"abricate_virulence",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/abricate/abricate/1.0.1",errors:null,id:6,input_connections:{"adv|db":{id:3,output_name:"output"},file_input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool ABRicate",name:"adv"}],label:"abricate_virulence",name:"ABRicate",outputs:[{name:"report",type:"tabular"}],position:{left:885.033177397046,top:342.096138386568},post_job_actions:{RenameDatasetActionreport:{action_arguments:{newname:"abricate_virulence_report"},action_type:"RenameDatasetAction",output_name:"report"},TagDatasetActionreport:{action_arguments:{tags:"abricate_virulence_report"},action_type:"TagDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/abricate/abricate/1.0.1",tool_shed_repository:{changeset_revision:"c2ef298da409",name:"abricate",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"db": {"__class__": "ConnectedValue"}, "no_header": false, "min_dna_id": "80.0", "min_cov": "80.0"}, "file_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.1",type:"tool",uuid:"f51a45e6-f937-4286-a2b7-f0ff71febb67",when:null,workflow_outputs:[{label:"abricate_virulence_report",output_name:"report",uuid:"a1347ac2-372c-42a4-953e-e9b5422b9b5d"}]},7:{annotation:"ToolDistillator extracts results from tools and creates a JSON file for each tool",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1",errors:null,id:7,input_connections:{"tool_section|tools_0|select_tool|input":{id:6,output_name:"report"},"tool_section|tools_0|select_tool|reference_database_version":{id:3,output_name:"output"},"tool_section|tools_1|select_tool|input":{id:4,output_name:"resfinder"},"tool_section|tools_1|select_tool|mlst_file_path":{id:4,output_name:"mlst"},"tool_section|tools_1|select_tool|setting_file_path":{id:4,output_name:"settings"},"tool_section|tools_2|select_tool|input":{id:5,output_name:"amrfinderplus_report"},"tool_section|tools_2|select_tool|nucleotide_sequence_path":{id:5,output_name:"nucleotide_output"},"tool_section|tools_2|select_tool|point_mutation_report_path":{id:5,output_name:"mutation_all_report"},"tool_section|tools_2|select_tool|reference_database_version":{id:2,output_name:"output"}},inputs:[],label:"ToolDistillator",name:"ToolDistillator",outputs:[{name:"output_json",type:"input"}],position:{left:1138.6692404030955,top:584.9586737297199},post_job_actions:{RenameDatasetActionoutput_json:{action_arguments:{newname:"tooldistillator_results"},action_type:"RenameDatasetAction",output_name:"output_json"},TagDatasetActionoutput_json:{action_arguments:{tags:"tooldistillator_results"},action_type:"TagDatasetAction",output_name:"output_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1",tool_shed_repository:{changeset_revision:"ea93df4b3df2",name:"tooldistillator",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"log": false, "tool_section": {"tools": [{"__index__": 0, "select_tool": {"tool_list": "abricate", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "select_tool": {"tool_list": "staramr", "__current_case__": 20, "input": {"__class__": "ConnectedValue"}, "mlst_file_path": {"__class__": "ConnectedValue"}, "plasmidfinder_file_path": {"__class__": "RuntimeValue"}, "pointfinder_file_path": {"__class__": "RuntimeValue"}, "setting_file_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": null}}, {"__index__": 2, "select_tool": {"tool_list": "amrfinderplus", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}, "point_mutation_report_path": {"__class__": "ConnectedValue"}, "nucleotide_sequence_path": {"__class__": "ConnectedValue"}, "origin": {"origin": "true", "__current_case__": 0, "analysis_software_version": null}, "reference_database_version": {"__class__": "ConnectedValue"}}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.1+galaxy1",type:"tool",uuid:"1589f8a1-65b6-43f0-9e75-cad9b1752e5c",when:null,workflow_outputs:[{label:"tooldistillator_results",output_name:"output_json",uuid:"fd122fdd-0907-416d-85a3-30521674a50b"}]},8:{annotation:"ToolDistillator summarize groups all JSON file into a unique JSON file",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1",errors:null,id:8,input_connections:{summarize_data:{id:7,output_name:"output_json"}},inputs:[],label:"ToolDistillator summarize",name:"ToolDistillator Summarize",outputs:[{name:"summary_json",type:"json"}],position:{left:1510.406873337906,top:835.1044439315301},post_job_actions:{RenameDatasetActionsummary_json:{action_arguments:{newname:"tooldistillator_summarize"},action_type:"RenameDatasetAction",output_name:"summary_json"},TagDatasetActionsummary_json:{action_arguments:{tags:"tooldistillator_summarize"},action_type:"TagDatasetAction",output_name:"summary_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1",tool_shed_repository:{changeset_revision:"24eec94e6dfc",name:"tooldistillator_summarize",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"summarize_data": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.1+galaxy1",type:"tool",uuid:"a88f6b82-502c-46cf-a174-2c8361e8e8dd",when:null,workflow_outputs:[{label:"tooldistillator_summarize",output_name:"summary_json",uuid:"d5921f67-84d7-4265-926b-86cb3e2977b0"}]}},tags:["fasta","Genomics","ABRomics","antibiotic-resistance","antimicrobial-resistance-genes","antimicrobial resistance","bacterial-genomics","AMR","AMR-detection"],uuid:"dfcedd6a-9dc1-4dcd-8b15-dbd21482f463",version:1},readme:`# AMR gene detection workflow in an assembled bacterial genome (v1.0) This workflow uses assembled bacterial genome fasta files (but can be any fasta file) and executes the following steps: @@ -629,7 +1139,39 @@ This workflow uses assembled bacterial genome fasta files (but can be any fasta ## [1.0] - 05-06-2024 -- First release`,trsID:"#workflow/github.com/iwc-workflows/amr_gene_detection/main",tests:[{doc:"Test outline for amr_gene_detection.ga",job:{"Input sequence fasta":{class:"File",path:"https://zenodo.org/records/11488310/files/shovill_contigs_fasta"},"Select a taxonomy group point mutation":"Enterococcus_faecalis","Select a AMR genes detection database":"amrfinderplus_V3.12_2024-05-02.2","Select a virulence genes detection database":"vfdb"},outputs:{staramr_detailed_summary:{asserts:{has_text:{text:"Resistance"},has_n_columns:{n:12}}},staramr_resfinder_report:{asserts:{has_text:{text:"tetracycline"},has_n_columns:{n:13}}},staramr_mlst_report:{asserts:{has_text:{text:"efaecalis"},has_n_columns:{n:10}}},staramr_plasmidfinder_report:{asserts:{has_text:{text:"CP002494"},has_n_columns:{n:9}}},staramr_summary:{asserts:{has_text:{text:"streptomycin"},has_n_columns:{n:12}}},amrfinderplus_report:{asserts:{has_text:{text:"Enterococcus faecalis quinolone resistant ParC"},has_n_columns:{n:23}}},amrfinderplus_mutation:{asserts:{has_text:{text:"cardiolipin synthase Cls"},has_n_columns:{n:23}}},abricate_virulence_report:{asserts:{has_text:{text:"endocarditis specific antigen"},has_n_columns:{n:15}}},tooldistillator_summarize:{asserts:[{that:"has_text",text:"% Identity to reference sequence"},{that:"has_text",text:"Enterococcus faecalis V583"},{that:"has_text",text:"Fibrinogen binding protein"}]}}}]}],path:"./workflows/bacterial_genomics/amr_gene_detection"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/protein-ligand-complex-parameterization.ga",testParameterFiles:["/protein-ligand-complex-parameterization-tests.yml"],authors:[{name:"Simon Bray",orcid:"0000-0002-0621-6705"}],definition:{a_galaxy_workflow:"true",annotation:"",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-0621-6705",name:"Simon Bray"}],"format-version":"0.1",license:"MIT",name:"Create GRO and TOP complex files",release:"0.1.4",steps:{0:{annotation:"pH for protonating the ligand. Set to -1.0 to skip.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"pH for protonating the ligand. Set to -1.0 to skip.",name:"pH"}],label:"pH",name:"Input parameter",outputs:[],position:{bottom:384.8000030517578,height:61.80000305175781,left:-238,right:-38,top:323,width:200,x:-238,y:323},tool_id:null,tool_state:'{"default": -1.0, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"6893b667-f375-481b-96eb-50d5aceb5030",workflow_outputs:[]},1:{annotation:"SD-file for the input ligand",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"SD-file for the input ligand",name:"Ligand SDF"}],label:"Ligand SDF",name:"Input dataset",outputs:[],position:{bottom:623.8000030517578,height:61.80000305175781,left:-238,right:-38,top:562,width:200,x:-238,y:562},tool_id:null,tool_state:'{"optional": false, "format": ["sdf"]}',tool_version:null,type:"data_input",uuid:"277627e0-eba8-4de5-855b-63711c0db691",workflow_outputs:[]},2:{annotation:"PDB file for the protein (without ligand, cofactor, waters)",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"PDB file for the protein (without ligand, cofactor, waters)",name:"Apoprotein PDB"}],label:"Apoprotein PDB",name:"Input dataset",outputs:[],position:{bottom:105.80000305175781,height:61.80000305175781,left:874,right:1074,top:44,width:200,x:874,y:44},tool_id:null,tool_state:'{"optional": false}',tool_version:null,type:"data_input",uuid:"68f60b7d-13f3-4b21-aedf-986f0f7e48d7",workflow_outputs:[]},3:{annotation:"Model for water molecules (relevant for subsequent solvation)",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Model for water molecules (relevant for subsequent solvation)",name:"Water model"}],label:"Water model",name:"Input parameter",outputs:[],position:{bottom:205.8000030517578,height:61.80000305175781,left:874,right:1074,top:144,width:200,x:874,y:144},tool_id:null,tool_state:'{"restrictions": ["tip3p", "tip4p", "tips3p", "tip5p", "spc", "spce", "none"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8d29ae78-60de-45ba-b403-cdd2646af030",workflow_outputs:[]},4:{annotation:"Force field for protein modelling. GAFF is used for the ligand.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Force field for protein modelling. GAFF is used for the ligand.",name:"Force field"}],label:"Force field",name:"Input parameter",outputs:[],position:{bottom:305.8000030517578,height:61.80000305175781,left:874,right:1074,top:244,width:200,x:874,y:244},tool_id:null,tool_state:'{"restrictions": ["oplsaa", "gromos43a1", "amber96", "gromos53a6", "amber99sb", "amber99sb", "gromos53a5", "gromos43a2", "amberGS", "charmm27", "amber03", "gromos54a7", "gromos45a3", "amber99", "amber94"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"16c399b1-e67c-47a9-acd3-61ddc39473d9",workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",errors:null,id:5,input_connections:{infile:{id:1,output_name:"output"},ph:{id:0,output_name:"output"}},inputs:[],label:null,name:"Compound conversion",outputs:[{name:"outfile",type:"text"}],position:{bottom:507.6000061035156,height:225.60000610351562,left:40,right:240,top:282,width:200,x:40,y:282},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",tool_shed_repository:{changeset_revision:"e2c36f62e22f",name:"openbabel_compound_convert",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"appendtotitle": "", "dative_bonds": "false", "infile": {"__class__": "ConnectedValue"}, "oformat": {"oformat_opts_selector": "pdb", "__current_case__": 51}, "ph": {"__class__": "ConnectedValue"}, "remove_h": "false", "split": "false", "unique": {"unique_opts_selector": "", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1+galaxy0",type:"tool",uuid:"c1f8c291-3b11-4afa-b62d-ee2d2d22b11f",workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/ctb_rdkit_descriptors/ctb_rdkit_descriptors/2020.03.4+galaxy1",errors:null,id:6,input_connections:{infile:{id:1,output_name:"output"}},inputs:[],label:null,name:"Descriptors",outputs:[{name:"outfile",type:"tabular"}],position:{bottom:639.1999969482422,height:93.19999694824219,left:40,right:240,top:546,width:200,x:40,y:546},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/ctb_rdkit_descriptors/ctb_rdkit_descriptors/2020.03.4+galaxy1",tool_shed_repository:{changeset_revision:"a1c53f0533b0",name:"ctb_rdkit_descriptors",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"header": "false", "infile": {"__class__": "ConnectedValue"}, "select_multiple": ["FormalCharge"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2020.03.4+galaxy1",type:"tool",uuid:"351397ff-a72d-4c7d-b39a-bc97b8f2c357",workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2021.3+galaxy0",errors:null,id:7,input_connections:{ff:{id:4,output_name:"output"},pdb_input:{id:2,output_name:"output"},water:{id:3,output_name:"output"}},inputs:[],label:null,name:"GROMACS initial setup",outputs:[{name:"output1",type:"top"},{name:"output2",type:"gro"},{name:"output3",type:"itp"},{name:"report",type:"txt"}],position:{bottom:409.20001220703125,height:347.20001220703125,left:1152,right:1352,top:62,width:200,x:1152,y:62},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output2"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2021.3+galaxy0",tool_shed_repository:{changeset_revision:"1d4dd4f908d4",name:"gmx_setup",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"capture_log": "true", "ff": {"__class__": "ConnectedValue"}, "ignore_h": "false", "pdb_input": {"__class__": "ConnectedValue"}, "water": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2021.3+galaxy0",type:"tool",uuid:"b922c050-5df2-42b8-a819-1cbf892e06fa",workflow_outputs:[{label:"Position restraints file",output_name:"output3",uuid:"b23aa4b2-8ded-4ebe-9499-eb5e8081de22"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1",errors:null,id:8,input_connections:{infile:{id:5,output_name:"outfile"}},inputs:[],label:null,name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{bottom:451.6000061035156,height:113.60000610351562,left:596,right:796,top:338,width:200,x:596,y:338},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1",tool_shed_repository:{changeset_revision:"ddf54b12c295",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "HETATM", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"be1e9539-c3ba-4c3c-a06f-a82c5b4d8437",workflow_outputs:[]},9:{annotation:"",content_id:"Cut1",errors:null,id:9,input_connections:{input:{id:6,output_name:"outfile"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{bottom:639.1999969482422,height:93.19999694824219,left:318,right:518,top:546,width:200,x:318,y:546},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"fd7483c3-52b0-489f-a422-2d399e2cd4e5",workflow_outputs:[]},10:{annotation:"",content_id:"param_value_from_file",errors:null,id:10,input_connections:{input1:{id:9,output_name:"out_file1"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{bottom:670.3999938964844,height:154.39999389648438,left:596,right:796,top:516,width:200,x:596,y:516},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": "true", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"50d4ab40-a78d-4d97-8740-7e00edacae6b",workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_antechamber/ambertools_antechamber/21.10+galaxy0",errors:null,id:11,input_connections:{"allparams|nc":{id:10,output_name:"integer_param"},input1:{id:8,output_name:"output"}},inputs:[],label:null,name:"AnteChamber",outputs:[{name:"output1",type:"mol2"}],position:{bottom:574.3999938964844,height:164.39999389648438,left:874,right:1074,top:410,width:200,x:874,y:410},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_antechamber/ambertools_antechamber/21.10+galaxy0",tool_shed_repository:{changeset_revision:"4fff93efc0f9",name:"ambertools_antechamber",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"allparams": {"nc": {"__class__": "ConnectedValue"}, "m": "1", "resname": "UNL", "c": "bcc", "at": "gaff", "j": "4"}, "extraparams": {"pf": "true", "usenc": "true"}, "input1": {"__class__": "ConnectedValue"}, "selected_output_format": "mol2", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"21.10+galaxy0",type:"tool",uuid:"32a50a09-a9c7-4d08-9d7f-7d5c9efaa3bf",workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_acpype/ambertools_acpype/21.10+galaxy0",errors:null,id:12,input_connections:{charge:{id:10,output_name:"integer_param"},input1:{id:11,output_name:"output1"}},inputs:[],label:null,name:"Generate MD topologies for small molecules",outputs:[{name:"output",type:"itp"},{name:"gro_output",type:"gro"}],position:{bottom:662.1999969482422,height:215.1999969482422,left:1152,right:1352,top:447,width:200,x:1152,y:447},post_job_actions:{HideDatasetActiongro_output:{action_arguments:{},action_type:"HideDatasetAction",output_name:"gro_output"},HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_acpype/ambertools_acpype/21.10+galaxy0",tool_shed_repository:{changeset_revision:"a0c154146234",name:"ambertools_acpype",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"atomtype": "gaff", "charge": {"__class__": "ConnectedValue"}, "charge_method": "user", "input1": {"__class__": "ConnectedValue"}, "multiplicity": "1", "save_gro": "true", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"21.10+galaxy0",type:"tool",uuid:"3ee8d6ce-e7bc-45c5-ae34-ac0348ac959f",workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_merge_topology_files/gmx_merge_topology_files/3.4.3+galaxy0",errors:null,id:13,input_connections:{lig_gro:{id:12,output_name:"gro_output"},lig_top:{id:12,output_name:"output"},prot_gro:{id:7,output_name:"output2"},prot_top:{id:7,output_name:"output1"}},inputs:[{description:"runtime parameter for tool Merge GROMACS topologies",name:"lig_gro"},{description:"runtime parameter for tool Merge GROMACS topologies",name:"lig_top"},{description:"runtime parameter for tool Merge GROMACS topologies",name:"prot_gro"},{description:"runtime parameter for tool Merge GROMACS topologies",name:"prot_top"}],label:null,name:"Merge GROMACS topologies",outputs:[{name:"complex_top",type:"top"},{name:"complex_gro",type:"gro"}],position:{bottom:482.6000061035156,height:255.60000610351562,left:1440,right:1640,top:227,width:200,x:1440,y:227},post_job_actions:{RenameDatasetActioncomplex_gro:{action_arguments:{newname:"Complex GRO"},action_type:"RenameDatasetAction",output_name:"complex_gro"},RenameDatasetActioncomplex_top:{action_arguments:{newname:"Complex topology"},action_type:"RenameDatasetAction",output_name:"complex_top"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_merge_topology_files/gmx_merge_topology_files/3.4.3+galaxy0",tool_shed_repository:{changeset_revision:"9389cd867cf2",name:"gmx_merge_topology_files",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"lig_gro": {"__class__": "RuntimeValue"}, "lig_top": {"__class__": "RuntimeValue"}, "prot_gro": {"__class__": "RuntimeValue"}, "prot_top": {"__class__": "RuntimeValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.4.3+galaxy0",type:"tool",uuid:"2a22a7fd-3e14-4f27-b1a8-a6d66cef292a",workflow_outputs:[{label:"Complex topology",output_name:"complex_top",uuid:"039fdc15-5b7f-4f41-9dcf-545673cbd406"},{label:"Complex GRO",output_name:"complex_gro",uuid:"1c6090a6-5a1f-44b3-bc95-ae554a9bf67d"}]}},tags:[],uuid:"f1aea424-b536-496f-a0e6-fe46df8e6e18",version:1},readme:`# Protein-ligand complex parameterization +- First release`,diagrams:`# Workflow diagrams + +## amr_gene_detection + +\`\`\`mermaid +graph LR +0["ℹ️ Input sequence fasta"]@{ shape: doc } +1["ℹ️ Select a taxonomy group point mutation"]@{ shape: lean-l } +2["ℹ️ Select a AMR genes detection database"]@{ shape: lean-l } +3["ℹ️ Select a virulence genes detection database"]@{ shape: lean-l } +4["staramr_amr_genes"]@{ shape: process } +0 --> 4 +5["amrfinderplus_point_mutation"]@{ shape: process } +2 --> 5 +0 --> 5 +1 --> 5 +6["abricate_virulence"]@{ shape: process } +3 --> 6 +0 --> 6 +7["ToolDistillator"]@{ shape: process } +6 --> 7 +3 --> 7 +4 --> 7 +4 --> 7 +4 --> 7 +5 --> 7 +5 --> 7 +5 --> 7 +2 --> 7 +8["ToolDistillator summarize"]@{ shape: process } +7 --> 8 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/amr_gene_detection/main",tests:[{doc:"Test outline for amr_gene_detection.ga",job:{"Input sequence fasta":{class:"File",path:"https://zenodo.org/records/11488310/files/shovill_contigs_fasta"},"Select a taxonomy group point mutation":"Enterococcus_faecalis","Select a AMR genes detection database":"amrfinderplus_V3.12_2024-05-02.2","Select a virulence genes detection database":"vfdb"},outputs:{staramr_detailed_summary:{asserts:{has_text:{text:"Resistance"},has_n_columns:{n:12}}},staramr_resfinder_report:{asserts:{has_text:{text:"tetracycline"},has_n_columns:{n:13}}},staramr_mlst_report:{asserts:{has_text:{text:"efaecalis"},has_n_columns:{n:10}}},staramr_plasmidfinder_report:{asserts:{has_text:{text:"CP002494"},has_n_columns:{n:9}}},staramr_summary:{asserts:{has_text:{text:"streptomycin"},has_n_columns:{n:12}}},amrfinderplus_report:{asserts:{has_text:{text:"Enterococcus faecalis quinolone resistant ParC"},has_n_columns:{n:23}}},amrfinderplus_mutation:{asserts:{has_text:{text:"cardiolipin synthase Cls"},has_n_columns:{n:23}}},abricate_virulence_report:{asserts:{has_text:{text:"endocarditis specific antigen"},has_n_columns:{n:15}}},tooldistillator_summarize:{asserts:[{that:"has_text",text:"% Identity to reference sequence"},{that:"has_text",text:"Enterococcus faecalis V583"},{that:"has_text",text:"Fibrinogen binding protein"}]}}}]}],path:"./workflows/bacterial_genomics/amr_gene_detection"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/protein-ligand-complex-parameterization.ga",testParameterFiles:["/protein-ligand-complex-parameterization-tests.yml"],authors:[{name:"Simon Bray",orcid:"0000-0002-0621-6705"}],definition:{a_galaxy_workflow:"true",annotation:"",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-0621-6705",name:"Simon Bray"}],"format-version":"0.1",license:"MIT",name:"Create GRO and TOP complex files",release:"0.1.4",steps:{0:{annotation:"pH for protonating the ligand. Set to -1.0 to skip.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"pH for protonating the ligand. Set to -1.0 to skip.",name:"pH"}],label:"pH",name:"Input parameter",outputs:[],position:{bottom:384.8000030517578,height:61.80000305175781,left:-238,right:-38,top:323,width:200,x:-238,y:323},tool_id:null,tool_state:'{"default": -1.0, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"6893b667-f375-481b-96eb-50d5aceb5030",workflow_outputs:[]},1:{annotation:"SD-file for the input ligand",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"SD-file for the input ligand",name:"Ligand SDF"}],label:"Ligand SDF",name:"Input dataset",outputs:[],position:{bottom:623.8000030517578,height:61.80000305175781,left:-238,right:-38,top:562,width:200,x:-238,y:562},tool_id:null,tool_state:'{"optional": false, "format": ["sdf"]}',tool_version:null,type:"data_input",uuid:"277627e0-eba8-4de5-855b-63711c0db691",workflow_outputs:[]},2:{annotation:"PDB file for the protein (without ligand, cofactor, waters)",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"PDB file for the protein (without ligand, cofactor, waters)",name:"Apoprotein PDB"}],label:"Apoprotein PDB",name:"Input dataset",outputs:[],position:{bottom:105.80000305175781,height:61.80000305175781,left:874,right:1074,top:44,width:200,x:874,y:44},tool_id:null,tool_state:'{"optional": false}',tool_version:null,type:"data_input",uuid:"68f60b7d-13f3-4b21-aedf-986f0f7e48d7",workflow_outputs:[]},3:{annotation:"Model for water molecules (relevant for subsequent solvation)",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Model for water molecules (relevant for subsequent solvation)",name:"Water model"}],label:"Water model",name:"Input parameter",outputs:[],position:{bottom:205.8000030517578,height:61.80000305175781,left:874,right:1074,top:144,width:200,x:874,y:144},tool_id:null,tool_state:'{"restrictions": ["tip3p", "tip4p", "tips3p", "tip5p", "spc", "spce", "none"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8d29ae78-60de-45ba-b403-cdd2646af030",workflow_outputs:[]},4:{annotation:"Force field for protein modelling. GAFF is used for the ligand.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Force field for protein modelling. GAFF is used for the ligand.",name:"Force field"}],label:"Force field",name:"Input parameter",outputs:[],position:{bottom:305.8000030517578,height:61.80000305175781,left:874,right:1074,top:244,width:200,x:874,y:244},tool_id:null,tool_state:'{"restrictions": ["oplsaa", "gromos43a1", "amber96", "gromos53a6", "amber99sb", "amber99sb", "gromos53a5", "gromos43a2", "amberGS", "charmm27", "amber03", "gromos54a7", "gromos45a3", "amber99", "amber94"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"16c399b1-e67c-47a9-acd3-61ddc39473d9",workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",errors:null,id:5,input_connections:{infile:{id:1,output_name:"output"},ph:{id:0,output_name:"output"}},inputs:[],label:null,name:"Compound conversion",outputs:[{name:"outfile",type:"text"}],position:{bottom:507.6000061035156,height:225.60000610351562,left:40,right:240,top:282,width:200,x:40,y:282},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",tool_shed_repository:{changeset_revision:"e2c36f62e22f",name:"openbabel_compound_convert",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"appendtotitle": "", "dative_bonds": "false", "infile": {"__class__": "ConnectedValue"}, "oformat": {"oformat_opts_selector": "pdb", "__current_case__": 51}, "ph": {"__class__": "ConnectedValue"}, "remove_h": "false", "split": "false", "unique": {"unique_opts_selector": "", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1+galaxy0",type:"tool",uuid:"c1f8c291-3b11-4afa-b62d-ee2d2d22b11f",workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/ctb_rdkit_descriptors/ctb_rdkit_descriptors/2020.03.4+galaxy1",errors:null,id:6,input_connections:{infile:{id:1,output_name:"output"}},inputs:[],label:null,name:"Descriptors",outputs:[{name:"outfile",type:"tabular"}],position:{bottom:639.1999969482422,height:93.19999694824219,left:40,right:240,top:546,width:200,x:40,y:546},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/ctb_rdkit_descriptors/ctb_rdkit_descriptors/2020.03.4+galaxy1",tool_shed_repository:{changeset_revision:"a1c53f0533b0",name:"ctb_rdkit_descriptors",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"header": "false", "infile": {"__class__": "ConnectedValue"}, "select_multiple": ["FormalCharge"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2020.03.4+galaxy1",type:"tool",uuid:"351397ff-a72d-4c7d-b39a-bc97b8f2c357",workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2021.3+galaxy0",errors:null,id:7,input_connections:{ff:{id:4,output_name:"output"},pdb_input:{id:2,output_name:"output"},water:{id:3,output_name:"output"}},inputs:[],label:null,name:"GROMACS initial setup",outputs:[{name:"output1",type:"top"},{name:"output2",type:"gro"},{name:"output3",type:"itp"},{name:"report",type:"txt"}],position:{bottom:409.20001220703125,height:347.20001220703125,left:1152,right:1352,top:62,width:200,x:1152,y:62},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output2"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2021.3+galaxy0",tool_shed_repository:{changeset_revision:"1d4dd4f908d4",name:"gmx_setup",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"capture_log": "true", "ff": {"__class__": "ConnectedValue"}, "ignore_h": "false", "pdb_input": {"__class__": "ConnectedValue"}, "water": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2021.3+galaxy0",type:"tool",uuid:"b922c050-5df2-42b8-a819-1cbf892e06fa",workflow_outputs:[{label:"Position restraints file",output_name:"output3",uuid:"b23aa4b2-8ded-4ebe-9499-eb5e8081de22"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1",errors:null,id:8,input_connections:{infile:{id:5,output_name:"outfile"}},inputs:[],label:null,name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{bottom:451.6000061035156,height:113.60000610351562,left:596,right:796,top:338,width:200,x:596,y:338},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1",tool_shed_repository:{changeset_revision:"ddf54b12c295",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "HETATM", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"be1e9539-c3ba-4c3c-a06f-a82c5b4d8437",workflow_outputs:[]},9:{annotation:"",content_id:"Cut1",errors:null,id:9,input_connections:{input:{id:6,output_name:"outfile"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{bottom:639.1999969482422,height:93.19999694824219,left:318,right:518,top:546,width:200,x:318,y:546},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"fd7483c3-52b0-489f-a422-2d399e2cd4e5",workflow_outputs:[]},10:{annotation:"",content_id:"param_value_from_file",errors:null,id:10,input_connections:{input1:{id:9,output_name:"out_file1"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{bottom:670.3999938964844,height:154.39999389648438,left:596,right:796,top:516,width:200,x:596,y:516},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": "true", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"50d4ab40-a78d-4d97-8740-7e00edacae6b",workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_antechamber/ambertools_antechamber/21.10+galaxy0",errors:null,id:11,input_connections:{"allparams|nc":{id:10,output_name:"integer_param"},input1:{id:8,output_name:"output"}},inputs:[],label:null,name:"AnteChamber",outputs:[{name:"output1",type:"mol2"}],position:{bottom:574.3999938964844,height:164.39999389648438,left:874,right:1074,top:410,width:200,x:874,y:410},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_antechamber/ambertools_antechamber/21.10+galaxy0",tool_shed_repository:{changeset_revision:"4fff93efc0f9",name:"ambertools_antechamber",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"allparams": {"nc": {"__class__": "ConnectedValue"}, "m": "1", "resname": "UNL", "c": "bcc", "at": "gaff", "j": "4"}, "extraparams": {"pf": "true", "usenc": "true"}, "input1": {"__class__": "ConnectedValue"}, "selected_output_format": "mol2", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"21.10+galaxy0",type:"tool",uuid:"32a50a09-a9c7-4d08-9d7f-7d5c9efaa3bf",workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_acpype/ambertools_acpype/21.10+galaxy0",errors:null,id:12,input_connections:{charge:{id:10,output_name:"integer_param"},input1:{id:11,output_name:"output1"}},inputs:[],label:null,name:"Generate MD topologies for small molecules",outputs:[{name:"output",type:"itp"},{name:"gro_output",type:"gro"}],position:{bottom:662.1999969482422,height:215.1999969482422,left:1152,right:1352,top:447,width:200,x:1152,y:447},post_job_actions:{HideDatasetActiongro_output:{action_arguments:{},action_type:"HideDatasetAction",output_name:"gro_output"},HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_acpype/ambertools_acpype/21.10+galaxy0",tool_shed_repository:{changeset_revision:"a0c154146234",name:"ambertools_acpype",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"atomtype": "gaff", "charge": {"__class__": "ConnectedValue"}, "charge_method": "user", "input1": {"__class__": "ConnectedValue"}, "multiplicity": "1", "save_gro": "true", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"21.10+galaxy0",type:"tool",uuid:"3ee8d6ce-e7bc-45c5-ae34-ac0348ac959f",workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_merge_topology_files/gmx_merge_topology_files/3.4.3+galaxy0",errors:null,id:13,input_connections:{lig_gro:{id:12,output_name:"gro_output"},lig_top:{id:12,output_name:"output"},prot_gro:{id:7,output_name:"output2"},prot_top:{id:7,output_name:"output1"}},inputs:[{description:"runtime parameter for tool Merge GROMACS topologies",name:"lig_gro"},{description:"runtime parameter for tool Merge GROMACS topologies",name:"lig_top"},{description:"runtime parameter for tool Merge GROMACS topologies",name:"prot_gro"},{description:"runtime parameter for tool Merge GROMACS topologies",name:"prot_top"}],label:null,name:"Merge GROMACS topologies",outputs:[{name:"complex_top",type:"top"},{name:"complex_gro",type:"gro"}],position:{bottom:482.6000061035156,height:255.60000610351562,left:1440,right:1640,top:227,width:200,x:1440,y:227},post_job_actions:{RenameDatasetActioncomplex_gro:{action_arguments:{newname:"Complex GRO"},action_type:"RenameDatasetAction",output_name:"complex_gro"},RenameDatasetActioncomplex_top:{action_arguments:{newname:"Complex topology"},action_type:"RenameDatasetAction",output_name:"complex_top"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_merge_topology_files/gmx_merge_topology_files/3.4.3+galaxy0",tool_shed_repository:{changeset_revision:"9389cd867cf2",name:"gmx_merge_topology_files",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"lig_gro": {"__class__": "RuntimeValue"}, "lig_top": {"__class__": "RuntimeValue"}, "prot_gro": {"__class__": "RuntimeValue"}, "prot_top": {"__class__": "RuntimeValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.4.3+galaxy0",type:"tool",uuid:"2a22a7fd-3e14-4f27-b1a8-a6d66cef292a",workflow_outputs:[{label:"Complex topology",output_name:"complex_top",uuid:"039fdc15-5b7f-4f41-9dcf-545673cbd406"},{label:"Complex GRO",output_name:"complex_gro",uuid:"1c6090a6-5a1f-44b3-bc95-ae554a9bf67d"}]}},tags:[],uuid:"f1aea424-b536-496f-a0e6-fe46df8e6e18",version:1},readme:`# Protein-ligand complex parameterization Parameterizes an input protein (PDB) and ligand (SDF) file prior to molecular dynamics simulation with GROMACS. @@ -662,6 +1204,44 @@ workflows. ## [0.1] - Initial version of protein-ligand parameterization workflow. +`,diagrams:`# Workflow diagrams + +## Create GRO and TOP complex files + +\`\`\`mermaid +graph LR +0["ℹ️ pH"]@{ shape: lean-l } +1["ℹ️ Ligand SDF"]@{ shape: doc } +2["ℹ️ Apoprotein PDB"]@{ shape: doc } +3["ℹ️ Water model"]@{ shape: lean-l } +4["ℹ️ Force field"]@{ shape: lean-l } +5["Compound conversion"]@{ shape: process } +1 --> 5 +0 --> 5 +6["Descriptors"]@{ shape: process } +1 --> 6 +7["GROMACS initial setup"]@{ shape: process } +4 --> 7 +2 --> 7 +3 --> 7 +8["Search in textfiles"]@{ shape: process } +5 --> 8 +9["Cut"]@{ shape: process } +6 --> 9 +10["Parse parameter value"]@{ shape: process } +9 --> 10 +11["AnteChamber"]@{ shape: process } +10 --> 11 +8 --> 11 +12["Generate MD topologies for small molecules"]@{ shape: process } +10 --> 12 +11 --> 12 +13["Merge GROMACS topologies"]@{ shape: process } +12 --> 13 +12 --> 13 +7 --> 13 +7 --> 13 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/protein-ligand-complex-parameterization/main",tests:[{doc:"Test outline for protein-ligand-complex-parameterization.ga",job:{"Apoprotein PDB":{class:"File",path:"test-data/mpro.pdb"},"Force field":"amber99sb","Ligand SDF":{class:"File",path:"test-data/lig.sdf"},"Water model":"tip3p"},outputs:{"Complex GRO":{path:"test-data/complex.gro"},"Complex topology":{path:"test-data/complex.top",lines_diff:16}}}]}],path:"./workflows/computational-chemistry/protein-ligand-complex-parameterization"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/gromacs-dctmd.ga",testParameterFiles:["/gromacs-dctmd-tests.yml"],authors:[{name:"Simon Bray",orcid:"0000-0002-0621-6705"}],definition:{a_galaxy_workflow:"true",annotation:"Perform dcTMD free energy simulations and calculations",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-0621-6705",name:"Simon Bray"}],"format-version":"0.1",license:"MIT",name:"dcTMD calculations with GROMACS",release:"0.1.5",steps:{0:{annotation:"Ligand SDF",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Ligand SDF",name:"Ligand SDF"}],label:"Ligand SDF",name:"Input dataset",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"59ec9b66-5db1-413a-89f9-dea12549e958",when:null,workflow_outputs:[]},1:{annotation:"Set to -1.0 to skip protonation",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Set to -1.0 to skip protonation",name:"pH to protonate ligand"}],label:"pH to protonate ligand",name:"Input parameter",outputs:[],position:{left:0,top:100},tool_id:null,tool_state:'{"default": -1.0, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"84fdad78-cd39-4c19-b228-7244c6fe8676",when:null,workflow_outputs:[]},2:{annotation:"Protein PDB",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Protein PDB",name:"Protein PDB"}],label:"Protein PDB",name:"Input dataset",outputs:[],position:{left:0,top:241},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"16aacb27-77b0-43bd-b5b1-a94d41fa4294",when:null,workflow_outputs:[]},3:{annotation:"NaCl concentration (mol/dm^3)",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"NaCl concentration (mol/dm^3)",name:"Salt concentration"}],label:"Salt concentration",name:"Input parameter",outputs:[],position:{left:288,top:11},tool_id:null,tool_state:'{"parameter_type": "float", "optional": false}',tool_version:null,type:"parameter_input",uuid:"66a35907-fba1-4e82-9ed8-b46b73ed6b91",when:null,workflow_outputs:[]},4:{annotation:"Water model",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Water model",name:"Water model"}],label:"Water model",name:"Input parameter",outputs:[],position:{left:0,top:341},tool_id:null,tool_state:'{"restrictions": ["tip3p", "tip4p", "tips3p", "tip5p", "spc", "spce", "none"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8400f998-7ca3-43ee-ae56-7332b8021bda",when:null,workflow_outputs:[]},5:{annotation:"Force field",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Force field",name:"Force field"}],label:"Force field",name:"Input parameter",outputs:[],position:{left:0,top:441},tool_id:null,tool_state:'{"restrictions": ["oplsaa", "gromos43a1", "amber96", "gromos53a6", "amber99sb", "gromos53a5", "gromos43a2", "amberGS", "charmm27", "amber03", "gromos54a7", "gromos45a3", "amber99", "amber94"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"3d20c7aa-e3ca-42d3-9aa8-702abf14d35a",when:null,workflow_outputs:[]},6:{annotation:"Number of simulations in the TMD ensemble",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"Number of simulations in the TMD ensemble",name:"Number of simulations"}],label:"Number of simulations",name:"Input parameter",outputs:[],position:{left:0,top:842},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ca9f5490-71d5-4691-882e-bdb5fba4835e",when:null,workflow_outputs:[]},7:{annotation:"Temperature",content_id:null,errors:null,id:7,input_connections:{},inputs:[{description:"Temperature",name:"Temperature"}],label:"Temperature",name:"Input parameter",outputs:[],position:{left:0,top:983},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"9a848a36-8add-434a-b179-fe801ccf7022",when:null,workflow_outputs:[]},8:{annotation:"Number of equilibration steps",content_id:null,errors:null,id:8,input_connections:{},inputs:[{description:"Number of equilibration steps",name:"Number of equilibration steps"}],label:"Number of equilibration steps",name:"Input parameter",outputs:[],position:{left:864,top:897},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a9d402ec-eafb-4fab-9e5a-192765011bba",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/get_online_data/ctb_online_data_fetch/0.4",errors:null,id:9,input_connections:{},inputs:[],label:null,name:"Online data",outputs:[{name:"output",type:"txt"}],position:{left:586,top:1169},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/get_online_data/ctb_online_data_fetch/0.4",tool_shed_repository:{changeset_revision:"2538366eb8fb",name:"get_online_data",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"url_paste": "https://raw.githubusercontent.com/galaxyproject/iwc/main/workflows/computational-chemistry/gromacs-dctmd/tmd.mdp", "whitelist": "mdp", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.4",type:"tool",uuid:"a83e0693-3471-4736-a01e-188df629e8bb",when:null,workflow_outputs:[]},10:{annotation:"Rate to pull groups apart (nm/ps)",content_id:null,errors:null,id:10,input_connections:{},inputs:[{description:"Rate to pull groups apart (nm/ps)",name:"Pulling rate"}],label:"Pulling rate",name:"Input parameter",outputs:[],position:{left:288,top:1315},tool_id:null,tool_state:'{"parameter_type": "float", "optional": false}',tool_version:null,type:"parameter_input",uuid:"e371d527-a200-4d15-80ea-f297863090a6",when:null,workflow_outputs:[]},11:{annotation:"MD step length",content_id:null,errors:null,id:11,input_connections:{},inputs:[{description:"MD step length",name:"Step length (ps)"}],label:"Step length (ps)",name:"Input parameter",outputs:[],position:{left:864,top:1160},tool_id:null,tool_state:'{"parameter_type": "float", "optional": false}',tool_version:null,type:"parameter_input",uuid:"bbc28f7f-ac02-42af-ad8b-e5d4137d348b",when:null,workflow_outputs:[]},12:{annotation:"List of atom indices (separated with spaces) which make up the protein pull group",content_id:null,errors:null,id:12,input_connections:{},inputs:[{description:"List of atom indices (separated with spaces) which make up the protein pull group",name:"Protein pull group"}],label:"Protein pull group",name:"Input parameter",outputs:[],position:{left:1440,top:550},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"5df8964e-e7ad-4398-b073-482069ec918f",when:null,workflow_outputs:[]},13:{annotation:"Number of steps for the production simulation",content_id:null,errors:null,id:13,input_connections:{},inputs:[{description:"Number of steps for the production simulation",name:"Number of steps"}],label:"Number of steps",name:"Input parameter",outputs:[],position:{left:586,top:1468},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"4ec27bd6-fc77-484e-87a6-78f6631f06e0",when:null,workflow_outputs:[]},14:{annotation:"pull-group1-pbcatom - the reference atom index for the treatment of periodic boundary conditions inside the group ",content_id:null,errors:null,id:14,input_connections:{},inputs:[{description:"pull-group1-pbcatom - the reference atom index for the treatment of periodic boundary conditions inside the group ",name:"Pull group pbcatom"}],label:"Pull group pbcatom",name:"Input parameter",outputs:[],position:{left:1162,top:1101},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a098f94d-3e47-4076-9eb2-4e08612313f2",when:null,workflow_outputs:[]},15:{annotation:"",id:15,input_connections:{"Apoprotein PDB":{id:2,input_subworkflow_step_id:2,output_name:"output"},"Force field":{id:5,input_subworkflow_step_id:4,output_name:"output"},"Ligand SDF":{id:0,input_subworkflow_step_id:0,output_name:"output"},"Water model":{id:4,input_subworkflow_step_id:3,output_name:"output"},pH:{id:1,input_subworkflow_step_id:1,output_name:"output"}},inputs:[],label:null,name:"Create GRO and TOP complex files",outputs:[],position:{left:285.5,top:167},subworkflow:{a_galaxy_workflow:"true",annotation:"",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-0621-6705",name:"Simon Bray"}],"format-version":"0.1",license:"MIT",name:"Create GRO and TOP complex files",steps:{0:{annotation:"SD-file for the input ligand",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"SD-file for the input ligand",name:"Ligand SDF"}],label:"Ligand SDF",name:"Input dataset",outputs:[],position:{left:0,top:461},tool_id:null,tool_state:'{"optional": false, "format": ["sdf"], "tag": null}',tool_version:null,type:"data_input",uuid:"277627e0-eba8-4de5-855b-63711c0db691",when:null,workflow_outputs:[]},1:{annotation:"pH for protonating the ligand. Set to -1.0 to skip.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"pH for protonating the ligand. Set to -1.0 to skip.",name:"pH"}],label:"pH",name:"Input parameter",outputs:[],position:{left:0,top:718},tool_id:null,tool_state:'{"default": -1.0, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"6893b667-f375-481b-96eb-50d5aceb5030",when:null,workflow_outputs:[]},2:{annotation:"PDB file for the protein (without ligand, cofactor, waters)",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"PDB file for the protein (without ligand, cofactor, waters)",name:"Apoprotein PDB"}],label:"Apoprotein PDB",name:"Input dataset",outputs:[],position:{left:1112,top:0},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"68f60b7d-13f3-4b21-aedf-986f0f7e48d7",when:null,workflow_outputs:[]},3:{annotation:"Model for water molecules (relevant for subsequent solvation)",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Model for water molecules (relevant for subsequent solvation)",name:"Water model"}],label:"Water model",name:"Input parameter",outputs:[],position:{left:1112,top:120},tool_id:null,tool_state:'{"restrictions": ["tip3p", "tip4p", "tips3p", "tip5p", "spc", "spce", "none"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8d29ae78-60de-45ba-b403-cdd2646af030",when:null,workflow_outputs:[]},4:{annotation:"Force field for protein modelling. GAFF is used for the ligand.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Force field for protein modelling. GAFF is used for the ligand.",name:"Force field"}],label:"Force field",name:"Input parameter",outputs:[],position:{left:1112,top:220},tool_id:null,tool_state:'{"restrictions": ["oplsaa", "gromos43a1", "amber96", "gromos53a6", "amber99sb", "amber99sb", "gromos53a5", "gromos43a2", "amberGS", "charmm27", "amber03", "gromos54a7", "gromos45a3", "amber99", "amber94"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"16c399b1-e67c-47a9-acd3-61ddc39473d9",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/ctb_rdkit_descriptors/ctb_rdkit_descriptors/2020.03.4+galaxy1",errors:null,id:5,input_connections:{infile:{id:0,output_name:"output"}},inputs:[],label:null,name:"Descriptors",outputs:[{name:"outfile",type:"tabular"}],position:{left:278,top:445},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/ctb_rdkit_descriptors/ctb_rdkit_descriptors/2020.03.4+galaxy1",tool_shed_repository:{changeset_revision:"0993ac4f4a23",name:"ctb_rdkit_descriptors",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"header": false, "infile": {"__class__": "ConnectedValue"}, "select_multiple": ["FormalCharge"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2020.03.4+galaxy1",type:"tool",uuid:"351397ff-a72d-4c7d-b39a-bc97b8f2c357",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",errors:null,id:6,input_connections:{infile:{id:0,output_name:"output"},ph:{id:1,output_name:"output"}},inputs:[],label:null,name:"Compound conversion",outputs:[{name:"outfile",type:"text"}],position:{left:278,top:595},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",tool_shed_repository:{changeset_revision:"e2c36f62e22f",name:"openbabel_compound_convert",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"appendtotitle": "", "dative_bonds": false, "infile": {"__class__": "ConnectedValue"}, "oformat": {"oformat_opts_selector": "pdb", "__current_case__": 51}, "ph": {"__class__": "ConnectedValue"}, "remove_h": false, "split": false, "unique": {"unique_opts_selector": "", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1+galaxy0",type:"tool",uuid:"c1f8c291-3b11-4afa-b62d-ee2d2d22b11f",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2022+galaxy0",errors:null,id:7,input_connections:{ff:{id:4,output_name:"output"},pdb_input:{id:2,output_name:"output"},water:{id:3,output_name:"output"}},inputs:[],label:null,name:"GROMACS initial setup",outputs:[{name:"output1",type:"top"},{name:"output2",type:"gro"},{name:"output3",type:"itp"},{name:"report",type:"txt"}],position:{left:1386,top:44},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output2"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2022+galaxy0",tool_shed_repository:{changeset_revision:"070e3ecc3fda",name:"gmx_setup",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"capture_log": true, "ff": {"__class__": "ConnectedValue"}, "ignore_h": false, "pdb_input": {"__class__": "ConnectedValue"}, "water": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"b922c050-5df2-42b8-a819-1cbf892e06fa",when:null,workflow_outputs:[{label:"Position restraints file",output_name:"output3",uuid:"a8969ed8-83f9-4ff3-9634-56f85e7dd4dd"}]},8:{annotation:"",content_id:"Cut1",errors:null,id:8,input_connections:{input:{id:5,output_name:"outfile"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:556,top:445},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"fd7483c3-52b0-489f-a422-2d399e2cd4e5",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1",errors:null,id:9,input_connections:{infile:{id:6,output_name:"outfile"}},inputs:[],label:null,name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{left:556,top:651},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1",tool_shed_repository:{changeset_revision:"d698c222f354",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "HETATM", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"be1e9539-c3ba-4c3c-a06f-a82c5b4d8437",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"param_value_from_file",errors:null,id:10,input_connections:{input1:{id:8,output_name:"out_file1"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:834,top:415},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"50d4ab40-a78d-4d97-8740-7e00edacae6b",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_antechamber/ambertools_antechamber/21.10+galaxy0",errors:null,id:11,input_connections:{"allparams|nc":{id:10,output_name:"integer_param"},input1:{id:9,output_name:"output"}},inputs:[],label:null,name:"AnteChamber",outputs:[{name:"output1",type:"mol2"}],position:{left:1112,top:540},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_antechamber/ambertools_antechamber/21.10+galaxy0",tool_shed_repository:{changeset_revision:"8a839e6a1e3e",name:"ambertools_antechamber",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"allparams": {"nc": {"__class__": "ConnectedValue"}, "m": "1", "resname": "UNL", "c": "bcc", "at": "gaff", "j": "4"}, "extraparams": {"pf": true, "usenc": true}, "input1": {"__class__": "ConnectedValue"}, "selected_output_format": "mol2", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"21.10+galaxy0",type:"tool",uuid:"32a50a09-a9c7-4d08-9d7f-7d5c9efaa3bf",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_acpype/ambertools_acpype/21.10+galaxy0",errors:null,id:12,input_connections:{charge:{id:10,output_name:"integer_param"},input1:{id:11,output_name:"output1"}},inputs:[],label:null,name:"Generate MD topologies for small molecules",outputs:[{name:"output",type:"itp"},{name:"gro_output",type:"gro"}],position:{left:1390,top:423},post_job_actions:{HideDatasetActiongro_output:{action_arguments:{},action_type:"HideDatasetAction",output_name:"gro_output"},HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_acpype/ambertools_acpype/21.10+galaxy0",tool_shed_repository:{changeset_revision:"095ad4d096d1",name:"ambertools_acpype",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"atomtype": "gaff", "charge": {"__class__": "ConnectedValue"}, "charge_method": "user", "input1": {"__class__": "ConnectedValue"}, "multiplicity": "1", "save_gro": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"21.10+galaxy0",type:"tool",uuid:"3ee8d6ce-e7bc-45c5-ae34-ac0348ac959f",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_merge_topology_files/gmx_merge_topology_files/3.4.3+galaxy0",errors:null,id:13,input_connections:{lig_gro:{id:12,output_name:"gro_output"},lig_top:{id:12,output_name:"output"},prot_gro:{id:7,output_name:"output2"},prot_top:{id:7,output_name:"output1"}},inputs:[],label:null,name:"Merge GROMACS topologies",outputs:[{name:"complex_top",type:"top"},{name:"complex_gro",type:"gro"}],position:{left:1678,top:203},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_merge_topology_files/gmx_merge_topology_files/3.4.3+galaxy0",tool_shed_repository:{changeset_revision:"bc31d02be922",name:"gmx_merge_topology_files",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"lig_gro": {"__class__": "ConnectedValue"}, "lig_top": {"__class__": "ConnectedValue"}, "prot_gro": {"__class__": "ConnectedValue"}, "prot_top": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.4.3+galaxy0",type:"tool",uuid:"2a22a7fd-3e14-4f27-b1a8-a6d66cef292a",when:null,workflow_outputs:[{label:"Complex topology",output_name:"complex_top",uuid:"df11b684-24b0-481f-956d-c7cdc1e334ba"},{label:"Complex GRO",output_name:"complex_gro",uuid:"193f8774-0334-49d3-b8ae-bdc3484cb1be"}]}},tags:"",uuid:"6cd49957-0863-42cd-81de-171e57516221"},tool_id:null,type:"subworkflow",uuid:"9e64bd77-92d9-4c39-9b37-17636deeb1dd",when:null,workflow_outputs:[{label:"Topology",output_name:"Complex topology",uuid:"e092ce5a-3fca-4183-b244-daf8a0582e72"},{label:"Structure file (GRO format, optional)",output_name:"Complex GRO",uuid:"ab63a333-8a78-4476-946a-f1bac8fde57c"},{label:"GROMACS setup (ITP) on input dataset(s)",output_name:"Position restraints file",uuid:"8f1c5eee-7510-4430-b3e0-e2301926285d"}]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/1.1.0",errors:null,id:16,input_connections:{"token_set_0|line":{id:7,output_name:"output"},"token_set_0|repeat_select|times":{id:6,output_name:"output"}},inputs:[],label:null,name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:288,top:902},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/1.1.0",tool_shed_repository:{changeset_revision:"d698c222f354",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": {"__class__": "ConnectedValue"}, "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"0213cfb8-a156-4ddc-bdc6-262706119f10",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:17,input_connections:{"components_1|param_type|component_value":{id:10,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:586,top:1269},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "pull_coord1_rate = "}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"74c216e8-326c-4d5d-afc8-d905fb55068b",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:18,input_connections:{"components_1|param_type|component_value":{id:11,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:1162,top:1221},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "dt = "}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"366aaf2a-5aa9-45ea-93fd-b032c567e8b9",when:null,workflow_outputs:[]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:19,input_connections:{"components_1|param_type|component_value":{id:13,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:864,top:1422},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "nsteps = "}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"44832635-6428-4a4e-a8cb-d0e088542703",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:20,input_connections:{"components_1|param_type|component_value":{id:14,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:1440,top:1065},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " pull-group1-pbcatom = "}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"c6a76b14-657f-4ae9-8cc4-7d25f89ba8e4",when:null,workflow_outputs:[]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_solvate/gmx_solvate/2022+galaxy0",errors:null,id:21,input_connections:{conc:{id:3,output_name:"output"},gro_input:{id:15,output_name:"Complex GRO"},top_input:{id:15,output_name:"Complex topology"}},inputs:[],label:null,name:"GROMACS solvation and adding ions",outputs:[{name:"output1",type:"gro"},{name:"output2",type:"top"}],position:{left:586,top:374},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output2"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_solvate/gmx_solvate/2022+galaxy0",tool_shed_repository:{changeset_revision:"c4fbab8e03c5",name:"gmx_solvate",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"capture_log": false, "conc": {"__class__": "ConnectedValue"}, "gro_input": {"__class__": "ConnectedValue"}, "mxw": "0", "neutralise": "-neutral", "seed": "1", "top_input": {"__class__": "ConnectedValue"}, "water_model": "spc216", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"5adf2a94-fac0-41aa-8cdb-cf475bf0bf21",when:null,workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0",errors:null,id:22,input_connections:{"split_parms|input":{id:16,output_name:"outfile"}},inputs:[],label:null,name:"Split file",outputs:[{name:"list_output_txt",type:"input"}],position:{left:586,top:725},post_job_actions:{HideDatasetActionlist_output_txt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0",tool_shed_repository:{changeset_revision:"6cbe2f30c2d7",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "txt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.0",type:"tool",uuid:"40134c51-d93d-4e92-81b5-86cbff22a479",when:null,workflow_outputs:[]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/add_line_to_file/add_line_to_file/0.1.0",errors:null,id:23,input_connections:{infile:{id:9,output_name:"output"},text_input:{id:17,output_name:"out1"}},inputs:[],label:null,name:"Add line to file",outputs:[{name:"outfile",type:"input"}],position:{left:864,top:1260},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/add_line_to_file/add_line_to_file/0.1.0",tool_shed_repository:{changeset_revision:"8e251055b1a9",name:"add_line_to_file",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "options": "footer", "text_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"36e82014-346e-4739-b7cb-91c0480e696a",when:null,workflow_outputs:[]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_em/gmx_em/2022+galaxy0",errors:null,id:24,input_connections:{gro_input:{id:21,output_name:"output1"},top_input:{id:21,output_name:"output2"}},inputs:[],label:null,name:"GROMACS energy minimization",outputs:[{name:"output1",type:"gro"},{name:"output2",type:"edr"}],position:{left:864,top:473},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output2"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_em/gmx_em/2022+galaxy0",tool_shed_repository:{changeset_revision:"b46d4b4d995c",name:"gmx_em",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"capture_log": false, "gro_input": {"__class__": "ConnectedValue"}, "mdp": {"mdpfile": "default", "__current_case__": 1, "integrator": "steep", "cutoffscheme": "Verlet", "coulombtype": "PME", "rcoulomb": "1.0", "rlist": "1.0", "rvdw": "1.0", "md_steps": "50000", "emtol": "1000.0", "emstep": "0.01", "seed": "1"}, "mxw": "0", "top_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"effbec33-36ce-4232-8081-0ebef2ccee91",when:null,workflow_outputs:[]},25:{annotation:"",content_id:"param_value_from_file",errors:null,id:25,input_connections:{input1:{id:22,output_name:"list_output_txt"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:864,top:705},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"34f23531-275e-4dae-957b-c01859485e21",when:null,workflow_outputs:[]},26:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/add_line_to_file/add_line_to_file/0.1.0",errors:null,id:26,input_connections:{infile:{id:23,output_name:"outfile"},text_input:{id:19,output_name:"out1"}},inputs:[],label:null,name:"Add line to file",outputs:[{name:"outfile",type:"input"}],position:{left:1162,top:1413},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/add_line_to_file/add_line_to_file/0.1.0",tool_shed_repository:{changeset_revision:"8e251055b1a9",name:"add_line_to_file",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "options": "footer", "text_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"92e7bb53-d6ca-4290-8a8c-af3f0e93b533",when:null,workflow_outputs:[]},27:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_makendx/gmx_makendx/2022+galaxy0",errors:null,id:27,input_connections:{input_file:{id:24,output_name:"output1"}},inputs:[],label:null,name:"Create GROMACS index files",outputs:[{name:"ndx",type:"ndx"}],position:{left:1162,top:473},post_job_actions:{HideDatasetActionndx:{action_arguments:{},action_type:"HideDatasetAction",output_name:"ndx"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_makendx/gmx_makendx/2022+galaxy0",tool_shed_repository:{changeset_revision:"e3e536aa2633",name:"gmx_makendx",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"capture_log": false, "input_file": {"__class__": "ConnectedValue"}, "sel": "13 & ! a H*", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"3380956f-6363-46fa-87b1-f065ab4d4b56",when:null,workflow_outputs:[]},28:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0",errors:null,id:28,input_connections:{gro_input:{id:24,output_name:"output1"},"inps|itp_in":{id:15,output_name:"Position restraints file"},"sets|mdp|md_steps":{id:8,output_name:"output"},"sets|mdp|step_length":{id:11,output_name:"output"},"sets|mdp|temperature":{id:25,output_name:"integer_param"},top_input:{id:21,output_name:"output2"}},inputs:[{description:"runtime parameter for tool GROMACS simulation",name:"inps"},{description:"runtime parameter for tool GROMACS simulation",name:"inps"}],label:null,name:"GROMACS simulation",outputs:[{name:"output1",type:"gro"},{name:"output4",type:"xtc"},{name:"output5",type:"cpt"},{name:"report",type:"txt"}],position:{left:1162,top:625},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput4:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output4"},HideDatasetActionoutput5:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output5"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0",tool_shed_repository:{changeset_revision:"c0c9a5024177",name:"gmx_sim",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "capture_log": true, "gro_input": {"__class__": "ConnectedValue"}, "inps": {"cpt_in": {"__class__": "RuntimeValue"}, "itp_in": {"__class__": "ConnectedValue"}, "ndx_in": {"__class__": "RuntimeValue"}}, "mxw": "0", "outps": {"traj": "xtc", "str": "gro", "cpt_out": "true", "edr_out": "false", "xvg_out": "false", "tpr_out": "false"}, "sets": {"ensembleselect": {"ensemble": "nvt", "__current_case__": 0, "startvel": "false"}, "mdp": {"mdpfile": "default", "__current_case__": 1, "integrator": "md", "constraints": "h-bonds", "cutoffscheme": "Verlet", "coulombtype": "PME", "temperature": {"__class__": "ConnectedValue"}, "systemTcouple": "false", "step_length": {"__class__": "ConnectedValue"}, "write_freq": "1000", "rcoulomb": "1.0", "rlist": "1.0", "rvdw": "1.0", "md_steps": {"__class__": "ConnectedValue"}}}, "top_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"2c06b8d7-b07c-4dc7-9237-80c19b731bde",when:null,workflow_outputs:[]},29:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/add_line_to_file/add_line_to_file/0.1.0",errors:null,id:29,input_connections:{infile:{id:26,output_name:"outfile"},text_input:{id:18,output_name:"out1"}},inputs:[],label:null,name:"Add line to file",outputs:[{name:"outfile",type:"input"}],position:{left:1440,top:1260},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/add_line_to_file/add_line_to_file/0.1.0",tool_shed_repository:{changeset_revision:"8e251055b1a9",name:"add_line_to_file",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "options": "footer", "text_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"612d572b-541f-4e76-9a9a-d477abd10a07",when:null,workflow_outputs:[]},30:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1",errors:null,id:30,input_connections:{infile:{id:27,output_name:"ndx"}},inputs:[],label:null,name:"Text transformation",outputs:[{name:"output",type:"input"}],position:{left:1440,top:670},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1",tool_shed_repository:{changeset_revision:"d698c222f354",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "code": "s/System/pullgrp/;t;d", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"95cac327-99f3-455e-8765-a7db33343894",when:null,workflow_outputs:[]},31:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/add_line_to_file/add_line_to_file/0.1.0",errors:null,id:31,input_connections:{infile:{id:29,output_name:"outfile"},text_input:{id:20,output_name:"out1"}},inputs:[],label:null,name:"Add line to file",outputs:[{name:"outfile",type:"input"}],position:{left:1728,top:863},post_job_actions:{ChangeDatatypeActionoutfile:{action_arguments:{newtype:"mdp"},action_type:"ChangeDatatypeAction",output_name:"outfile"},HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/add_line_to_file/add_line_to_file/0.1.0",tool_shed_repository:{changeset_revision:"8e251055b1a9",name:"add_line_to_file",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "options": "footer", "text_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"506adfe5-8c0c-41d1-8a13-42f8821677de",when:null,workflow_outputs:[]},32:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/add_line_to_file/add_line_to_file/0.1.0",errors:null,id:32,input_connections:{infile:{id:30,output_name:"output"},text_input:{id:12,output_name:"output"}},inputs:[],label:null,name:"Add line to file",outputs:[{name:"outfile",type:"input"}],position:{left:1728,top:553},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/add_line_to_file/add_line_to_file/0.1.0",tool_shed_repository:{changeset_revision:"8e251055b1a9",name:"add_line_to_file",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "options": "footer", "text_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"45466bad-4528-4558-89e2-c80cd3d73029",when:null,workflow_outputs:[]},33:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1",errors:null,id:33,input_connections:{inputs:{id:27,output_name:"ndx"},"queries_0|inputs2":{id:32,output_name:"outfile"}},inputs:[],label:null,name:"Concatenate datasets",outputs:[{name:"out_file1",type:"input"}],position:{left:2006,top:485},post_job_actions:{ChangeDatatypeActionout_file1:{action_arguments:{newtype:"ndx"},action_type:"ChangeDatatypeAction",output_name:"out_file1"},HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1",tool_shed_repository:{changeset_revision:"d698c222f354",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"inputs": {"__class__": "ConnectedValue"}, "queries": [{"__index__": 0, "inputs2": {"__class__": "ConnectedValue"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"1a933020-6bde-4378-bae2-a401389e2d63",when:null,workflow_outputs:[]},34:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0",errors:null,id:34,input_connections:{gro_input:{id:28,output_name:"output1"},"inps|cpt_in":{id:28,output_name:"output5"},"inps|ndx_in":{id:33,output_name:"out_file1"},"sets|mdp|mdp_input":{id:31,output_name:"outfile"},top_input:{id:21,output_name:"output2"}},inputs:[{description:"runtime parameter for tool GROMACS simulation",name:"inps"}],label:null,name:"GROMACS simulation",outputs:[{name:"output1",type:"gro"},{name:"output4",type:"xtc"},{name:"output7",type:"xvg"},{name:"output7_1",type:"xvg"},{name:"output8",type:"tpr"},{name:"report",type:"txt"}],position:{left:2294,top:690},post_job_actions:{ChangeDatatypeActionoutput8:{action_arguments:{newtype:"tpr"},action_type:"ChangeDatatypeAction",output_name:"output8"},HideDatasetActionoutput7_1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output7_1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0",tool_shed_repository:{changeset_revision:"c0c9a5024177",name:"gmx_sim",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 1, "__job_resource__select": "yes", "gpu": "1"}, "capture_log": true, "gro_input": {"__class__": "ConnectedValue"}, "inps": {"cpt_in": {"__class__": "ConnectedValue"}, "itp_in": {"__class__": "RuntimeValue"}, "ndx_in": {"__class__": "ConnectedValue"}}, "mxw": "0", "outps": {"traj": "xtc", "str": "gro", "cpt_out": "false", "edr_out": "false", "xvg_out": "true", "tpr_out": "true"}, "sets": {"ensembleselect": {"ensemble": "nvt", "__current_case__": 0, "startvel": "false"}, "mdp": {"mdpfile": "custom", "__current_case__": 0, "mdp_input": {"__class__": "ConnectedValue"}}}, "top_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"c724b44d-5a73-4e92-8406-bf45ebbdb716",when:null,workflow_outputs:[{label:"XVG files",output_name:"output7",uuid:"0b3cd371-b269-46ac-992d-fad21c9fea35"},{label:"XTC files",output_name:"output4",uuid:"30596358-e89f-48c8-a81f-8c58c28d82b1"},{label:"TPR files",output_name:"output8",uuid:"addf9510-b7d7-418d-baa5-8e10aade66fe"},{label:"GRO files",output_name:"output1",uuid:"77e25856-9b12-42dc-9a49-634bb0955851"},{label:"Log",output_name:"report",uuid:"7edd7681-6e75-406d-ad24-465a496a3c3e"}]},35:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/biomd_neqgamma/biomd_neqgamma/0.1.5.2+galaxy1",errors:null,id:35,input_connections:{xvgs:{id:34,output_name:"output7"}},inputs:[{description:"runtime parameter for tool dcTMD friction correction",name:"json"}],label:null,name:"dcTMD friction correction",outputs:[{name:"outp_col",type:"input"},{name:"outp_frict_col",type:"input"}],position:{left:2572,top:875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/biomd_neqgamma/biomd_neqgamma/0.1.5.2+galaxy1",tool_shed_repository:{changeset_revision:"afcb925def69",name:"biomd_neqgamma",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"T": "300.0", "av": "1", "json": {"__class__": "RuntimeValue"}, "sigma": "1", "vel": "0.001", "xvgs": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.5.2+galaxy1",type:"tool",uuid:"7446ff96-7c10-4363-9067-045c05dfddf6",when:null,workflow_outputs:[{label:"Friction data",output_name:"outp_frict",uuid:"59a92ec0-f2cc-4052-bb0c-d0445dcc03b5"},{label:"Free energy data",output_name:"outp",uuid:"13ec40b1-9c75-40b5-ac04-932801eaa671"}]}},tags:[],uuid:"7950b716-2bc9-4cb6-8472-6506c702adea",version:1},readme:`# GROMACS dcTMD free energy calculation Perform an ensemble of targeted MD simulations of a user-specified size using @@ -712,6 +1292,130 @@ is packaged alongside the workflow as \`tmd.mdp\`. ## [0.1] - Initial version of GROMACS dcTMD workflow. +`,diagrams:`# Workflow diagrams + +## dcTMD calculations with GROMACS + +\`\`\`mermaid +graph LR +0["ℹ️ Ligand SDF"]@{ shape: doc } +1["ℹ️ pH to protonate ligand"]@{ shape: lean-l } +2["ℹ️ Protein PDB"]@{ shape: doc } +3["ℹ️ Salt concentration"]@{ shape: lean-l } +4["ℹ️ Water model"]@{ shape: lean-l } +5["ℹ️ Force field"]@{ shape: lean-l } +6["ℹ️ Number of simulations"]@{ shape: lean-l } +7["ℹ️ Temperature"]@{ shape: lean-l } +8["ℹ️ Number of equilibration steps"]@{ shape: lean-l } +9["Online data"]@{ shape: process } +10["ℹ️ Pulling rate"]@{ shape: lean-l } +11["ℹ️ Step length (ps)"]@{ shape: lean-l } +12["ℹ️ Protein pull group"]@{ shape: lean-l } +13["ℹ️ Number of steps"]@{ shape: lean-l } +14["ℹ️ Pull group pbcatom"]@{ shape: lean-l } +15["🛠️ Create GRO and TOP complex files"]@{ shape: subprocess } +2 --> 15 +5 --> 15 +0 --> 15 +4 --> 15 +1 --> 15 +16["Create text file"]@{ shape: process } +7 --> 16 +6 --> 16 +17["Compose text parameter value"]@{ shape: process } +10 --> 17 +18["Compose text parameter value"]@{ shape: process } +11 --> 18 +19["Compose text parameter value"]@{ shape: process } +13 --> 19 +20["Compose text parameter value"]@{ shape: process } +14 --> 20 +21["GROMACS solvation and adding ions"]@{ shape: process } +3 --> 21 +15 --> 21 +15 --> 21 +22["Split file"]@{ shape: process } +16 --> 22 +23["Add line to file"]@{ shape: process } +9 --> 23 +17 --> 23 +24["GROMACS energy minimization"]@{ shape: process } +21 --> 24 +21 --> 24 +25["Parse parameter value"]@{ shape: process } +22 --> 25 +26["Add line to file"]@{ shape: process } +23 --> 26 +19 --> 26 +27["Create GROMACS index files"]@{ shape: process } +24 --> 27 +28["GROMACS simulation"]@{ shape: process } +24 --> 28 +15 --> 28 +8 --> 28 +11 --> 28 +25 --> 28 +21 --> 28 +29["Add line to file"]@{ shape: process } +26 --> 29 +18 --> 29 +30["Text transformation"]@{ shape: process } +27 --> 30 +31["Add line to file"]@{ shape: process } +29 --> 31 +20 --> 31 +32["Add line to file"]@{ shape: process } +30 --> 32 +12 --> 32 +33["Concatenate datasets"]@{ shape: process } +27 --> 33 +32 --> 33 +34["GROMACS simulation"]@{ shape: process } +28 --> 34 +28 --> 34 +33 --> 34 +31 --> 34 +21 --> 34 +35["dcTMD friction correction"]@{ shape: process } +34 --> 35 +\`\`\` + +## Create GRO and TOP complex files + +\`\`\`mermaid +graph LR +0["ℹ️ Ligand SDF"]@{ shape: doc } +1["ℹ️ pH"]@{ shape: lean-l } +2["ℹ️ Apoprotein PDB"]@{ shape: doc } +3["ℹ️ Water model"]@{ shape: lean-l } +4["ℹ️ Force field"]@{ shape: lean-l } +5["Descriptors"]@{ shape: process } +0 --> 5 +6["Compound conversion"]@{ shape: process } +0 --> 6 +1 --> 6 +7["GROMACS initial setup"]@{ shape: process } +4 --> 7 +2 --> 7 +3 --> 7 +8["Cut"]@{ shape: process } +5 --> 8 +9["Search in textfiles"]@{ shape: process } +6 --> 9 +10["Parse parameter value"]@{ shape: process } +8 --> 10 +11["AnteChamber"]@{ shape: process } +10 --> 11 +9 --> 11 +12["Generate MD topologies for small molecules"]@{ shape: process } +10 --> 12 +11 --> 12 +13["Merge GROMACS topologies"]@{ shape: process } +12 --> 13 +12 --> 13 +7 --> 13 +7 --> 13 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/gromacs-dctmd/main",tests:[{doc:"Test outline for gromacs-dctmd.ga",job:{"Force field":"amber99sb","Ligand SDF":{class:"File",path:"test-data/lig.sdf"},"Number of simulations":"2","Number of steps":"100","Protein PDB":{class:"File",path:"test-data/mpro.pdb"},"Protein pull group":"350 364 378 606 623 658 669 683 721 2164 2184 2203 2217 2224 2235 2543 2558 2585 2841 2853 2877 2894","Pull group pbcatom":"606","Pulling rate":"0.001","Step length (ps)":"0.001","Water model":"tip3p",Temperature:"300","Number of equilibration steps":"50","Salt concentration":.1},outputs:{"XTC files":{element_tests:{"split_file_000000.txt":{assert:{has_size:138900,delta:500}}}},"Free energy data":{class:"File",assert:{has_n_lines:101,has_n_columns:5}},"Friction data":{class:"File",assert:{has_n_lines:101,has_n_columns:5}}}}]}],path:"./workflows/computational-chemistry/gromacs-dctmd"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/fragment-based-docking-scoring.ga",testParameterFiles:["/fragment-based-docking-scoring-tests.yml"],authors:[{name:"Simon Bray",orcid:"0000-0002-0621-6705"},{name:"Tim Dudgeon",orcid:"0000-0001-6879-5194"}],definition:{a_galaxy_workflow:"true",annotation:"Virtual screening of the SARS-CoV-2 main protease with rDock and pose scoring",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-0621-6705",name:"Simon Bray"},{class:"Person",identifier:"https://orcid.org/0000-0001-6879-5194",name:"Tim Dudgeon"}],"format-version":"0.1",license:"MIT",name:"Fragment-based virtual screening using rDock for docking and SuCOS for pose scoring",release:"0.1.5",steps:{0:{annotation:"Number of docking poses to generate per input compound",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Number of docking poses to generate per input compound",name:"Number of poses"}],label:"Number of poses",name:"Input parameter",outputs:[],position:{bottom:391.3000030517578,height:61.80000305175781,left:144,right:344,top:329.5,width:200,x:144,y:329.5},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"52331e17-340d-4c08-8faf-b83ac383f1ac",workflow_outputs:[]},1:{annotation:"PDB file for the receptor protein",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"PDB file for the receptor protein",name:"Receptor (PDB)"}],label:"Receptor (PDB)",name:"Input dataset",outputs:[],position:{bottom:441.3000030517578,height:61.80000305175781,left:-412,right:-212,top:379.5,width:200,x:-412,y:379.5},tool_id:null,tool_state:'{"optional": false}',tool_version:null,type:"data_input",uuid:"156f4aeb-d160-456a-974e-7884b79cb83a",workflow_outputs:[]},2:{annotation:"Fragments in SDF format",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Fragments in SDF format",name:"All fragments (SDF)"}],label:"All fragments (SDF)",name:"Input dataset",outputs:[],position:{bottom:633.6999969482422,height:82.19999694824219,left:-412,right:-212,top:551.5,width:200,x:-412,y:551.5},tool_id:null,tool_state:'{"optional": false}',tool_version:null,type:"data_input",uuid:"dd2d3bc0-8138-4e66-b2d9-e5e90e27b659",workflow_outputs:[]},3:{annotation:"Parameter for parallelization of docking",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Parameter for parallelization of docking",name:"Collection size for docking"}],label:"Collection size for docking",name:"Input parameter",outputs:[],position:{bottom:790.1000061035156,height:102.60000610351562,left:-134,right:66,top:687.5,width:200,x:-134,y:687.5},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"e731045a-b2e3-4766-97b0-173be3f8f098",workflow_outputs:[]},4:{annotation:"Value between 0 and 1. All poses with a SuCOS score lower than this value will be filtered out.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Value between 0 and 1. All poses with a SuCOS score lower than this value will be filtered out.",name:"SuCOS threshold"}],label:"SuCOS threshold",name:"Input parameter",outputs:[],position:{bottom:205.3000030517578,height:61.80000305175781,left:710,right:910,top:143.5,width:200,x:710,y:143.5},tool_id:null,tool_state:'{"parameter_type": "float", "optional": false}',tool_version:null,type:"parameter_input",uuid:"f85faf19-ac80-4e33-980e-38a24ccb877d",workflow_outputs:[{label:null,output_name:"output",uuid:"b8f1c765-0ea2-46af-93ea-49b325f0f6c9"}]},5:{annotation:"SDF or MOL file with the single fragment for SuCOS scoring",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"SDF or MOL file with the single fragment for SuCOS scoring",name:"Fragment for SuCOS scoring (SDF/MOL)"}],label:"Fragment for SuCOS scoring (SDF/MOL)",name:"Input dataset",outputs:[],position:{bottom:325.6999969482422,height:82.19999694824219,left:710,right:910,top:243.5,width:200,x:710,y:243.5},tool_id:null,tool_state:'{"optional": false}',tool_version:null,type:"data_input",uuid:"43dd0cc4-fa60-4087-a4c7-7d248f6b2b2e",workflow_outputs:[]},6:{annotation:"List of compounds for docking in SMILES format",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"List of compounds for docking in SMILES format",name:"Candidate compounds (SMILES)"}],label:"Candidate compounds (SMILES)",name:"Input dataset",outputs:[],position:{bottom:957.6999969482422,height:82.19999694824219,left:-690,right:-490,top:875.5,width:200,x:-690,y:875.5},tool_id:null,tool_state:'{"optional": false}',tool_version:null,type:"data_input",uuid:"47bf8c53-ae1e-4af6-bece-6adfd74b627c",workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",errors:null,id:7,input_connections:{infile:{id:1,output_name:"output"}},inputs:[],label:null,name:"Compound conversion",outputs:[{name:"outfile",type:"text"}],position:{bottom:497.3000030517578,height:174.8000030517578,left:-134,right:66,top:322.5,width:200,x:-134,y:322.5},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",tool_shed_repository:{changeset_revision:"e2c36f62e22f",name:"openbabel_compound_convert",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"appendtotitle": "", "dative_bonds": "false", "infile": {"__class__": "ConnectedValue"}, "oformat": {"oformat_opts_selector": "mol2", "__current_case__": 41, "mol2_ignore_res": "false", "gen2d": "false", "gen3d": "false"}, "ph": "7.4", "remove_h": "false", "split": "false", "unique": {"unique_opts_selector": "", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1+galaxy0",type:"tool",uuid:"b689d8e6-c474-4763-afb0-3e30610aac57",workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/ctb_frankenstein_ligand/ctb_frankenstein_ligand/2013.1-0+galaxy0",errors:null,id:8,input_connections:{infile:{id:2,output_name:"output"}},inputs:[],label:null,name:"Create Frankenstein ligand",outputs:[{name:"outfile",type:"sdf"}],position:{bottom:649.1000061035156,height:113.60000610351562,left:-134,right:66,top:535.5,width:200,x:-134,y:535.5},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/ctb_frankenstein_ligand/ctb_frankenstein_ligand/2013.1-0+galaxy0",tool_shed_repository:{changeset_revision:"7255688c77f3",name:"ctb_frankenstein_ligand",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2013.1-0+galaxy0",type:"tool",uuid:"081abe35-347a-4244-99ae-ec35329e3de0",workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:9,input_connections:{"components_1|param_type|component_value":{id:4,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{bottom:251.89999389648438,height:154.39999389648438,left:988,right:1188,top:97.5,width:200,x:988,y:97.5},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "$SuCOS_Score >= "}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"8beea755-90e6-4151-8c26-f8e9e8f24bfa",workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/enumerate_charges/enumerate_charges/2020.03.4+galaxy0",errors:null,id:10,input_connections:{input:{id:6,output_name:"output"}},inputs:[],label:null,name:"Enumerate changes",outputs:[{name:"output",type:"smi"}],position:{bottom:973.1000061035156,height:113.60000610351562,left:-412,right:-212,top:859.5,width:200,x:-412,y:859.5},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/enumerate_charges/enumerate_charges/2020.03.4+galaxy0",tool_shed_repository:{changeset_revision:"bbbf5fb356dd",name:"enumerate_charges",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "max_ph": "10.4", "min_ph": "4.4", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2020.03.4+galaxy0",type:"tool",uuid:"73172813-0c22-4d96-846e-c5dbe6702fce",workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/rxdock_rbcavity/rxdock_rbcavity/2013.1.1_148c5bd1+galaxy0",errors:null,id:11,input_connections:{ligand:{id:8,output_name:"outfile"},receptor:{id:7,output_name:"outfile"}},inputs:[],label:null,name:"rDock cavity definition",outputs:[{name:"activesite",type:"rdock_as"}],position:{bottom:594.8999938964844,height:164.39999389648438,left:144,right:344,top:430.5,width:200,x:144,y:430.5},post_job_actions:{HideDatasetActionactivesite:{action_arguments:{},action_type:"HideDatasetAction",output_name:"activesite"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/rxdock_rbcavity/rxdock_rbcavity/2013.1.1_148c5bd1+galaxy0",tool_shed_repository:{changeset_revision:"0848d3b1a46f",name:"rxdock_rbcavity",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"gridstep": "0.5", "ligand": {"__class__": "ConnectedValue"}, "min_volume": "100", "radius": "3.0", "receptor": {"__class__": "ConnectedValue"}, "sphere": "1.0", "vol_incr": "0.0", "weight": "1.0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2013.1.1_148c5bd1+galaxy0",type:"tool",uuid:"3ea250c8-be7d-4a19-9d91-044cecaea535",workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",errors:null,id:12,input_connections:{infile:{id:10,output_name:"output"}},inputs:[],label:null,name:"Compound conversion",outputs:[{name:"outfile",type:"text"}],position:{bottom:1003.3000030517578,height:174.8000030517578,left:-134,right:66,top:828.5,width:200,x:-134,y:828.5},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",tool_shed_repository:{changeset_revision:"e2c36f62e22f",name:"openbabel_compound_convert",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"appendtotitle": "", "dative_bonds": "false", "infile": {"__class__": "ConnectedValue"}, "oformat": {"oformat_opts_selector": "sdf", "__current_case__": 58, "sdf_exp_h": "false", "sdf_no_prop": "false", "sdf_wedge_bonds": "false", "sdf_alias_out": "false", "gen2d": "false", "gen3d": "true"}, "ph": "7.4", "remove_h": "false", "split": "false", "unique": {"unique_opts_selector": "", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1+galaxy0",type:"tool",uuid:"7f069b7b-a0c0-474a-9e33-052ab9318658",workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0",errors:null,id:13,input_connections:{"split_parms|input":{id:12,output_name:"outfile"},"split_parms|select_mode|numnew":{id:3,output_name:"output"}},inputs:[],label:null,name:"Split file",outputs:[{name:"list_output_sdf",type:"input"}],position:{bottom:961.5,height:144,left:144,right:344,top:817.5,width:200,x:144,y:817.5},post_job_actions:{HideDatasetActionlist_output_sdf:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_sdf"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0",tool_shed_repository:{changeset_revision:"6cbe2f30c2d7",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "sdf", "__current_case__": 4, "input": {"__class__": "ConnectedValue"}, "select_mode": {"mode": "numnew", "__current_case__": 1, "numnew": {"__class__": "ConnectedValue"}}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.0",type:"tool",uuid:"428d69f6-67b5-4377-becc-c4d9cfa6319d",workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/rxdock_rbdock/rxdock_rbdock/2013.1.1_148c5bd1+galaxy0",errors:null,id:14,input_connections:{active_site:{id:11,output_name:"activesite"},ligands:{id:13,output_name:"list_output_sdf"},num:{id:0,output_name:"output"},receptor:{id:7,output_name:"outfile"}},inputs:[],label:null,name:"rDock docking",outputs:[{name:"output",type:"sdf"}],position:{bottom:522.8999938964844,height:184.39999389648438,left:432,right:632,top:338.5,width:200,x:432,y:338.5},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/rxdock_rbdock/rxdock_rbdock/2013.1.1_148c5bd1+galaxy0",tool_shed_repository:{changeset_revision:"b34d068c2782",name:"rxdock_rbdock",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"active_site": {"__class__": "ConnectedValue"}, "custom_rec": {"custom_rec_select": "false", "__current_case__": 1, "flex": "3.0"}, "filter": {"filter_select": "no_filter", "__current_case__": 1}, "ligands": {"__class__": "ConnectedValue"}, "name": "false", "num": {"__class__": "ConnectedValue"}, "receptor": {"__class__": "ConnectedValue"}, "seed": "1", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2013.1.1_148c5bd1+galaxy0",type:"tool",uuid:"4fd94b5e-d09f-4c1a-92ea-12788d9f525e",workflow_outputs:[{label:"Docking poses",output_name:"output",uuid:"d346dbc4-932a-4c33-90f7-816faaa0db0f"}]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/4.2",errors:null,id:15,input_connections:{input_list:{id:14,output_name:"output"}},inputs:[],label:null,name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{bottom:497.5,height:134,left:710,right:910,top:363.5,width:200,x:710,y:363.5},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/4.2",tool_shed_repository:{changeset_revision:"830961c48e42",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "filename": {"add_name": "false", "__current_case__": 1}, "input_list": {"__class__": "ConnectedValue"}, "one_header": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.2",type:"tool",uuid:"bd5a919a-4c2c-437a-bdd7-e023347ed0f3",workflow_outputs:[]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/sucos_docking_scoring/sucos_docking_scoring/2020.03.4+galaxy1",errors:null,id:16,input_connections:{input:{id:15,output_name:"output"},refmol:{id:5,output_name:"output"}},inputs:[],label:null,name:"Score docked poses using SuCOS",outputs:[{name:"output",type:"sdf"}],position:{bottom:453.8999938964844,height:164.39999389648438,left:988,right:1188,top:289.5,width:200,x:988,y:289.5},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/sucos_docking_scoring/sucos_docking_scoring/2020.03.4+galaxy1",tool_shed_repository:{changeset_revision:"4f1896782f7c",name:"sucos_docking_scoring",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "ConnectedValue"}, "refmol": {"__class__": "ConnectedValue"}, "tanimoto": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2020.03.4+galaxy1",type:"tool",uuid:"75ba98b0-883f-4a22-972e-e951a9c3f3be",workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/rdock_sort_filter/rdock_sort_filter/2013.1-0+galaxy0",errors:null,id:17,input_connections:{filter:{id:9,output_name:"out1"},input:{id:16,output_name:"output"}},inputs:[],label:null,name:"rDock docking",outputs:[{name:"output",type:"sdf"}],position:{bottom:286.5,height:144,left:1266,right:1466,top:142.5,width:200,x:1266,y:142.5},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/rdock_sort_filter/rdock_sort_filter/2013.1-0+galaxy0",tool_shed_repository:{changeset_revision:"d1ca4b45f615",name:"rdock_sort_filter",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"descending": "true", "filter": {"__class__": "ConnectedValue"}, "global_sort": "true", "input": {"__class__": "ConnectedValue"}, "name_field": "", "sort_field": "SuCOS_Score", "top": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2013.1.1_148c5bd1+galaxy0",type:"tool",uuid:"7c3dcdd3-023a-442c-8b88-3531a94e3ffc",workflow_outputs:[{label:"Scored and filtered poses",output_name:"output",uuid:"93062a03-32e2-4852-84d1-5385fa9b908a"}]}},tags:[],uuid:"bb767af6-3641-4a5e-843d-78508fd7577a",version:1},readme:`# Fragment-based virtual screening with docking and pose scoring Dock a compound library against a target protein with rDock and validate the @@ -756,6 +1460,49 @@ parallelization, use the 'Collection size' parameter. ## [0.1] - Initial version of fragment-based docking and scoring workflow. +`,diagrams:`# Workflow diagrams + +## Fragment-based virtual screening using rDock for docking and SuCOS for pose scoring + +\`\`\`mermaid +graph LR +0["ℹ️ Number of poses"]@{ shape: lean-l } +1["ℹ️ Receptor (PDB)"]@{ shape: doc } +2["ℹ️ All fragments (SDF)"]@{ shape: doc } +3["ℹ️ Collection size for docking"]@{ shape: lean-l } +4["ℹ️ SuCOS threshold"]@{ shape: lean-l } +5["ℹ️ Fragment for SuCOS scoring (SDF/MOL)"]@{ shape: doc } +6["ℹ️ Candidate compounds (SMILES)"]@{ shape: doc } +7["Compound conversion"]@{ shape: process } +1 --> 7 +8["Create Frankenstein ligand"]@{ shape: process } +2 --> 8 +9["Compose text parameter value"]@{ shape: process } +4 --> 9 +10["Enumerate changes"]@{ shape: process } +6 --> 10 +11["rDock cavity definition"]@{ shape: process } +8 --> 11 +7 --> 11 +12["Compound conversion"]@{ shape: process } +10 --> 12 +13["Split file"]@{ shape: process } +12 --> 13 +3 --> 13 +14["rDock docking"]@{ shape: process } +11 --> 14 +13 --> 14 +0 --> 14 +7 --> 14 +15["Collapse Collection"]@{ shape: process } +14 --> 15 +16["Score docked poses using SuCOS"]@{ shape: process } +15 --> 16 +5 --> 16 +17["rDock docking"]@{ shape: process } +9 --> 17 +16 --> 17 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/fragment-based-docking-scoring/main",tests:[{doc:"Test outline for fragment-based-docking-scoring.ga",job:{"All fragments (SDF)":{class:"File",path:"test-data/all-fragments.sdf",filetype:"sdf"},"Candidate compounds (SMILES)":{class:"File",path:"test-data/candidates.smi",filetype:"smi"},"Collection size for docking":2,"Fragment for SuCOS scoring (SDF/MOL)":{class:"File",path:"test-data/single-fragment.sdf",filetype:"sdf"},"Receptor (PDB)":{class:"File",path:"test-data/receptor.pdb",filetype:"pdb"},"Number of poses":1,"SuCOS threshold":0},outputs:{"Scored and filtered poses":{asserts:{has_text:{text:"SuCOS_Score",n:4}}}}}]}],path:"./workflows/computational-chemistry/fragment-based-docking-scoring"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/gromacs-mmgbsa.ga",testParameterFiles:["/gromacs-mmgbsa-tests.yml"],authors:[{name:"Simon Bray",orcid:"0000-0002-0621-6705"}],definition:{a_galaxy_workflow:"true",annotation:"MMGBSA simulation and calculation",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-0621-6705",name:"Simon Bray"}],"format-version":"0.1",license:"MIT",name:"MMGBSA calculations with GROMACS",release:"0.1.5",steps:{0:{annotation:"NaCl concentration",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"NaCl concentration",name:"Salt concentration"}],label:"Salt concentration",name:"Input parameter",outputs:[],position:{left:0,top:184},tool_id:null,tool_state:'{"default": 0.0, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"be1f6375-076e-4d61-a780-f867af394809",when:null,workflow_outputs:[]},1:{annotation:"Size of the MMGBSA ensemble",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Size of the MMGBSA ensemble",name:"Number of simulations"}],label:"Number of simulations",name:"Input parameter",outputs:[],position:{left:278,top:7},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"0b26a4eb-6715-4e56-b8c4-1796486f91c5",when:null,workflow_outputs:[]},2:{annotation:"PDB input",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"PDB input",name:"Apoprotein PDB"}],label:"Apoprotein PDB",name:"Input dataset",outputs:[],position:{left:556,top:302},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"808dce0b-2da4-4cad-865e-5f264164b9a5",when:null,workflow_outputs:[]},3:{annotation:"Water model",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Water model",name:"Water model"}],label:"Water model",name:"Input parameter",outputs:[],position:{left:556,top:422},tool_id:null,tool_state:'{"restrictions": ["tip3p", "tip4p", "tips3p", "tip5p", "spc", "spce", "none"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"c556adbf-d074-4467-95dc-1c1966c5cff2",when:null,workflow_outputs:[]},4:{annotation:"pH for protonation (-1.0 to skip)",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"pH for protonation (-1.0 to skip)",name:"pH"}],label:"pH",name:"Input parameter",outputs:[],position:{left:556,top:522},tool_id:null,tool_state:'{"default": -1.0, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"a7af9e2f-f236-4ed4-b4e6-472d8542d8b5",when:null,workflow_outputs:[]},5:{annotation:"Force field",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Force field",name:"Force field"}],label:"Force field",name:"Input parameter",outputs:[],position:{left:556,top:622},tool_id:null,tool_state:'{"restrictions": ["oplsaa", "gromos43a1", "amber96", "gromos53a6", "amber99sb", "gromos53a5", "gromos43a2", "amberGS", "charmm27", "amber03", "gromos54a7", "gromos45a3", "amber99", "amber94"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8c2f5860-bd30-4351-8bfb-1f9c42a92c4b",when:null,workflow_outputs:[]},6:{annotation:"SDF input",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"SDF input",name:"Ligand SDF"}],label:"Ligand SDF",name:"Input dataset",outputs:[],position:{left:556,top:722},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"6c2e18cb-d616-43b3-b655-ff9d6dfc3ac9",when:null,workflow_outputs:[]},7:{annotation:"Number of steps for NVT equilibration",content_id:null,errors:null,id:7,input_connections:{},inputs:[{description:"Number of steps for NVT equilibration",name:"NVT equilibration steps"}],label:"NVT equilibration steps",name:"Input parameter",outputs:[],position:{left:1728,top:570},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"d752a5f0-f16e-4b63-9d2b-139392376e77",when:null,workflow_outputs:[]},8:{annotation:"Number of steps for NPT equilibration",content_id:null,errors:null,id:8,input_connections:{},inputs:[{description:"Number of steps for NPT equilibration",name:"NPT equilibration steps"}],label:"NPT equilibration steps",name:"Input parameter",outputs:[],position:{left:2036,top:712},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"466e4cd0-4bf7-4238-ac5d-dc0d803557a1",when:null,workflow_outputs:[]},9:{annotation:"Number of steps for production simulation",content_id:null,errors:null,id:9,input_connections:{},inputs:[{description:"Number of steps for production simulation",name:"Production steps"}],label:"Production steps",name:"Input parameter",outputs:[],position:{left:2344,top:711},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"3661db6a-9afa-42d7-8dcd-c43e9cf320ea",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:10,input_connections:{"components_0|param_type|component_value":{id:0,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:278,top:148},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"5ad64e44-e40e-4848-a8b3-cddd18fb0fc1",when:null,workflow_outputs:[]},11:{annotation:"",id:11,input_connections:{"Apoprotein PDB":{id:2,input_subworkflow_step_id:2,output_name:"output"},"Force field":{id:5,input_subworkflow_step_id:4,output_name:"output"},"Ligand SDF":{id:6,input_subworkflow_step_id:0,output_name:"output"},"Water model":{id:3,input_subworkflow_step_id:3,output_name:"output"},pH:{id:4,input_subworkflow_step_id:1,output_name:"output"}},inputs:[],label:null,name:"Create GRO and TOP complex files",outputs:[],position:{left:874,top:293},subworkflow:{a_galaxy_workflow:"true",annotation:"",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-0621-6705",name:"Simon Bray"}],"format-version":"0.1",license:"MIT",name:"Create GRO and TOP complex files",steps:{0:{annotation:"SD-file for the input ligand",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"SD-file for the input ligand",name:"Ligand SDF"}],label:"Ligand SDF",name:"Input dataset",outputs:[],position:{left:0,top:461},tool_id:null,tool_state:'{"optional": false, "format": ["sdf"], "tag": null}',tool_version:null,type:"data_input",uuid:"277627e0-eba8-4de5-855b-63711c0db691",when:null,workflow_outputs:[]},1:{annotation:"pH for protonating the ligand. Set to -1.0 to skip.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"pH for protonating the ligand. Set to -1.0 to skip.",name:"pH"}],label:"pH",name:"Input parameter",outputs:[],position:{left:0,top:718},tool_id:null,tool_state:'{"default": -1.0, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"6893b667-f375-481b-96eb-50d5aceb5030",when:null,workflow_outputs:[]},2:{annotation:"PDB file for the protein (without ligand, cofactor, waters)",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"PDB file for the protein (without ligand, cofactor, waters)",name:"Apoprotein PDB"}],label:"Apoprotein PDB",name:"Input dataset",outputs:[],position:{left:1112,top:0},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"68f60b7d-13f3-4b21-aedf-986f0f7e48d7",when:null,workflow_outputs:[]},3:{annotation:"Model for water molecules (relevant for subsequent solvation)",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Model for water molecules (relevant for subsequent solvation)",name:"Water model"}],label:"Water model",name:"Input parameter",outputs:[],position:{left:1112,top:120},tool_id:null,tool_state:'{"restrictions": ["tip3p", "tip4p", "tips3p", "tip5p", "spc", "spce", "none"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8d29ae78-60de-45ba-b403-cdd2646af030",when:null,workflow_outputs:[]},4:{annotation:"Force field for protein modelling. GAFF is used for the ligand.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Force field for protein modelling. GAFF is used for the ligand.",name:"Force field"}],label:"Force field",name:"Input parameter",outputs:[],position:{left:1112,top:220},tool_id:null,tool_state:'{"restrictions": ["oplsaa", "gromos43a1", "amber96", "gromos53a6", "amber99sb", "amber99sb", "gromos53a5", "gromos43a2", "amberGS", "charmm27", "amber03", "gromos54a7", "gromos45a3", "amber99", "amber94"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"16c399b1-e67c-47a9-acd3-61ddc39473d9",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/ctb_rdkit_descriptors/ctb_rdkit_descriptors/2020.03.4+galaxy1",errors:null,id:5,input_connections:{infile:{id:0,output_name:"output"}},inputs:[],label:null,name:"Descriptors",outputs:[{name:"outfile",type:"tabular"}],position:{left:278,top:445},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/ctb_rdkit_descriptors/ctb_rdkit_descriptors/2020.03.4+galaxy1",tool_shed_repository:{changeset_revision:"0993ac4f4a23",name:"ctb_rdkit_descriptors",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"header": false, "infile": {"__class__": "ConnectedValue"}, "select_multiple": ["FormalCharge"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2020.03.4+galaxy1",type:"tool",uuid:"351397ff-a72d-4c7d-b39a-bc97b8f2c357",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",errors:null,id:6,input_connections:{infile:{id:0,output_name:"output"},ph:{id:1,output_name:"output"}},inputs:[],label:null,name:"Compound conversion",outputs:[{name:"outfile",type:"text"}],position:{left:278,top:595},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/openbabel_compound_convert/openbabel_compound_convert/3.1.1+galaxy0",tool_shed_repository:{changeset_revision:"e2c36f62e22f",name:"openbabel_compound_convert",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"appendtotitle": "", "dative_bonds": false, "infile": {"__class__": "ConnectedValue"}, "oformat": {"oformat_opts_selector": "pdb", "__current_case__": 51}, "ph": {"__class__": "ConnectedValue"}, "remove_h": false, "split": false, "unique": {"unique_opts_selector": "", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1+galaxy0",type:"tool",uuid:"c1f8c291-3b11-4afa-b62d-ee2d2d22b11f",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2022+galaxy0",errors:null,id:7,input_connections:{ff:{id:4,output_name:"output"},pdb_input:{id:2,output_name:"output"},water:{id:3,output_name:"output"}},inputs:[],label:null,name:"GROMACS initial setup",outputs:[{name:"output1",type:"top"},{name:"output2",type:"gro"},{name:"output3",type:"itp"},{name:"report",type:"txt"}],position:{left:1386,top:44},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output2"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2022+galaxy0",tool_shed_repository:{changeset_revision:"070e3ecc3fda",name:"gmx_setup",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"capture_log": true, "ff": {"__class__": "ConnectedValue"}, "ignore_h": false, "pdb_input": {"__class__": "ConnectedValue"}, "water": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"b922c050-5df2-42b8-a819-1cbf892e06fa",when:null,workflow_outputs:[{label:"Position restraints file",output_name:"output3",uuid:"a8969ed8-83f9-4ff3-9634-56f85e7dd4dd"}]},8:{annotation:"",content_id:"Cut1",errors:null,id:8,input_connections:{input:{id:5,output_name:"outfile"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:556,top:445},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"fd7483c3-52b0-489f-a422-2d399e2cd4e5",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1",errors:null,id:9,input_connections:{infile:{id:6,output_name:"outfile"}},inputs:[],label:null,name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{left:556,top:651},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1",tool_shed_repository:{changeset_revision:"d698c222f354",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "HETATM", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"be1e9539-c3ba-4c3c-a06f-a82c5b4d8437",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"param_value_from_file",errors:null,id:10,input_connections:{input1:{id:8,output_name:"out_file1"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:834,top:415},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"50d4ab40-a78d-4d97-8740-7e00edacae6b",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_antechamber/ambertools_antechamber/21.10+galaxy0",errors:null,id:11,input_connections:{"allparams|nc":{id:10,output_name:"integer_param"},input1:{id:9,output_name:"output"}},inputs:[],label:null,name:"AnteChamber",outputs:[{name:"output1",type:"mol2"}],position:{left:1112,top:540},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_antechamber/ambertools_antechamber/21.10+galaxy0",tool_shed_repository:{changeset_revision:"8a839e6a1e3e",name:"ambertools_antechamber",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"allparams": {"nc": {"__class__": "ConnectedValue"}, "m": "1", "resname": "UNL", "c": "bcc", "at": "gaff", "j": "4"}, "extraparams": {"pf": true, "usenc": true}, "input1": {"__class__": "ConnectedValue"}, "selected_output_format": "mol2", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"21.10+galaxy0",type:"tool",uuid:"32a50a09-a9c7-4d08-9d7f-7d5c9efaa3bf",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_acpype/ambertools_acpype/21.10+galaxy0",errors:null,id:12,input_connections:{charge:{id:10,output_name:"integer_param"},input1:{id:11,output_name:"output1"}},inputs:[],label:null,name:"Generate MD topologies for small molecules",outputs:[{name:"output",type:"itp"},{name:"gro_output",type:"gro"}],position:{left:1390,top:423},post_job_actions:{HideDatasetActiongro_output:{action_arguments:{},action_type:"HideDatasetAction",output_name:"gro_output"},HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/ambertools_acpype/ambertools_acpype/21.10+galaxy0",tool_shed_repository:{changeset_revision:"095ad4d096d1",name:"ambertools_acpype",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"atomtype": "gaff", "charge": {"__class__": "ConnectedValue"}, "charge_method": "user", "input1": {"__class__": "ConnectedValue"}, "multiplicity": "1", "save_gro": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"21.10+galaxy0",type:"tool",uuid:"3ee8d6ce-e7bc-45c5-ae34-ac0348ac959f",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_merge_topology_files/gmx_merge_topology_files/3.4.3+galaxy0",errors:null,id:13,input_connections:{lig_gro:{id:12,output_name:"gro_output"},lig_top:{id:12,output_name:"output"},prot_gro:{id:7,output_name:"output2"},prot_top:{id:7,output_name:"output1"}},inputs:[],label:null,name:"Merge GROMACS topologies",outputs:[{name:"complex_top",type:"top"},{name:"complex_gro",type:"gro"}],position:{left:1678,top:203},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_merge_topology_files/gmx_merge_topology_files/3.4.3+galaxy0",tool_shed_repository:{changeset_revision:"bc31d02be922",name:"gmx_merge_topology_files",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"lig_gro": {"__class__": "ConnectedValue"}, "lig_top": {"__class__": "ConnectedValue"}, "prot_gro": {"__class__": "ConnectedValue"}, "prot_top": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.4.3+galaxy0",type:"tool",uuid:"2a22a7fd-3e14-4f27-b1a8-a6d66cef292a",when:null,workflow_outputs:[{label:"Complex topology",output_name:"complex_top",uuid:"df11b684-24b0-481f-956d-c7cdc1e334ba"},{label:"Complex GRO",output_name:"complex_gro",uuid:"193f8774-0334-49d3-b8ae-bdc3484cb1be"}]}},tags:"",uuid:"1a4e83d6-e4b2-4f01-bcd1-de564a96bf7e"},tool_id:null,type:"subworkflow",uuid:"fe2677ce-d0d4-4937-9d34-f9a35db814d8",when:null,workflow_outputs:[{label:"Complex topology",output_name:"Complex topology",uuid:"e092ce5a-3fca-4183-b244-daf8a0582e72"},{label:"Complex GRO",output_name:"Complex GRO",uuid:"ab63a333-8a78-4476-946a-f1bac8fde57c"},{label:"GROMACS setup (ITP) on input dataset(s)",output_name:"Position restraints file",uuid:"8f1c5eee-7510-4430-b3e0-e2301926285d"}]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/1.1.0",errors:null,id:12,input_connections:{"token_set_0|line":{id:10,output_name:"out1"},"token_set_0|repeat_select|times":{id:1,output_name:"output"}},inputs:[],label:null,name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:556,top:0},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/1.1.0",tool_shed_repository:{changeset_revision:"d698c222f354",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": {"__class__": "ConnectedValue"}, "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"712bd247-7a81-4e77-ab1c-ba0e3f012d20",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_editconf/gmx_editconf/2022+galaxy0",errors:null,id:13,input_connections:{input_file:{id:11,output_name:"Complex GRO"}},inputs:[],label:null,name:"GROMACS structure configuration",outputs:[{name:"output",type:"gro"}],position:{left:1152,top:405},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_editconf/gmx_editconf/2022+galaxy0",tool_shed_repository:{changeset_revision:"88076940fa94",name:"gmx_editconf",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"box": {"config": "true", "__current_case__": 0, "dim": "1.0", "type": "triclinic"}, "capture_log": false, "input_file": {"__class__": "ConnectedValue"}, "output_format": "gro", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"08354f00-bea9-4f56-94cd-35b50dcf57c1",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1",errors:null,id:14,input_connections:{"split_parms|input":{id:12,output_name:"outfile"}},inputs:[],label:null,name:"Split file",outputs:[{name:"list_output_txt",type:"input"}],position:{left:874,top:36},post_job_actions:{HideDatasetActionlist_output_txt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1",tool_shed_repository:{changeset_revision:"baabc30154cd",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "txt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.1",type:"tool",uuid:"06f666f0-c2a8-4f18-9ad6-42b0e601c731",when:null,workflow_outputs:[]},15:{annotation:"",content_id:"param_value_from_file",errors:null,id:15,input_connections:{input1:{id:14,output_name:"list_output_txt"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"float_param",type:"expression.json"}],position:{left:1152,top:16},post_job_actions:{HideDatasetActionfloat_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"float_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "float", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"ad421d25-27f7-445c-aa4f-6b131bdfad6b",when:null,workflow_outputs:[]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_solvate/gmx_solvate/2022+galaxy0",errors:null,id:16,input_connections:{conc:{id:15,output_name:"float_param"},gro_input:{id:13,output_name:"output"},top_input:{id:11,output_name:"Complex topology"}},inputs:[],label:null,name:"GROMACS solvation and adding ions",outputs:[{name:"output1",type:"gro"},{name:"output2",type:"top"}],position:{left:1440,top:16},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output2"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_solvate/gmx_solvate/2022+galaxy0",tool_shed_repository:{changeset_revision:"c4fbab8e03c5",name:"gmx_solvate",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"capture_log": false, "conc": {"__class__": "ConnectedValue"}, "gro_input": {"__class__": "ConnectedValue"}, "mxw": "0", "neutralise": "-neutral", "seed": "1", "top_input": {"__class__": "ConnectedValue"}, "water_model": "spc216", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"565a9285-ba79-40c5-86ec-1dbdd9a9de17",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_em/gmx_em/2022+galaxy0",errors:null,id:17,input_connections:{gro_input:{id:16,output_name:"output1"},top_input:{id:16,output_name:"output2"}},inputs:[],label:null,name:"GROMACS energy minimization",outputs:[{name:"output1",type:"gro"},{name:"output2",type:"edr"},{name:"report",type:"txt"}],position:{left:1728,top:153},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output2"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_em/gmx_em/2022+galaxy0",tool_shed_repository:{changeset_revision:"b46d4b4d995c",name:"gmx_em",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"capture_log": true, "gro_input": {"__class__": "ConnectedValue"}, "mdp": {"mdpfile": "default", "__current_case__": 1, "integrator": "steep", "cutoffscheme": "Verlet", "coulombtype": "PME", "rcoulomb": "1.0", "rlist": "1.0", "rvdw": "1.0", "md_steps": "50000", "emtol": "1000.0", "emstep": "0.01", "seed": "1"}, "mxw": "0", "top_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"7c542061-2478-43a3-a3a3-795b20e96b31",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/parmconv/parmconv/21.10+galaxy0",errors:null,id:18,input_connections:{"param_inputs|str_in":{id:16,output_name:"output1"},"param_inputs|top_in":{id:16,output_name:"output2"}},inputs:[],label:null,name:"Convert Parameters",outputs:[{name:"prmtop_ligand",type:"txt"},{name:"prmtop_receptor",type:"txt"},{name:"prmtop_complex",type:"txt"},{name:"prmtop_solvatedcomplex",type:"txt"}],position:{left:2920,top:40},post_job_actions:{HideDatasetActionprmtop_complex:{action_arguments:{},action_type:"HideDatasetAction",output_name:"prmtop_complex"},HideDatasetActionprmtop_ligand:{action_arguments:{},action_type:"HideDatasetAction",output_name:"prmtop_ligand"},HideDatasetActionprmtop_receptor:{action_arguments:{},action_type:"HideDatasetAction",output_name:"prmtop_receptor"},HideDatasetActionprmtop_solvatedcomplex:{action_arguments:{},action_type:"HideDatasetAction",output_name:"prmtop_solvatedcomplex"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/parmconv/parmconv/21.10+galaxy0",tool_shed_repository:{changeset_revision:"6d0677a148fe",name:"parmconv",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"param_inputs": {"fmt": "GROMACS", "__current_case__": 1, "top_in": {"__class__": "ConnectedValue"}, "str_in": {"__class__": "ConnectedValue"}, "modbehaviour": {"removedihe": true, "removebox": true, "radii": "mbondi"}}, "stripmask_complex": ":NA,CL,SOL", "stripmask_ligand": "!:UNL", "stripmask_receptor": ":NA,CL,SOL,UNL", "stripmask_solvatedcomplex": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"21.10+galaxy0",type:"tool",uuid:"9266a7e8-9fad-4d2e-aaf9-1be038313349",when:null,workflow_outputs:[]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0",errors:null,id:19,input_connections:{gro_input:{id:17,output_name:"output1"},"inps|itp_in":{id:11,output_name:"Position restraints file"},"sets|mdp|md_steps":{id:7,output_name:"output"},top_input:{id:16,output_name:"output2"}},inputs:[{description:"runtime parameter for tool GROMACS simulation",name:"inps"},{description:"runtime parameter for tool GROMACS simulation",name:"inps"}],label:null,name:"GROMACS simulation",outputs:[{name:"output1",type:"gro"},{name:"output4",type:"xtc"},{name:"output5",type:"cpt"},{name:"report",type:"txt"}],position:{left:2036,top:153},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput4:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output4"},HideDatasetActionoutput5:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output5"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0",tool_shed_repository:{changeset_revision:"c0c9a5024177",name:"gmx_sim",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 1, "__job_resource__select": "yes", "gpu": "1"}, "capture_log": true, "gro_input": {"__class__": "ConnectedValue"}, "inps": {"cpt_in": {"__class__": "RuntimeValue"}, "itp_in": {"__class__": "ConnectedValue"}, "ndx_in": {"__class__": "RuntimeValue"}}, "mxw": "0", "outps": {"traj": "xtc", "str": "gro", "cpt_out": "true", "edr_out": "false", "xvg_out": "false", "tpr_out": "false"}, "sets": {"ensembleselect": {"ensemble": "nvt", "__current_case__": 0, "startvel": "false"}, "mdp": {"mdpfile": "default", "__current_case__": 1, "integrator": "md", "constraints": "h-bonds", "cutoffscheme": "Verlet", "coulombtype": "PME", "temperature": "300", "systemTcouple": "false", "step_length": "0.001", "write_freq": "1000", "rcoulomb": "1.0", "rlist": "1.0", "rvdw": "1.0", "md_steps": {"__class__": "ConnectedValue"}}}, "top_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"a926430a-b1e4-4e09-861f-ba7005f89e6c",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0",errors:null,id:20,input_connections:{gro_input:{id:19,output_name:"output1"},"inps|cpt_in":{id:19,output_name:"output5"},"inps|itp_in":{id:11,output_name:"Position restraints file"},"sets|mdp|md_steps":{id:8,output_name:"output"},top_input:{id:16,output_name:"output2"}},inputs:[{description:"runtime parameter for tool GROMACS simulation",name:"inps"}],label:null,name:"GROMACS simulation",outputs:[{name:"output1",type:"gro"},{name:"output4",type:"xtc"},{name:"output5",type:"cpt"},{name:"report",type:"txt"}],position:{left:2344,top:153},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},HideDatasetActionoutput4:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output4"},HideDatasetActionoutput5:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output5"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0",tool_shed_repository:{changeset_revision:"c0c9a5024177",name:"gmx_sim",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 1, "__job_resource__select": "yes", "gpu": "1"}, "capture_log": true, "gro_input": {"__class__": "ConnectedValue"}, "inps": {"cpt_in": {"__class__": "ConnectedValue"}, "itp_in": {"__class__": "ConnectedValue"}, "ndx_in": {"__class__": "RuntimeValue"}}, "mxw": "0", "outps": {"traj": "xtc", "str": "gro", "cpt_out": "true", "edr_out": "false", "xvg_out": "false", "tpr_out": "false"}, "sets": {"ensembleselect": {"ensemble": "nvt", "__current_case__": 0, "startvel": "false"}, "mdp": {"mdpfile": "default", "__current_case__": 1, "integrator": "md", "constraints": "h-bonds", "cutoffscheme": "Verlet", "coulombtype": "PME", "temperature": "300", "systemTcouple": "false", "step_length": "0.001", "write_freq": "1000", "rcoulomb": "1.0", "rlist": "1.0", "rvdw": "1.0", "md_steps": {"__class__": "ConnectedValue"}}}, "top_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"fe91fab0-9a55-4480-9618-43a3e0195500",when:null,workflow_outputs:[]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0",errors:null,id:21,input_connections:{gro_input:{id:20,output_name:"output1"},"inps|cpt_in":{id:20,output_name:"output5"},"sets|mdp|md_steps":{id:9,output_name:"output"},top_input:{id:16,output_name:"output2"}},inputs:[{description:"runtime parameter for tool GROMACS simulation",name:"inps"}],label:null,name:"GROMACS simulation",outputs:[{name:"output1",type:"gro"},{name:"output4",type:"xtc"},{name:"output8",type:"tpr"},{name:"report",type:"txt"}],position:{left:2642,top:202},post_job_actions:{HideDatasetActionoutput8:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output8"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0",tool_shed_repository:{changeset_revision:"c0c9a5024177",name:"gmx_sim",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 1, "__job_resource__select": "yes", "gpu": "1"}, "capture_log": true, "gro_input": {"__class__": "ConnectedValue"}, "inps": {"cpt_in": {"__class__": "ConnectedValue"}, "itp_in": {"__class__": "ConnectedValue"}, "ndx_in": {"__class__": "RuntimeValue"}}, "mxw": "0", "outps": {"traj": "xtc", "str": "gro", "cpt_out": "false", "edr_out": "false", "xvg_out": "false", "tpr_out": "true"}, "sets": {"ensembleselect": {"ensemble": "nvt", "__current_case__": 0, "startvel": "false"}, "mdp": {"mdpfile": "default", "__current_case__": 1, "integrator": "md", "constraints": "none", "cutoffscheme": "Verlet", "coulombtype": "PME", "temperature": "300", "systemTcouple": "false", "step_length": "0.001", "write_freq": "1000", "rcoulomb": "1.0", "rlist": "1.0", "rvdw": "1.0", "md_steps": {"__class__": "ConnectedValue"}}}, "top_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2022+galaxy0",type:"tool",uuid:"7750144f-b8a9-4543-a13c-68bca8772d8f",when:null,workflow_outputs:[{label:"GRO files",output_name:"output1",uuid:"9f4cd61a-8639-4d0e-a848-407cbdaff68c"},{label:"XTC files",output_name:"output4",uuid:"ae282dc2-9136-4c2a-a812-08bc204ae5a6"}]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/md_converter/md_converter/1.9.6+galaxy0",errors:null,id:22,input_connections:{input_file:{id:21,output_name:"output4"}},inputs:[],label:null,name:"MDTraj file converter",outputs:[{name:"output",type:"data"}],position:{left:2920,top:334},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/md_converter/md_converter/1.9.6+galaxy0",tool_shed_repository:{changeset_revision:"ba83f0923369",name:"md_converter",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_file": {"__class__": "ConnectedValue"}, "output_format": "netcdf", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.9.6+galaxy0",type:"tool",uuid:"d98fcd50-1530-4899-820e-ff08b8dde0ae",when:null,workflow_outputs:[]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/chemteam/mmpbsa_mmgbsa/mmpbsa_mmgbsa/21.10+galaxy0",errors:null,id:23,input_connections:{"input|simulation|complex":{id:18,output_name:"prmtop_complex"},"input|simulation|ligand":{id:18,output_name:"prmtop_ligand"},"input|simulation|receptor":{id:18,output_name:"prmtop_receptor"},"input|simulation|solvatedcomplex":{id:18,output_name:"prmtop_solvatedcomplex"},"input|simulation|trajcomplex":{id:22,output_name:"output"}},inputs:[],label:null,name:"MMPBSA/MMGBSA",outputs:[{name:"tempfiles",type:"input"},{name:"resultoutfile",type:"txt"},{name:"parameteroutfile",type:"txt"}],position:{left:3198,top:36},post_job_actions:{HideDatasetActionparameteroutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"parameteroutfile"},HideDatasetActiontempfiles:{action_arguments:{},action_type:"HideDatasetAction",output_name:"tempfiles"},RenameDatasetActionresultoutfile:{action_arguments:{newname:"MMGBSA statistics"},action_type:"RenameDatasetAction",output_name:"resultoutfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/chemteam/mmpbsa_mmgbsa/mmpbsa_mmgbsa/21.10+galaxy0",tool_shed_repository:{changeset_revision:"608098b3668d",name:"mmpbsa_mmgbsa",owner:"chemteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"allparams": {"startframe": "1", "endframe": "9999999", "interval": "10", "entropy": false, "use_sander": false, "keep_files": true, "strip_mask": ":NA,CL,SOL"}, "calcdetails": {"gb_pb_calc": {"calctype": "gb", "__current_case__": 0, "igb": "5", "saltcon": "0.1", "surfoff": "0.0", "molsurf": false, "probe": "1.4", "msoffset": "0.0"}, "decomposition": {"decomposition": "no", "__current_case__": 1}}, "input": {"simulation": {"simtype": "single", "__current_case__": 0, "ligand": {"__class__": "ConnectedValue"}, "receptor": {"__class__": "ConnectedValue"}, "complex": {"__class__": "ConnectedValue"}, "solvatedcomplex": {"__class__": "ConnectedValue"}, "trajcomplex": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"21.10+galaxy0",type:"tool",uuid:"0351786b-5169-450f-8d5f-194dce5e4b77",when:null,workflow_outputs:[{label:"MMGBSA statistics",output_name:"resultoutfile",uuid:"cace1632-56e0-4222-9682-a3e079fead2d"}]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1",errors:null,id:24,input_connections:{infile:{id:23,output_name:"resultoutfile"}},inputs:[],label:null,name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{left:3476,top:199},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1",tool_shed_repository:{changeset_revision:"d698c222f354",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "DELTA TOTAL", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"3aba0217-8162-43c3-8d19-1b04dcb3984d",when:null,workflow_outputs:[]},25:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:25,input_connections:{input_list:{id:24,output_name:"output"}},inputs:[],label:null,name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:3754,top:189},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": false, "__current_case__": 1}, "input_list": {"__class__": "ConnectedValue"}, "one_header": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"dbf60354-8c38-4735-9dd0-44d776906e02",when:null,workflow_outputs:[]},26:{annotation:"",content_id:"Cut1",errors:null,id:26,input_connections:{input:{id:25,output_name:"output"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:4032,top:209},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c3", "delimiter": "Sp", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"073ece68-67cb-497e-bf81-df302004f043",when:null,workflow_outputs:[]},27:{annotation:"",content_id:"Summary_Statistics1",errors:null,id:27,input_connections:{input:{id:26,output_name:"out_file1"}},inputs:[],label:null,name:"Summary Statistics",outputs:[{name:"out_file1",type:"tabular"}],position:{left:4310,top:214},post_job_actions:{},tool_id:"Summary_Statistics1",tool_state:'{"cond": "c1", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.2",type:"tool",uuid:"f5812d99-5d61-40c0-af3a-5f1eb307c755",when:null,workflow_outputs:[{label:"MMGBSA free energy",output_name:"out_file1",uuid:"5b387d49-544a-4462-912a-4d64d775c62a"}]}},tags:[],uuid:"16455667-cdef-4979-9603-f338e09aa2a1",version:1},readme:`# GROMACS MMGBSA free energy calculation Perform an ensemble of MD simulations of a user-specified size using GROMACS, @@ -802,6 +1549,119 @@ the 'Protein-ligand complex parameterization' subworkflow. ## [0.1] - Initial version of GROMACS MMGBSA workflow. +`,diagrams:`# Workflow diagrams + +## MMGBSA calculations with GROMACS + +\`\`\`mermaid +graph LR +0["ℹ️ Salt concentration"]@{ shape: lean-l } +1["ℹ️ Number of simulations"]@{ shape: lean-l } +2["ℹ️ Apoprotein PDB"]@{ shape: doc } +3["ℹ️ Water model"]@{ shape: lean-l } +4["ℹ️ pH"]@{ shape: lean-l } +5["ℹ️ Force field"]@{ shape: lean-l } +6["ℹ️ Ligand SDF"]@{ shape: doc } +7["ℹ️ NVT equilibration steps"]@{ shape: lean-l } +8["ℹ️ NPT equilibration steps"]@{ shape: lean-l } +9["ℹ️ Production steps"]@{ shape: lean-l } +10["Compose text parameter value"]@{ shape: process } +0 --> 10 +11["🛠️ Create GRO and TOP complex files"]@{ shape: subprocess } +2 --> 11 +5 --> 11 +6 --> 11 +3 --> 11 +4 --> 11 +12["Create text file"]@{ shape: process } +10 --> 12 +1 --> 12 +13["GROMACS structure configuration"]@{ shape: process } +11 --> 13 +14["Split file"]@{ shape: process } +12 --> 14 +15["Parse parameter value"]@{ shape: process } +14 --> 15 +16["GROMACS solvation and adding ions"]@{ shape: process } +15 --> 16 +13 --> 16 +11 --> 16 +17["GROMACS energy minimization"]@{ shape: process } +16 --> 17 +16 --> 17 +18["Convert Parameters"]@{ shape: process } +16 --> 18 +16 --> 18 +19["GROMACS simulation"]@{ shape: process } +17 --> 19 +11 --> 19 +7 --> 19 +16 --> 19 +20["GROMACS simulation"]@{ shape: process } +19 --> 20 +19 --> 20 +11 --> 20 +8 --> 20 +16 --> 20 +21["GROMACS simulation"]@{ shape: process } +20 --> 21 +20 --> 21 +9 --> 21 +16 --> 21 +22["MDTraj file converter"]@{ shape: process } +21 --> 22 +23["MMPBSA/MMGBSA"]@{ shape: process } +18 --> 23 +18 --> 23 +18 --> 23 +18 --> 23 +22 --> 23 +24["Search in textfiles"]@{ shape: process } +23 --> 24 +25["Collapse Collection"]@{ shape: process } +24 --> 25 +26["Cut"]@{ shape: process } +25 --> 26 +27["Summary Statistics"]@{ shape: process } +26 --> 27 +\`\`\` + +## Create GRO and TOP complex files + +\`\`\`mermaid +graph LR +0["ℹ️ Ligand SDF"]@{ shape: doc } +1["ℹ️ pH"]@{ shape: lean-l } +2["ℹ️ Apoprotein PDB"]@{ shape: doc } +3["ℹ️ Water model"]@{ shape: lean-l } +4["ℹ️ Force field"]@{ shape: lean-l } +5["Descriptors"]@{ shape: process } +0 --> 5 +6["Compound conversion"]@{ shape: process } +0 --> 6 +1 --> 6 +7["GROMACS initial setup"]@{ shape: process } +4 --> 7 +2 --> 7 +3 --> 7 +8["Cut"]@{ shape: process } +5 --> 8 +9["Search in textfiles"]@{ shape: process } +6 --> 9 +10["Parse parameter value"]@{ shape: process } +8 --> 10 +11["AnteChamber"]@{ shape: process } +10 --> 11 +9 --> 11 +12["Generate MD topologies for small molecules"]@{ shape: process } +10 --> 12 +11 --> 12 +13["Merge GROMACS topologies"]@{ shape: process } +12 --> 13 +12 --> 13 +7 --> 13 +7 --> 13 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/gromacs-mmgbsa/main",tests:[{doc:"Test outline for gromacs-mmgbsa.ga",job:{"Apoprotein PDB":{class:"File",path:"test-data/mpro.pdb"},"Force field":"amber99sb","Ligand SDF":{class:"File",path:"test-data/lig.sdf"},"NPT equilibration steps":50,"NVT equilibration steps":50,"Number of simulations":2,"Production steps":100,"Water model":"tip3p","Salt concentration":.1},outputs:{"MMGBSA free energy":{class:"File",assert:{has_n_lines:2}},"MMGBSA statistics":{element_tests:{"split_file_000000.txt":{assert:{has_text:"Generalized Born ESURF calculated using LCPO"}}}},"XTC files":{element_tests:{"split_file_000000.txt":{assert:{has_size:138900,delta:500}}}}}}]}],path:"./workflows/computational-chemistry/gromacs-mmgbsa"},{version:1.2,workflows:[{name:"COVID-19-VARIATION-REPORTING",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/variation-reporting.ga",testParameterFiles:["/variation-reporting-tests.yml"],authors:[{name:"Wolfgang Maier",orcid:"0000-0002-9464-6640"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes a VCF dataset of variants produced by any of the *-variant-calling workflows in https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling and generates tabular lists of variants by Samples and by Variant, and an overview plot of variants and their allele-frequencies.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9464-6640",name:"Wolfgang Maier"}],"format-version":"0.1",license:"MIT",name:"COVID-19: variation analysis reporting",release:"0.3.4",steps:{0:{annotation:"Variation data in VCF format. Can be the output of any of the workflows in https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Variation data in VCF format. Can be the output of any of the workflows in https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling",name:"Variation data to report"}],label:"Variation data to report",name:"Input dataset collection",outputs:[],position:{left:10.28125,top:34.08333333333334},tool_id:null,tool_state:'{"optional": false, "format": ["vcf", "vcf_bgzip"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"577438f0-38b1-4fc1-9145-935566d62347",when:null,workflow_outputs:[]},1:{annotation:"Allele Frequency Filter. This is the minimum allele frequency required for variants to be included in the reports.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Allele Frequency Filter. This is the minimum allele frequency required for variants to be included in the reports.",name:"AF Filter"}],label:"AF Filter",name:"Input parameter",outputs:[],position:{left:5.3125,top:186.91145833333331},tool_id:null,tool_state:'{"default": 0.05, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"2e5a5b38-c204-45a2-98e2-e113bce5a14b",when:null,workflow_outputs:[{label:"af_filter_threshold",output_name:"output",uuid:"e55d47c5-7ea0-45c4-8844-47bf29b88542"}]},2:{annotation:"Depth Filter. This is the minimum depth of all alignments at a variant site. ",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Depth Filter. This is the minimum depth of all alignments at a variant site. ",name:"DP Filter"}],label:"DP Filter",name:"Input parameter",outputs:[],position:{left:.78125,top:284.9270833333333},tool_id:null,tool_state:'{"default": 1, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"c7fc64c7-51c7-465b-9184-ca834d4cf6b2",when:null,workflow_outputs:[{label:"dp_filter_threshold",output_name:"output",uuid:"220a9662-8b6f-4161-8539-ecb613b4892a"}]},3:{annotation:"Depth Filter for variant allele. This is the minimum depth of alignments supporting a variant.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Depth Filter for variant allele. This is the minimum depth of alignments supporting a variant.",name:"DP_ALT Filter"}],label:"DP_ALT Filter",name:"Input parameter",outputs:[],position:{left:0,top:367.42708333333337},tool_id:null,tool_state:'{"default": 10, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"145bbc55-8893-413d-9620-f3d85e65527a",when:null,workflow_outputs:[{label:"dp_alt_filter_threshold",output_name:"output",uuid:"7f7b09f6-e4e5-43af-881b-f336906bcb91"}]},4:{annotation:"A custom tabular file mapping NCBI RefSeq Protein identifiers as used by snpEff version 4.5covid19 to their commonly used names. Can be obtained from https://doi.org/10.5281/zenodo.4555734",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"A custom tabular file mapping NCBI RefSeq Protein identifiers as used by snpEff version 4.5covid19 to their commonly used names. Can be obtained from https://doi.org/10.5281/zenodo.4555734",name:"gene products translations"}],label:"gene products translations",name:"Input dataset",outputs:[],position:{left:690.015625,top:38.41145833333334},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"8b89e674-9012-4f66-a59a-ce05d2fe4223",when:null,workflow_outputs:[]},5:{annotation:"Number of Clusters to use in Variant Frequency Plot.",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Number of Clusters to use in Variant Frequency Plot.",name:"Number of Clusters"}],label:"Number of Clusters",name:"Input parameter",outputs:[],position:{left:3413.578125,top:671.9114583333334},tool_id:null,tool_state:'{"default": 1, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"5ca7b1a7-e1ee-4b52-aab4-eaf23949e1da",when:null,workflow_outputs:[{label:"plot_number_of_clusters",output_name:"output",uuid:"c02cc297-3f36-4f78-bede-3aa378436672"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",errors:null,id:6,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:null,name:"SnpSift Filter",outputs:[{name:"output",type:"vcf"}],position:{left:246.65625,top:32.08333333333334},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_expression": {"type": "simple", "__current_case__": 0, "expr": "DP >= 1"}, "filtering": {"mode": "entries", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "inverse": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy1",type:"tool",uuid:"386eb313-89c1-47df-bd3d-976780eff740",when:null,workflow_outputs:[{label:"prefiltered_variants",output_name:"output",uuid:"498b63d3-2449-4633-b9a4-360553d14844"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:7,input_connections:{"components_1|param_type|component_value":{id:1,output_name:"output"},"components_3|param_type|component_value":{id:2,output_name:"output"},"components_5|param_type|component_value":{id:3,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:245,top:156.36458333333331},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "( ( DP4[2] + DP4[3] ) < ( "}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " * DP ) ) | ( DP < "}}, {"__index__": 3, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " ) | ( ( AF * DP ) < ( "}}, {"__index__": 5, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 6, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " - 0.5 ) )"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"ec1a4872-b9bc-41f0-8675-1f26fdd19f16",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:8,input_connections:{"components_1|param_type|component_value":{id:1,output_name:"output"},"components_3|param_type|component_value":{id:2,output_name:"output"},"components_5|param_type|component_value":{id:3,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:241.71875,top:463.83333333333337},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "min_af_"}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "|min_dp_"}}, {"__index__": 3, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "|min_dp_alt_"}}, {"__index__": 5, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"c9916563-c914-4f5f-90c6-d6c7619e1a98",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",errors:null,id:9,input_connections:{"filter_expression|expr":{id:7,output_name:"out1"},"filtering|add_filter":{id:8,output_name:"out1"},input:{id:6,output_name:"output"}},inputs:[{description:"runtime parameter for tool SnpSift Filter",name:"filter_expression"},{description:"runtime parameter for tool SnpSift Filter",name:"filtering"}],label:null,name:"SnpSift Filter",outputs:[{name:"output",type:"vcf"}],position:{left:477.421875,top:322.0677083333333},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Filtered variants"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_expression": {"type": "simple", "__current_case__": 0, "expr": {"__class__": "ConnectedValue"}}, "filtering": {"mode": "add_filter", "__current_case__": 3, "add_filter": {"__class__": "ConnectedValue"}}, "input": {"__class__": "ConnectedValue"}, "inverse": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy1",type:"tool",uuid:"9a6cb40d-476b-4096-adcc-cb601398d0b4",when:null,workflow_outputs:[{label:"filtered_variants",output_name:"output",uuid:"d6db8dad-1774-4ec8-a858-26b17a287252"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0",errors:null,id:10,input_connections:{input:{id:9,output_name:"output"}},inputs:[],label:null,name:"SnpSift Extract Fields",outputs:[{name:"output",type:"tabular"}],position:{left:713.4375,top:219.05208333333331},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Filtered extracted variants"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"empty_text": ".", "extract": "CHROM POS FILTER REF ALT DP AF DP4 SB EFF[*].IMPACT EFF[*].FUNCLASS EFF[*].EFFECT EFF[*].GENE EFF[*].CODON EFF[*].AA EFF[*].TRID DP4[2] DP4[3]", "input": {"__class__": "ConnectedValue"}, "one_effect_per_line": true, "separator": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy0",type:"tool",uuid:"085e8f20-3eea-4d97-8e52-6e8a9aa3fbd7",when:null,workflow_outputs:[{label:"filtered_extracted_variants",output_name:"output",uuid:"578ee06f-e803-42e2-8afe-b9e88f465cdb"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/replace_column_by_key_value_file/replace_column_with_key_value_file/0.2",errors:null,id:11,input_connections:{original_file:{id:10,output_name:"output"},replace_information:{id:4,output_name:"output"}},inputs:[],label:null,name:"Replace column",outputs:[{name:"outfile_replace",type:"txt"}],position:{left:944.3125,top:83.03645833333331},post_job_actions:{ChangeDatatypeActionoutfile_replace:{action_arguments:{newtype:"tabular"},action_type:"ChangeDatatypeAction",output_name:"outfile_replace"},RenameDatasetActionoutfile_replace:{action_arguments:{newname:"Extracted variants with filtered and renamed effects"},action_type:"RenameDatasetAction",output_name:"outfile_replace"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/replace_column_by_key_value_file/replace_column_with_key_value_file/0.2",tool_shed_repository:{changeset_revision:"d533e4b75800",name:"replace_column_by_key_value_file",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"column_replace": "16", "delimiter": "tab", "original_file": {"__class__": "ConnectedValue"}, "pass_comments": "#", "replace_information": {"__class__": "ConnectedValue"}, "skip_lines": "1", "unknowns_strategy": "skip", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2",type:"tool",uuid:"0850f6d5-ff1f-47f9-8e49-b7eb5782828a",when:null,workflow_outputs:[{label:"filtered_and_renamed_effects",output_name:"outfile_replace",uuid:"25460c36-c35c-4233-97ba-ec0a7aec39e4"}]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1",errors:null,id:12,input_connections:{input:{id:11,output_name:"outfile_replace"}},inputs:[],label:null,name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:1164.734375,top:240.34895833333331},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Extracted variants with filtered and renamed effects and AF recalculated"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1",tool_shed_repository:{changeset_revision:"aff5135563c6",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"avoid_scientific_notation": false, "error_handling": {"auto_col_types": true, "fail_on_non_existent_columns": true, "non_computable": {"action": "--fail-on-non-computable", "__current_case__": 0}}, "input": {"__class__": "ConnectedValue"}, "ops": {"header_lines_select": "yes", "__current_case__": 1, "expressions": [{"__index__": 0, "cond": "c7", "add_column": {"mode": "I", "__current_case__": 1, "pos": "8"}, "new_column_name": "AFcaller"}, {"__index__": 1, "cond": "round((c18 + c19) / c6, 6)", "add_column": {"mode": "R", "__current_case__": 2, "pos": "7"}, "new_column_name": "AF"}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1",type:"tool",uuid:"c457f29e-dea5-449a-84c4-4b192da88257",when:null,workflow_outputs:[{label:"af_recalculated",output_name:"out_file1",uuid:"86d866eb-b5ff-409c-aaee-d23deac15a47"}]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",errors:null,id:13,input_connections:{in_file:{id:12,output_name:"out_file1"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"input"}],position:{left:1331.15625,top:20.583333333333343},post_job_actions:{RenameDatasetActionout_file:{action_arguments:{newname:"Collapsed effects (Datamash on all variants)"},action_type:"RenameDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",tool_shed_repository:{changeset_revision:"4c07ddedc198",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "1,2,3,4,5,6,7,8,9,10", "header_in": true, "header_out": true, "ignore_case": false, "in_file": {"__class__": "ConnectedValue"}, "narm": false, "need_sort": false, "operations": [{"__index__": 0, "op_name": "collapse", "op_column": "11"}, {"__index__": 1, "op_name": "collapse", "op_column": "12"}, {"__index__": 2, "op_name": "collapse", "op_column": "13"}, {"__index__": 3, "op_name": "collapse", "op_column": "14"}, {"__index__": 4, "op_name": "collapse", "op_column": "15"}, {"__index__": 5, "op_name": "collapse", "op_column": "16"}, {"__index__": 6, "op_name": "collapse", "op_column": "17"}], "print_full_line": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy0",type:"tool",uuid:"ec8aca39-fe1f-404a-9460-7a960cec37e6",when:null,workflow_outputs:[{label:"collapsed_effects",output_name:"out_file",uuid:"995044cd-d883-451e-b8a0-6905967f636b"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",errors:null,id:14,input_connections:{infile:{id:13,output_name:"out_file"}},inputs:[],label:null,name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:1681.234375,top:0},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"Extracted variants with highest impact effects"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"find_and_replace": [{"__index__": 0, "find_pattern": "\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\s]+", "replace_pattern": "\\\\t$1\\\\t$2\\\\t$3\\\\t$4\\\\t$5\\\\t$6\\\\t$7", "is_regex": true, "global": true, "caseinsensitive": false, "wholewords": false, "skip_first_line": true, "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}}, {"__index__": 1, "find_pattern": "(GroupBy|collapse)\\\\(([^)]+)\\\\)", "replace_pattern": "$2", "is_regex": true, "global": true, "caseinsensitive": false, "wholewords": false, "skip_first_line": false, "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}}], "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"25f665b6-2b6a-49a3-a395-29706cd772ab",when:null,workflow_outputs:[{label:"highest_impact_effects",output_name:"outfile",uuid:"689eb8e9-393c-4d2f-8ab6-98bcfc07892d"}]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:15,input_connections:{input_list:{id:14,output_name:"outfile"}},inputs:[],label:null,name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:1982.5,top:28.067708333333343},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": true, "__current_case__": 0, "place_name": "same_multiple"}, "input_list": {"__class__": "ConnectedValue"}, "one_header": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"e5459c74-11e1-45a5-beee-88c2dde61eab",when:null,workflow_outputs:[]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1",errors:null,id:16,input_connections:{input:{id:15,output_name:"output"}},inputs:[],label:null,name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:2227.890625,top:212.38020833333331},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1",tool_shed_repository:{changeset_revision:"aff5135563c6",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:`{"avoid_scientific_notation": false, "error_handling": {"auto_col_types": false, "fail_on_non_existent_columns": true, "non_computable": {"action": "--fail-on-non-computable", "__current_case__": 0}}, "input": {"__class__": "ConnectedValue"}, "ops": {"header_lines_select": "yes", "__current_case__": 1, "expressions": [{"__index__": 0, "cond": "c5 + '>' + c6", "add_column": {"mode": "", "__current_case__": 0, "pos": ""}, "new_column_name": "change"}, {"__index__": 1, "cond": "c3 + ':' + c19", "add_column": {"mode": "", "__current_case__": 0, "pos": ""}, "new_column_name": "change_with_pos"}]}, "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"2.1",type:"tool",uuid:"cc8a768f-8078-4bdd-ae98-903f08619070",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",errors:null,id:17,input_connections:{infile:{id:16,output_name:"out_file1"}},inputs:[],label:null,name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:2434.0625,top:80.17708333333331},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"All variants of all samples"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"find_and_replace": [{"__index__": 0, "find_pattern": "EFF[*].", "replace_pattern": "", "is_regex": false, "global": true, "caseinsensitive": false, "wholewords": false, "skip_first_line": false, "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}}], "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"82276b6c-5c6e-49eb-8ee5-46041c273d30",when:null,workflow_outputs:[{label:"all_variants_all_samples",output_name:"outfile",uuid:"708f0b5e-2bc0-4a08-96e2-d590517c7ac9"}]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",errors:null,id:18,input_connections:{in_file:{id:17,output_name:"outfile"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"input"}],position:{left:2685.328125,top:31.598958333333343},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",tool_shed_repository:{changeset_revision:"4c07ddedc198",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "20", "header_in": true, "header_out": true, "ignore_case": false, "in_file": {"__class__": "ConnectedValue"}, "narm": false, "need_sort": true, "operations": [{"__index__": 0, "op_name": "countunique", "op_column": "1"}, {"__index__": 1, "op_name": "min", "op_column": "8"}, {"__index__": 2, "op_name": "max", "op_column": "8"}, {"__index__": 3, "op_name": "collapse", "op_column": "1"}, {"__index__": 4, "op_name": "collapse", "op_column": "8"}], "print_full_line": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy0",type:"tool",uuid:"c40528c9-4fed-48c8-9c34-be2cf2c32745",when:null,workflow_outputs:[]},19:{annotation:"",content_id:"Filter1",errors:null,id:19,input_connections:{input:{id:17,output_name:"outfile"}},inputs:[],label:null,name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:2678.125,top:244.73958333333331},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:`{"cond": "c4=='PASS' or c4=='.'", "header_lines": "1", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"1.1.1",type:"tool",uuid:"c02e3958-04f4-499e-b78e-f304e0fdaeed",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",errors:null,id:20,input_connections:{in_file:{id:17,output_name:"outfile"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"input"}],position:{left:2969.03125,top:441.66145833333337},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"},RenameDatasetActionout_file:{action_arguments:{newname:"Cross-sample variant stats (Datamash)"},action_type:"RenameDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",tool_shed_repository:{changeset_revision:"4c07ddedc198",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "3", "header_in": true, "header_out": true, "ignore_case": false, "in_file": {"__class__": "ConnectedValue"}, "narm": false, "need_sort": true, "operations": [{"__index__": 0, "op_name": "countunique", "op_column": "1"}, {"__index__": 1, "op_name": "min", "op_column": "8"}, {"__index__": 2, "op_name": "max", "op_column": "8"}, {"__index__": 3, "op_name": "countunique", "op_column": "19"}, {"__index__": 4, "op_name": "countunique", "op_column": "13"}], "print_full_line": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy0",type:"tool",uuid:"a9af0104-3e05-48cb-9650-36f58d174cdf",when:null,workflow_outputs:[]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1",errors:null,id:21,input_connections:{infile1:{id:19,output_name:"out_file1"},infile2:{id:18,output_name:"out_file"}},inputs:[],label:null,name:"Join",outputs:[{name:"output",type:"input"}],position:{left:2926.71875,top:51.98958333333334},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"Filtered variants of all samples with stats"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"column1": "20", "column2": "1", "empty_string_filler": "0", "header": true, "ignore_case": false, "infile1": {"__class__": "ConnectedValue"}, "infile2": {"__class__": "ConnectedValue"}, "jointype": " ", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"7e27aac8-1d1e-4d82-88e3-59c4cd61baeb",when:null,workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",errors:null,id:22,input_connections:{in_file:{id:19,output_name:"out_file1"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"input"}],position:{left:2935.140625,top:312.1458333333333},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",tool_shed_repository:{changeset_revision:"4c07ddedc198",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "3", "header_in": true, "header_out": true, "ignore_case": false, "in_file": {"__class__": "ConnectedValue"}, "narm": false, "need_sort": true, "operations": [{"__index__": 0, "op_name": "countunique", "op_column": "1"}], "print_full_line": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy0",type:"tool",uuid:"fac0bae2-3415-4aa3-a5f5-7950ea411d98",when:null,workflow_outputs:[]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",errors:null,id:23,input_connections:{in_file:{id:19,output_name:"out_file1"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"input"}],position:{left:2900.640625,top:646.4114583333334},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",tool_shed_repository:{changeset_revision:"4c07ddedc198",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "20", "header_in": true, "header_out": true, "ignore_case": false, "in_file": {"__class__": "ConnectedValue"}, "narm": false, "need_sort": true, "operations": [{"__index__": 0, "op_name": "countunique", "op_column": "1"}], "print_full_line": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy0",type:"tool",uuid:"90b934e8-ba30-49aa-9fa4-a371fdf71285",when:null,workflow_outputs:[]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",errors:null,id:24,input_connections:{in_file:{id:21,output_name:"output"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"input"}],position:{left:3170.828125,top:15.098958333333343},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",tool_shed_repository:{changeset_revision:"4c07ddedc198",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "1", "header_in": true, "header_out": true, "ignore_case": false, "in_file": {"__class__": "ConnectedValue"}, "narm": false, "need_sort": true, "operations": [{"__index__": 0, "op_name": "unique", "op_column": "2"}], "print_full_line": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy0",type:"tool",uuid:"5ba44453-dabf-420f-a49e-2918eae031d3",when:null,workflow_outputs:[]},25:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1",errors:null,id:25,input_connections:{infile1:{id:17,output_name:"outfile"},infile2:{id:22,output_name:"out_file"}},inputs:[],label:null,name:"Join",outputs:[{name:"output",type:"input"}],position:{left:3172.890625,top:224.66145833333331},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"column1": "3", "column2": "1", "empty_string_filler": "0", "header": true, "ignore_case": false, "infile1": {"__class__": "ConnectedValue"}, "infile2": {"__class__": "ConnectedValue"}, "jointype": " ", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"3927af37-c003-4fac-a8af-88ba2b656b22",when:null,workflow_outputs:[]},26:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1",errors:null,id:26,input_connections:{infile1:{id:16,output_name:"out_file1"},infile2:{id:23,output_name:"out_file"}},inputs:[],label:null,name:"Join",outputs:[{name:"output",type:"input"}],position:{left:3130.890625,top:592.9270833333334},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"column1": "20", "column2": "1", "empty_string_filler": "0", "header": true, "ignore_case": false, "infile1": {"__class__": "ConnectedValue"}, "infile2": {"__class__": "ConnectedValue"}, "jointype": " ", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"472af513-7900-41a5-b049-feb2d630ad2c",when:null,workflow_outputs:[]},27:{annotation:"",content_id:"Cut1",errors:null,id:27,input_connections:{input:{id:24,output_name:"out_file"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:3394.890625,top:119.89583333333331},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c4,c6,c7,c13,c14,c15,c16,c17,c18,c19,c21,c22,c23,c26,c24,c25,c20", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"30858ca2-a64b-4841-9bb5-5de4d38350cb",when:null,workflow_outputs:[]},28:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1",errors:null,id:28,input_connections:{infile1:{id:25,output_name:"output"},infile2:{id:20,output_name:"out_file"}},inputs:[],label:null,name:"Join",outputs:[{name:"output",type:"input"}],position:{left:3390.921875,top:317.8177083333333},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"Filtered variants of all samples with per-position stats"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"column1": "1", "column2": "1", "empty_string_filler": "0", "header": true, "ignore_case": false, "infile1": {"__class__": "ConnectedValue"}, "infile2": {"__class__": "ConnectedValue"}, "jointype": " ", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"1b250a36-d3ae-415e-9764-006182096a60",when:null,workflow_outputs:[]},29:{annotation:"",content_id:"Cut1",errors:null,id:29,input_connections:{input:{id:26,output_name:"output"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:3356.359375,top:528.6770833333334},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2,c3,c4,c5,c6,c7,c8,c9,c11,c12,c13,c14,c15,c16,c17,c18,c19", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"65a8b0dd-4b98-4646-bee8-a89f591816fb",when:null,workflow_outputs:[]},30:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",errors:null,id:30,input_connections:{infile:{id:27,output_name:"out_file1"}},inputs:[],label:null,name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:3604.359375,top:19.333333333333343},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"},RenameDatasetActionoutfile:{action_arguments:{newname:"All variants of all samples"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"find_and_replace": [{"__index__": 0, "find_pattern": "unique\\\\(Sample\\\\)\\\\tcollapse\\\\(Sample\\\\)\\\\tcollapse\\\\(AF\\\\)", "replace_pattern": "SAMPLES(above-thresholds)\\\\tSAMPLES(all)\\\\tAFs(all)", "is_regex": true, "global": true, "caseinsensitive": false, "wholewords": false, "skip_first_line": false, "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}}], "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"6116c1c6-7c7c-43fe-9c91-609c91c6ed85",when:null,workflow_outputs:[]},31:{annotation:"",content_id:"Cut1",errors:null,id:31,input_connections:{input:{id:28,output_name:"output"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:3608.171875,top:344.31770833333337},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2,c1,c4,c5,c6,c7,c8,c9,c11,c10,c12,c13,c14,c15,c16,c17,c18,c23,c24,c25,c26,c19", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"a925b191-2cbc-4f45-b4cf-bbc25ba823d8",when:null,workflow_outputs:[]},32:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:32,input_connections:{"split_parms|input":{id:29,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:null,name:"Split file",outputs:[{name:"list_output_tab",type:"input"}],position:{left:3579.625,top:528.8489583333334},post_job_actions:{RenameDatasetActionlist_output_tab:{action_arguments:{newname:"Per-sample variants for plotting"},action_type:"RenameDatasetAction",output_name:"list_output_tab"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "top": "1", "split_by": {"select_split_by": "col", "__current_case__": 0, "id_col": "1", "match_regex": "(.*)", "sub_regex": "\\\\1"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"9f938b6a-e7fb-4509-9c15-271c475092aa",when:null,workflow_outputs:[{label:"variants_for_plotting",output_name:"list_output_tab",uuid:"6bed4a2c-611a-4dd7-92bd-df5f07f0b581"}]},33:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/9.3+galaxy1",errors:null,id:33,input_connections:{infile:{id:30,output_name:"outfile"}},inputs:[],label:null,name:"Sort",outputs:[{name:"outfile",type:"input"}],position:{left:3826.890625,top:120.89583333333331},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"Combined Variant Report by Variant"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"header": "1", "ignore_case": false, "infile": {"__class__": "ConnectedValue"}, "sortkeys": [{"__index__": 0, "column": "1", "order": "", "style": "g"}], "unique": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"0b2f751b-03c6-4302-9060-16856bb4157c",when:null,workflow_outputs:[{label:"by_variant_report",output_name:"outfile",uuid:"bbb19b95-70e3-43fb-baae-525f752b86e9"}]},34:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/9.3+galaxy1",errors:null,id:34,input_connections:{infile:{id:31,output_name:"out_file1"}},inputs:[],label:null,name:"Sort",outputs:[{name:"outfile",type:"input"}],position:{left:3830.6875,top:330.55208333333337},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"Combined Variant Report by Sample"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"header": "1", "ignore_case": false, "infile": {"__class__": "ConnectedValue"}, "sortkeys": [{"__index__": 0, "column": "1", "order": "", "style": ""}, {"__index__": 1, "column": "2", "order": "", "style": "n"}], "unique": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"e55320de-be51-4fa5-908e-76c03de24a77",when:null,workflow_outputs:[{label:"combined_variant_report",output_name:"outfile",uuid:"3211bebc-9cdd-417b-b96d-d10cae6fd310"}]},35:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpfreqplot/snpfreqplot/1.0+galaxy3",errors:null,id:35,input_connections:{"clustering|nclust":{id:5,output_name:"output"},sinputs:{id:32,output_name:"list_output_tab"}},inputs:[{description:"runtime parameter for tool Variant Frequency Plot",name:"clustering"}],label:null,name:"Variant Frequency Plot",outputs:[{name:"outfile",type:"pdf"}],position:{left:3821.671875,top:596.9895833333334},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpfreqplot/snpfreqplot/1.0+galaxy3",tool_shed_repository:{changeset_revision:"3d0adeee3f2b",name:"snpfreqplot",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced": {"output_type": "svg", "ratio": "0.67", "color": "Set3"}, "clustering": {"do": "TRUE", "__current_case__": 0, "nclust": {"__class__": "ConnectedValue"}, "method": "ward.D2"}, "sinputs": {"__class__": "ConnectedValue"}, "varfreq": "0.0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0+galaxy3",type:"tool",uuid:"583b8d59-2cc0-468e-a0b7-3b1a788c7613",when:null,workflow_outputs:[{label:"variant_frequency_plot",output_name:"outfile",uuid:"986f1d1a-02c0-4d91-9f6e-a09a088732ee"}]}},tags:["COVID-19","covid19.galaxyproject.org"],uuid:"b08c744d-7c61-4b58-ac5f-4b5886c3c643"},readme:`COVID-19: variation analysis reporting -------------------------------------- @@ -912,6 +1772,91 @@ Added RO-Crate metadata file. No functional changes. ## [0.1] - Initial version of COVID-19: variation analysis reporting +`,diagrams:`# Workflow diagrams + +## COVID-19: variation analysis reporting + +\`\`\`mermaid +graph LR +0["ℹ️ Variation data to report"]@{ shape: docs } +1["ℹ️ AF Filter"]@{ shape: lean-l } +2["ℹ️ DP Filter"]@{ shape: lean-l } +3["ℹ️ DP_ALT Filter"]@{ shape: lean-l } +4["ℹ️ gene products translations"]@{ shape: doc } +5["ℹ️ Number of Clusters"]@{ shape: lean-l } +6["SnpSift Filter"]@{ shape: process } +0 --> 6 +7["Compose text parameter value"]@{ shape: process } +1 --> 7 +2 --> 7 +3 --> 7 +8["Compose text parameter value"]@{ shape: process } +1 --> 8 +2 --> 8 +3 --> 8 +9["SnpSift Filter"]@{ shape: process } +7 --> 9 +8 --> 9 +6 --> 9 +10["SnpSift Extract Fields"]@{ shape: process } +9 --> 10 +11["Replace column"]@{ shape: process } +10 --> 11 +4 --> 11 +12["Compute"]@{ shape: process } +11 --> 12 +13["Datamash"]@{ shape: process } +12 --> 13 +14["Replace"]@{ shape: process } +13 --> 14 +15["Collapse Collection"]@{ shape: process } +14 --> 15 +16["Compute"]@{ shape: process } +15 --> 16 +17["Replace"]@{ shape: process } +16 --> 17 +18["Datamash"]@{ shape: process } +17 --> 18 +19["Filter"]@{ shape: process } +17 --> 19 +20["Datamash"]@{ shape: process } +17 --> 20 +21["Join"]@{ shape: process } +19 --> 21 +18 --> 21 +22["Datamash"]@{ shape: process } +19 --> 22 +23["Datamash"]@{ shape: process } +19 --> 23 +24["Datamash"]@{ shape: process } +21 --> 24 +25["Join"]@{ shape: process } +17 --> 25 +22 --> 25 +26["Join"]@{ shape: process } +16 --> 26 +23 --> 26 +27["Cut"]@{ shape: process } +24 --> 27 +28["Join"]@{ shape: process } +25 --> 28 +20 --> 28 +29["Cut"]@{ shape: process } +26 --> 29 +30["Replace"]@{ shape: process } +27 --> 30 +31["Cut"]@{ shape: process } +28 --> 31 +32["Split file"]@{ shape: process } +29 --> 32 +33["Sort"]@{ shape: process } +30 --> 33 +34["Sort"]@{ shape: process } +31 --> 34 +35["Variant Frequency Plot"]@{ shape: process } +5 --> 35 +32 --> 35 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/sars-cov-2-variation-reporting/COVID-19-VARIATION-REPORTING",tests:[{doc:"Test generating variant report",job:{"gene products translations":{class:"File",location:"https://zenodo.org/record/4555735/files/NC_045512.2_feature_mapping.tsv?download=1"},"Variation data to report":{class:"Collection",collection_type:"list",elements:[{identifier:"artic",class:"File",path:"test-data/ont-artic.vcf"},{identifier:"illumina-wgs-se",class:"File",path:"test-data/se-illumina-wgs.vcf"},{identifier:"illumina-wgs-pe",class:"File",path:"test-data/pe-illumina-wgs.vcf"},{identifier:"pe-artic",class:"File",path:"test-data/pe-artic.vcf"}]}},outputs:{by_variant_report:{file:"test-data/by_variant_report.tsv"},combined_variant_report:{file:"test-data/combined_variant_report.tsv"}}}]}],path:"./workflows/sars-cov-2-variant-calling/sars-cov-2-variation-reporting"},{version:1.2,workflows:[{name:"COVID-19-SE-WGS-ILLUMINA",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/se-wgs-variation.ga",testParameterFiles:["/se-wgs-variation-tests.yml"],authors:[{name:"Wolfgang Maier",orcid:"0000-0002-9464-6640"}],definition:{a_galaxy_workflow:"true",annotation:"This workflows performs single end read mapping with bowtie2 followed by sensitive variant calling across a wide range of AFs with lofreq",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9464-6640",name:"Wolfgang Maier"}],"format-version":"0.1",license:"MIT",name:"COVID-19: variation analysis on WGS SE data",release:"0.1.5",steps:{0:{annotation:"Illumina reads with fastqsanger encoding",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Illumina reads with fastqsanger encoding",name:"Single End Collection"}],label:"Single End Collection",name:"Input dataset collection",outputs:[],position:{left:0,top:189.96875},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger", "fastqsanger.gz"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"fac0f79d-54bd-4c26-b18e-2804067a6522",when:null,workflow_outputs:[]},1:{annotation:"Fasta sequence for Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Fasta sequence for Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome",name:"NC_045512.2 FASTA sequence of SARS-CoV-2"}],label:"NC_045512.2 FASTA sequence of SARS-CoV-2",name:"Input dataset",outputs:[],position:{left:95.984375,top:601.984375},tool_id:null,tool_state:'{"optional": false, "format": ["fasta", "fasta.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"c9a062f4-3154-47de-b482-d8168a70f939",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0",errors:null,id:2,input_connections:{"single_paired|in1":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool fastp",name:"single_paired"}],label:null,name:"fastp",outputs:[{name:"out1",type:"input"},{name:"report_html",type:"html"},{name:"report_json",type:"json"}],position:{left:237.53125,top:0},post_job_actions:{HideDatasetActionreport_json:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report_json"},RenameDatasetActionout1:{action_arguments:{newname:"Trimmed and quality-filtered reads (fastp result)"},action_type:"RenameDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0",tool_shed_repository:{changeset_revision:"c59d48774d03",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": false, "qualified_quality_phred": null, "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": false, "length_required": null, "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": false, "complexity_threshold": null}}, "output_options": {"report_html": true, "report_json": true}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": false, "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": false, "umi_loc": "", "umi_len": null, "umi_prefix": ""}, "cutting_by_quality_options": {"cut_by_quality5": false, "cut_by_quality3": false, "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": false}}, "single_paired": {"single_paired_selector": "single", "__current_case__": 0, "in1": {"__class__": "ConnectedValue"}, "adapter_trimming_options": {"disable_adapter_trimming": false, "adapter_sequence1": ""}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.23.4+galaxy0",type:"tool",uuid:"226bdff2-28d7-46ec-9a17-887d577056f6",when:null,workflow_outputs:[{label:"preprocessed_reads",output_name:"out1",uuid:"21a2c281-bb1a-4632-9cdc-f67b7465041a"},{label:"fastp_html_report",output_name:"report_html",uuid:"d31c518e-b26c-42e7-9d62-c4adde285a27"}]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0",errors:null,id:3,input_connections:{"library|input_1":{id:2,output_name:"out1"},"reference_genome|own_file":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Bowtie2",name:"library"},{description:"runtime parameter for tool Bowtie2",name:"reference_genome"}],label:null,name:"Bowtie2",outputs:[{name:"output",type:"bam"},{name:"mapping_stats",type:"txt"}],position:{left:476.203125,top:210.890625},post_job_actions:{HideDatasetActionmapping_stats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"mapping_stats"},RenameDatasetActionoutput:{action_arguments:{newname:"Mapped reads (bowtie2 result)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0",tool_shed_repository:{changeset_revision:"0d4acadabb04",name:"bowtie2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"analysis_type": {"analysis_type_selector": "simple", "__current_case__": 0, "presets": "--very-sensitive"}, "library": {"type": "single", "__current_case__": 0, "input_1": {"__class__": "ConnectedValue"}, "unaligned_file": false, "aligned_file": false}, "reference_genome": {"source": "history", "__current_case__": 1, "own_file": {"__class__": "ConnectedValue"}}, "rg": {"rg_selector": "set_id_auto", "__current_case__": 2}, "sam_options": {"sam_options_selector": "no", "__current_case__": 1}, "save_mapping_stats": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.5.3+galaxy0",type:"tool",uuid:"befd5b2a-7f19-48bf-9133-55dddc3791f2",when:null,workflow_outputs:[{label:"mapped_reads",output_name:"output",uuid:"cea7a009-c5b0-418f-82b0-4a379ece0fe5"}]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0",errors:null,id:4,input_connections:{inputFile:{id:3,output_name:"output"}},inputs:[{description:"runtime parameter for tool MarkDuplicates",name:"inputFile"}],label:null,name:"MarkDuplicates",outputs:[{name:"metrics_file",type:"txt"},{name:"outFile",type:"bam"}],position:{left:752.484375,top:362.140625},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0",tool_shed_repository:{changeset_revision:"3f254c5ced1d",name:"picard",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "bam", "assume_sorted": true, "barcode_tag": "", "chromInfo": "/cvmfs/data.galaxyproject.org/managed/len/ucsc/?.len", "comments": [], "duplicate_scoring_strategy": "SUM_OF_BASE_QUALITIES", "inputFile": {"__class__": "ConnectedValue"}, "inputFile|__identifier__": "SRR11247078", "optical_duplicate_pixel_distance": "100", "read_name_regex": "", "remove_duplicates": true, "validation_stringency": "LENIENT", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1.0",type:"tool",uuid:"298f0df2-22f1-405d-92b3-272f73e3ef5b",when:null,workflow_outputs:[{label:"markduplicates_stats",output_name:"metrics_file",uuid:"873c1736-4a15-4805-a1ee-e64808b10a0a"},{label:"markduplicates_reads",output_name:"outFile",uuid:"10acc683-8d34-4017-892e-21c7bea450eb"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",errors:null,id:5,input_connections:{"results_0|software_cond|input":{id:2,output_name:"report_json"},"results_1|software_cond|input":{id:3,output_name:"mapping_stats"},"results_2|software_cond|output_0|input":{id:4,output_name:"metrics_file"}},inputs:[],label:null,name:"MultiQC",outputs:[{name:"stats",type:"input"},{name:"html_report",type:"html"}],position:{left:831.90625,top:18.71875},post_job_actions:{HideDatasetActionplots:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plots"},HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"},RenameDatasetActionhtml_report:{action_arguments:{newname:"Preprocessing and mapping reports"},action_type:"RenameDatasetAction",output_name:"html_report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",tool_shed_repository:{changeset_revision:"abfd8a6544d7",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "bowtie2", "__current_case__": 3, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "software_cond": {"software": "picard", "__current_case__": 17, "output": [{"__index__": 0, "type": "markdups", "input": {"__class__": "ConnectedValue"}}]}}], "saveLog": false, "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.11+galaxy1",type:"tool",uuid:"cba65a56-8563-4777-8a87-b4c0158d8015",when:null,workflow_outputs:[{label:"preprocessing_and_mapping_reports",output_name:"html_report",uuid:"01575724-b29c-465d-b9f0-8577ce82fd00"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_viterbi/lofreq_viterbi/2.1.5+galaxy0",errors:null,id:6,input_connections:{reads:{id:4,output_name:"outFile"},"reference_source|ref":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Realign reads",name:"reads"},{description:"runtime parameter for tool Realign reads",name:"reference_source"}],label:null,name:"Realign reads",outputs:[{name:"realigned",type:"bam"}],position:{left:980.125,top:538.46875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_viterbi/lofreq_viterbi/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"aa35ee7f3ab2",name:"lofreq_viterbi",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_options": {"keepflags": false, "bq2_handling": {"replace_bq2": "keep", "__current_case__": 0, "defqual": "2"}}, "reads": {"__class__": "ConnectedValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"967ad159-752b-4117-82f8-7fa9296897eb",when:null,workflow_outputs:[{label:"realigned_deduplicated_mapped_reads",output_name:"realigned",uuid:"d42cf1f6-fe7e-4559-8d47-d881ff16308e"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy1",errors:null,id:7,input_connections:{reads:{id:6,output_name:"realigned"},"strategy|reference_source|ref":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Insert indel qualities",name:"reads"}],label:null,name:"Insert indel qualities",outputs:[{name:"output",type:"bam"}],position:{left:1217.5,top:636.09375},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Fully processed reads for variant calling (deduplicated, realigned reads with added indelquals)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy1",tool_shed_repository:{changeset_revision:"971e07ca4456",name:"lofreq_indelqual",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"reads": {"__class__": "ConnectedValue"}, "strategy": {"selector": "dindel", "__current_case__": 1, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy1",type:"tool",uuid:"b2abc152-bdea-418f-af6b-566f83418ffb",when:null,workflow_outputs:[{label:"realigned_deduplicated_mapped_reads_with_indel_quals",output_name:"output",uuid:"9fc19a53-7ff5-4e69-9aa2-05400670ff3b"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy2",errors:null,id:8,input_connections:{reads:{id:7,output_name:"output"},"reference_source|ref":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Call variants",name:"reads"},{description:"runtime parameter for tool Call variants",name:"reference_source"}],label:null,name:"Call variants",outputs:[{name:"variants",type:"vcf"}],position:{left:1450.90625,top:733.734375},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy2",tool_shed_repository:{changeset_revision:"4805fe3d8fda",name:"lofreq_call",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"call_control": {"set_call_options": "yes", "__current_case__": 1, "coverage": {"min_cov": "5", "max_depth": "1000000"}, "pe": {"use_orphan": false}, "bc_quals": {"min_bq": "30", "min_alt_bq": "30", "alt_bq": {"modify": "", "__current_case__": 0}}, "align_quals": {"alnqual": {"use_alnqual": "", "__current_case__": 0, "alnqual_choice": {"alnquals_to_use": "", "__current_case__": 1, "extended_baq": true}}}, "map_quals": {"min_mq": "20", "use_mq": {"no_mq": "", "__current_case__": 0, "max_mq": "255"}}, "source_qual": {"use_src_qual": {"src_qual": "", "__current_case__": 0}}, "joint_qual": {"min_jq": "0", "min_alt_jq": "0", "def_alt_jq": "0"}}, "filter_control": {"filter_type": "set_custom", "__current_case__": 3, "sig": "0.0005", "bonf": "0", "others": false}, "reads": {"__class__": "ConnectedValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}, "regions": {"restrict_to_region": "genome", "__current_case__": 0}, "variant_types": "--call-indels", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy2",type:"tool",uuid:"c1515432-2f61-498d-9dcd-b44da6f923c7",when:null,workflow_outputs:[{label:"called_variant",output_name:"variants",uuid:"1f968e8a-6574-4002-b2c6-a7faf96111ef"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_filter/lofreq_filter/2.1.5+galaxy0",errors:null,id:9,input_connections:{invcf:{id:8,output_name:"variants"}},inputs:[{description:"runtime parameter for tool Lofreq filter",name:"invcf"}],label:null,name:"Lofreq filter",outputs:[{name:"outvcf",type:"vcf"}],position:{left:1498.515625,top:612.421875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_filter/lofreq_filter/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"7dfca164d2e3",name:"lofreq_filter",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"af": {"af_min": "0.0", "af_max": "0.0"}, "coverage": {"cov_min": "0", "cov_max": "0"}, "filter_by_type": {"keep_only": "", "__current_case__": 0, "qual": {"snvqual_filter": {"snvqual": "no", "__current_case__": 0}, "indelqual_filter": {"indelqual": "no", "__current_case__": 0}}}, "flag_or_drop": "--print-all", "invcf": {"__class__": "ConnectedValue"}, "sb": {"sb_filter": {"strand_bias": "mtc", "__current_case__": 2, "sb_alpha": "0.001", "sb_mtc": "fdr", "sb_compound": true, "sb_indels": false}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"f9db3062-6214-4c07-a006-001277dc0be5",when:null,workflow_outputs:[{label:"soft_filtered_variants",output_name:"outvcf",uuid:"9f6aebda-a899-4303-b186-7ae5faff79e2"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff_sars_cov_2/snpeff_sars_cov_2/4.5covid19",errors:null,id:10,input_connections:{input:{id:9,output_name:"outvcf"}},inputs:[{description:"runtime parameter for tool SnpEff eff:",name:"input"},{description:"runtime parameter for tool SnpEff eff:",name:"intervals"},{description:"runtime parameter for tool SnpEff eff:",name:"transcripts"}],label:"SnpEff eff covid19 version",name:"SnpEff eff:",outputs:[{name:"snpeff_output",type:"vcf"},{name:"statsFile",type:"html"}],position:{left:1544.40625,top:285.5},post_job_actions:{RenameDatasetActionsnpeff_output:{action_arguments:{newname:"Final (SnpEff-)annotated variants"},action_type:"RenameDatasetAction",output_name:"snpeff_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff_sars_cov_2/snpeff_sars_cov_2/4.5covid19",tool_shed_repository:{changeset_revision:"2a3a00c1fa0a",name:"snpeff_sars_cov_2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"annotations": ["-formatEff", "-classic"], "chr": "", "csvStats": false, "filter": {"specificEffects": "no", "__current_case__": 0}, "filterOut": ["-no-downstream", "-no-intergenic", "-no-upstream", "-no-utr"], "generate_stats": true, "genome_version": "NC_045512.2", "input": {"__class__": "ConnectedValue"}, "inputFormat": "vcf", "intervals": {"__class__": "RuntimeValue"}, "noLog": true, "offset": "default", "outputConditional": {"outputFormat": "vcf", "__current_case__": 0}, "transcripts": {"__class__": "RuntimeValue"}, "udLength": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.5covid19",type:"tool",uuid:"6b370dfb-970b-49c2-8060-c017f50508e8",when:null,workflow_outputs:[{label:"annotated_variants",output_name:"snpeff_output",uuid:"c9297840-841f-430d-81c9-bfd721b8203b"},{label:"annotated_variants_stats",output_name:"statsFile",uuid:"adfc092c-6cae-410c-b86c-36fdb0703e9b"}]}},tags:["COVID-19","covid19.galaxyproject.org"],uuid:"5171bc59-590c-4e97-8db8-004f73928627",version:6},readme:`COVID-19: variation analysis on WGS SE data ------------------------------------------- @@ -956,6 +1901,39 @@ Fix reference to test file in .dockstore.yml ## [0.1] - Initial version of COVID-19: variation analysis on WGS SE data workflow +`,diagrams:`# Workflow diagrams + +## COVID-19: variation analysis on WGS SE data + +\`\`\`mermaid +graph LR +0["ℹ️ Single End Collection"]@{ shape: docs } +1["ℹ️ NC_045512.2 FASTA sequence of SARS-CoV-2"]@{ shape: doc } +2["fastp"]@{ shape: process } +0 --> 2 +3["Bowtie2"]@{ shape: process } +2 --> 3 +1 --> 3 +4["MarkDuplicates"]@{ shape: process } +3 --> 4 +5["MultiQC"]@{ shape: process } +2 --> 5 +3 --> 5 +4 --> 5 +6["Realign reads"]@{ shape: process } +4 --> 6 +1 --> 6 +7["Insert indel qualities"]@{ shape: process } +6 --> 7 +1 --> 7 +8["Call variants"]@{ shape: process } +7 --> 8 +1 --> 8 +9["Lofreq filter"]@{ shape: process } +8 --> 9 +10["SnpEff eff covid19 version"]@{ shape: process } +9 --> 10 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/sars-cov-2-se-illumina-wgs-variant-calling/COVID-19-SE-WGS-ILLUMINA",tests:[{doc:"Test workflow execution using paired end illumina accession",job:{"NC_045512.2 FASTA sequence of SARS-CoV-2":{class:"File",location:"https://zenodo.org/record/4555735/files/NC_045512.2_reference.fasta?download=1"},"Single End Collection":{class:"Collection",collection_type:"list",elements:[{identifier:"SRR11605118",class:"File",location:"https://www.be-md.ncbi.nlm.nih.gov/Traces/sra-reads-be/fastq?acc=SRR11605118"}]}},outputs:{annotated_variants:{attributes:{},element_tests:{SRR11605118:{asserts:{has_line:{line:"#CHROM POS ID REF ALT QUAL FILTER INFO"},has_text_matching:{expression:"NC_045512.2 16111 . C T [0-9.]* PASS DP=[0-9]*;AF=0.[89][0-9]*;SB=0;DP4=[0-9]*,[0-9]*,[0-9]*,[0-9]*;EFF=SYNONYMOUS_CODING\\(LOW|SILENT|Cta/Tta|L5283|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T\\),SYNONYMOUS_CODING\\(LOW|SILENT|Cta/Tta|L891|931|ORF1ab|protein_coding|CODING|YP_009725307.1|2|T|WARNING_TRANSCRIPT_NO_START_CODON\\)"}}}}}}}]}],path:"./workflows/sars-cov-2-variant-calling/sars-cov-2-se-illumina-wgs-variant-calling"},{version:1.2,workflows:[{name:"SARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/pe-wgs-ivar-analysis.ga",authors:[{name:"Peter van Heusden",orcid:"0000-0001-6553-5274"}],definition:{a_galaxy_workflow:"true",annotation:"Find and annotate variants in ampliconic SARS-CoV-2 Illumina sequencing data and classify samples with pangolin and nextclade",creator:[{class:"Person",identifier:"https://orcid.org/0000-0001-6553-5274",name:"Peter van Heusden"}],release:"0.2.3","format-version":"0.1",license:"MIT",name:"SARS-CoV-2 Illumina Amplicon pipeline - iVar based",steps:{0:{annotation:"FASTQ format Illumina Reads (Amplicon Protocol)",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"FASTQ format Illumina Reads (Amplicon Protocol)",name:"Paired read collection for samples"}],label:"Paired read collection for samples",name:"Input dataset collection",outputs:[],position:{left:2,top:33.99998474121094},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"ce39f6b7-b9f6-4431-8831-7a284fe826a7",when:null,workflow_outputs:[]},1:{annotation:"SARS-CoV-2 reference genome (typically MN908947.3)",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"SARS-CoV-2 reference genome (typically MN908947.3)",name:"Reference FASTA"}],label:"Reference FASTA",name:"Input dataset",outputs:[],position:{left:0,top:279.99998474121094},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"25167e70-195c-4cda-9219-dbfe2f70c863",when:null,workflow_outputs:[]},2:{annotation:"Primer BED file (from ARTIC project or similar)",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Primer BED file (from ARTIC project or similar)",name:"Primer BED"}],label:"Primer BED",name:"Input dataset",outputs:[],position:{left:6,top:391.49998474121094},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"6c8951a5-f254-4564-8d17-f78e018077ec",when:null,workflow_outputs:[]},3:{annotation:"Specify the proportion of reads that need to agree with each other to call a variant. This is a floating point value between 0 and 1. ",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Specify the proportion of reads that need to agree with each other to call a variant. This is a floating point value between 0 and 1. ",name:"Read fraction to call variant"}],label:"Read fraction to call variant",name:"Input parameter",outputs:[],position:{left:34.35003662109375,top:635.9999847412109},tool_id:null,tool_state:'{"default": 0.7, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"57a3622f-6908-4c1d-b88d-3bc318ac9d73",when:null,workflow_outputs:[]},4:{annotation:"Minimum base quality score to count a base towards the sequence consensus.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Minimum base quality score to count a base towards the sequence consensus.",name:"Minimum quality score to call base"}],label:"Minimum quality score to call base",name:"Input parameter",outputs:[],position:{left:29.4000244140625,top:802.0000457763672},tool_id:null,tool_state:'{"default": 20, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"00fdc318-b4b7-404e-900b-54087a891f55",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0",errors:null,id:5,input_connections:{"single_paired|paired_input":{id:0,output_name:"output"}},inputs:[],label:"fastp: Trimmed Illumina Reads",name:"fastp",outputs:[{name:"output_paired_coll",type:"input"},{name:"report_html",type:"html"},{name:"report_json",type:"json"}],position:{left:280.00001525878906,top:0},post_job_actions:{HideDatasetActionoutput_paired_coll:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_paired_coll"},HideDatasetActionreport_html:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report_html"},HideDatasetActionreport_json:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0",tool_shed_repository:{changeset_revision:"65b93b623c77",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": false, "qualified_quality_phred": null, "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": false, "length_required": null, "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": false, "complexity_threshold": null}}, "output_options": {"report_html": true, "report_json": true}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": false, "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": false, "umi_loc": "", "umi_len": null, "umi_prefix": ""}, "cutting_by_quality_options": {"cut_by_quality5": false, "cut_by_quality3": false, "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": false}}, "single_paired": {"single_paired_selector": "paired_collection", "__current_case__": 2, "paired_input": {"__class__": "ConnectedValue"}, "adapter_trimming_options": {"disable_adapter_trimming": false, "adapter_sequence1": "", "adapter_sequence2": ""}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null, "trim_front2": null, "trim_tail2": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.23.2+galaxy0",type:"tool",uuid:"fb6601de-99e2-4271-813d-0e97027e54c7",when:null,workflow_outputs:[]},6:{annotation:"If the reference is named MN908947.3 (Genbank name of SARS-CoV-2 reference genome), rename it to NC_045512.2 (RefSeq name of SARS-CoV-2 reference genome)",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1",errors:null,id:6,input_connections:{infile:{id:1,output_name:"output"}},inputs:[],label:"Rename reference to NC_045512.2",name:"Text transformation",outputs:[{name:"output",type:"input"}],position:{left:270.00001525878906,top:274.49998474121094},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1",tool_shed_repository:{changeset_revision:"ddf54b12c295",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "code": "/^>/s/^>MN908947.3/>NC_045512.2/", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"5828628c-ef20-428d-b76e-8d502a8d3097",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2",errors:null,id:7,input_connections:{"fastq_input|fastq_input1":{id:5,output_name:"output_paired_coll"},"reference_source|ref_file":{id:6,output_name:"output"}},inputs:[],label:null,name:"Map with BWA-MEM",outputs:[{name:"bam_output",type:"bam"}],position:{left:558.0000152587891,top:95.99998474121094},post_job_actions:{HideDatasetActionbam_output:{action_arguments:{},action_type:"HideDatasetAction",output_name:"bam_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2",tool_shed_repository:{changeset_revision:"e188dc7a68e6",name:"bwa",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"analysis_type": {"analysis_type_selector": "illumina", "__current_case__": 0}, "fastq_input": {"fastq_input_selector": "paired_collection", "__current_case__": 2, "fastq_input1": {"__class__": "ConnectedValue"}, "iset_stats": ""}, "output_sort": "coordinate", "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}, "index_a": "auto"}, "rg": {"rg_selector": "do_not_set", "__current_case__": 3}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.7.17.2",type:"tool",uuid:"11cea040-0e8a-4b53-8d16-7bd55f9e1074",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.4",errors:null,id:8,input_connections:{input:{id:7,output_name:"bam_output"}},inputs:[],label:null,name:"Samtools stats",outputs:[{name:"output",type:"tabular"}],position:{left:836,top:95.99998474121094},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.4",tool_shed_repository:{changeset_revision:"3a0efe14891f",name:"samtools_stats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "cond_region": {"select_region": "no", "__current_case__": 0}, "cov_threshold": null, "coverage_cond": {"coverage_select": "no", "__current_case__": 0}, "filter_by_flags": {"filter_flags": "nofilter", "__current_case__": 1}, "gc_depth": null, "input": {"__class__": "ConnectedValue"}, "insert_size": null, "most_inserts": null, "read_group": null, "read_length": null, "remove_dups": false, "remove_overlaps": false, "sparse": false, "split_output_cond": {"split_output_selector": "no", "__current_case__": 0}, "trim_quality": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.4",type:"tool",uuid:"217c653d-84a7-49dd-ba0f-601bb651ee7d",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0",errors:null,id:9,input_connections:{input:{id:7,output_name:"bam_output"}},inputs:[],label:null,name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:839.3500366210938,top:295.6666717529297},post_job_actions:{HideDatasetActionoutputsam:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0",tool_shed_repository:{changeset_revision:"5826298f6a73",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "quality": "20", "library": "", "cigarcons": null, "inclusive_filter": ["1", "2"], "exclusive_filter": null, "exclusive_filter_all": null, "tag": null, "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "fraction", "__current_case__": 0, "factor": "1.0", "seed": null}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.15.1+galaxy0",type:"tool",uuid:"1972d86f-45de-4b7b-aca2-e53ccc240fb8",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/qualimap_bamqc/qualimap_bamqc/2.2.2d+galaxy3",errors:null,id:10,input_connections:{input1:{id:9,output_name:"outputsam"}},inputs:[],label:null,name:"QualiMap BamQC",outputs:[{name:"raw_data",type:"input"},{name:"output_html",type:"html"}],position:{left:1114,top:172.99998474121094},post_job_actions:{HideDatasetActionoutput_html:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_html"},HideDatasetActionraw_data:{action_arguments:{},action_type:"HideDatasetAction",output_name:"raw_data"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/qualimap_bamqc/qualimap_bamqc/2.2.2d+galaxy3",tool_shed_repository:{changeset_revision:"19ece8afbaab",name:"qualimap_bamqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"duplicate_skipping": ["0"], "input1": {"__class__": "ConnectedValue"}, "per_base_coverage": false, "plot_specific": {"n_bins": "400", "paint_chromosome_limits": true, "genome_gc_distr": null, "homopolymer_size": "3"}, "stats_regions": {"region_select": "all", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.2d+galaxy3",type:"tool",uuid:"a0720c38-9db1-494e-8976-8baa83f69613",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.4.2+galaxy0",errors:null,id:11,input_connections:{input_bam:{id:9,output_name:"outputsam"},"primer|input_bed":{id:2,output_name:"output"}},inputs:[],label:null,name:"ivar trim",outputs:[{name:"output_bam",type:"bam"}],position:{left:1114,top:415.99998474121094},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.4.2+galaxy0",tool_shed_repository:{changeset_revision:"0893a1dbb807",name:"ivar_trim",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"amplicons": {"filter_by": "yes_compute", "__current_case__": 0}, "inc_primers": true, "input_bam": {"__class__": "ConnectedValue"}, "min_len": "30", "min_qual": "20", "primer": {"source": "history", "__current_case__": 0, "input_bed": {"__class__": "ConnectedValue"}}, "primer_pos_wiggle": "0", "trimmed_length": {"filter": "auto", "__current_case__": 1}, "window_width": "4", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.4.2+galaxy0",type:"tool",uuid:"8841f373-8ce6-4aba-aefa-70acd5daff73",when:null,workflow_outputs:[{label:"primer_trimmed_bam",output_name:"output_bam",uuid:"ebdd8f89-6559-44a9-9616-c57b78e7a915"}]},12:{annotation:"",content_id:"__FLATTEN__",errors:null,id:12,input_connections:{input:{id:10,output_name:"raw_data"}},inputs:[],label:null,name:"Flatten collection",outputs:[{name:"output",type:"input"}],position:{left:1392,top:218.99998474121094},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__FLATTEN__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "join_identifier": "_", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"f2fe26ec-f30b-4bc7-9dd6-62f3c9538ae7",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_variants/ivar_variants/1.4.2+galaxy1",errors:null,id:13,input_connections:{input_bam:{id:11,output_name:"output_bam"},min_freq:{id:3,output_name:"output"},min_qual:{id:4,output_name:"output"},ref:{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool ivar variants",name:"output_format"}],label:null,name:"ivar variants",outputs:[{name:"output_variants_tabular",type:"tabular"},{name:"output_variants_vcf",type:"vcf"}],position:{left:1414,top:448.49998474121094},post_job_actions:{HideDatasetActionoutput_variants_vcf:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_variants_vcf"},RenameDatasetActionoutput_variants_tabular:{action_arguments:{newname:"ivar variants tabular output on #{input}"},action_type:"RenameDatasetAction",output_name:"output_variants_tabular"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_variants/ivar_variants/1.4.2+galaxy1",tool_shed_repository:{changeset_revision:"045d6d00f606",name:"ivar_variants",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_bam": {"__class__": "ConnectedValue"}, "min_freq": {"__class__": "ConnectedValue"}, "min_qual": {"__class__": "ConnectedValue"}, "output_format": {"choice": "tabular_and_vcf", "__current_case__": 1, "pass_only": false, "gtf": {"__class__": "RuntimeValue"}}, "ref": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.4.2+galaxy1",type:"tool",uuid:"0b2aa4bf-69dd-4ccc-b0a2-4a734848e2b8",when:null,workflow_outputs:[{label:"ivar_variants_tabular",output_name:"output_variants_tabular",uuid:"319f50e1-71fb-445e-b3e3-8015d2787f5f"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_consensus/ivar_consensus/1.4.2+galaxy0",errors:null,id:14,input_connections:{input_bam:{id:11,output_name:"output_bam"},min_freq:{id:3,output_name:"output"},min_qual:{id:4,output_name:"output"}},inputs:[],label:null,name:"ivar consensus",outputs:[{name:"consensus",type:"fasta"}],position:{left:1392,top:780.9999847412109},post_job_actions:{HideDatasetActionconsensus:{action_arguments:{},action_type:"HideDatasetAction",output_name:"consensus"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_consensus/ivar_consensus/1.4.2+galaxy0",tool_shed_repository:{changeset_revision:"17f911830a8c",name:"ivar_consensus",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"depth_action": "-n N", "filter_depth": "false", "gap": "true", "input_bam": {"__class__": "ConnectedValue"}, "min_depth": "50", "min_freq": {"__class__": "ConnectedValue"}, "min_indel_freq": "0.8", "min_qual": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.4.2+galaxy0",type:"tool",uuid:"5fb477e6-e7ac-4e02-a31f-335228becdf3",when:null,workflow_outputs:[]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",errors:null,id:15,input_connections:{"results_0|software_cond|input":{id:5,output_name:"report_json"},"results_1|software_cond|output_0|type|input":{id:8,output_name:"output"},"results_2|software_cond|input":{id:12,output_name:"output"}},inputs:[],label:"Quality Control Report",name:"MultiQC",outputs:[{name:"stats",type:"input"},{name:"html_report",type:"html"}],position:{left:1670,top:97.99998474121094},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"},RenameDatasetActionhtml_report:{action_arguments:{newname:"Quality Control report"},action_type:"RenameDatasetAction",output_name:"html_report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",tool_shed_repository:{changeset_revision:"abfd8a6544d7",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "samtools", "__current_case__": 24, "output": [{"__index__": 0, "type": {"type": "stats", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 2, "software_cond": {"software": "qualimap", "__current_case__": 20, "input": {"__class__": "ConnectedValue"}}}], "saveLog": false, "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.11+galaxy1",type:"tool",uuid:"d03312e1-3b85-4883-b601-6081acf7503d",when:null,workflow_outputs:[{label:"bamqc_report_html",output_name:"html_report",uuid:"0489d543-59ec-4f03-be4c-d13b14b03ac7"}]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff_sars_cov_2/snpeff_sars_cov_2/4.5covid19",errors:null,id:16,input_connections:{input:{id:13,output_name:"output_variants_vcf"}},inputs:[{description:"runtime parameter for tool SnpEff eff:",name:"intervals"},{description:"runtime parameter for tool SnpEff eff:",name:"transcripts"}],label:"Annotated variants",name:"SnpEff eff:",outputs:[{name:"snpeff_output",type:"vcf"},{name:"statsFile",type:"html"}],position:{left:2174,top:447.99998474121094},post_job_actions:{HideDatasetActionstatsFile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"statsFile"},RenameDatasetActionsnpeff_output:{action_arguments:{newname:"Annotated variants"},action_type:"RenameDatasetAction",output_name:"snpeff_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff_sars_cov_2/snpeff_sars_cov_2/4.5covid19",tool_shed_repository:{changeset_revision:"2a3a00c1fa0a",name:"snpeff_sars_cov_2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"annotations": null, "chr": "", "csvStats": false, "filter": {"specificEffects": "no", "__current_case__": 0}, "filterOut": null, "generate_stats": true, "genome_version": "NC_045512.2", "input": {"__class__": "ConnectedValue"}, "inputFormat": "vcf", "intervals": {"__class__": "RuntimeValue"}, "noLog": true, "offset": "default", "outputConditional": {"outputFormat": "vcf", "__current_case__": 0}, "transcripts": {"__class__": "RuntimeValue"}, "udLength": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.5covid19",type:"tool",uuid:"a8b63b67-2795-4e21-8614-f7d24cec2224",when:null,workflow_outputs:[{label:"snpeff_annotated_vcf",output_name:"snpeff_output",uuid:"8f6057ec-4a34-4c49-ad4b-f0d93ba33878"}]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1",errors:null,id:17,input_connections:{infile:{id:14,output_name:"consensus"}},inputs:[],label:"Consensus genome (masked for depth)",name:"Text transformation",outputs:[{name:"output",type:"input"}],position:{left:1670,top:802.0000457763672},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Consensus genome"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1",tool_shed_repository:{changeset_revision:"ddf54b12c295",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "code": "/^>/s/Consensus_(.*)_threshold_.*/\\\\1/", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"877a609d-d2fa-430d-8b78-2b484af52bda",when:null,workflow_outputs:[{label:"ivar_consensus_genome",output_name:"output",uuid:"cabe916a-b8ba-49e1-af9d-30dad1bd44ae"}]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1",errors:null,id:18,input_connections:{inputs:{id:17,output_name:"output"}},inputs:[],label:null,name:"Concatenate datasets",outputs:[{name:"out_file1",type:"input"}],position:{left:1913,top:913.5000457763672},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Combined Consensus Genomes"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1",tool_shed_repository:{changeset_revision:"d698c222f354",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"inputs": {"__class__": "ConnectedValue"}, "queries": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"87e8ec0a-d8e8-48f3-b943-04c75152fec2",when:null,workflow_outputs:[{label:"combined_multifasta",output_name:"out_file1",uuid:"d58378c8-fe46-4cab-9317-5991a3561221"}]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pangolin/pangolin/4.3+galaxy1",errors:null,id:19,input_connections:{input1:{id:18,output_name:"out_file1"}},inputs:[],label:null,name:"Pangolin",outputs:[{name:"output1",type:"tabular"}],position:{left:2177,top:830.5000457763672},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pangolin/pangolin/4.3+galaxy1",tool_shed_repository:{changeset_revision:"2f1019071464",name:"pangolin",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"alignment": false, "constellations": {"source": "default", "__current_case__": 0}, "db": {"__current_case__": 0, "source": "download"}, "engine": {"analysis_mode": "usher", "__current_case__": 0, "pangolin_data": {"source": "default", "__current_case__": 0}}, "expanded_lineage": false, "include_header": true, "input1": {"__class__": "ConnectedValue"}, "max_ambig": "0.5", "min_length": "10000", "usher": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+galaxy1",type:"tool",uuid:"15ff9812-4ff9-4ac2-9f95-c65bab4eb070",when:null,workflow_outputs:[{label:"all_samples_pangolin",output_name:"output1",uuid:"a0468d09-08a4-43de-be10-4dc4e6973b99"}]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/nextclade/nextclade/2.7.0+galaxy0",errors:null,id:20,input_connections:{input_fasta:{id:18,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool Nextclade",name:"input_fasta"}],label:null,name:"Nextclade",outputs:[{name:"report_tsv",type:"tabular"}],position:{left:2176,top:999.0000457763672},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/nextclade/nextclade/2.7.0+galaxy0",tool_shed_repository:{changeset_revision:"128ba8da994f",name:"nextclade",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"advanced_options": "no", "__current_case__": 1}, "db": {"source": "download", "__current_case__": 1}, "include_header": true, "input_fasta": {"__class__": "RuntimeValue"}, "organism": "sars-cov-2", "outputs": ["report_tsv"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.7.0+galaxy0",type:"tool",uuid:"4b821f22-47f8-4251-bc32-5aa167498ba7",when:null,workflow_outputs:[{label:"all_samples_nextclade",output_name:"report_tsv",uuid:"4cd1f6bd-be94-43c3-9d4a-773f178b96c4"}]}},tags:["COVID-19","ARTIC","iwc"],uuid:"3d86e5fc-cad1-4e21-8ecc-d0e6637899bc",version:1},readme:`# COVID-19 sequence analysis on Illumina Amplicon PE data This workflow implements an [iVar](https://github.com/andersen-lab/ivar) based analysis similar to @@ -1016,6 +1994,59 @@ TODO: ## [0.1] - 2021-06-20 - Initial version of SARS-CoV-2 Illumina Amplicon pipeline - iVar based for IWC +`,diagrams:`# Workflow diagrams + +## SARS-CoV-2 Illumina Amplicon pipeline - iVar based + +\`\`\`mermaid +graph LR +0["ℹ️ Paired read collection for samples"]@{ shape: docs } +1["ℹ️ Reference FASTA"]@{ shape: doc } +2["ℹ️ Primer BED"]@{ shape: doc } +3["ℹ️ Read fraction to call variant"]@{ shape: lean-l } +4["ℹ️ Minimum quality score to call base"]@{ shape: lean-l } +5["fastp: Trimmed Illumina Reads"]@{ shape: process } +0 --> 5 +6["Rename reference to NC_045512.2"]@{ shape: process } +1 --> 6 +7["Map with BWA-MEM"]@{ shape: process } +5 --> 7 +6 --> 7 +8["Samtools stats"]@{ shape: process } +7 --> 8 +9["Samtools view"]@{ shape: process } +7 --> 9 +10["QualiMap BamQC"]@{ shape: process } +9 --> 10 +11["ivar trim"]@{ shape: process } +9 --> 11 +2 --> 11 +12["Flatten collection"]@{ shape: process } +10 --> 12 +13["ivar variants"]@{ shape: process } +11 --> 13 +3 --> 13 +4 --> 13 +1 --> 13 +14["ivar consensus"]@{ shape: process } +11 --> 14 +3 --> 14 +4 --> 14 +15["Quality Control Report"]@{ shape: process } +5 --> 15 +8 --> 15 +12 --> 15 +16["Annotated variants"]@{ shape: process } +13 --> 16 +17["Consensus genome (masked for depth)"]@{ shape: process } +14 --> 17 +18["Concatenate datasets"]@{ shape: process } +17 --> 18 +19["Pangolin"]@{ shape: process } +18 --> 19 +20["Nextclade"]@{ shape: process } +18 --> 20 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/sars-cov-2-pe-illumina-artic-ivar-analysis/SARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE"}],path:"./workflows/sars-cov-2-variant-calling/sars-cov-2-pe-illumina-artic-ivar-analysis"},{version:1.2,workflows:[{name:"COVID-19-ARTIC-ONT",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/ont-artic-variation.ga",testParameterFiles:["/ont-artic-variation-tests.yml"],authors:[{name:"Wolfgang Maier",orcid:"0000-0002-9464-6640"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow for ONT-sequenced ARTIC data is modeled after the alignment/variant-calling steps of the [ARTIC pipeline](https://artic.readthedocs.io/en/latest/). It performs, essentially, the same steps as that pipeline’s minion command, i.e. read mapping with minimap2 and variant calling with medaka. Like the Illumina ARTIC workflow it uses ivar for primer trimming. Since ONT-sequenced reads have a much higher error rate than Illumina-sequenced reads and are therefor plagued more by false-positive variant calls, this workflow does make no attempt to handle amplicons affected by potential primer-binding site mutations.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9464-6640",name:"Wolfgang Maier"}],"format-version":"0.1",license:"MIT",name:"COVID-19: variation analysis of ARTIC ONT data",release:"0.3.2",steps:{0:{annotation:"ONT reads from ARTIC assay with fastqsanger encoding",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"ONT reads from ARTIC assay with fastqsanger encoding",name:"ONT-sequenced reads"}],label:"ONT-sequenced reads",name:"Input dataset collection",outputs:[],position:{bottom:230.265625,height:105,left:-1042.453125,right:-842.453125,top:125.265625,width:200,x:-1042.453125,y:125.265625},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger", "fastqsanger.gz"], "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"27eb7472-10b2-479a-b57f-d55aee92605a",workflow_outputs:[]},1:{annotation:"Discard reads that are shorter than this length",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Discard reads that are shorter than this length",name:"Minimum read length"}],label:"Minimum read length",name:"Input parameter",outputs:[],position:{bottom:362.609375,height:105,left:-1042.5,right:-842.5,top:257.609375,width:200,x:-1042.5,y:257.609375},tool_id:null,tool_state:'{"default": 400, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"d10a48bc-95d0-4f53-b5a5-bff17e020aea",workflow_outputs:[{label:null,output_name:"output",uuid:"446daa93-2c4a-41ce-88d8-3213cb61dcaa"}]},2:{annotation:"Discard reads that are longer than this length",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Discard reads that are longer than this length",name:"Maximum read length"}],label:"Maximum read length",name:"Input parameter",outputs:[],position:{bottom:499.546875,height:105,left:-1035.46875,right:-835.46875,top:394.546875,width:200,x:-1035.46875,y:394.546875},tool_id:null,tool_state:'{"default": 700, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"be62c106-273a-4102-a9a1-1376525e4f4e",workflow_outputs:[{label:null,output_name:"output",uuid:"bb83c99a-636c-45a7-85fd-438ef84a6dfb"}]},3:{annotation:"Fasta sequence for Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Fasta sequence for Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome",name:"NC_045512.2 FASTA sequence of SARS-CoV-2"}],label:"NC_045512.2 FASTA sequence of SARS-CoV-2",name:"Input dataset",outputs:[],position:{bottom:636.578125,height:105,left:-1034.6875,right:-834.6875,top:531.578125,width:200,x:-1034.6875,y:531.578125},tool_id:null,tool_state:'{"optional": false, "format": ["fasta", "fasta.gz"]}',tool_version:null,type:"data_input",uuid:"b67b0bfd-6771-444a-ae7d-5d02f7f9157b",workflow_outputs:[]},4:{annotation:"BED file containing (ARTIC) primer positions. For ARTIC primer schemes the file can be obtained from https://usegalaxy.eu/u/wolfgang-maier/h/covid-19-resources.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"BED file containing (ARTIC) primer positions. For ARTIC primer schemes the file can be obtained from https://usegalaxy.eu/u/wolfgang-maier/h/covid-19-resources.",name:"Primer binding sites info in BED format"}],label:"Primer binding sites info in BED format",name:"Input dataset",outputs:[],position:{bottom:785.640625,height:105,left:-1031.953125,right:-831.953125,top:680.640625,width:200,x:-1031.953125,y:680.640625},tool_id:null,tool_state:'{"optional": false, "format": ["bed"]}',tool_version:null,type:"data_input",uuid:"4faea19f-da1d-4683-9317-f7861174a8b6",workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.20.1+galaxy0",errors:null,id:5,input_connections:{"filter_options|length_filtering_options|length_limit":{id:2,output_name:"output"},"filter_options|length_filtering_options|length_required":{id:1,output_name:"output"},"single_paired|in1":{id:0,output_name:"output"}},inputs:[],label:null,name:"fastp",outputs:[{name:"out1",type:"input"},{name:"report_html",type:"html"}],position:{bottom:337,height:209,left:-790.8125,right:-590.8125,top:128,width:200,x:-790.8125,y:128},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.20.1+galaxy0",tool_shed_repository:{changeset_revision:"dbf9c561ef29",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": "true", "qualified_quality_phred": null, "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": "false", "length_required": {"__class__": "ConnectedValue"}, "length_limit": {"__class__": "ConnectedValue"}}, "low_complexity_filter": {"enable_low_complexity_filter": "false", "complexity_threshold": null}}, "output_options": {"report_html": "true", "report_json": "false"}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": "false", "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "-G", "__current_case__": 2}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": "false", "umi_loc": "", "umi_len": null, "umi_prefix": ""}, "cutting_by_quality_options": {"cut_by_quality5": "false", "cut_by_quality3": "false", "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": "false"}}, "single_paired": {"single_paired_selector": "single", "__current_case__": 0, "in1": {"__class__": "ConnectedValue"}, "adapter_trimming_options": {"disable_adapter_trimming": "true", "adapter_sequence1": ""}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.20.1+galaxy0",type:"tool",uuid:"69ab6918-2d3e-4512-81bf-692fb776bb74",workflow_outputs:[{label:"length_filtered_reads",output_name:"out1",uuid:"dd4c3b98-91d8-4963-b40f-e7e5a5e99e24"},{label:"fastp_report",output_name:"report_html",uuid:"c89895ce-50a7-4c19-aa3c-badc0cb534d3"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6",errors:null,id:6,input_connections:{input:{id:4,output_name:"output"}},inputs:[],label:null,name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{bottom:817.796875,height:95,left:-563.46875,right:-363.46875,top:722.796875,width:200,x:-563.46875,y:722.796875},post_job_actions:{ChangeDatatypeActionout_file1:{action_arguments:{newtype:"tabular"},action_type:"ChangeDatatypeAction",output_name:"out_file1"},HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6",tool_shed_repository:{changeset_revision:"02026300aa45",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"avoid_scientific_notation": "false", "cond": "c3-c2", "header_lines_conditional": {"header_lines_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "round": "true", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.6",type:"tool",uuid:"d8c4dcca-6715-4c2d-8598-8f9621a26e6b",workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_column/1.1.3",errors:null,id:7,input_connections:{infile:{id:4,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{bottom:1039.5,height:116,left:77.578125,right:277.578125,top:923.5,width:200,x:77.578125,y:923.5},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_column/1.1.3",tool_shed_repository:{changeset_revision:"ddf54b12c295",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "column": "1", "find_pattern": "MN908947.3", "replace_pattern": "NC_045512.2"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3",type:"tool",uuid:"06a64d18-798b-4b40-b744-f20b62b8e23b",workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.17+galaxy2",errors:null,id:8,input_connections:{"fastq_input|fastq_input1":{id:5,output_name:"out1"},"reference_source|ref_file":{id:3,output_name:"output"}},inputs:[],label:null,name:"Map with minimap2",outputs:[{name:"alignment_output",type:"bam"}],position:{bottom:478.65625,height:210,left:-545.5,right:-345.5,top:268.65625,width:200,x:-545.5,y:268.65625},post_job_actions:{RenameDatasetActionalignment_output:{action_arguments:{newname:"Mapped reads (output of minimap2)"},action_type:"RenameDatasetAction",output_name:"alignment_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.17+galaxy2",tool_shed_repository:{changeset_revision:"8c6cd2650d1f",name:"minimap2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"alignment_options": {"splicing": {"splice_mode": "preset", "__current_case__": 0}, "A": null, "B": null, "O": null, "O2": null, "E": null, "E2": null, "z": null, "z2": null, "s": null, "no_end_flt": "true"}, "fastq_input": {"fastq_input_selector": "single", "__current_case__": 0, "fastq_input1": {"__class__": "ConnectedValue"}, "analysis_type_selector": "map-ont"}, "indexing_options": {"H": "false", "k": null, "w": null, "I": null}, "io_options": {"output_format": "BAM", "Q": "false", "L": "false", "K": null, "cs": null, "c": "false", "eqx": "false", "Y": "false"}, "mapping_options": {"N": null, "F": null, "f": null, "min_occ_floor": null, "g": null, "r": null, "n": null, "m": null, "max_chain_skip": null, "max_chain_iter": null, "X": "false", "p": null}, "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.17+galaxy2",type:"tool",uuid:"b07d928c-302e-4fc7-909a-e090813c1875",workflow_outputs:[{label:"minimap2_mapped_reads",output_name:"alignment_output",uuid:"0877f387-f32c-48ee-9824-055583bd99fd"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",errors:null,id:9,input_connections:{in_file:{id:6,output_name:"out_file1"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"tabular"}],position:{bottom:858.71875,height:116,left:-320.8125,right:-120.8125,top:742.71875,width:200,x:-320.8125,y:742.71875},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",tool_shed_repository:{changeset_revision:"562f3c677828",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "", "header_in": "false", "header_out": "false", "ignore_case": "false", "in_file": {"__class__": "ConnectedValue"}, "need_sort": "false", "operations": [{"__index__": 0, "op_name": "max", "op_column": "7"}], "print_full_line": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"e2c31a21-c133-4d7d-9e2f-608864b34af6",workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.9+galaxy2",errors:null,id:10,input_connections:{input:{id:8,output_name:"alignment_output"}},inputs:[],label:null,name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{bottom:407.734375,height:137,left:-311.625,right:-111.625,top:270.734375,width:200,x:-311.625,y:270.734375},post_job_actions:{RenameDatasetActionoutputsam:{action_arguments:{newname:"Mapped reads (filtered minimap2 result)"},action_type:"RenameDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.9+galaxy2",tool_shed_repository:{changeset_revision:"bf328cec6a42",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "quality": "1", "library": "", "cigarcons": null, "inclusive_filter": null, "exclusive_filter": ["4", "256"], "exclusive_filter_all": null}, "subsample_config": {"subsampling_mode": {"select_subsample": "fraction", "__current_case__": 0, "factor": "1.0", "seed": null}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": "false", "adv_output": {"readtags": [], "collapsecigar": "false"}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.9+galaxy2",type:"tool",uuid:"790d9f16-849c-4e47-af55-c9393504ae5c",workflow_outputs:[{label:"filtered_mapped_reads",output_name:"outputsam",uuid:"10318fc5-8dc2-41e0-b6f5-48b9a419d72e"}]},11:{annotation:"",content_id:"param_value_from_file",errors:null,id:11,input_connections:{input1:{id:9,output_name:"out_file"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{bottom:883.578125,height:158,left:-74.328125,right:125.671875,top:725.578125,width:200,x:-74.328125,y:725.578125},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"},RenameDatasetActioninteger_param:{action_arguments:{newname:"max primer length to be used as padding width for calling in primer binding sites"},action_type:"RenameDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": "true", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"6b010208-e861-4d9a-b0e5-f656e792f3f7",workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.2+galaxy2",errors:null,id:12,input_connections:{input:{id:10,output_name:"outputsam"}},inputs:[],label:null,name:"Samtools stats",outputs:[{name:"output",type:"tabular"}],position:{bottom:111,height:137,left:-74.09375,right:125.90625,top:-26,width:200,x:-74.09375,y:-26},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.2+galaxy2",tool_shed_repository:{changeset_revision:"145f6d74ff5e",name:"samtools_stats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "cond_region": {"select_region": "no", "__current_case__": 0}, "cov_threshold": null, "coverage_cond": {"coverage_select": "no", "__current_case__": 0}, "filter_by_flags": {"filter_flags": "nofilter", "__current_case__": 1}, "gc_depth": null, "input": {"__class__": "ConnectedValue"}, "insert_size": null, "most_inserts": null, "read_length": null, "remove_dups": "false", "remove_overlaps": "false", "sparse": "false", "split_output_cond": {"split_output_selector": "no", "__current_case__": 0}, "trim_quality": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.2+galaxy2",type:"tool",uuid:"9bfcce2b-6fb4-44f9-b893-20d3f32be170",workflow_outputs:[{label:"mapped_reads_stats",output_name:"output",uuid:"dcde6643-5ac7-4bca-92ca-169544c0a6d8"}]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/freebayes/bamleftalign/1.3.1",errors:null,id:13,input_connections:{"reference_source|input_bam":{id:10,output_name:"outputsam"},"reference_source|ref_file":{id:3,output_name:"output"}},inputs:[],label:null,name:"BamLeftAlign",outputs:[{name:"output_bam",type:"bam"}],position:{bottom:554.5,height:189,left:-75.953125,right:124.046875,top:365.5,width:200,x:-75.953125,y:365.5},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/freebayes/bamleftalign/1.3.1",tool_shed_repository:{changeset_revision:"ef2c525bd8cd",name:"freebayes",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"iterations": "5", "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "input_bam": {"__class__": "ConnectedValue"}, "ref_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3.1",type:"tool",uuid:"78489e65-6f95-47ec-aacd-9023d8c2c3bc",workflow_outputs:[{label:"realigned_filtered_mapped_reads",output_name:"output_bam",uuid:"6deefe2d-57d7-4e61-b929-a1d6bcc877d2"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.3.1+galaxy2",errors:null,id:14,input_connections:{input_bam:{id:13,output_name:"output_bam"},"primer|input_bed":{id:4,output_name:"output"}},inputs:[],label:null,name:"ivar trim",outputs:[{name:"output_bam",type:"bam"}],position:{bottom:425.375,height:210,left:158.125,right:358.125,top:215.375,width:200,x:158.125,y:215.375},post_job_actions:{RenameDatasetActionoutput_bam:{action_arguments:{newname:"Fully processed reads for variant calling (primer-trimmed, realigned reads)"},action_type:"RenameDatasetAction",output_name:"output_bam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.3.1+galaxy2",tool_shed_repository:{changeset_revision:"c092052ed673",name:"ivar_trim",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"amplicons": {"filter_by": "", "__current_case__": 0}, "inc_primers": "false", "input_bam": {"__class__": "ConnectedValue"}, "min_len": "1", "min_qual": "0", "primer": {"source": "history", "__current_case__": 0, "input_bed": {"__class__": "ConnectedValue"}}, "primer_pos_wiggle": "0", "window_width": "4", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3.1+galaxy2",type:"tool",uuid:"cee59eba-91f0-4beb-82d5-3b827e867657",workflow_outputs:[{label:"primer_trimmed_realigned_filtered_mapped_reads",output_name:"output_bam",uuid:"790186ed-d660-4035-9ea9-5ed6b3bf58c2"}]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/qualimap_bamqc/qualimap_bamqc/2.2.2d+galaxy3",errors:null,id:15,input_connections:{input1:{id:14,output_name:"output_bam"}},inputs:[],label:null,name:"QualiMap BamQC",outputs:[{name:"raw_data",type:"input"},{name:"output_html",type:"html"}],position:{bottom:297.984375,height:210,left:386.53125,right:586.53125,top:87.984375,width:200,x:386.53125,y:87.984375},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/qualimap_bamqc/qualimap_bamqc/2.2.2d+galaxy3",tool_shed_repository:{changeset_revision:"19ece8afbaab",name:"qualimap_bamqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"duplicate_skipping": ["0"], "input1": {"__class__": "ConnectedValue"}, "per_base_coverage": "false", "plot_specific": {"n_bins": "400", "paint_chromosome_limits": "true", "genome_gc_distr": null, "homopolymer_size": "3"}, "stats_regions": {"region_select": "all", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.2d+galaxy3",type:"tool",uuid:"63d12f6d-9a45-487c-ad82-841aba341ef5",workflow_outputs:[{label:"bamqc_raw_output",output_name:"raw_data",uuid:"0c2a68ba-319a-4aa8-bbd3-17ca49d5e9ab"},{label:"bamqc_html_output",output_name:"output_html",uuid:"e81ce71a-2ab8-4a54-bf6d-d65a1599c530"}]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/medaka_consensus/medaka_consensus/1.0.3+galaxy2",errors:null,id:16,input_connections:{bam:{id:14,output_name:"output_bam"}},inputs:[],label:null,name:"medaka consensus tool",outputs:[{name:"out_result",type:"h5"}],position:{bottom:664.84375,height:158,left:370.78125,right:570.78125,top:506.84375,width:200,x:370.78125,y:506.84375},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/medaka_consensus/medaka_consensus/1.0.3+galaxy2",tool_shed_repository:{changeset_revision:"db25ec99c3ea",name:"medaka_consensus",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"RG": "", "bam": {"__class__": "ConnectedValue"}, "batch_size": "100", "check_output": "false", "chunk_len": "800", "chunk_ovlp": "400", "disable_cudnn": "false", "model": "r941_min_high_g351", "out": ["result"], "regions_cond": {"regions_sel": "none", "__current_case__": 0}, "save_features": "false", "tag_keep_missing": "false", "tag_name": "", "tag_value": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.3+galaxy2",type:"tool",uuid:"d35f7df5-5b3f-43c3-b558-dd94dade926e",workflow_outputs:[{label:"medaka_consensus_data",output_name:"out_result",uuid:"eeadcbf5-1300-41d6-8e0f-a251dd1c0299"}]},17:{annotation:"",content_id:"__FILTER_FAILED_DATASETS__",errors:null,id:17,input_connections:{input:{id:15,output_name:"raw_data"}},inputs:[],label:null,name:"Filter failed",outputs:[{name:"output",type:"input"}],position:{bottom:255.453125,height:116,left:618.953125,right:818.953125,top:139.453125,width:200,x:618.953125,y:139.453125},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__FILTER_FAILED_DATASETS__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"717562b8-2694-44ff-94e2-47d1aed4420a",workflow_outputs:[]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/medaka_variant/medaka_variant/1.3.2+galaxy1",errors:null,id:18,input_connections:{"output_annotated|in_bam":{id:13,output_name:"output_bam"},"pool|input":{id:16,output_name:"out_result"},"reference_source|ref_file":{id:3,output_name:"output"}},inputs:[],label:null,name:"medaka variant tool",outputs:[{name:"out_variants",type:"vcf"}],position:{bottom:564.796875,height:262,left:605.109375,right:805.109375,top:302.796875,width:200,x:605.109375,y:302.796875},post_job_actions:{RenameDatasetActionout_variants:{action_arguments:{newname:"Variant calls"},action_type:"RenameDatasetAction",output_name:"out_variants"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/medaka_variant/medaka_variant/1.3.2+galaxy1",tool_shed_repository:{changeset_revision:"0f5f4a208660",name:"medaka_variant",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"ambig_ref": "false", "gvcf": "false", "output_annotated": {"output_annotated_select": "true", "__current_case__": 0, "in_bam": {"__class__": "ConnectedValue"}, "pad": "25"}, "output_log_bool": "false", "pool": {"pool_mode": "No", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}, "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}}, "regions": "", "verbose": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3.2+galaxy1",type:"tool",uuid:"dbc1b19c-5ada-4209-94bb-4c6eb628944a",workflow_outputs:[{label:"medaka_variants_general",output_name:"out_variants",uuid:"23525921-bef8-4f12-8325-233c80204bac"}]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/medaka_variant/medaka_variant/1.3.2+galaxy1",errors:null,id:19,input_connections:{"output_annotated|in_bam":{id:13,output_name:"output_bam"},"output_annotated|pad":{id:11,output_name:"integer_param"},"pool|input":{id:16,output_name:"out_result"},"reference_source|ref_file":{id:3,output_name:"output"}},inputs:[],label:null,name:"medaka variant tool",outputs:[{name:"out_variants",type:"vcf"}],position:{bottom:930.734375,height:314,left:605.21875,right:805.21875,top:616.734375,width:200,x:605.21875,y:616.734375},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/medaka_variant/medaka_variant/1.3.2+galaxy1",tool_shed_repository:{changeset_revision:"0f5f4a208660",name:"medaka_variant",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"ambig_ref": "false", "gvcf": "false", "output_annotated": {"output_annotated_select": "true", "__current_case__": 0, "in_bam": {"__class__": "ConnectedValue"}, "pad": {"__class__": "ConnectedValue"}}, "output_log_bool": "false", "pool": {"pool_mode": "No", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}, "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}}, "regions": "", "verbose": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3.2+galaxy1",type:"tool",uuid:"8ee2fde4-9631-4e51-9c50-4419cfe39b58",workflow_outputs:[{label:"medaka_variants_pbs",output_name:"out_variants",uuid:"06999460-a1c2-4dc9-9c55-e0650f8f052d"}]},20:{annotation:"",content_id:"__FLATTEN__",errors:null,id:20,input_connections:{input:{id:17,output_name:"output"}},inputs:[],label:null,name:"Flatten Collection",outputs:[{name:"output",type:"input"}],position:{bottom:307.421875,height:158,left:860.46875,right:1060.46875,top:149.421875,width:200,x:860.46875,y:149.421875},post_job_actions:{},tool_id:"__FLATTEN__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "join_identifier": "_", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"de07859e-5ed1-46d0-9cd0-2f3848b4ef63",workflow_outputs:[{label:"bamqc_raw_output_flattened",output_name:"output",uuid:"68801b40-55d8-4db3-a065-578161bdaeeb"}]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0",errors:null,id:21,input_connections:{inputA:{id:19,output_name:"out_variants"},"reduce_or_iterate|inputB":{id:7,output_name:"outfile"}},inputs:[],label:null,name:"bedtools Intersect intervals",outputs:[{name:"output",type:"input"}],position:{bottom:982.46875,height:147,left:825.828125,right:1025.828125,top:835.46875,width:200,x:825.828125,y:835.46875},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Adjusted variant calls within primer binding sites"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0",tool_shed_repository:{changeset_revision:"a68aa6c1204a",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed": "false", "count": "false", "fraction_cond": {"fraction_select": "default", "__current_case__": 0}, "header": "true", "inputA": {"__class__": "ConnectedValue"}, "invert": "false", "once": "true", "overlap_mode": ["-wa"], "reduce_or_iterate": {"reduce_or_iterate_selector": "iterate", "__current_case__": 0, "inputB": {"__class__": "ConnectedValue"}}, "sorted": "false", "split": "false", "strand": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.30.0",type:"tool",uuid:"7e2468f7-9392-4f82-b6d2-11a338ed81a2",workflow_outputs:[{label:"variants_pbs",output_name:"output",uuid:"209c5be7-ef0d-4009-8ac1-b0b3dd812207"}]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.8+galaxy1",errors:null,id:22,input_connections:{"results_0|software_cond|output_0|type|input":{id:12,output_name:"output"},"results_1|software_cond|input":{id:20,output_name:"output"}},inputs:[],label:null,name:"MultiQC",outputs:[{name:"stats",type:"input"},{name:"plots",type:"input"},{name:"html_report",type:"html"}],position:{bottom:365.953125,height:335,left:1097.328125,right:1297.328125,top:30.953125,width:200,x:1097.328125,y:30.953125},post_job_actions:{HideDatasetActionplots:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plots"},HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"},RenameDatasetActionhtml_report:{action_arguments:{newname:"Preprocessing and mapping reports"},action_type:"RenameDatasetAction",output_name:"html_report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.8+galaxy1",tool_shed_repository:{changeset_revision:"5e33b465d8d5",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "flat": "false", "results": [{"__index__": 0, "software_cond": {"software": "samtools", "__current_case__": 23, "output": [{"__index__": 0, "type": {"type": "stats", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 1, "software_cond": {"software": "qualimap", "__current_case__": 19, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy1",type:"tool",uuid:"815cbc27-8533-42e0-b5b8-c9312aa8cdfe",workflow_outputs:[{label:"preprocessing_and_mapping_reports",output_name:"html_report",uuid:"6c317485-2591-4984-b163-378faa100f1e"}]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bcftools_annotate/bcftools_annotate/1.10",errors:null,id:23,input_connections:{input_file:{id:18,output_name:"out_variants"},"sec_annofile|annofile|annotations":{id:21,output_name:"output"}},inputs:[{description:"runtime parameter for tool bcftools annotate",name:"input_file"},{description:"runtime parameter for tool bcftools annotate",name:"sec_annotate"},{description:"runtime parameter for tool bcftools annotate",name:"sec_restrict"}],label:null,name:"bcftools annotate",outputs:[{name:"output_file",type:"vcf"}],position:{bottom:828,height:230,left:1046.5,right:1246.5,top:598,width:200,x:1046.5,y:598},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bcftools_annotate/bcftools_annotate/1.10",tool_shed_repository:{changeset_revision:"403553ae19f6",name:"bcftools_annotate",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_file": {"__class__": "RuntimeValue"}, "output_type": "v", "sec_annofile": {"columns": "INFO", "annofile": {"anno_fmt": "vcf", "__current_case__": 1, "annotations": {"__class__": "RuntimeValue"}}, "mark_sites": "", "set_id": ""}, "sec_annotate": {"remove": "FORMAT", "rename_chrs": {"__class__": "RuntimeValue"}}, "sec_restrict": {"include": "", "exclude": "", "collapse": null, "regions": {"regions_src": "__none__", "__current_case__": 0}, "samples": "", "invert_samples": "false", "samples_file": {"__class__": "RuntimeValue"}, "invert_samples_file": "false"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.10",type:"tool",uuid:"bf733d38-0a4a-4f40-92cf-92e22ff12f5b",workflow_outputs:[{label:"variants_combined",output_name:"output_file",uuid:"47e2fdc8-dd5a-4f46-8084-ba37d80091db"}]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff_sars_cov_2/snpeff_sars_cov_2/4.5covid19",errors:null,id:24,input_connections:{input:{id:23,output_name:"output_file"}},inputs:[{description:"runtime parameter for tool SnpEff eff:",name:"intervals"},{description:"runtime parameter for tool SnpEff eff:",name:"transcripts"}],label:"SnpEff eff covid19 version",name:"SnpEff eff:",outputs:[{name:"snpeff_output",type:"vcf"},{name:"statsFile",type:"html"}],position:{bottom:833.90625,height:335,left:1287.59375,right:1487.59375,top:498.90625,width:200,x:1287.59375,y:498.90625},post_job_actions:{RenameDatasetActionsnpeff_output:{action_arguments:{newname:"Final (SnpEff-) annotated variants"},action_type:"RenameDatasetAction",output_name:"snpeff_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff_sars_cov_2/snpeff_sars_cov_2/4.5covid19",tool_shed_repository:{changeset_revision:"2a3a00c1fa0a",name:"snpeff_sars_cov_2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"annotations": ["-formatEff", "-classic"], "chr": "", "csvStats": "false", "filter": {"specificEffects": "no", "__current_case__": 0}, "filterOut": ["-no-downstream", "-no-intergenic", "-no-upstream"], "generate_stats": "true", "genome_version": "NC_045512.2", "input": {"__class__": "ConnectedValue"}, "inputFormat": "vcf", "intervals": {"__class__": "RuntimeValue"}, "noLog": "true", "offset": "default", "outputConditional": {"outputFormat": "vcf", "__current_case__": 0}, "transcripts": {"__class__": "RuntimeValue"}, "udLength": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.5covid19",type:"tool",uuid:"9eb5a77f-3c5f-43cb-9811-5d4c6cf7931a",workflow_outputs:[{label:"annotated_variants",output_name:"snpeff_output",uuid:"22a622ff-26df-4d6c-a08c-24fe57703982"},{label:"annotated_variants_stats",output_name:"statsFile",uuid:"47b851dc-c115-441a-9408-22f579f59a7e"}]},25:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_filter/lofreq_filter/2.1.5+galaxy0",errors:null,id:25,input_connections:{invcf:{id:24,output_name:"snpeff_output"}},inputs:[],label:null,name:"Lofreq filter",outputs:[{name:"outvcf",type:"vcf"}],position:{bottom:598.1875,height:95,left:1512.21875,right:1712.21875,top:503.1875,width:200,x:1512.21875,y:503.1875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_filter/lofreq_filter/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"7dfca164d2e3",name:"lofreq_filter",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"af": {"af_min": "0.0", "af_max": "0.0"}, "coverage": {"cov_min": "0", "cov_max": "0"}, "filter_by_type": {"keep_only": "", "__current_case__": 0, "qual": {"snvqual_filter": {"snvqual": "no", "__current_case__": 0}, "indelqual_filter": {"indelqual": "no", "__current_case__": 0}}}, "flag_or_drop": "--print-all", "invcf": {"__class__": "ConnectedValue"}, "sb": {"sb_filter": {"strand_bias": "mtc", "__current_case__": 2, "sb_alpha": "0.001", "sb_mtc": "fdr", "sb_compound": "true", "sb_indels": "false"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"f0e396ff-d72b-4d02-9c4f-885557073ddd",workflow_outputs:[{label:"lofreq_filtered",output_name:"outvcf",uuid:"7fb4cdec-b28c-40a8-a36a-dd30ab4987d2"}]},26:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",errors:null,id:26,input_connections:{infile:{id:25,output_name:"outvcf"}},inputs:[],label:null,name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{bottom:641.015625,height:137,left:1729.296875,right:1929.296875,top:504.015625,width:200,x:1729.296875,y:504.015625},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"Final (SnpEff-) annotated variants with strand-bias soft filter applied"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",tool_shed_repository:{changeset_revision:"ddf54b12c295",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"caseinsensitive": "false", "find_pattern": "#CHROM\\\\tPOS\\\\tID\\\\tREF\\\\tALT\\\\tQUAL\\\\tFILTER\\\\tINFO.*", "global": "false", "infile": {"__class__": "ConnectedValue"}, "is_regex": "true", "replace_pattern": "#CHROM\\\\tPOS\\\\tID\\\\tREF\\\\tALT\\\\tQUAL\\\\tFILTER\\\\tINFO\\\\tFORMAT\\\\tSAMPLE", "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}, "skip_first_line": "false", "wholewords": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3",type:"tool",uuid:"0932d832-0ab4-4399-a4eb-a065e7cf1b7a",workflow_outputs:[{label:"annotated_softfiltered_variants",output_name:"outfile",uuid:"22a290c5-0f48-4140-b759-52ee0b73d1b2"}]}},tags:["COVID-19","ARTIC","ONT","covid19.galaxyproject.org"],uuid:"a1ceaf35-f3d7-452d-b5ed-53a4f429d1cf"},readme:`COVID-19: variation analysis on ARTIC ONT data ---------------------------------------------- @@ -1104,6 +2135,75 @@ Added RO-Crate metadata file. No functional changes. ## [0.1] - Initial version of COVID-19: variation analysis on ARTIC ONT data workflow +`,diagrams:`# Workflow diagrams + +## COVID-19: variation analysis of ARTIC ONT data + +\`\`\`mermaid +graph LR +0["ℹ️ ONT-sequenced reads"]@{ shape: docs } +1["ℹ️ Minimum read length"]@{ shape: lean-l } +2["ℹ️ Maximum read length"]@{ shape: lean-l } +3["ℹ️ NC_045512.2 FASTA sequence of SARS-CoV-2"]@{ shape: doc } +4["ℹ️ Primer binding sites info in BED format"]@{ shape: doc } +5["fastp"]@{ shape: process } +2 --> 5 +1 --> 5 +0 --> 5 +6["Compute"]@{ shape: process } +4 --> 6 +7["Replace Text"]@{ shape: process } +4 --> 7 +8["Map with minimap2"]@{ shape: process } +5 --> 8 +3 --> 8 +9["Datamash"]@{ shape: process } +6 --> 9 +10["Samtools view"]@{ shape: process } +8 --> 10 +11["Parse parameter value"]@{ shape: process } +9 --> 11 +12["Samtools stats"]@{ shape: process } +10 --> 12 +13["BamLeftAlign"]@{ shape: process } +10 --> 13 +3 --> 13 +14["ivar trim"]@{ shape: process } +13 --> 14 +4 --> 14 +15["QualiMap BamQC"]@{ shape: process } +14 --> 15 +16["medaka consensus tool"]@{ shape: process } +14 --> 16 +17["Filter failed"]@{ shape: process } +15 --> 17 +18["medaka variant tool"]@{ shape: process } +13 --> 18 +16 --> 18 +3 --> 18 +19["medaka variant tool"]@{ shape: process } +13 --> 19 +11 --> 19 +16 --> 19 +3 --> 19 +20["Flatten Collection"]@{ shape: process } +17 --> 20 +21["bedtools Intersect intervals"]@{ shape: process } +19 --> 21 +7 --> 21 +22["MultiQC"]@{ shape: process } +12 --> 22 +20 --> 22 +23["bcftools annotate"]@{ shape: process } +18 --> 23 +21 --> 23 +24["SnpEff eff covid19 version"]@{ shape: process } +23 --> 24 +25["Lofreq filter"]@{ shape: process } +24 --> 25 +26["Replace"]@{ shape: process } +25 --> 26 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/sars-cov-2-ont-artic-variant-calling/COVID-19-ARTIC-ONT",tests:[{doc:"Test workflow execution using ONT ARTIC accession",job:{"NC_045512.2 FASTA sequence of SARS-CoV-2":{class:"File",location:"https://zenodo.org/record/4555735/files/NC_045512.2_reference.fasta?download=1"},"Primer binding sites info in BED format":{class:"File",location:"https://zenodo.org/record/4555735/files/ARTIC_nCoV-2019_v3.bed?download=1"},"ONT-sequenced reads":{class:"Collection",collection_type:"list",elements:[{identifier:"SRR12447380",class:"File",filetype:"fastqsanger.gz",location:"https://www.be-md.ncbi.nlm.nih.gov/Traces/sra-reads-be/fastq?acc=SRR12447380"}]}},outputs:{annotated_softfiltered_variants:{attributes:{},element_tests:{SRR12447380:{path:"test-data/final_snpeff_annotated_variants.vcf",compare:"diff",lines_diff:6}}}}}]}],path:"./workflows/sars-cov-2-variant-calling/sars-cov-2-ont-artic-variant-calling"},{version:1.2,workflows:[{name:"COVID-19-PE-WGS-ILLUMINA",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/pe-wgs-variation.ga",testParameterFiles:["/pe-wgs-variation-tests.yml"],authors:[{name:"Wolfgang Maier",orcid:"0000-0002-9464-6640"}],definition:{a_galaxy_workflow:"true",annotation:"This workflows performs paired end read mapping with bwa-mem followed by sensitive variant calling across a wide range of AFs with lofreq",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9464-6640",name:"Wolfgang Maier"}],"format-version":"0.1",license:"MIT",name:"COVID-19: variation analysis on WGS PE data",release:"0.2.4",steps:{0:{annotation:"Illumina reads with fastqsanger encoding",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Illumina reads with fastqsanger encoding",name:"Paired Collection"}],label:"Paired Collection",name:"Input dataset collection",outputs:[],position:{bottom:531.03125,height:81,left:-513,right:-313,top:450.03125,width:200,x:-513,y:450.03125},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger", "fastqsanger.gz"], "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"b21522ed-fd9a-44b6-8ed3-a8640727961d",workflow_outputs:[]},1:{annotation:"Fasta sequence for Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Fasta sequence for Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome",name:"NC_045512.2 FASTA sequence of SARS-CoV-2"}],label:"NC_045512.2 FASTA sequence of SARS-CoV-2",name:"Input dataset",outputs:[],position:{bottom:729.796875,height:101,left:-460.59375,right:-260.59375,top:628.796875,width:200,x:-460.59375,y:628.796875},tool_id:null,tool_state:'{"optional": false, "format": ["fasta", "fasta.gz"]}',tool_version:null,type:"data_input",uuid:"179e3f76-b1f0-4096-864b-a0f143428cfb",workflow_outputs:[]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0",errors:null,id:2,input_connections:{"single_paired|paired_input":{id:0,output_name:"output"}},inputs:[],label:null,name:"fastp",outputs:[{name:"output_paired_coll",type:"input"},{name:"report_html",type:"html"},{name:"report_json",type:"json"}],position:{bottom:436.953125,height:192,left:-246.53125,right:-46.53125,top:244.953125,width:200,x:-246.53125,y:244.953125},post_job_actions:{HideDatasetActionreport_json:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0",tool_shed_repository:{changeset_revision:"65b93b623c77",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": "false", "qualified_quality_phred": null, "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": "false", "length_required": null, "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": "false", "complexity_threshold": null}}, "output_options": {"report_html": "true", "report_json": "true"}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": "false", "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": "false", "umi_loc": "", "umi_len": null, "umi_prefix": ""}, "cutting_by_quality_options": {"cut_by_quality5": "false", "cut_by_quality3": "false", "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": "false"}}, "single_paired": {"single_paired_selector": "paired_collection", "__current_case__": 2, "paired_input": {"__class__": "ConnectedValue"}, "adapter_trimming_options": {"disable_adapter_trimming": "false", "adapter_sequence1": "", "adapter_sequence2": ""}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null, "trim_front2": null, "trim_tail2": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.23.2+galaxy0",type:"tool",uuid:"e3e15355-92b3-4336-a048-facf7b80a456",workflow_outputs:[{label:"fastp_pe",output_name:"output_paired_coll",uuid:"e12cf072-ff7d-44dc-86a4-d5db9c7b7bc2"},{label:"fastp_html_report",output_name:"report_html",uuid:"e5330623-a13b-4e91-a7ed-81318648cc75"}]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2",errors:null,id:3,input_connections:{"fastq_input|fastq_input1":{id:2,output_name:"output_paired_coll"},"reference_source|ref_file":{id:1,output_name:"output"}},inputs:[],label:null,name:"Map with BWA-MEM",outputs:[{name:"bam_output",type:"bam"}],position:{bottom:698.46875,height:222,left:19,right:219,top:476.46875,width:200,x:19,y:476.46875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2",tool_shed_repository:{changeset_revision:"64f11cf59c6e",name:"bwa",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"analysis_type": {"analysis_type_selector": "illumina", "__current_case__": 0}, "fastq_input": {"fastq_input_selector": "paired_collection", "__current_case__": 2, "fastq_input1": {"__class__": "ConnectedValue"}, "iset_stats": ""}, "output_sort": "coordinate", "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}, "index_a": "auto"}, "rg": {"rg_selector": "do_not_set", "__current_case__": 3}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.7.17.2",type:"tool",uuid:"ff1eb4ed-6403-4017-8538-c16200b33cdb",workflow_outputs:[{label:"Map with BWA-MEM on input dataset(s) (mapped reads in BAM format)",output_name:"bam_output",uuid:"37ee7bd6-fddf-46cf-8ce4-079e5920cba2"}]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.13+galaxy2",errors:null,id:4,input_connections:{input:{id:3,output_name:"bam_output"}},inputs:[],label:null,name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{bottom:469.234375,height:112,left:252.46875,right:452.46875,top:357.234375,width:200,x:252.46875,y:357.234375},post_job_actions:{RenameDatasetActionoutputsam:{action_arguments:{newname:"Mapped read pairs (filtered bwa-mem result)"},action_type:"RenameDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.13+galaxy2",tool_shed_repository:{changeset_revision:"0dbf49c414ae",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "quality": "20", "library": "", "cigarcons": null, "inclusive_filter": ["1", "2"], "exclusive_filter": null, "exclusive_filter_all": null, "tag": null, "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "fraction", "__current_case__": 0, "factor": "1.0", "seed": null}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": "false", "adv_output": {"readtags": [], "collapsecigar": "false"}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.13+galaxy2",type:"tool",uuid:"e5907460-126f-40a0-9cfd-be33fb79c990",workflow_outputs:[{label:"filtered_mapped_reads",output_name:"outputsam",uuid:"711e76f8-acf5-49f2-a74d-f3eb87a87ec5"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.3",errors:null,id:5,input_connections:{input:{id:4,output_name:"outputsam"}},inputs:[],label:null,name:"Samtools stats",outputs:[{name:"output",type:"tabular"}],position:{bottom:399.015625,height:112,left:527.671875,right:727.671875,top:287.015625,width:200,x:527.671875,y:287.015625},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.3",tool_shed_repository:{changeset_revision:"1cc79f49b8d5",name:"samtools_stats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "cond_region": {"select_region": "no", "__current_case__": 0}, "cov_threshold": null, "coverage_cond": {"coverage_select": "no", "__current_case__": 0}, "filter_by_flags": {"filter_flags": "nofilter", "__current_case__": 1}, "gc_depth": null, "input": {"__class__": "ConnectedValue"}, "insert_size": null, "most_inserts": null, "read_group": null, "read_length": null, "remove_dups": "false", "remove_overlaps": "false", "sparse": "false", "split_output_cond": {"split_output_selector": "no", "__current_case__": 0}, "trim_quality": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.3",type:"tool",uuid:"290db975-2f61-42a9-8ab9-53f9c9bf638a",workflow_outputs:[{label:"mapped_reads_stats",output_name:"output",uuid:"ba8ba259-2114-47d7-8555-16b74d482626"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.3",errors:null,id:6,input_connections:{inputFile:{id:4,output_name:"outputsam"}},inputs:[],label:null,name:"MarkDuplicates",outputs:[{name:"metrics_file",type:"txt"},{name:"outFile",type:"bam"}],position:{bottom:653.421875,height:182,left:472.046875,right:672.046875,top:471.421875,width:200,x:472.046875,y:471.421875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.3",tool_shed_repository:{changeset_revision:"881d7645d1bf",name:"picard",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"assume_sorted": "true", "barcode_tag": "", "comments": [], "duplicate_scoring_strategy": "SUM_OF_BASE_QUALITIES", "inputFile": {"__class__": "ConnectedValue"}, "optical_duplicate_pixel_distance": "100", "read_name_regex": "", "remove_duplicates": "true", "validation_stringency": "LENIENT", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.18.2.3",type:"tool",uuid:"dfeec15a-ab76-44e8-8e41-ce4f53289f01",workflow_outputs:[{label:"markduplicates_stats",output_name:"metrics_file",uuid:"90c70f5f-8fee-4648-884d-ebdbf05779cb"},{label:"markduplicates_reads",output_name:"outFile",uuid:"eb88f5cb-a4d8-41bd-a9ca-617d2edaf041"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_viterbi/lofreq_viterbi/2.1.5+galaxy0",errors:null,id:7,input_connections:{reads:{id:6,output_name:"outFile"},"reference_source|ref":{id:1,output_name:"output"}},inputs:[],label:null,name:"Realign reads",outputs:[{name:"realigned",type:"bam"}],position:{bottom:843.140625,height:162,left:609.671875,right:809.671875,top:681.140625,width:200,x:609.671875,y:681.140625},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_viterbi/lofreq_viterbi/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"aa35ee7f3ab2",name:"lofreq_viterbi",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_options": {"keepflags": "false", "bq2_handling": {"replace_bq2": "keep", "__current_case__": 0, "defqual": "2"}}, "reads": {"__class__": "ConnectedValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"4b611028-980b-436f-8fda-e604d4b1fd71",workflow_outputs:[{label:"realigned_deduplicated_filtered_mapped_reads",output_name:"realigned",uuid:"ad859e0d-38ec-4e17-aefe-42ca2cbbfc20"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0",errors:null,id:8,input_connections:{"results_0|software_cond|input":{id:2,output_name:"report_json"},"results_1|software_cond|output_0|type|input":{id:5,output_name:"output"},"results_2|software_cond|output_0|input":{id:6,output_name:"metrics_file"}},inputs:[],label:null,name:"MultiQC",outputs:[{name:"stats",type:"input"},{name:"html_report",type:"html"}],position:{bottom:431.46875,height:282,left:965.171875,right:1165.171875,top:149.46875,width:200,x:965.171875,y:149.46875},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"},RenameDatasetActionhtml_report:{action_arguments:{newname:"Preprocessing and mapping reports"},action_type:"RenameDatasetAction",output_name:"html_report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0",tool_shed_repository:{changeset_revision:"9a913cdee30e",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": "false", "flat": "false", "results": [{"__index__": 0, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "samtools", "__current_case__": 24, "output": [{"__index__": 0, "type": {"type": "stats", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 2, "software_cond": {"software": "picard", "__current_case__": 17, "output": [{"__index__": 0, "type": "markdups", "input": {"__class__": "ConnectedValue"}}]}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.11+galaxy0",type:"tool",uuid:"f87cae1e-1c65-4e6b-b5ab-6e077ae3cfb2",workflow_outputs:[{label:"preprocessing_and_mapping_reports",output_name:"html_report",uuid:"4ffd2a85-5ed3-4365-a425-301ff8cb4413"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy0",errors:null,id:9,input_connections:{reads:{id:7,output_name:"realigned"},"strategy|reference_source|ref":{id:1,output_name:"output"}},inputs:[],label:null,name:"Insert indel qualities",outputs:[{name:"output",type:"bam"}],position:{bottom:1045.1875,height:182,left:725.734375,right:925.734375,top:863.1875,width:200,x:725.734375,y:863.1875},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Fully processed reads for variant calling (deduplicated, realigned reads with added indelquals)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"426d707dfc47",name:"lofreq_indelqual",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"reads": {"__class__": "ConnectedValue"}, "strategy": {"selector": "dindel", "__current_case__": 1, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"59600224-396f-49d2-add0-30f66519e98f",workflow_outputs:[{label:"realigned_deduplicated_filtered_mapped_reads_with_indel_quals",output_name:"output",uuid:"46d8cf28-7c9c-4109-a0c3-14f90db52e47"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy1",errors:null,id:10,input_connections:{reads:{id:9,output_name:"output"},"reference_source|ref":{id:1,output_name:"output"}},inputs:[],label:null,name:"Call variants",outputs:[{name:"variants",type:"vcf"}],position:{bottom:1180.671875,height:122,left:854.796875,right:1054.796875,top:1058.671875,width:200,x:854.796875,y:1058.671875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy1",tool_shed_repository:{changeset_revision:"e1461b5c52a0",name:"lofreq_call",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"call_control": {"set_call_options": "yes", "__current_case__": 1, "coverage": {"min_cov": "5", "max_depth": "1000000"}, "pe": {"use_orphan": "false"}, "bc_quals": {"min_bq": "30", "min_alt_bq": "30", "alt_bq": {"modify": "", "__current_case__": 0}}, "align_quals": {"alnqual": {"use_alnqual": "", "__current_case__": 0, "alnqual_choice": {"alnquals_to_use": "", "__current_case__": 1, "extended_baq": "true"}}}, "map_quals": {"min_mq": "20", "use_mq": {"no_mq": "", "__current_case__": 0, "max_mq": "255"}}, "source_qual": {"use_src_qual": {"src_qual": "", "__current_case__": 0}}, "joint_qual": {"min_jq": "0", "min_alt_jq": "0", "def_alt_jq": "0"}}, "filter_control": {"filter_type": "set_custom", "__current_case__": 3, "sig": "0.0005", "bonf": "0", "others": "false"}, "reads": {"__class__": "ConnectedValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}, "regions": {"restrict_to_region": "genome", "__current_case__": 0}, "variant_types": "--call-indels", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy1",type:"tool",uuid:"04fddca2-1b1e-4483-a269-24302ef7359c",workflow_outputs:[{label:"called_variants",output_name:"variants",uuid:"e1da347a-271a-4e22-bfc3-9dd9ac7bf929"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_filter/lofreq_filter/2.1.5+galaxy0",errors:null,id:11,input_connections:{invcf:{id:10,output_name:"variants"}},inputs:[],label:null,name:"Lofreq filter",outputs:[{name:"outvcf",type:"vcf"}],position:{bottom:995.296875,height:112,left:1052.3125,right:1252.3125,top:883.296875,width:200,x:1052.3125,y:883.296875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_filter/lofreq_filter/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"7dfca164d2e3",name:"lofreq_filter",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"af": {"af_min": "0.0", "af_max": "0.0"}, "coverage": {"cov_min": "0", "cov_max": "0"}, "filter_by_type": {"keep_only": "", "__current_case__": 0, "qual": {"snvqual_filter": {"snvqual": "no", "__current_case__": 0}, "indelqual_filter": {"indelqual": "no", "__current_case__": 0}}}, "flag_or_drop": "--print-all", "invcf": {"__class__": "ConnectedValue"}, "sb": {"sb_filter": {"strand_bias": "mtc", "__current_case__": 2, "sb_alpha": "0.001", "sb_mtc": "fdr", "sb_compound": "true", "sb_indels": "false"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"1b2ce667-2a63-4376-b711-b103ea37ba8b",workflow_outputs:[{label:"soft_filtered_variants",output_name:"outvcf",uuid:"7a8648d0-c844-43a5-85f8-27220011725a"}]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff_sars_cov_2/snpeff_sars_cov_2/4.5covid19",errors:null,id:12,input_connections:{input:{id:11,output_name:"outvcf"}},inputs:[{description:"runtime parameter for tool SnpEff eff:",name:"intervals"},{description:"runtime parameter for tool SnpEff eff:",name:"transcripts"}],label:"SnpEff eff covid19 version",name:"SnpEff eff:",outputs:[{name:"snpeff_output",type:"vcf"},{name:"statsFile",type:"html"}],position:{bottom:751.359375,height:302,left:1235.359375,right:1435.359375,top:449.359375,width:200,x:1235.359375,y:449.359375},post_job_actions:{RenameDatasetActionsnpeff_output:{action_arguments:{newname:"Final (SnpEff-)annotated variants"},action_type:"RenameDatasetAction",output_name:"snpeff_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff_sars_cov_2/snpeff_sars_cov_2/4.5covid19",tool_shed_repository:{changeset_revision:"2a3a00c1fa0a",name:"snpeff_sars_cov_2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"annotations": ["-formatEff", "-classic"], "chr": "", "csvStats": "false", "filter": {"specificEffects": "no", "__current_case__": 0}, "filterOut": ["-no-downstream", "-no-intergenic", "-no-upstream", "-no-utr"], "generate_stats": "true", "genome_version": "NC_045512.2", "input": {"__class__": "ConnectedValue"}, "inputFormat": "vcf", "intervals": {"__class__": "RuntimeValue"}, "noLog": "true", "offset": "default", "outputConditional": {"outputFormat": "vcf", "__current_case__": 0}, "transcripts": {"__class__": "RuntimeValue"}, "udLength": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.5covid19",type:"tool",uuid:"6808f1c5-55da-4e39-a453-e215650d22e7",workflow_outputs:[{label:"annotated_variants",output_name:"snpeff_output",uuid:"218ed74c-5d87-472a-88f4-6b06559e7885"},{label:"annotated_variants_stats",output_name:"statsFile",uuid:"1986e97d-92a8-4812-99e7-42818115e675"}]}},tags:["COVID-19","covid19.galaxyproject.org","iwc","emergen_validated"],uuid:"6695eb16-30a5-42ea-8591-56f2630cf8bf",version:4},readme:`COVID-19: variation analysis on WGS PE data ------------------------------------------- @@ -1148,6 +2248,43 @@ Added RO-Crate metadata file. No functional changes. ## [0.1] - Initial version of COVID-19: variation analysis on WGS PE data workflow +`,diagrams:`# Workflow diagrams + +## COVID-19: variation analysis on WGS PE data + +\`\`\`mermaid +graph LR +0["ℹ️ Paired Collection"]@{ shape: docs } +1["ℹ️ NC_045512.2 FASTA sequence of SARS-CoV-2"]@{ shape: doc } +2["fastp"]@{ shape: process } +0 --> 2 +3["Map with BWA-MEM"]@{ shape: process } +2 --> 3 +1 --> 3 +4["Samtools view"]@{ shape: process } +3 --> 4 +5["Samtools stats"]@{ shape: process } +4 --> 5 +6["MarkDuplicates"]@{ shape: process } +4 --> 6 +7["Realign reads"]@{ shape: process } +6 --> 7 +1 --> 7 +8["MultiQC"]@{ shape: process } +2 --> 8 +5 --> 8 +6 --> 8 +9["Insert indel qualities"]@{ shape: process } +7 --> 9 +1 --> 9 +10["Call variants"]@{ shape: process } +9 --> 10 +1 --> 10 +11["Lofreq filter"]@{ shape: process } +10 --> 11 +12["SnpEff eff covid19 version"]@{ shape: process } +11 --> 12 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/sars-cov-2-pe-illumina-wgs-variant-calling/COVID-19-PE-WGS-ILLUMINA",tests:[{doc:"Test workflow execution using paired end illumina accession",job:{"NC_045512.2 FASTA sequence of SARS-CoV-2":{class:"File",location:"https://zenodo.org/record/4555735/files/NC_045512.2_reference.fasta?download=1"},"Paired Collection":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"SRR11578257",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/records/10174466/files/SRR11578257_R1.fastq.gz?download=1"},{identifier:"reverse",class:"File",location:"https://zenodo.org/records/10174466/files/SRR11578257_R2.fastq.gz?download=1"}]}]}},outputs:{annotated_variants:{attributes:{},element_tests:{SRR11578257:{path:"test-data/final_snpeff_annotated_variants.vcf",compare:"diff",lines_diff:6}}}}}]}],path:"./workflows/sars-cov-2-variant-calling/sars-cov-2-pe-illumina-wgs-variant-calling"},{version:1.2,workflows:[{name:"COVID-19-CONSENSUS-CONSTRUCTION",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/consensus-from-variation.ga",testParameterFiles:["/consensus-from-variation-tests.yml"],authors:[{name:"Wolfgang Maier",orcid:"0000-0002-9464-6640"}],definition:{a_galaxy_workflow:"true",annotation:`Build a consensus sequence from FILTER PASS variants with intrasample allele-frequency above a configurable consensus threshold. Hard-mask regions with low coverage (but not consensus variants within them) and ambiguous sites.`,creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9464-6640",name:"Wolfgang Maier"}],"format-version":"0.1",license:"MIT",name:"COVID-19: consensus construction",release:"0.4.2",steps:{0:{annotation:"Collection of VCFs produced by upstream workflows for variation analysis",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Collection of VCFs produced by upstream workflows for variation analysis",name:"Variant calls"}],label:"Variant calls",name:"Input dataset collection",outputs:[],position:{left:0,top:306.13330078125},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"fca4e710-87a7-4cb6-9ff1-f9a8dc84ca37",when:null,workflow_outputs:[]},1:{annotation:"Only variant calls with an allele-frequency greater this value will be considered consensus variants.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Only variant calls with an allele-frequency greater this value will be considered consensus variants.",name:"min-AF for consensus variant"}],label:"min-AF for consensus variant",name:"Input parameter",outputs:[],position:{left:.45001220703125,top:469},tool_id:null,tool_state:'{"default": 0.75, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"52664bd7-b500-40a1-935b-8ac6df7003e5",when:null,workflow_outputs:[{label:"consensus_af_threshold",output_name:"output",uuid:"0d802d31-bb4c-41e3-8e84-c1d99b914ee9"}]},2:{annotation:"Variant calls with an allele frequency higher than this value, but lower than the AF threshold for consensus variants will be considered questionable and the respective sites be masked (with Ns) in the consensus sequence.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Variant calls with an allele frequency higher than this value, but lower than the AF threshold for consensus variants will be considered questionable and the respective sites be masked (with Ns) in the consensus sequence.",name:"min-AF for failed variants"}],label:"min-AF for failed variants",name:"Input parameter",outputs:[],position:{left:.45001220703125,top:640.6500244140625},tool_id:null,tool_state:'{"default": 0.25, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"a2a15cce-94ec-4a76-a3ff-3ea898e9c678",when:null,workflow_outputs:[{label:"non_consensus_af_threshold",output_name:"output",uuid:"16c62493-ad4b-46da-8790-a8094d01a130"}]},3:{annotation:"Fully processed BAMs as generated by upstream workflows for variation analysis. Note: for ARTIC data, these BAMs should NOT have undergone processing with ivar removereads.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Fully processed BAMs as generated by upstream workflows for variation analysis. Note: for ARTIC data, these BAMs should NOT have undergone processing with ivar removereads.",name:"aligned reads data for depth calculation"}],label:"aligned reads data for depth calculation",name:"Input dataset collection",outputs:[],position:{left:581.3167114257812,top:395.16668701171875},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"23ae69ea-f9a7-4d5f-85f5-63b9d2bd2c50",when:null,workflow_outputs:[]},4:{annotation:"Sites in the viral genome covered by less than this number of reads are considered questionable and will be masked (with Ns) in the consensus sequence independent of whether a variant has been called at them or not.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Sites in the viral genome covered by less than this number of reads are considered questionable and will be masked (with Ns) in the consensus sequence independent of whether a variant has been called at them or not.",name:"Depth-threshold for masking"}],label:"Depth-threshold for masking",name:"Input parameter",outputs:[],position:{left:585.25,top:557.8499755859375},tool_id:null,tool_state:'{"default": 5, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"cfdc65b0-8393-4ee3-9e27-16b23135fbec",when:null,workflow_outputs:[{label:"depth_threshold",output_name:"output",uuid:"f677edfd-5faf-44af-8e20-c5e6d72ba24a"}]},5:{annotation:"The SARS-CoV-2 reference genome",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"The SARS-CoV-2 reference genome",name:"Reference genome"}],label:"Reference genome",name:"Input dataset",outputs:[],position:{left:2283.8167114257812,top:346.1500244140625},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"4a2c6df2-fb1e-42d8-96d5-6765ca85c214",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:6,input_connections:{"components_1|param_type|component_value":{id:1,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:282.79998779296875,top:285.3500061035156},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:`{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "( ( FILTER = 'PASS' ) | ( na FILTER ) ) & ( ( DP4[2] + DP4[3] ) >= ( "}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " * DP ) )"}}], "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"0.1.1",type:"tool",uuid:"8ec54933-36d6-404c-b0a6-5a14b04eb30e",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:7,input_connections:{"components_1|param_type|component_value":{id:2,output_name:"output"},"components_3|param_type|component_value":{id:1,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:233,top:802.0166625976562},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:`{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "( ( DP4[2] + DP4[3] ) > ( "}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " * DP ) ) & ( ( DP4[2] + DP4[3] ) < ( "}}, {"__index__": 3, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " * DP ) ) & ( ( FILTER = 'PASS' ) | ( na FILTER ) )"}}], "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"0.1.1",type:"tool",uuid:"51ac3588-c801-4551-8345-b04cc3571fea",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.30.0",errors:null,id:8,input_connections:{"input_type|input":{id:3,output_name:"output"}},inputs:[{description:"runtime parameter for tool bedtools Genome Coverage",name:"input_type"}],label:null,name:"bedtools Genome Coverage",outputs:[{name:"output",type:"bedgraph"}],position:{left:880.7999877929688,top:403.3499755859375},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Depth of coverage"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.30.0",tool_shed_repository:{changeset_revision:"a1a923cd89e8",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"d": false, "dz": false, "five": false, "input_type": {"input_type_select": "bam", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}, "report": {"report_select": "bg", "__current_case__": 0, "zero_regions": true, "scale": "1.0"}, "split": true, "strand": "", "three": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.30.0",type:"tool",uuid:"d89684f5-5a49-4b4c-821b-6c8a87f3a46e",when:null,workflow_outputs:[{label:"coverage_depth",output_name:"output",uuid:"df923e92-8241-4c8b-9983-4773b753a144"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:9,input_connections:{"components_1|param_type|component_value":{id:4,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:879.3167114257812,top:559.8499755859375},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "c4 < "}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"089b2659-d4c8-44c8-9ecc-ffe71676e650",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",errors:null,id:10,input_connections:{"filter_expression|expr":{id:6,output_name:"out1"},input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool SnpSift Filter",name:"filter_expression"},{description:"runtime parameter for tool SnpSift Filter",name:"input"}],label:null,name:"SnpSift Filter",outputs:[{name:"output",type:"vcf"}],position:{left:485.2833251953125,top:0},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Consensus variants"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_expression": {"type": "simple", "__current_case__": 0, "expr": {"__class__": "ConnectedValue"}}, "filtering": {"mode": "entries", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "inverse": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy1",type:"tool",uuid:"3673b687-1ba0-42f2-ba13-fa3130462079",when:null,workflow_outputs:[{label:"consensus_variants",output_name:"output",uuid:"1db759fb-634a-4b5f-abd9-a0579a003570"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",errors:null,id:11,input_connections:{"filter_expression|expr":{id:7,output_name:"out1"},input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool SnpSift Filter",name:"filter_expression"},{description:"runtime parameter for tool SnpSift Filter",name:"input"}],label:null,name:"SnpSift Filter",outputs:[{name:"output",type:"vcf"}],position:{left:456.66668701171875,top:733.3499755859375},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Filter-failed variants"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_expression": {"type": "simple", "__current_case__": 0, "expr": {"__class__": "ConnectedValue"}}, "filtering": {"mode": "entries", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "inverse": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy1",type:"tool",uuid:"fb232cba-e3b2-43f9-bb1f-a9ebc69c9b97",when:null,workflow_outputs:[{label:"filter_failed_variants",output_name:"output",uuid:"73373a44-4651-49c2-813d-e4ea0ffd46cf"}]},12:{annotation:"",content_id:"Filter1",errors:null,id:12,input_connections:{cond:{id:9,output_name:"out1"},input:{id:8,output_name:"output"}},inputs:[{description:"runtime parameter for tool Filter",name:"cond"},{description:"runtime parameter for tool Filter",name:"input"}],label:null,name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1213.8333129882812,top:427.3499755859375},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Low-coverage regions"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"8ac27ee3-9e9e-4d6f-b424-2c21f80c87ef",when:null,workflow_outputs:[{label:"low_cov_regions",output_name:"out_file1",uuid:"20b0e19e-6916-4709-b8db-8c828ccde324"}]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0",errors:null,id:13,input_connections:{input:{id:10,output_name:"output"}},inputs:[{description:"runtime parameter for tool SnpSift Extract Fields",name:"input"}],label:null,name:"SnpSift Extract Fields",outputs:[{name:"output",type:"tabular"}],position:{left:807.4500122070312,top:183},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Called variants - CHROM_POS_REF"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"empty_text": "", "extract": "CHROM POS REF", "input": {"__class__": "ConnectedValue"}, "one_effect_per_line": false, "separator": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy0",type:"tool",uuid:"5aca2952-a87c-4c77-a259-a22daceab557",when:null,workflow_outputs:[{label:"chrom_pos_ref_called_variants",output_name:"output",uuid:"555dff08-7ce6-4d48-b00f-2c4143f83489"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0",errors:null,id:14,input_connections:{input:{id:11,output_name:"output"}},inputs:[{description:"runtime parameter for tool SnpSift Extract Fields",name:"input"}],label:null,name:"SnpSift Extract Fields",outputs:[{name:"output",type:"tabular"}],position:{left:673.9500122070312,top:899},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Filter-failed variants - CHROM_POS_REF"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"empty_text": "", "extract": "CHROM POS REF", "input": {"__class__": "ConnectedValue"}, "one_effect_per_line": false, "separator": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy0",type:"tool",uuid:"d99d1a1a-24a7-4379-a7d1-1980303ee08a",when:null,workflow_outputs:[{label:"chrom_pos_ref_failed_variants",output_name:"output",uuid:"13574d4b-8c55-4c2f-a5da-76b82ed31deb"}]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0",errors:null,id:15,input_connections:{input:{id:13,output_name:"output"}},inputs:[{description:"runtime parameter for tool Compute",name:"input"}],label:null,name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:1148.1333618164062,top:249.64999389648438},post_job_actions:{ChangeDatatypeActionout_file1:{action_arguments:{newtype:"bed"},action_type:"ChangeDatatypeAction",output_name:"out_file1"},RenameDatasetActionout_file1:{action_arguments:{newname:"Called variant sites"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0",tool_shed_repository:{changeset_revision:"6595517c2dd8",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"avoid_scientific_notation": false, "error_handling": {"auto_col_types": false, "fail_on_non_existent_columns": true, "non_computable": {"action": "--skip-non-computable", "__current_case__": 1}}, "input": {"__class__": "ConnectedValue"}, "ops": {"header_lines_select": "no", "__current_case__": 0, "expressions": [{"__index__": 0, "cond": "int(c2) - (len(c3) == 1)", "add_column": {"mode": "R", "__current_case__": 2, "pos": "2"}}, {"__index__": 1, "cond": "int(c2) + ((len(c3) - 1) or 1)", "add_column": {"mode": "R", "__current_case__": 2, "pos": "3"}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0",type:"tool",uuid:"fd260e32-723d-4a22-8d64-4795557f8159",when:null,workflow_outputs:[{label:"called_variant_sites",output_name:"out_file1",uuid:"0033def6-7531-40b6-8b01-d16a18726fe4"}]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0",errors:null,id:16,input_connections:{input:{id:14,output_name:"output"}},inputs:[{description:"runtime parameter for tool Compute",name:"input"}],label:null,name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:901.6166381835938,top:919.1500244140625},post_job_actions:{ChangeDatatypeActionout_file1:{action_arguments:{newtype:"bed"},action_type:"ChangeDatatypeAction",output_name:"out_file1"},RenameDatasetActionout_file1:{action_arguments:{newname:"Filter-failed variant sites"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0",tool_shed_repository:{changeset_revision:"6595517c2dd8",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"avoid_scientific_notation": false, "error_handling": {"auto_col_types": false, "fail_on_non_existent_columns": true, "non_computable": {"action": "--skip-non-computable", "__current_case__": 1}}, "input": {"__class__": "ConnectedValue"}, "ops": {"header_lines_select": "no", "__current_case__": 0, "expressions": [{"__index__": 0, "cond": "int(c2) - (len(c3) == 1)", "add_column": {"mode": "R", "__current_case__": 2, "pos": "2"}}, {"__index__": 1, "cond": "int(c2) + ((len(c3) - 1) or 1)", "add_column": {"mode": "R", "__current_case__": 2, "pos": "3"}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0",type:"tool",uuid:"116e8e99-53ca-4366-a7e1-e3a9fb0bcfc3",when:null,workflow_outputs:[{label:"failed_variant_sites",output_name:"out_file1",uuid:"8ba74008-5f23-4b79-993b-ae8ddac44456"}]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/concat/gops_concat_1/1.0.1",errors:null,id:17,input_connections:{input1:{id:12,output_name:"out_file1"},input2:{id:16,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool Concatenate",name:"input1"},{description:"runtime parameter for tool Concatenate",name:"input2"}],label:null,name:"Concatenate",outputs:[{name:"output",type:"input"}],position:{left:1468.8833618164062,top:537.4166870117188},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Cocatenated low-coverage regions and filter-failed sites"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/concat/gops_concat_1/1.0.1",tool_shed_repository:{changeset_revision:"73ca13a7ec5f",name:"concat",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input1": {"__class__": "ConnectedValue"}, "input2": {"__class__": "ConnectedValue"}, "sameformat": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.1",type:"tool",uuid:"2b7570fb-9ce5-4a9a-863c-e33efbc88912",when:null,workflow_outputs:[{label:"low_cov_regions_plus_filter_failed",output_name:"output",uuid:"aff4b045-799f-4337-a8e6-af87be35bda3"}]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/merge/gops_merge_1/1.0.0",errors:null,id:18,input_connections:{input1:{id:17,output_name:"output"}},inputs:[{description:"runtime parameter for tool Merge",name:"input1"}],label:null,name:"Merge",outputs:[{name:"output",type:"input"}],position:{left:1703.3167114257812,top:533.6666870117188},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"bed"},action_type:"ChangeDatatypeAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"Combined low-coverage regions and filter-failed sites"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/merge/gops_merge_1/1.0.0",tool_shed_repository:{changeset_revision:"debffd27642d",name:"merge",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input1": {"__class__": "ConnectedValue"}, "returntype": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"3e63167b-6560-4b6d-a409-7d3707039222",when:null,workflow_outputs:[{label:"low_cov_regions_plus_filter_failed_combined",output_name:"output",uuid:"8db1e8f6-9f76-4fd0-b6c9-10eeada9f8c4"}]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/subtract/gops_subtract_1/1.0.0",errors:null,id:19,input_connections:{input1:{id:18,output_name:"output"},input2:{id:15,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool Subtract",name:"input1"},{description:"runtime parameter for tool Subtract",name:"input2"}],label:null,name:"Subtract",outputs:[{name:"output",type:"input"}],position:{left:1959.4666137695312,top:408},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Masking regions"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/subtract/gops_subtract_1/1.0.0",tool_shed_repository:{changeset_revision:"0427ca314f3d",name:"subtract",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input1": {"__class__": "ConnectedValue"}, "input2": {"__class__": "ConnectedValue"}, "min": "1", "returntype": "-p", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"51b26960-4ee7-4a3d-96cb-a6b3950c173e",when:null,workflow_outputs:[{label:"masking_regions",output_name:"output",uuid:"1bdf0a04-75d5-4b7b-bd52-880a869548a1"}]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0",errors:null,id:20,input_connections:{input:{id:19,output_name:"output"}},inputs:[{description:"runtime parameter for tool Compute",name:"input"}],label:null,name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:2144.8333129882812,top:585.6666870117188},post_job_actions:{ChangeDatatypeActionout_file1:{action_arguments:{newtype:"interval"},action_type:"ChangeDatatypeAction",output_name:"out_file1"},RenameDatasetActionout_file1:{action_arguments:{newname:"1-based masking regions"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0",tool_shed_repository:{changeset_revision:"6595517c2dd8",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"avoid_scientific_notation": false, "error_handling": {"auto_col_types": true, "fail_on_non_existent_columns": true, "non_computable": {"action": "--fail-on-non-computable", "__current_case__": 0}}, "input": {"__class__": "ConnectedValue"}, "ops": {"header_lines_select": "no", "__current_case__": 0, "expressions": [{"__index__": 0, "cond": "int(c2) + 1", "add_column": {"mode": "R", "__current_case__": 2, "pos": "2"}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0",type:"tool",uuid:"e06fe045-f0f0-4c32-80ad-a8e070946a2f",when:null,workflow_outputs:[{label:"1_based_masking_regions",output_name:"out_file1",uuid:"dc85cc18-db50-4c90-97d7-58eb5dcad70b"}]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy3",errors:null,id:21,input_connections:{input_file:{id:10,output_name:"output"},"reference_source|fasta_ref":{id:5,output_name:"output"},"sec_default|mask":{id:20,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bcftools consensus",name:"input_file"},{description:"runtime parameter for tool bcftools consensus",name:"reference_source"},{description:"runtime parameter for tool bcftools consensus",name:"sec_default"}],label:null,name:"bcftools consensus",outputs:[{name:"output_file",type:"fasta"}],position:{left:2603.8333129882812,top:243.66668701171875},post_job_actions:{RenameDatasetActionoutput_file:{action_arguments:{newname:"Consensus sequence with masking"},action_type:"RenameDatasetAction",output_name:"output_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy3",tool_shed_repository:{changeset_revision:"147de996e34f",name:"bcftools_consensus",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"absent": "", "chain": false, "input_file": {"__class__": "ConnectedValue"}, "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "fasta_ref": {"__class__": "ConnectedValue"}}, "rename": true, "sec_default": {"mask": {"__class__": "ConnectedValue"}, "iupac_codes": false, "sample": "", "select_haplotype": null, "mark_del": "", "mark_ins": null, "mark_snv": null, "conditional_mask": {"selector": "disabled", "__current_case__": 0}}, "sec_restrict": {"include": "", "exclude": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.15.1+galaxy3",type:"tool",uuid:"698a9a8c-f6fe-430b-a7e0-cf9e1d058d02",when:null,workflow_outputs:[{label:"consensus",output_name:"output_file",uuid:"5e1e40be-fab7-4592-82b4-a02536f618ef"}]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:22,input_connections:{input_list:{id:21,output_name:"output_file"}},inputs:[{description:"runtime parameter for tool Collapse Collection",name:"input_list"}],label:null,name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:2863.5000610351562,top:267.5},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Multisample consensus FASTA"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": false, "__current_case__": 1}, "input_list": {"__class__": "ConnectedValue"}, "one_header": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"acae0f3e-448b-483e-a44a-3e09ce9b3e77",when:null,workflow_outputs:[{label:"multisample_consensus_fasta",output_name:"output",uuid:"105f13c3-9c94-4924-b950-9526d680562f"}]}},tags:["COVID-19","covid19.galaxyproject.org"],uuid:"06dc40a7-99f2-4b3c-ae21-b3dcb239306f"},readme:`COVID-19: consensus construction -------------------------------- @@ -1290,6 +2427,61 @@ Added RO-Crate metadata file. No functional changes. ## [0.1] - Initial version of COVID-19: consensus construction +`,diagrams:`# Workflow diagrams + +## COVID-19: consensus construction + +\`\`\`mermaid +graph LR +0["ℹ️ Variant calls"]@{ shape: docs } +1["ℹ️ min-AF for consensus variant"]@{ shape: lean-l } +2["ℹ️ min-AF for failed variants"]@{ shape: lean-l } +3["ℹ️ aligned reads data for depth calculation"]@{ shape: docs } +4["ℹ️ Depth-threshold for masking"]@{ shape: lean-l } +5["ℹ️ Reference genome"]@{ shape: doc } +6["Compose text parameter value"]@{ shape: process } +1 --> 6 +7["Compose text parameter value"]@{ shape: process } +2 --> 7 +1 --> 7 +8["bedtools Genome Coverage"]@{ shape: process } +3 --> 8 +9["Compose text parameter value"]@{ shape: process } +4 --> 9 +10["SnpSift Filter"]@{ shape: process } +6 --> 10 +0 --> 10 +11["SnpSift Filter"]@{ shape: process } +7 --> 11 +0 --> 11 +12["Filter"]@{ shape: process } +9 --> 12 +8 --> 12 +13["SnpSift Extract Fields"]@{ shape: process } +10 --> 13 +14["SnpSift Extract Fields"]@{ shape: process } +11 --> 14 +15["Compute"]@{ shape: process } +13 --> 15 +16["Compute"]@{ shape: process } +14 --> 16 +17["Concatenate"]@{ shape: process } +12 --> 17 +16 --> 17 +18["Merge"]@{ shape: process } +17 --> 18 +19["Subtract"]@{ shape: process } +18 --> 19 +15 --> 19 +20["Compute"]@{ shape: process } +19 --> 20 +21["bcftools consensus"]@{ shape: process } +10 --> 21 +5 --> 21 +20 --> 21 +22["Collapse Collection"]@{ shape: process } +21 --> 22 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/sars-cov-2-consensus-from-variation/COVID-19-CONSENSUS-CONSTRUCTION",tests:[{doc:"Test consensus building from called variants",job:{"Reference genome":{class:"File",location:"https://zenodo.org/record/4555735/files/NC_045512.2_reference.fasta?download=1"},"aligned reads data for depth calculation":{class:"Collection",collection_type:"list",elements:[{identifier:"SRR11578257",class:"File",path:"test-data/aligned_reads_for_coverage.bam"}]},"Variant calls":{class:"Collection",collection_type:"list",elements:[{identifier:"SRR11578257",class:"File",path:"test-data/final_snpeff_annotated_variants.vcf"}]}},outputs:{multisample_consensus_fasta:{file:"test-data/masked_consensus.fa"}}}]}],path:"./workflows/sars-cov-2-variant-calling/sars-cov-2-consensus-from-variation"},{version:1.2,workflows:[{name:"COVID-19-PE-ARTIC-ILLUMINA",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/pe-artic-variation.ga",testParameterFiles:["/pe-artic-variation-tests.yml"],authors:[{name:"Wolfgang Maier",orcid:"0000-0002-9464-6640"}],definition:{a_galaxy_workflow:"true",annotation:"The workflow for Illumina-sequenced ARTIC data builds on the RNASeq workflow for paired-end data using the same steps for mapping and variant calling, but adds extra logic for trimming ARTIC primer sequences off reads with the ivar package. In addition, this workflow uses ivar also to identify amplicons affected by ARTIC primer-binding site mutations and tries to exclude reads derived from such tainted amplicons when calculating allele-frequencies of other variants.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9464-6640",name:"Wolfgang Maier"}],"format-version":"0.1",license:"MIT",name:"COVID-19: variation analysis on ARTIC PE data",release:"0.5.3",steps:{0:{annotation:"Illumina reads from ARTIC assay with fastqsanger encoding",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Illumina reads from ARTIC assay with fastqsanger encoding",name:"Paired Collection"}],label:"Paired Collection",name:"Input dataset collection",outputs:[],position:{left:0,top:506.796875},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger", "fastqsanger.gz"], "tag": null, "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"dfab5b21-4abb-4269-978d-7c7e24479e4a",when:null,workflow_outputs:[]},1:{annotation:"Fasta sequence for Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Fasta sequence for Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome",name:"NC_045512.2 FASTA sequence of SARS-CoV-2"}],label:"NC_045512.2 FASTA sequence of SARS-CoV-2",name:"Input dataset",outputs:[],position:{left:269.78125,top:883.5625},tool_id:null,tool_state:'{"optional": false, "format": ["fasta", "fasta.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"03043a6d-ee9e-4af5-abf4-f960beb6b4e9",when:null,workflow_outputs:[]},2:{annotation:"BED file containing ARTIC primer positions. Can be retrieved from https://usegalaxy.eu/u/wolfgang-maier/h/covid-19-resources",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"BED file containing ARTIC primer positions. Can be retrieved from https://usegalaxy.eu/u/wolfgang-maier/h/covid-19-resources",name:"ARTIC primer BED"}],label:"ARTIC primer BED",name:"Input dataset",outputs:[],position:{left:962.171875,top:326.90625},tool_id:null,tool_state:'{"optional": false, "format": ["bed"], "tag": null}',tool_version:null,type:"data_input",uuid:"cd6caddf-88ee-47a2-b91d-141fd90b046f",when:null,workflow_outputs:[]},3:{annotation:"Used by ivar trim and ivar removereads for assigning primers to amplicons. Should have one line of tab-separated primer names per amplicon. Can be retrieved from https://usegalaxy.eu/u/wolfgang-maier/h/covid-19-resources",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Used by ivar trim and ivar removereads for assigning primers to amplicons. Should have one line of tab-separated primer names per amplicon. Can be retrieved from https://usegalaxy.eu/u/wolfgang-maier/h/covid-19-resources",name:"ARTIC primers to amplicon assignments"}],label:"ARTIC primers to amplicon assignments",name:"Input dataset",outputs:[],position:{left:961.625,top:431.5625},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"686cdb4d-a3da-468f-af92-8b04e1824ae0",when:null,workflow_outputs:[]},4:{annotation:"Minimum allele-frequency required for a candidate primer binding site mutation to trigger amplicon removal. Variants with AF values below this threshold are treated as possible false-positives, which are not worth the coverage loss associated with amplicon removal.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Minimum allele-frequency required for a candidate primer binding site mutation to trigger amplicon removal. Variants with AF values below this threshold are treated as possible false-positives, which are not worth the coverage loss associated with amplicon removal.",name:"Read removal minimum AF"}],label:"Read removal minimum AF",name:"Input parameter",outputs:[],position:{left:1093.265625,top:46.640625},tool_id:null,tool_state:'{"default": 0.1, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"29f15ec0-8fa4-4476-b649-cf68ea096744",when:null,workflow_outputs:[]},5:{annotation:"Maximum allele-frequency allowed for a primer binding site mutation to trigger amplicon removal. Variants with AF values above this threshold are treated as fixed variants, which won't generate amplicon bias.",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Maximum allele-frequency allowed for a primer binding site mutation to trigger amplicon removal. Variants with AF values above this threshold are treated as fixed variants, which won't generate amplicon bias.",name:"Read removal maximum AF"}],label:"Read removal maximum AF",name:"Input parameter",outputs:[],position:{left:1094.515625,top:156.640625},tool_id:null,tool_state:'{"default": 1.0, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"b13941c0-31c0-419d-a619-7474c24a582c",when:null,workflow_outputs:[]},6:{annotation:"At any given variant site use the amplicon bias-corrected recall only if the depth of coverage of the site retains at least this value after amplicon removal.",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"At any given variant site use the amplicon bias-corrected recall only if the depth of coverage of the site retains at least this value after amplicon removal.",name:"Minimum DP required after amplicon bias correction"}],label:"Minimum DP required after amplicon bias correction",name:"Input parameter",outputs:[],position:{left:2171.5625,top:0},tool_id:null,tool_state:'{"default": 1, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"e33b575d-e44e-451e-a2ba-5c253fdc9e5a",when:null,workflow_outputs:[]},7:{annotation:"At any given variant site use the amplicon bias-corrected recall only if the depth of variant-supporting reads at the site retains at least this value after amplicon removal.",content_id:null,errors:null,id:7,input_connections:{},inputs:[{description:"At any given variant site use the amplicon bias-corrected recall only if the depth of variant-supporting reads at the site retains at least this value after amplicon removal.",name:"Minimum DP_ALT required after amplicon bias correction"}],label:"Minimum DP_ALT required after amplicon bias correction",name:"Input parameter",outputs:[],position:{left:2172.34375,top:117.796875},tool_id:null,tool_state:'{"default": 10, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"07e46388-c546-4425-8702-caf5d19667c1",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy1",errors:null,id:8,input_connections:{"single_paired|paired_input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool fastp",name:"single_paired"}],label:null,name:"fastp",outputs:[{name:"output_paired_coll",type:"input"},{name:"report_html",type:"html"},{name:"report_json",type:"json"}],position:{left:217.765625,top:618.734375},post_job_actions:{HideDatasetActionreport_json:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy1",tool_shed_repository:{changeset_revision:"d60c3f704da0",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": false, "qualified_quality_phred": null, "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": false, "length_required": null, "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": false, "complexity_threshold": null}}, "output_options": {"report_html": true, "report_json": true}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": false, "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": false, "umi_loc": "", "umi_len": null, "umi_prefix": ""}, "cutting_by_quality_options": {"cut_by_quality5": false, "cut_by_quality3": false, "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": false}}, "single_paired": {"single_paired_selector": "paired_collection", "__current_case__": 2, "paired_input": {"__class__": "ConnectedValue"}, "adapter_trimming_options": {"disable_adapter_trimming": false, "adapter_sequence1": "", "adapter_sequence2": "", "detect_adapter_for_pe": false}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null, "trim_front2": null, "trim_tail2": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.23.4+galaxy1",type:"tool",uuid:"849d9cac-14b8-4e45-823d-5747709e8b60",when:null,workflow_outputs:[{label:"fastp_html_report",output_name:"report_html",uuid:"341566b1-181a-4bb0-9d0f-37db45003b22"},{label:"fastp_json_report",output_name:"report_json",uuid:"04955ac5-df51-41ff-bd19-a0a99c7ef761"},{label:"fastp_reads_output",output_name:"output_paired_coll",uuid:"8685689a-fbae-4a3e-b88b-7b4d212bafde"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:9,input_connections:{"components_1|param_type|component_value":{id:4,output_name:"output"},"components_3|param_type|component_value":{id:5,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:1331.390625,top:45.046875},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "( ( DP4[2] + DP4[3] ) >= ( "}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " * DP ) ) & ( ( DP4[2] + DP4[3] ) <= ( "}}, {"__index__": 3, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " * DP ) )"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"d163b9b9-ee13-4b2b-8d64-b6d77758fac9",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:10,input_connections:{"components_1|param_type|component_value":{id:6,output_name:"output"},"components_3|param_type|component_value":{id:7,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:2400.96875,top:39.765625},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "( DP > "}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " ) & ( ( AF * DP ) >= ( "}}, {"__index__": 3, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " - 0.5 ) )"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"258a1a99-145b-42a0-b858-5220b4199946",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2",errors:null,id:11,input_connections:{"fastq_input|fastq_input1":{id:8,output_name:"output_paired_coll"},"reference_source|ref_file":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map with BWA-MEM",name:"fastq_input"},{description:"runtime parameter for tool Map with BWA-MEM",name:"reference_source"}],label:null,name:"Map with BWA-MEM",outputs:[{name:"bam_output",type:"bam"}],position:{left:455.09375,top:352.5625},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2",tool_shed_repository:{changeset_revision:"e188dc7a68e6",name:"bwa",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"analysis_type": {"analysis_type_selector": "illumina", "__current_case__": 0}, "fastq_input": {"fastq_input_selector": "paired_collection", "__current_case__": 2, "fastq_input1": {"__class__": "ConnectedValue"}, "iset_stats": ""}, "output_sort": "coordinate", "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}, "index_a": "auto"}, "rg": {"rg_selector": "do_not_set", "__current_case__": 3}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.7.17.2",type:"tool",uuid:"3b5d7080-c168-4bf7-946d-9045c0a4bc4c",when:null,workflow_outputs:[{label:"mapped_reads",output_name:"bam_output",uuid:"d9641fec-7639-47c3-881f-74165e0b5889"}]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2",errors:null,id:12,input_connections:{input:{id:11,output_name:"bam_output"}},inputs:[{description:"runtime parameter for tool Samtools view",name:"input"}],label:null,name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:664.6875,top:569.921875},post_job_actions:{RenameDatasetActionoutputsam:{action_arguments:{newname:"Mapped read pairs (filtered bwa-mem result)"},action_type:"RenameDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2",tool_shed_repository:{changeset_revision:"6be888be75f9",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "quality": "20", "library": "", "cigarcons": null, "inclusive_filter": ["1"], "exclusive_filter": ["4", "8", "256"], "exclusive_filter_all": null, "tag": null, "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "fraction", "__current_case__": 0, "factor": "1.0", "seed": null}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.15.1+galaxy2",type:"tool",uuid:"2f7744df-3811-4b7f-8f1f-cf8bf0ec7a0b",when:null,workflow_outputs:[{label:"filtered_mapped_reads",output_name:"outputsam",uuid:"1f75f9a7-8793-4c9e-b64d-5219a1e266db"}]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_viterbi/lofreq_viterbi/2.1.5+galaxy0",errors:null,id:13,input_connections:{reads:{id:12,output_name:"outputsam"},"reference_source|ref":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Realign reads",name:"reads"},{description:"runtime parameter for tool Realign reads",name:"reference_source"}],label:null,name:"Realign reads",outputs:[{name:"realigned",type:"bam"}],position:{left:893.5,top:616.53125},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_viterbi/lofreq_viterbi/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"aa35ee7f3ab2",name:"lofreq_viterbi",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_options": {"keepflags": false, "bq2_handling": {"replace_bq2": "keep", "__current_case__": 0, "defqual": "2"}}, "reads": {"__class__": "ConnectedValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"67b3fe84-0164-4494-9cfc-0bd0c86d7a2a",when:null,workflow_outputs:[{label:"realigned_primer_trimmed_filtered_mapped_reads",output_name:"realigned",uuid:"a9186bec-17b7-4993-89d8-dcaf5a0f89a9"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.5",errors:null,id:14,input_connections:{input:{id:12,output_name:"outputsam"}},inputs:[{description:"runtime parameter for tool Samtools stats",name:"input"}],label:null,name:"Samtools stats",outputs:[{name:"output",type:"tabular"}],position:{left:918.8125,top:922.90625},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.5",tool_shed_repository:{changeset_revision:"fed4aa48ba09",name:"samtools_stats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "cond_region": {"select_region": "no", "__current_case__": 0}, "cov_threshold": null, "coverage_cond": {"coverage_select": "no", "__current_case__": 0}, "filter_by_flags": {"filter_flags": "nofilter", "__current_case__": 1}, "gc_depth": null, "input": {"__class__": "ConnectedValue"}, "insert_size": null, "most_inserts": null, "read_group": null, "read_length": null, "remove_dups": false, "remove_overlaps": false, "sparse": false, "split_output_cond": {"split_output_selector": "no", "__current_case__": 0}, "trim_quality": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.5",type:"tool",uuid:"271efb08-46c0-4801-9869-b9948dfdebb4",when:null,workflow_outputs:[{label:"mapped_reads_stats",output_name:"output",uuid:"7d923dc5-84b5-4f32-90ce-5d97b87ec3e1"}]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy1",errors:null,id:15,input_connections:{reads:{id:13,output_name:"realigned"},"strategy|reference_source|ref":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Insert indel qualities",name:"reads"}],label:null,name:"Insert indel qualities",outputs:[{name:"output",type:"bam"}],position:{left:1122.875,top:618.046875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy1",tool_shed_repository:{changeset_revision:"971e07ca4456",name:"lofreq_indelqual",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"reads": {"__class__": "ConnectedValue"}, "strategy": {"selector": "dindel", "__current_case__": 1, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy1",type:"tool",uuid:"70897728-2744-4a82-9b7d-38190594fec6",when:null,workflow_outputs:[{label:"realigned_primer_trimmed_filtered_mapped_reads_with_indel_quals",output_name:"output",uuid:"a3c94ad6-de7b-4b2f-8374-34c5bbff7d55"}]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.4.2+galaxy0",errors:null,id:16,input_connections:{"amplicons|amplicon_info":{id:3,output_name:"output"},input_bam:{id:15,output_name:"output"},"primer|input_bed":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool ivar trim",name:"amplicons"},{description:"runtime parameter for tool ivar trim",name:"input_bam"},{description:"runtime parameter for tool ivar trim",name:"primer"}],label:null,name:"ivar trim",outputs:[{name:"output_bam",type:"bam"}],position:{left:1325.6875,top:364.9375},post_job_actions:{RenameDatasetActionoutput_bam:{action_arguments:{newname:"Fully processed reads for variant calling (primer-trimmed, realigned reads with added indelquals)"},action_type:"RenameDatasetAction",output_name:"output_bam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.4.2+galaxy0",tool_shed_repository:{changeset_revision:"0893a1dbb807",name:"ivar_trim",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"amplicons": {"filter_by": "yes", "__current_case__": 1, "amplicon_info": {"__class__": "ConnectedValue"}}, "inc_primers": true, "input_bam": {"__class__": "ConnectedValue"}, "min_len": "1", "min_qual": "0", "primer": {"source": "history", "__current_case__": 0, "input_bed": {"__class__": "ConnectedValue"}}, "primer_pos_wiggle": "0", "trimmed_length": {"filter": "auto", "__current_case__": 1}, "window_width": "4", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.4.2+galaxy0",type:"tool",uuid:"7730e635-853f-4f9f-9451-bffbe6aedd15",when:null,workflow_outputs:[{label:"primer_trimmed_filtered_mapped_reads",output_name:"output_bam",uuid:"a03a0ced-394c-4b52-ab17-e596ed15469d"}]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy2",errors:null,id:17,input_connections:{reads:{id:16,output_name:"output_bam"},"reference_source|ref":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Call variants",name:"reads"},{description:"runtime parameter for tool Call variants",name:"reference_source"}],label:null,name:"Call variants",outputs:[{name:"variants",type:"vcf"}],position:{left:1560.453125,top:527.5},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy2",tool_shed_repository:{changeset_revision:"4805fe3d8fda",name:"lofreq_call",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"call_control": {"set_call_options": "yes", "__current_case__": 1, "coverage": {"min_cov": "5", "max_depth": "1000000"}, "pe": {"use_orphan": false}, "bc_quals": {"min_bq": "30", "min_alt_bq": "30", "alt_bq": {"modify": "", "__current_case__": 0}}, "align_quals": {"alnqual": {"use_alnqual": "", "__current_case__": 0, "alnqual_choice": {"alnquals_to_use": "", "__current_case__": 1, "extended_baq": true}}}, "map_quals": {"min_mq": "20", "use_mq": {"no_mq": "", "__current_case__": 0, "max_mq": "255"}}, "source_qual": {"use_src_qual": {"src_qual": "", "__current_case__": 0}}, "joint_qual": {"min_jq": "0", "min_alt_jq": "0", "def_alt_jq": "0"}}, "filter_control": {"filter_type": "set_custom", "__current_case__": 3, "sig": "0.0005", "bonf": "0", "others": false}, "reads": {"__class__": "ConnectedValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}, "regions": {"restrict_to_region": "genome", "__current_case__": 0}, "variant_types": "--call-indels", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy2",type:"tool",uuid:"422c7955-7768-4745-95db-b6882f37cd4b",when:null,workflow_outputs:[{label:"preliminary_variants_1",output_name:"variants",uuid:"f4a5e53e-f13e-419d-b729-a5177022406e"}]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/qualimap_bamqc/qualimap_bamqc/2.2.2d+galaxy3",errors:null,id:18,input_connections:{input1:{id:16,output_name:"output_bam"}},inputs:[{description:"runtime parameter for tool QualiMap BamQC",name:"input1"}],label:null,name:"QualiMap BamQC",outputs:[{name:"raw_data",type:"input"},{name:"output_html",type:"html"}],position:{left:1497.5625,top:772},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/qualimap_bamqc/qualimap_bamqc/2.2.2d+galaxy3",tool_shed_repository:{changeset_revision:"19ece8afbaab",name:"qualimap_bamqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"duplicate_skipping": ["0"], "input1": {"__class__": "ConnectedValue"}, "per_base_coverage": false, "plot_specific": {"n_bins": "400", "paint_chromosome_limits": true, "genome_gc_distr": null, "homopolymer_size": "3"}, "stats_regions": {"region_select": "all", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.2d+galaxy3",type:"tool",uuid:"e2c69f7d-e6fd-4c9a-bbfd-05b70e5b2129",when:null,workflow_outputs:[{label:"bamqc_raw_output",output_name:"raw_data",uuid:"cd94a67a-edb4-4f54-b71a-ba6c138c8e1a"},{label:"bamqc_html_output",output_name:"output_html",uuid:"2358cbeb-7bfc-434a-9b5e-decc2021cd8f"}]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",errors:null,id:19,input_connections:{"filter_expression|expr":{id:9,output_name:"out1"},input:{id:17,output_name:"variants"}},inputs:[{description:"runtime parameter for tool SnpSift Filter",name:"filter_expression"},{description:"runtime parameter for tool SnpSift Filter",name:"input"}],label:null,name:"SnpSift Filter",outputs:[{name:"output",type:"vcf"}],position:{left:1753.1875,top:326.265625},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_expression": {"type": "simple", "__current_case__": 0, "expr": {"__class__": "ConnectedValue"}}, "filtering": {"mode": "entries", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "inverse": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy1",type:"tool",uuid:"a2b784b0-28c1-45e3-93b8-d1d9d598de01",when:null,workflow_outputs:[{label:"filtered_preliminary_variants",output_name:"output",uuid:"f0948734-a0aa-4dfe-938f-98b63293898c"}]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",errors:null,id:20,input_connections:{"filter_expression|expr":{id:10,output_name:"out1"},input:{id:17,output_name:"variants"}},inputs:[{description:"runtime parameter for tool SnpSift Filter",name:"filter_expression"},{description:"runtime parameter for tool SnpSift Filter",name:"input"}],label:null,name:"SnpSift Filter",outputs:[{name:"output",type:"vcf"}],position:{left:2648.703125,top:531.546875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_expression": {"type": "simple", "__current_case__": 0, "expr": {"__class__": "ConnectedValue"}}, "filtering": {"mode": "entries", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "inverse": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy1",type:"tool",uuid:"b96f89fd-30c1-4e70-ae70-ca37121e3c61",when:null,workflow_outputs:[{label:"preliminary_variants_1_filtered",output_name:"output",uuid:"e9c3d008-71df-43b6-919a-c482fc0572ee"}]},21:{annotation:"",content_id:"__FILTER_FAILED_DATASETS__",errors:null,id:21,input_connections:{input:{id:18,output_name:"raw_data"}},inputs:[{description:"runtime parameter for tool Filter failed datasets",name:"input"}],label:null,name:"Filter failed datasets",outputs:[{name:"output",type:"input"}],position:{left:1730.21875,top:783.796875},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__FILTER_FAILED_DATASETS__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"e4e04a37-f4bf-41d7-9470-5c96125ebc49",when:null,workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_removereads/ivar_removereads/1.4.2+galaxy0",errors:null,id:22,input_connections:{"amplicons|amplicon_info":{id:3,output_name:"output"},input_bam:{id:16,output_name:"output_bam"},input_bed:{id:2,output_name:"output"},variants_tsv:{id:19,output_name:"output"}},inputs:[{description:"runtime parameter for tool ivar removereads",name:"amplicons"},{description:"runtime parameter for tool ivar removereads",name:"input_bam"},{description:"runtime parameter for tool ivar removereads",name:"input_bed"},{description:"runtime parameter for tool ivar removereads",name:"variants_tsv"}],label:null,name:"ivar removereads",outputs:[{name:"output_bam",type:"bam"}],position:{left:1949.546875,top:48.96875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_removereads/ivar_removereads/1.4.2+galaxy0",tool_shed_repository:{changeset_revision:"69797fa273c3",name:"ivar_removereads",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"amplicons": {"computed": "no", "__current_case__": 1, "amplicon_info": {"__class__": "ConnectedValue"}}, "input_bam": {"__class__": "ConnectedValue"}, "input_bed": {"__class__": "ConnectedValue"}, "variants_tsv": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.4.2+galaxy0",type:"tool",uuid:"af7d3b75-d16c-43c7-82e4-3f1388edd22c",when:null,workflow_outputs:[{label:"amplicon_removal_output",output_name:"output_bam",uuid:"abe39037-7f89-4b93-9431-b0287bcee2d6"}]},23:{annotation:"",content_id:"__FLATTEN__",errors:null,id:23,input_connections:{input:{id:21,output_name:"output"}},inputs:[{description:"runtime parameter for tool Flatten collection",name:"input"}],label:null,name:"Flatten collection",outputs:[{name:"output",type:"input"}],position:{left:1955.65625,top:789.5},post_job_actions:{},tool_id:"__FLATTEN__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "join_identifier": "_", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"396c9b85-8ec7-405a-a742-5b47e40cf0de",when:null,workflow_outputs:[{label:"bamqc_raw_output_flattened",output_name:"output",uuid:"b3942cb8-ac12-4b37-88d2-6c25dc58b636"}]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy2",errors:null,id:24,input_connections:{reads:{id:22,output_name:"output_bam"},"reference_source|ref":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Call variants",name:"reads"},{description:"runtime parameter for tool Call variants",name:"reference_source"}],label:null,name:"Call variants",outputs:[{name:"variants",type:"vcf"}],position:{left:2204.984375,top:334.296875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy2",tool_shed_repository:{changeset_revision:"4805fe3d8fda",name:"lofreq_call",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"call_control": {"set_call_options": "yes", "__current_case__": 1, "coverage": {"min_cov": "5", "max_depth": "1000000"}, "pe": {"use_orphan": false}, "bc_quals": {"min_bq": "30", "min_alt_bq": "30", "alt_bq": {"modify": "", "__current_case__": 0}}, "align_quals": {"alnqual": {"use_alnqual": "", "__current_case__": 0, "alnqual_choice": {"alnquals_to_use": "", "__current_case__": 1, "extended_baq": true}}}, "map_quals": {"min_mq": "20", "use_mq": {"no_mq": "", "__current_case__": 0, "max_mq": "255"}}, "source_qual": {"use_src_qual": {"src_qual": "", "__current_case__": 0}}, "joint_qual": {"min_jq": "0", "min_alt_jq": "0", "def_alt_jq": "0"}}, "filter_control": {"filter_type": "set_custom", "__current_case__": 3, "sig": "0.0005", "bonf": "0", "others": false}, "reads": {"__class__": "ConnectedValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}, "regions": {"restrict_to_region": "genome", "__current_case__": 0}, "variant_types": "--call-indels", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy2",type:"tool",uuid:"bef93d5b-c023-459c-888c-ac3382515322",when:null,workflow_outputs:[{label:"preliminary_variants_2",output_name:"variants",uuid:"6a59b687-340f-4ef6-b908-31fd69bd081e"}]},25:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",errors:null,id:25,input_connections:{"results_0|software_cond|input":{id:8,output_name:"report_json"},"results_1|software_cond|output_0|type|input":{id:14,output_name:"output"},"results_2|software_cond|input":{id:23,output_name:"output"}},inputs:[],label:null,name:"MultiQC",outputs:[{name:"stats",type:"input"},{name:"plots",type:"input"},{name:"html_report",type:"html"}],position:{left:2186.515625,top:925.765625},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"},RenameDatasetActionhtml_report:{action_arguments:{newname:"Preprocessing and mapping reports"},action_type:"RenameDatasetAction",output_name:"html_report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",tool_shed_repository:{changeset_revision:"abfd8a6544d7",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": true, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "samtools", "__current_case__": 24, "output": [{"__index__": 0, "type": {"type": "stats", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 2, "software_cond": {"software": "qualimap", "__current_case__": 20, "input": {"__class__": "ConnectedValue"}}}], "saveLog": false, "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.11+galaxy1",type:"tool",uuid:"ee2b164f-213b-4d95-9ab7-febdf5a71085",when:null,workflow_outputs:[{label:"preprocessing_and_mapping_reports",output_name:"html_report",uuid:"935dfa12-2c9a-4e44-85fa-a2daa3e04683"},{label:"preprocessing_and_mapping_plots",output_name:"plots",uuid:"97cbd06a-8be5-4e1f-802b-7928c94de928"}]},26:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bcftools_annotate/bcftools_annotate/1.15.1+galaxy3",errors:null,id:26,input_connections:{input_file:{id:17,output_name:"variants"},"sec_annofile|annofile|annotations":{id:24,output_name:"variants"}},inputs:[{description:"runtime parameter for tool bcftools annotate",name:"input_file"},{description:"runtime parameter for tool bcftools annotate",name:"sec_annotate"},{description:"runtime parameter for tool bcftools annotate",name:"sec_annotate"},{description:"runtime parameter for tool bcftools annotate",name:"sec_restrict"}],label:null,name:"bcftools annotate",outputs:[{name:"output_file",type:"vcf"}],position:{left:2409.21875,top:689.4375},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bcftools_annotate/bcftools_annotate/1.15.1+galaxy3",tool_shed_repository:{changeset_revision:"3f62d4939d54",name:"bcftools_annotate",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_file": {"__class__": "ConnectedValue"}, "output_type": "v", "sec_annofile": {"columns": "QUAL,INFO", "annofile": {"anno_fmt": "vcf", "__current_case__": 1, "annotations": {"__class__": "ConnectedValue"}}, "mark_sites": "-AmpliconBias", "min_overlap": "", "set_id": ""}, "sec_annotate": {"remove": "", "rename_chrs": {"__class__": "RuntimeValue"}, "rename_annots": {"__class__": "RuntimeValue"}}, "sec_restrict": {"include": "", "exclude": "", "collapse": null, "regions": {"regions_src": "__none__", "__current_case__": 0}, "regions_overlap": null, "samples": "", "invert_samples": false, "samples_file": {"__class__": "RuntimeValue"}, "invert_samples_file": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.15.1+galaxy3",type:"tool",uuid:"c466b7da-f50c-4093-9eb5-c014ba41c1b8",when:null,workflow_outputs:[{label:"variants_fixed_partial",output_name:"output_file",uuid:"7c918bc9-7234-497c-9349-e977bc261510"}]},27:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",errors:null,id:27,input_connections:{"filter_expression|expr":{id:10,output_name:"out1"},input:{id:24,output_name:"variants"}},inputs:[{description:"runtime parameter for tool SnpSift Filter",name:"filter_expression"},{description:"runtime parameter for tool SnpSift Filter",name:"input"}],label:null,name:"SnpSift Filter",outputs:[{name:"output",type:"vcf"}],position:{left:2655.703125,top:349.046875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_expression": {"type": "simple", "__current_case__": 0, "expr": {"__class__": "ConnectedValue"}}, "filtering": {"mode": "entries", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "inverse": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy1",type:"tool",uuid:"c3d5ad01-385e-4405-bdc1-51f01dee4071",when:null,workflow_outputs:[{label:"preliminary_variants_2_filtered",output_name:"output",uuid:"b7f7c28f-1a7c-4098-bb84-b82fbfea2321"}]},28:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/vcfvcfintersect/vcfvcfintersect/1.0.0_rc3+galaxy0",errors:null,id:28,input_connections:{"reference_source|ref_file":{id:1,output_name:"output"},vcf_input1:{id:27,output_name:"output"},vcf_input2:{id:20,output_name:"output"}},inputs:[{description:"runtime parameter for tool VCF-VCFintersect:",name:"reference_source"},{description:"runtime parameter for tool VCF-VCFintersect:",name:"vcf_input1"},{description:"runtime parameter for tool VCF-VCFintersect:",name:"vcf_input2"}],label:null,name:"VCF-VCFintersect:",outputs:[{name:"out_file1",type:"vcf"}],position:{left:2885.859375,top:501},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/vcfvcfintersect/vcfvcfintersect/1.0.0_rc3+galaxy0",tool_shed_repository:{changeset_revision:"166c4f50525f",name:"vcfvcfintersect",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_options": {"adv_options_selector": "no", "__current_case__": 0}, "invert": true, "isect_union": "-i", "loci": false, "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}}, "vcf_input1": {"__class__": "ConnectedValue"}, "vcf_input2": {"__class__": "ConnectedValue"}, "window_size": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0_rc3+galaxy0",type:"tool",uuid:"816eeae7-4ad5-4f2d-b709-285931d2be4b",when:null,workflow_outputs:[{label:"lost_filter_passing_variants",output_name:"out_file1",uuid:"2b336081-1278-4a1d-9991-58d0d33adfcf"}]},29:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bcftools_annotate/bcftools_annotate/1.15.1+galaxy3",errors:null,id:29,input_connections:{input_file:{id:26,output_name:"output_file"},"sec_annofile|annofile|annotations":{id:28,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bcftools annotate",name:"input_file"},{description:"runtime parameter for tool bcftools annotate",name:"sec_annotate"},{description:"runtime parameter for tool bcftools annotate",name:"sec_annotate"},{description:"runtime parameter for tool bcftools annotate",name:"sec_restrict"}],label:null,name:"bcftools annotate",outputs:[{name:"output_file",type:"vcf"}],position:{left:3112.953125,top:656.28125},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bcftools_annotate/bcftools_annotate/1.15.1+galaxy3",tool_shed_repository:{changeset_revision:"3f62d4939d54",name:"bcftools_annotate",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_file": {"__class__": "ConnectedValue"}, "output_type": "v", "sec_annofile": {"columns": "QUAL,INFO", "annofile": {"anno_fmt": "vcf", "__current_case__": 1, "annotations": {"__class__": "ConnectedValue"}}, "mark_sites": "+AmpliconBias", "min_overlap": "", "set_id": ""}, "sec_annotate": {"remove": "", "rename_chrs": {"__class__": "RuntimeValue"}, "rename_annots": {"__class__": "RuntimeValue"}}, "sec_restrict": {"include": "", "exclude": "", "collapse": null, "regions": {"regions_src": "__none__", "__current_case__": 0}, "regions_overlap": null, "samples": "", "invert_samples": false, "samples_file": {"__class__": "RuntimeValue"}, "invert_samples_file": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.15.1+galaxy3",type:"tool",uuid:"c466b7da-f50c-4093-9eb5-c014ba41c1b7",when:null,workflow_outputs:[{label:"variants_fixed",output_name:"output_file",uuid:"d06d1e97-0016-48f7-9f93-4d68a0d99dde"}]},30:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:30,input_connections:{infile:{id:29,output_name:"output_file"}},inputs:[{description:"runtime parameter for tool Replace Text",name:"infile"}],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:3338.28125,top:745.546875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "^##INFO="}, {"__index__": 1, "find_pattern": "^##INFO= --min-bq among all bases at the site\\">"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"490dbabb-04ee-426d-a8e5-e2ec9e59de3a",when:null,workflow_outputs:[{label:"variants_fixed_header",output_name:"outfile",uuid:"d96147a4-6d8b-426f-9c51-f77efc81a08b"}]},31:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff_sars_cov_2/snpeff_sars_cov_2/4.5covid19",errors:null,id:31,input_connections:{input:{id:30,output_name:"outfile"}},inputs:[{description:"runtime parameter for tool SnpEff eff:",name:"input"},{description:"runtime parameter for tool SnpEff eff:",name:"intervals"},{description:"runtime parameter for tool SnpEff eff:",name:"transcripts"}],label:"SnpEff eff covid19 version",name:"SnpEff eff:",outputs:[{name:"snpeff_output",type:"vcf"},{name:"statsFile",type:"html"}],position:{left:3566.25,top:598.96875},post_job_actions:{RenameDatasetActionsnpeff_output:{action_arguments:{newname:"Final (SnpEff-) annotated variants"},action_type:"RenameDatasetAction",output_name:"snpeff_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff_sars_cov_2/snpeff_sars_cov_2/4.5covid19",tool_shed_repository:{changeset_revision:"2a3a00c1fa0a",name:"snpeff_sars_cov_2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"annotations": ["-formatEff", "-classic"], "chr": "", "csvStats": false, "filter": {"specificEffects": "no", "__current_case__": 0}, "filterOut": ["-no-downstream", "-no-intergenic", "-no-upstream"], "generate_stats": true, "genome_version": "NC_045512.2", "input": {"__class__": "ConnectedValue"}, "inputFormat": "vcf", "intervals": {"__class__": "RuntimeValue"}, "noLog": true, "offset": "default", "outputConditional": {"outputFormat": "vcf", "__current_case__": 0}, "transcripts": {"__class__": "RuntimeValue"}, "udLength": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.5covid19",type:"tool",uuid:"a6b0b8e1-a914-4f59-95d4-87fc47ed4171",when:null,workflow_outputs:[{label:"annotated_variants",output_name:"snpeff_output",uuid:"ded982f4-601c-4d3c-888d-92716a47bb5c"},{label:"annotated_variants_stats",output_name:"statsFile",uuid:"890819cb-f5a8-416d-a6f7-39a448fd2cd4"}]},32:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_filter/lofreq_filter/2.1.5+galaxy0",errors:null,id:32,input_connections:{invcf:{id:31,output_name:"snpeff_output"}},inputs:[{description:"runtime parameter for tool Lofreq filter",name:"invcf"}],label:null,name:"Lofreq filter",outputs:[{name:"outvcf",type:"vcf"}],position:{left:3802.5,top:614.625},post_job_actions:{RenameDatasetActionoutvcf:{action_arguments:{newname:"Final (SnpEff-) annotated variants with strand-bias soft filter applied"},action_type:"RenameDatasetAction",output_name:"outvcf"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_filter/lofreq_filter/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"7dfca164d2e3",name:"lofreq_filter",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"af": {"af_min": "0.0", "af_max": "0.0"}, "coverage": {"cov_min": "0", "cov_max": "0"}, "filter_by_type": {"keep_only": "", "__current_case__": 0, "qual": {"snvqual_filter": {"snvqual": "no", "__current_case__": 0}, "indelqual_filter": {"indelqual": "no", "__current_case__": 0}}}, "flag_or_drop": "--print-all", "invcf": {"__class__": "ConnectedValue"}, "sb": {"sb_filter": {"strand_bias": "mtc", "__current_case__": 2, "sb_alpha": "0.001", "sb_mtc": "fdr", "sb_compound": true, "sb_indels": false}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"4c9e8621-e930-4593-b0be-d84304f86ad4",when:null,workflow_outputs:[{label:"annotated_softfiltered_variants",output_name:"outvcf",uuid:"7af82fbc-67e3-46ca-9b17-95de59de8cf5"}]}},tags:["COVID-19","ARTIC","covid19.galaxyproject.org"],uuid:"864427b0-d25a-499c-b437-f83f2d6b83f2"},readme:`COVID-19: variation analysis on ARTIC PE data --------------------------------------------- @@ -1477,6 +2669,92 @@ number of variants at primer binding sites: ## [0.1] - Initial version of COVID-19: variation analysis on ARTIC PE data workflow +`,diagrams:`# Workflow diagrams + +## COVID-19: variation analysis on ARTIC PE data + +\`\`\`mermaid +graph LR +0["ℹ️ Paired Collection"]@{ shape: docs } +1["ℹ️ NC_045512.2 FASTA sequence of SARS-CoV-2"]@{ shape: doc } +2["ℹ️ ARTIC primer BED"]@{ shape: doc } +3["ℹ️ ARTIC primers to amplicon assignments"]@{ shape: doc } +4["ℹ️ Read removal minimum AF"]@{ shape: lean-l } +5["ℹ️ Read removal maximum AF"]@{ shape: lean-l } +6["ℹ️ Minimum DP required after amplicon bias correction"]@{ shape: lean-l } +7["ℹ️ Minimum DP_ALT required after amplicon bias correction"]@{ shape: lean-l } +8["fastp"]@{ shape: process } +0 --> 8 +9["Compose text parameter value"]@{ shape: process } +4 --> 9 +5 --> 9 +10["Compose text parameter value"]@{ shape: process } +6 --> 10 +7 --> 10 +11["Map with BWA-MEM"]@{ shape: process } +8 --> 11 +1 --> 11 +12["Samtools view"]@{ shape: process } +11 --> 12 +13["Realign reads"]@{ shape: process } +12 --> 13 +1 --> 13 +14["Samtools stats"]@{ shape: process } +12 --> 14 +15["Insert indel qualities"]@{ shape: process } +13 --> 15 +1 --> 15 +16["ivar trim"]@{ shape: process } +3 --> 16 +15 --> 16 +2 --> 16 +17["Call variants"]@{ shape: process } +16 --> 17 +1 --> 17 +18["QualiMap BamQC"]@{ shape: process } +16 --> 18 +19["SnpSift Filter"]@{ shape: process } +9 --> 19 +17 --> 19 +20["SnpSift Filter"]@{ shape: process } +10 --> 20 +17 --> 20 +21["Filter failed datasets"]@{ shape: process } +18 --> 21 +22["ivar removereads"]@{ shape: process } +3 --> 22 +16 --> 22 +2 --> 22 +19 --> 22 +23["Flatten collection"]@{ shape: process } +21 --> 23 +24["Call variants"]@{ shape: process } +22 --> 24 +1 --> 24 +25["MultiQC"]@{ shape: process } +8 --> 25 +14 --> 25 +23 --> 25 +26["bcftools annotate"]@{ shape: process } +17 --> 26 +24 --> 26 +27["SnpSift Filter"]@{ shape: process } +10 --> 27 +24 --> 27 +28["VCF-VCFintersect:"]@{ shape: process } +1 --> 28 +27 --> 28 +20 --> 28 +29["bcftools annotate"]@{ shape: process } +26 --> 29 +28 --> 29 +30["Replace Text"]@{ shape: process } +29 --> 30 +31["SnpEff eff covid19 version"]@{ shape: process } +30 --> 31 +32["Lofreq filter"]@{ shape: process } +31 --> 32 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/sars-cov-2-pe-illumina-artic-variant-calling/COVID-19-PE-ARTIC-ILLUMINA",tests:[{doc:"Test workflow execution using paired end illumina ARTIC accession",job:{"NC_045512.2 FASTA sequence of SARS-CoV-2":{class:"File",location:"https://zenodo.org/record/4555735/files/NC_045512.2_reference.fasta?download=1",filetype:"fasta"},"ARTIC primer BED":{class:"File",location:"https://zenodo.org/record/4555735/files/ARTIC_nCoV-2019_v3.bed?download=1",filetype:"bed"},"ARTIC primers to amplicon assignments":{class:"File",location:"https://zenodo.org/record/4555735/files/ARTIC_amplicon_info_v3.tsv?download=1",filetype:"tabular"},"Paired Collection":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"SRR11578257",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/records/10174466/files/SRR11578257_R1.fastq.gz?download=1"},{identifier:"reverse",class:"File",location:"https://zenodo.org/records/10174466/files/SRR11578257_R2.fastq.gz?download=1"}]}]}},outputs:{annotated_softfiltered_variants:{attributes:{},element_tests:{SRR11578257:{asserts:{has_line:{line:"#CHROM POS ID REF ALT QUAL FILTER INFO"},has_text_matching:{expression:"NC_045512.2 20209 . AGTAGAAATT A [0-9]* PASS DP=[0-9]*;AF=0.9[0-9]*;SB=24;DP4=[0-9]*,[0-9]*,[0-9]*,[0-9]*;INDEL;HRUN=1;EFF=CODON_CHANGE_PLUS_CODON_DELETION\\(MODERATE||agtagaaattta/ata|SRNL6649I|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|A\\),CODON_CHANGE_PLUS_CODON_DELETION\\(MODERATE||agtagaaattta/ata|SRNL197I|345|ORF1ab|protein_coding|CODING|YP_009725310.1|1|A|WARNING_TRANSCRIPT_NO_START_CODON\\)"}}}}}}}]}],path:"./workflows/sars-cov-2-variant-calling/sars-cov-2-pe-illumina-artic-variant-calling"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/WGS-PE-variant-calling-in-haploid-system.ga",testParameterFiles:["/WGS-PE-variant-calling-in-haploid-system-tests.yml"],authors:[{name:"Anton Nekrutenko",orcid:"0000-0002-5987-8032"}],definition:{a_galaxy_workflow:"true",annotation:"Workflow for variant analysis against a reference genome in GenBank format",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-5987-8032",name:"Anton Nekrutenko"}],"format-version":"0.1",license:"MIT",name:"Paired end variant calling in haploid system",release:"0.1",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Illumina reads with fastqsanger encoding",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Illumina reads with fastqsanger encoding",name:"Paired Collection"}],label:"Paired Collection",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger", "fastqsanger.gz"], "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"87e2a757-c63f-42c4-ac41-2ff9802fc230",when:null,workflow_outputs:[]},1:{annotation:"GTF with gene annotation, will be used for annotating variants",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"GTF with gene annotation, will be used for annotating variants",name:"Annotation GTF"}],label:"Annotation GTF",name:"Input dataset",outputs:[],position:{left:15.4000244140625,top:149.5},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"cc6b08f6-0cac-43b9-a6ac-5cb9e809aef0",when:null,workflow_outputs:[]},2:{annotation:"Fasta file to use as reference for variant calling",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Fasta file to use as reference for variant calling",name:"Genome fasta"}],label:"Genome fasta",name:"Input dataset",outputs:[],position:{left:68.79998779296875,top:361.1807963463069},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"56f0bac5-1144-424e-a2ee-e7ce408ae855",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0",errors:null,id:3,input_connections:{"single_paired|paired_input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool fastp",name:"single_paired"}],label:null,name:"fastp",outputs:[{name:"output_paired_coll",type:"input"},{name:"report_html",type:"html"},{name:"report_json",type:"json"}],position:{left:472.81558221323667,top:210.69642625646713},post_job_actions:{HideDatasetActionreport_json:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0",tool_shed_repository:{changeset_revision:"65b93b623c77",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": false, "qualified_quality_phred": null, "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": false, "length_required": null, "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": false, "complexity_threshold": null}}, "output_options": {"report_html": true, "report_json": true}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": false, "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": false, "umi_loc": "", "umi_len": null, "umi_prefix": ""}, "cutting_by_quality_options": {"cut_by_quality5": false, "cut_by_quality3": false, "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": false}}, "single_paired": {"single_paired_selector": "paired_collection", "__current_case__": 2, "paired_input": {"__class__": "ConnectedValue"}, "adapter_trimming_options": {"disable_adapter_trimming": false, "adapter_sequence1": "", "adapter_sequence2": ""}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null, "trim_front2": null, "trim_tail2": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.23.2+galaxy0",type:"tool",uuid:"aab66ae3-1955-46f0-b0b8-9d6374b81d8a",when:null,workflow_outputs:[{label:"fastp html report",output_name:"report_html",uuid:"f780b8d7-8dbb-4a04-9522-8a2c99b317d9"}]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff/snpEff_build_gb/4.3+T.galaxy6",errors:null,id:4,input_connections:{"input_type|input":{id:1,output_name:"output"},"input_type|reference_source|input_fasta":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool SnpEff build:",name:"input_type"}],label:null,name:"SnpEff build:",outputs:[{name:"snpeff_output",type:"snpeffdb"}],position:{left:437.79998779296875,top:805.1807963463069},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff/snpEff_build_gb/4.3+T.galaxy6",tool_shed_repository:{changeset_revision:"6322be79bd8e",name:"snpeff",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"codon_table": "Standard", "genome_version": "snpeff_db", "input_type": {"input_type_selector": "gtf", "__current_case__": 2, "input": {"__class__": "ConnectedValue"}, "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "input_fasta": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+T.galaxy6",type:"tool",uuid:"691404df-5586-476d-a11e-28ccba3ddd55",when:null,workflow_outputs:[{label:"SnpEff4.3 database",output_name:"snpeff_output",uuid:"8d680888-a2b7-465f-890d-81e78aaa0396"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2",errors:null,id:5,input_connections:{"fastq_input|fastq_input1":{id:3,output_name:"output_paired_coll"},"reference_source|ref_file":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map with BWA-MEM",name:"fastq_input"},{description:"runtime parameter for tool Map with BWA-MEM",name:"reference_source"}],label:null,name:"Map with BWA-MEM",outputs:[{name:"bam_output",type:"bam"}],position:{left:738.3546544092493,top:442.2276665604545},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2",tool_shed_repository:{changeset_revision:"64f11cf59c6e",name:"bwa",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"analysis_type": {"analysis_type_selector": "full", "__current_case__": 4, "algorithmic_options": {"algorithmic_options_selector": "do_not_set", "__current_case__": 1}, "scoring_options": {"scoring_options_selector": "do_not_set", "__current_case__": 1}, "io_options": {"io_options_selector": "set", "__current_case__": 0, "five": false, "q": true, "T": "30", "h": "5", "a": false, "C": false, "V": false, "Y": true, "M": false}}, "fastq_input": {"fastq_input_selector": "paired_collection", "__current_case__": 2, "fastq_input1": {"__class__": "ConnectedValue"}, "iset_stats": ""}, "output_sort": "coordinate", "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}, "index_a": "auto"}, "rg": {"rg_selector": "set", "__current_case__": 1, "read_group_id_conditional": {"do_auto_name": true, "__current_case__": 0}, "read_group_sm_conditional": {"do_auto_name": true, "__current_case__": 0}, "PL": "ILLUMINA", "read_group_lb_conditional": {"do_auto_name": true, "__current_case__": 0}, "CN": null, "DS": null, "DT": null, "FO": null, "KS": null, "PG": null, "PI": null, "PU": null}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.7.17.2",type:"tool",uuid:"b227a5b7-bd10-45f2-8b3c-9797ec9fe6c9",when:null,workflow_outputs:[]},6:{annotation:"Retains alignments if read is paired and mapped in proper orientation ",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.13+galaxy1",errors:null,id:6,input_connections:{input:{id:5,output_name:"bam_output"}},inputs:[],label:null,name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:996.7531127929688,top:307.0401713463069},post_job_actions:{RenameDatasetActionoutputsam:{action_arguments:{newname:"Mapped read pairs (filtered bwa-mem result)"},action_type:"RenameDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.13+galaxy1",tool_shed_repository:{changeset_revision:"c370440f901e",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "quality": "0", "library": "", "cigarcons": null, "inclusive_filter": ["1", "2"], "exclusive_filter": null, "exclusive_filter_all": null, "tag": "", "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "fraction", "__current_case__": 0, "factor": "1.0", "seed": null}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.13+galaxy1",type:"tool",uuid:"9cd7e5e8-fdf0-4c0b-9921-a6fd0d8cc735",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.2+galaxy2",errors:null,id:7,input_connections:{input:{id:6,output_name:"outputsam"}},inputs:[],label:null,name:"Samtools stats",outputs:[{name:"output",type:"tabular"}],position:{left:1274.0343627929688,top:236.8057963463069},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.2+galaxy2",tool_shed_repository:{changeset_revision:"145f6d74ff5e",name:"samtools_stats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "cond_region": {"select_region": "no", "__current_case__": 0}, "cov_threshold": null, "coverage_cond": {"coverage_select": "no", "__current_case__": 0}, "filter_by_flags": {"filter_flags": "nofilter", "__current_case__": 1}, "gc_depth": null, "input": {"__class__": "ConnectedValue"}, "insert_size": null, "most_inserts": null, "read_length": null, "remove_dups": false, "remove_overlaps": false, "sparse": false, "split_output_cond": {"split_output_selector": "no", "__current_case__": 0}, "trim_quality": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.2+galaxy2",type:"tool",uuid:"1c709200-f5e5-4699-a881-428fe57ec1fd",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.2",errors:null,id:8,input_connections:{inputFile:{id:6,output_name:"outputsam"}},inputs:[],label:null,name:"MarkDuplicates",outputs:[{name:"metrics_file",type:"txt"},{name:"outFile",type:"bam"}],position:{left:1306.4093627929688,top:431.1964213463069},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.2",tool_shed_repository:{changeset_revision:"a1f0b3f4b781",name:"picard",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"assume_sorted": true, "barcode_tag": "", "comments": [], "duplicate_scoring_strategy": "SUM_OF_BASE_QUALITIES", "inputFile": {"__class__": "ConnectedValue"}, "optical_duplicate_pixel_distance": "100", "read_name_regex": "", "remove_duplicates": true, "validation_stringency": "LENIENT", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.18.2.2",type:"tool",uuid:"32e3534c-283c-45a3-845e-edadfe29343a",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0",errors:null,id:9,input_connections:{"results_0|software_cond|input":{id:3,output_name:"report_json"},"results_1|software_cond|output_0|type|input":{id:7,output_name:"output"},"results_2|software_cond|output_0|input":{id:8,output_name:"metrics_file"}},inputs:[],label:null,name:"MultiQC",outputs:[{name:"stats",type:"input"},{name:"html_report",type:"html"}],position:{left:1684.5108939673896,top:115.18079634630689},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"},RenameDatasetActionhtml_report:{action_arguments:{newname:"Preprocessing and mapping reports"},action_type:"RenameDatasetAction",output_name:"html_report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0",tool_shed_repository:{changeset_revision:"9a913cdee30e",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "samtools", "__current_case__": 24, "output": [{"__index__": 0, "type": {"type": "stats", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 2, "software_cond": {"software": "picard", "__current_case__": 17, "output": [{"__index__": 0, "type": "markdups", "input": {"__class__": "ConnectedValue"}}]}}], "saveLog": false, "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.11+galaxy0",type:"tool",uuid:"827f0bc5-b7b3-472f-95fc-5bf34fffb9fd",when:null,workflow_outputs:[{label:"Preprocessing and mapping reports",output_name:"html_report",uuid:"73117bba-89ef-49b8-a29f-df28a3bba689"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_viterbi/lofreq_viterbi/2.1.5+galaxy0",errors:null,id:10,input_connections:{reads:{id:8,output_name:"outFile"},"reference_source|ref":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Realign reads",name:"reference_source"}],label:null,name:"Realign reads",outputs:[{name:"realigned",type:"bam"}],position:{left:1652.2999877929688,top:581.6807963463069},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_viterbi/lofreq_viterbi/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"aa35ee7f3ab2",name:"lofreq_viterbi",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_options": {"keepflags": false, "bq2_handling": {"replace_bq2": "keep", "__current_case__": 0, "defqual": "2"}}, "reads": {"__class__": "ConnectedValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"299c5dae-cb7b-4de5-bdeb-6f5f2470488a",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy3",errors:null,id:11,input_connections:{reads:{id:10,output_name:"realigned"},"reference_source|ref":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Call variants",name:"reference_source"}],label:null,name:"Call variants",outputs:[{name:"variants",type:"vcf"}],position:{left:1911.7999877929688,top:689.1807963463069},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy3",tool_shed_repository:{changeset_revision:"b11e8e9c23bf",name:"lofreq_call",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"call_control": {"set_call_options": "yes", "__current_case__": 1, "coverage": {"min_cov": "10", "max_depth": "1000000"}, "pe": {"use_orphan": false}, "bc_quals": {"min_bq": "20", "min_alt_bq": "20", "alt_bq": {"modify": "", "__current_case__": 0}}, "align_quals": {"alnqual": {"use_alnqual": "", "__current_case__": 0, "alnqual_choice": {"alnquals_to_use": "", "__current_case__": 1, "extended_baq": true}}}, "map_quals": {"min_mq": "0", "use_mq": {"no_mq": "", "__current_case__": 0, "max_mq": "255"}}, "source_qual": {"use_src_qual": {"src_qual": "", "__current_case__": 0}}, "joint_qual": {"min_jq": "0", "min_alt_jq": "0", "def_alt_jq": "0"}}, "filter_control": {"filter_type": "set_lofreq_standard", "__current_case__": 2, "sig": "0.01", "bonf": "dynamic", "others": ""}, "reads": {"__class__": "ConnectedValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}, "regions": {"restrict_to_region": "genome", "__current_case__": 0}, "variant_types": "--call-indels", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy3",type:"tool",uuid:"6df71467-a7b6-45f5-ab1d-1a9672d4f81c",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:12,input_connections:{infile:{id:11,output_name:"variants"}},inputs:[],label:null,name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:2075.2999877929688,top:471.4999963463248},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": "/^#/ { print; next } ($4 ~ /^[ACGT]$/ && $5 ~ /^[ACGT]$/) { print }", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"60e608c1-4b33-4d09-b3e5-be4c9334a233",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff/snpEff/4.3+T.galaxy2",errors:null,id:13,input_connections:{input:{id:12,output_name:"outfile"},"snpDb|snpeff_db":{id:4,output_name:"snpeff_output"}},inputs:[{description:"runtime parameter for tool SnpEff eff:",name:"intervals"},{description:"runtime parameter for tool SnpEff eff:",name:"snpDb"},{description:"runtime parameter for tool SnpEff eff:",name:"transcripts"}],label:null,name:"SnpEff eff:",outputs:[{name:"snpeff_output",type:"vcf"},{name:"statsFile",type:"html"}],position:{left:2109.8781127929688,top:850.8214213463069},post_job_actions:{TagDatasetActionsnpeff_output:{action_arguments:{tags:"VariantsAsVCF"},action_type:"TagDatasetAction",output_name:"snpeff_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff/snpEff/4.3+T.galaxy2",tool_shed_repository:{changeset_revision:"6322be79bd8e",name:"snpeff",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"annotations": ["-formatEff", "-classic"], "chr": "", "csvStats": false, "filter": {"specificEffects": "no", "__current_case__": 0}, "filterOut": ["-no-downstream", "-no-intergenic", "-no-intron", "-no-upstream", "-no-utr"], "generate_stats": true, "input": {"__class__": "ConnectedValue"}, "inputFormat": "vcf", "intervals": {"__class__": "RuntimeValue"}, "noLog": true, "offset": "default", "outputConditional": {"outputFormat": "vcf", "__current_case__": 0}, "snpDb": {"genomeSrc": "custom", "__current_case__": 3, "snpeff_db": {"__class__": "ConnectedValue"}, "codon_table": "Standard"}, "spliceRegion": {"setSpliceRegions": "no", "__current_case__": 0}, "spliceSiteSize": null, "transcripts": {"__class__": "RuntimeValue"}, "udLength": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+T.galaxy2",type:"tool",uuid:"e3d2c332-c029-463c-bb8b-771716db7d67",when:null,workflow_outputs:[{label:"SnpEff variants",output_name:"snpeff_output",uuid:"8f3cd914-554d-4fab-97ca-245245a63cb3"},{label:"SnpEff eff reports",output_name:"statsFile",uuid:"37d8fb6f-b2e6-4f91-9f8e-58a30354b35d"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0",errors:null,id:14,input_connections:{input:{id:13,output_name:"snpeff_output"}},inputs:[],label:null,name:"SnpSift Extract Fields",outputs:[{name:"output",type:"tabular"}],position:{left:2416.2999877929688,top:510.1807963463069},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0",tool_shed_repository:{changeset_revision:"5fab4f81391d",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"empty_text": ".", "extract": "CHROM POS FILTER REF ALT DP AF DP4 SB EFF[*].IMPACT EFF[*].FUNCLASS EFF[*].EFFECT EFF[*].GENE EFF[*].CODON EFF[*].AA EFF[*].TRID", "input": {"__class__": "ConnectedValue"}, "one_effect_per_line": true, "separator": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy0",type:"tool",uuid:"767ff87e-6a49-4bd4-ba05-27b4d349e695",when:null,workflow_outputs:[]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:15,input_connections:{input_list:{id:14,output_name:"output"}},inputs:[],label:null,name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:2588.2999877929688,top:751.1807963463069},post_job_actions:{TagDatasetActionoutput:{action_arguments:{tags:"VariantsAsTSV"},action_type:"TagDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": true, "__current_case__": 0, "place_name": "same_multiple"}, "input_list": {"__class__": "ConnectedValue"}, "one_header": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"5feceb7a-ba26-4974-9215-dfdbbcc5b296",when:null,workflow_outputs:[{label:"Annotated Variants",output_name:"output",uuid:"301f944e-0f65-415f-a56f-9899dca85e88"}]}},tags:["generic","VeuPath","Haploid"],uuid:"d5b4eace-d876-4999-bad3-14c1cb02b0c9",version:5},readme:`# Haploid variant calling for whole genome sequencing paired end data This workflow uses Illumina or Element read data to discover variants (short nucleotide polymorphisms, SNPs, and small indels) in haploid genomes with multiple genomic sequences (contigs, scaffolds, or chromosomes). @@ -1505,6 +2783,49 @@ This workflow uses Illumina or Element read data to discover variants (short nuc ## [0.1] - Initial version of Paired end variant calling in haploid system workflow +`,diagrams:`# Workflow diagrams + +## Paired end variant calling in haploid system + +\`\`\`mermaid +graph LR +0["ℹ️ Paired Collection"]@{ shape: docs } +1["ℹ️ Annotation GTF"]@{ shape: doc } +2["ℹ️ Genome fasta"]@{ shape: doc } +3["fastp"]@{ shape: process } +0 --> 3 +4["SnpEff build:"]@{ shape: process } +1 --> 4 +2 --> 4 +5["Map with BWA-MEM"]@{ shape: process } +3 --> 5 +2 --> 5 +6["Samtools view"]@{ shape: process } +5 --> 6 +7["Samtools stats"]@{ shape: process } +6 --> 7 +8["MarkDuplicates"]@{ shape: process } +6 --> 8 +9["MultiQC"]@{ shape: process } +3 --> 9 +7 --> 9 +8 --> 9 +10["Realign reads"]@{ shape: process } +8 --> 10 +2 --> 10 +11["Call variants"]@{ shape: process } +10 --> 11 +2 --> 11 +12["Text reformatting"]@{ shape: process } +11 --> 12 +13["SnpEff eff:"]@{ shape: process } +12 --> 13 +4 --> 13 +14["SnpSift Extract Fields"]@{ shape: process } +13 --> 14 +15["Collapse Collection"]@{ shape: process } +14 --> 15 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/haploid-variant-calling-wgs-pe/main",tests:[{doc:"Test outline for WGS-PE-variant-calling-in-haploid-system",job:{"Annotation GTF":{class:"File",location:"https://zenodo.org/records/14009320/files/Annotation%20GTF.gtf?download=1",filetype:"gtf"},"Genome fasta":{class:"File",location:"https://zenodo.org/records/14009320/files/Genome%20fasta.fasta.gz?download=1",filetype:"fasta.gz"},"Paired Collection":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"ERR018930",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/records/14009320/files/ERR018930_forward.fastqsanger.gz?download=1"},{class:"File",identifier:"reverse",location:"https://zenodo.org/records/14009320/files/ERR018930_reverse.fastqsanger.gz?download=1"}]},{class:"Collection",type:"paired",identifier:"ERR1035492",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/records/14009320/files/ERR1035492_forward.fastqsanger.gz?download=1"},{class:"File",identifier:"reverse",location:"https://zenodo.org/records/14009320/files/ERR1035492_reverse.fastqsanger.gz?download=1"}]}]}},outputs:{"Annotated Variants":{path:"test-data/Annotated Variants.tabular"},"SnpEff variants":{element_tests:{ERR018930:{asserts:[{has_line:{line:"NC_009906.1 3204 . A G 120.0 PASS DP=22;AF=0.727273;SB=2;DP4=2,3,3,14;EFF=INTRAGENIC(MODIFIER|||||PVX_087665||NON_CODING|||G)"}},{has_line:{line:"NC_009906.1 3261 . C A 52.0 PASS DP=15;AF=0.333333;SB=0;DP4=3,7,2,3;EFF=INTRAGENIC(MODIFIER|||||PVX_087665||NON_CODING|||A)"}}]},ERR1035492:{asserts:{has_line:{line:"NC_009906.1 2975 . A G 75.0 PASS DP=26;AF=0.692308;SB=0;DP4=5,3,12,6;EFF=INTRAGENIC(MODIFIER|||||PVX_087665||NON_CODING|||G)"}}}}}}}]}],path:"./workflows/variant-calling/haploid-variant-calling-wgs-pe"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Generic-variation-analysis-on-WGS-PE-data.ga",testParameterFiles:["/Generic-variation-analysis-on-WGS-PE-data-tests.yml"],authors:[{name:"Anton Nekrutenko",orcid:"0000-0002-5987-8032"}],definition:{a_galaxy_workflow:"true",annotation:"Workflow for variant analysis against a reference genome in GenBank format",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-5987-8032",name:"Anton Nekrutenko"}],"format-version":"0.1",release:"0.1.1",license:"MIT",name:"Generic variation analysis on WGS PE data",steps:{0:{annotation:"Illumina reads with fastqsanger encoding",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Illumina reads with fastqsanger encoding",name:"Paired Collection"}],label:"Paired Collection",name:"Input dataset collection",outputs:[],position:{left:58.531223149503546,top:300.6406189710691},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger", "fastqsanger.gz"], "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"2352cd98-29f2-456b-a807-ede1227f6089",workflow_outputs:[]},1:{annotation:"GenBank with annotations for the genome of interest",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"GenBank with annotations for the genome of interest",name:"GenBank genome"}],label:"GenBank genome",name:"Input dataset",outputs:[],position:{left:0,top:631.656273804954},tool_id:null,tool_state:'{"optional": false, "format": ["genbank"], "tag": ""}',tool_version:null,type:"data_input",uuid:"5e6e8cac-8a75-42e8-9932-6c63bcebb861",workflow_outputs:[]},2:{annotation:"Should describe your reference genome, e.g. mpxv for Monkeypox virus.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Should describe your reference genome, e.g. mpxv for Monkeypox virus.",name:"Name for genome database"}],label:"Name for genome database",name:"Input parameter",outputs:[],position:{left:20.98434665780934,top:745.593744965532},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"7e5e0a5f-4386-44cb-8941-f04ec7d8b725",workflow_outputs:[{label:null,output_name:"output",uuid:"a543d03c-6cc6-4d50-8dee-ec7a839b16b9"}]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0",errors:null,id:3,input_connections:{"single_paired|paired_input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool fastp",name:"single_paired"}],label:null,name:"fastp",outputs:[{name:"output_paired_coll",type:"input"},{name:"report_html",type:"html"},{name:"report_json",type:"json"}],position:{left:325.0155944202679,top:95.51562991016024},post_job_actions:{HideDatasetActionreport_json:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0",tool_shed_repository:{changeset_revision:"65b93b623c77",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": "false", "qualified_quality_phred": null, "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": "false", "length_required": null, "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": "false", "complexity_threshold": null}}, "output_options": {"report_html": "true", "report_json": "true"}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": "false", "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": "false", "umi_loc": "", "umi_len": null, "umi_prefix": ""}, "cutting_by_quality_options": {"cut_by_quality5": "false", "cut_by_quality3": "false", "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": "false"}}, "single_paired": {"single_paired_selector": "paired_collection", "__current_case__": 2, "paired_input": {"__class__": "RuntimeValue"}, "adapter_trimming_options": {"disable_adapter_trimming": "false", "adapter_sequence1": "", "adapter_sequence2": ""}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null, "trim_front2": null, "trim_tail2": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.23.2+galaxy0",type:"tool",uuid:"6410c94d-827d-4d1b-b15d-be13df2db0ac",workflow_outputs:[{label:"fastp_pe",output_name:"output_paired_coll",uuid:"c49d5f48-ab0e-4f59-8b2f-27b3a8f65609"},{label:"fastp_html_report",output_name:"report_html",uuid:"c77d6708-0d13-4f9f-aed8-b3e30de5bafa"}]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff/snpEff_build_gb/4.3+T.galaxy4",errors:null,id:4,input_connections:{genome_version:{id:2,output_name:"output"},"input_type|input_gbk":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool SnpEff build:",name:"input_type"}],label:null,name:"SnpEff build:",outputs:[{name:"snpeff_output",type:"snpeffdb"},{name:"output_fasta",type:"fasta"}],position:{left:289.04683721041243,top:692.6562509323089},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff/snpEff_build_gb/4.3+T.galaxy4",tool_shed_repository:{changeset_revision:"74aebe30fb52",name:"snpeff",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"codon_table": "Standard", "genome_version": {"__class__": "ConnectedValue"}, "input_type": {"input_type_selector": "gb", "__current_case__": 0, "input_gbk": {"__class__": "RuntimeValue"}, "fasta": "yes", "remove_version": "true"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+T.galaxy4",type:"tool",uuid:"1406c6b2-51c9-47f7-9f9d-190c0e9ad515",workflow_outputs:[{label:"SnpEff4.3 database",output_name:"snpeff_output",uuid:"c43258f1-ae40-45d9-a559-a7e20f2ac107"},{label:"Fasta sequences for genbank file",output_name:"output_fasta",uuid:"6a81041a-b077-4211-8d48-aafbe78c0713"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2",errors:null,id:5,input_connections:{"fastq_input|fastq_input1":{id:3,output_name:"output_paired_coll"},"reference_source|ref_file":{id:4,output_name:"output_fasta"}},inputs:[{description:"runtime parameter for tool Map with BWA-MEM",name:"fastq_input"},{description:"runtime parameter for tool Map with BWA-MEM",name:"reference_source"}],label:null,name:"Map with BWA-MEM",outputs:[{name:"bam_output",type:"bam"}],position:{left:590.5546666162805,top:327.0468702141476},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2",tool_shed_repository:{changeset_revision:"64f11cf59c6e",name:"bwa",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"analysis_type": {"analysis_type_selector": "full", "__current_case__": 4, "algorithmic_options": {"algorithmic_options_selector": "do_not_set", "__current_case__": 1}, "scoring_options": {"scoring_options_selector": "do_not_set", "__current_case__": 1}, "io_options": {"io_options_selector": "set", "__current_case__": 0, "five": "false", "q": "true", "T": "30", "h": "5", "a": "false", "C": "false", "V": "false", "Y": "true", "M": "false"}}, "fastq_input": {"fastq_input_selector": "paired_collection", "__current_case__": 2, "fastq_input1": {"__class__": "RuntimeValue"}, "iset_stats": ""}, "output_sort": "coordinate", "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "RuntimeValue"}, "index_a": "auto"}, "rg": {"rg_selector": "do_not_set", "__current_case__": 3}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.7.17.2",type:"tool",uuid:"a6bd6dbf-d3e7-439f-b826-16ec60bfb33f",workflow_outputs:[{label:"bwa_mem_alignments",output_name:"bam_output",uuid:"4fa2a1d1-3df1-43a0-9df8-687f55df83a4"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.13+galaxy1",errors:null,id:6,input_connections:{input:{id:5,output_name:"bam_output"}},inputs:[{description:"runtime parameter for tool Samtools view",name:"input"}],label:null,name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:823.9531041162805,top:207.86718147106907},post_job_actions:{RenameDatasetActionoutputsam:{action_arguments:{newname:"Mapped read pairs (filtered bwa-mem result)"},action_type:"RenameDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.13+galaxy1",tool_shed_repository:{changeset_revision:"c370440f901e",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "RuntimeValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "quality": "0", "library": "", "cigarcons": null, "inclusive_filter": ["1", "2"], "exclusive_filter": null, "exclusive_filter_all": null, "tag": "", "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "fraction", "__current_case__": 0, "factor": "1.0", "seed": null}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": "false", "adv_output": {"readtags": [], "collapsecigar": "false"}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.13+galaxy1",type:"tool",uuid:"6186b9e0-5841-4572-bec3-3f5c11a1c1cf",workflow_outputs:[{label:"filtered_alignment",output_name:"outputsam",uuid:"68a53be7-7332-4c7f-9615-32770064ffb0"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.2",errors:null,id:7,input_connections:{inputFile:{id:6,output_name:"outputsam"}},inputs:[{description:"runtime parameter for tool MarkDuplicates",name:"inputFile"}],label:null,name:"MarkDuplicates",outputs:[{name:"metrics_file",type:"txt"},{name:"outFile",type:"bam"}],position:{left:1043.617201919711,top:322.0156341366272},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.2",tool_shed_repository:{changeset_revision:"a1f0b3f4b781",name:"picard",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"assume_sorted": "true", "barcode_tag": "", "comments": [], "duplicate_scoring_strategy": "SUM_OF_BASE_QUALITIES", "inputFile": {"__class__": "RuntimeValue"}, "optical_duplicate_pixel_distance": "100", "read_name_regex": "", "remove_duplicates": "true", "validation_stringency": "LENIENT", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.18.2.2",type:"tool",uuid:"cd152e82-b33b-4cca-9126-a4bd63138593",workflow_outputs:[{label:"markduplicates_stats",output_name:"metrics_file",uuid:"2a24ab1a-6f0f-4896-b436-d6eeeb7ca22c"},{label:"markduplicates_reads",output_name:"outFile",uuid:"9fa98a79-4a12-41df-82c7-6fc4c5a8a1fa"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.2+galaxy2",errors:null,id:8,input_connections:{input:{id:6,output_name:"outputsam"}},inputs:[],label:null,name:"Samtools stats",outputs:[{name:"output",type:"tabular"}],position:{left:1099.2499388405358,top:137.63280895722616},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.2+galaxy2",tool_shed_repository:{changeset_revision:"145f6d74ff5e",name:"samtools_stats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "cond_region": {"select_region": "no", "__current_case__": 0}, "cov_threshold": null, "coverage_cond": {"coverage_select": "no", "__current_case__": 0}, "filter_by_flags": {"filter_flags": "nofilter", "__current_case__": 1}, "gc_depth": null, "input": {"__class__": "ConnectedValue"}, "insert_size": null, "most_inserts": null, "read_length": null, "remove_dups": "false", "remove_overlaps": "false", "sparse": "false", "split_output_cond": {"split_output_selector": "no", "__current_case__": 0}, "trim_quality": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.2+galaxy2",type:"tool",uuid:"0ba8c049-f7f1-487f-aa23-3bc6cb2d23aa",workflow_outputs:[{label:"mapped_reads_stats",output_name:"output",uuid:"acc7e52b-636c-4f28-a49a-0052f23c8737"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_viterbi/lofreq_viterbi/2.1.5+galaxy0",errors:null,id:9,input_connections:{reads:{id:7,output_name:"outFile"},"reference_source|ref":{id:4,output_name:"output_fasta"}},inputs:[{description:"runtime parameter for tool Realign reads",name:"reads"},{description:"runtime parameter for tool Realign reads",name:"reference_source"}],label:null,name:"Realign reads",outputs:[{name:"realigned",type:"bam"}],position:{left:1181.2499875692147,top:531.7812529212346},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_viterbi/lofreq_viterbi/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"af7e416d8176",name:"lofreq_viterbi",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_options": {"keepflags": "false", "bq2_handling": {"replace_bq2": "keep", "__current_case__": 0, "defqual": "2"}}, "reads": {"__class__": "RuntimeValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "RuntimeValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"f22634d5-0472-4b37-9f1f-55693be5109d",workflow_outputs:[{label:"realigned_deduplicated_filtered_mapped_reads",output_name:"realigned",uuid:"436348c9-ad6f-46aa-9cd4-7744563ca643"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0",errors:null,id:10,input_connections:{"results_0|software_cond|input":{id:3,output_name:"report_json"},"results_1|software_cond|output_0|type|input":{id:8,output_name:"output"},"results_2|software_cond|output_0|input":{id:7,output_name:"metrics_file"}},inputs:[],label:null,name:"MultiQC",outputs:[{name:"stats",type:"input"},{name:"html_report",type:"html"}],position:{left:1536.7109061744209,top:0},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"},RenameDatasetActionhtml_report:{action_arguments:{newname:"Preprocessing and mapping reports"},action_type:"RenameDatasetAction",output_name:"html_report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0",tool_shed_repository:{changeset_revision:"9a913cdee30e",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": "false", "flat": "false", "results": [{"__index__": 0, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "samtools", "__current_case__": 24, "output": [{"__index__": 0, "type": {"type": "stats", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 2, "software_cond": {"software": "picard", "__current_case__": 17, "output": [{"__index__": 0, "type": "markdups", "input": {"__class__": "ConnectedValue"}}]}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.11+galaxy0",type:"tool",uuid:"1eab5364-f845-4668-9bb0-c820b2c61ab1",workflow_outputs:[{label:"preprocessing_and_mapping_reports",output_name:"html_report",uuid:"710f4e3f-c7a5-465a-96ec-7eb558a44b35"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy0",errors:null,id:11,input_connections:{reads:{id:9,output_name:"realigned"},"strategy|reference_source|ref":{id:4,output_name:"output_fasta"}},inputs:[],label:null,name:"Insert indel qualities",outputs:[{name:"output",type:"bam"}],position:{left:1296.3124448073129,top:712.8437220928869},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Fully processed reads for variant calling (deduplicated, realigned reads with added indelquals)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"354b534eeab7",name:"lofreq_indelqual",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"reads": {"__class__": "ConnectedValue"}, "strategy": {"selector": "dindel", "__current_case__": 1, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"8568254e-a9a6-4d67-a4a9-97947d7bc10e",workflow_outputs:[{label:"realigned_deduplicated_filtered_mapped_reads_with_indel_quals",output_name:"output",uuid:"71283f3d-16ce-43a6-af6a-89e0d6d0aa4f"}]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy1",errors:null,id:12,input_connections:{reads:{id:11,output_name:"output"},"reference_source|ref":{id:4,output_name:"output_fasta"}},inputs:[],label:null,name:"Call variants",outputs:[{name:"variants",type:"vcf"}],position:{left:1423.3749607187183,top:908.2577816094984},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy1",tool_shed_repository:{changeset_revision:"e1461b5c52a0",name:"lofreq_call",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"call_control": {"set_call_options": "yes", "__current_case__": 1, "coverage": {"min_cov": "5", "max_depth": "1000000"}, "pe": {"use_orphan": "false"}, "bc_quals": {"min_bq": "30", "min_alt_bq": "30", "alt_bq": {"modify": "", "__current_case__": 0}}, "align_quals": {"alnqual": {"use_alnqual": "", "__current_case__": 0, "alnqual_choice": {"alnquals_to_use": "", "__current_case__": 1, "extended_baq": "true"}}}, "map_quals": {"min_mq": "0", "use_mq": {"no_mq": "", "__current_case__": 0, "max_mq": "255"}}, "source_qual": {"use_src_qual": {"src_qual": "", "__current_case__": 0}}, "joint_qual": {"min_jq": "0", "min_alt_jq": "0", "def_alt_jq": "0"}}, "filter_control": {"filter_type": "set_custom", "__current_case__": 3, "sig": "0.0005", "bonf": "0", "others": "false"}, "reads": {"__class__": "ConnectedValue"}, "reference_source": {"ref_selector": "history", "__current_case__": 1, "ref": {"__class__": "ConnectedValue"}}, "regions": {"restrict_to_region": "genome", "__current_case__": 0}, "variant_types": "--call-indels", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy1",type:"tool",uuid:"b8c2b602-396e-4727-8774-cd87edbe3a07",workflow_outputs:[{label:"called_variants",output_name:"variants",uuid:"f0daf1f1-9200-45de-8c6e-776879096b3e"}]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_filter/lofreq_filter/2.1.5+galaxy0",errors:null,id:13,input_connections:{invcf:{id:12,output_name:"variants"}},inputs:[],label:null,name:"Lofreq filter",outputs:[{name:"outvcf",type:"vcf"}],position:{left:1623.8827831633464,top:733.9296904212346},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/lofreq_filter/lofreq_filter/2.1.5+galaxy0",tool_shed_repository:{changeset_revision:"950d1d49d678",name:"lofreq_filter",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"af": {"af_min": "0.0", "af_max": "0.0"}, "coverage": {"cov_min": "0", "cov_max": "0"}, "filter_by_type": {"keep_only": "", "__current_case__": 0, "qual": {"snvqual_filter": {"snvqual": "no", "__current_case__": 0}, "indelqual_filter": {"indelqual": "no", "__current_case__": 0}}}, "flag_or_drop": "--print-all", "invcf": {"__class__": "ConnectedValue"}, "sb": {"sb_filter": {"strand_bias": "mtc", "__current_case__": 2, "sb_alpha": "0.001", "sb_mtc": "fdr", "sb_compound": "true", "sb_indels": "false"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.5+galaxy0",type:"tool",uuid:"72fc0a88-0fff-4434-9c7b-cff1694f8fbf",workflow_outputs:[{label:"soft_filtered_variants",output_name:"outvcf",uuid:"58a73993-57b0-4590-b462-65f0a0f7978a"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff/snpEff/4.3+T.galaxy1",errors:null,id:14,input_connections:{input:{id:13,output_name:"outvcf"},"snpDb|snpeff_db":{id:4,output_name:"snpeff_output"}},inputs:[{description:"runtime parameter for tool SnpEff eff:",name:"input"},{description:"runtime parameter for tool SnpEff eff:",name:"intervals"},{description:"runtime parameter for tool SnpEff eff:",name:"snpDb"},{description:"runtime parameter for tool SnpEff eff:",name:"transcripts"}],label:null,name:"SnpEff eff:",outputs:[{name:"snpeff_output",type:"vcf"},{name:"statsFile",type:"html"}],position:{left:1973.0859200969005,top:761.6406458215656},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpeff/snpEff/4.3+T.galaxy1",tool_shed_repository:{changeset_revision:"74aebe30fb52",name:"snpeff",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"annotations": ["-formatEff", "-classic"], "chr": "", "csvStats": "false", "filter": {"specificEffects": "no", "__current_case__": 0}, "filterOut": ["-no-downstream", "-no-intergenic", "-no-intron", "-no-upstream", "-no-utr"], "generate_stats": "true", "input": {"__class__": "RuntimeValue"}, "inputFormat": "vcf", "intervals": {"__class__": "RuntimeValue"}, "noLog": "true", "offset": "default", "outputConditional": {"outputFormat": "vcf", "__current_case__": 0}, "snpDb": {"genomeSrc": "custom", "__current_case__": 3, "snpeff_db": {"__class__": "RuntimeValue"}, "codon_table": "Standard"}, "spliceRegion": {"setSpliceRegions": "no", "__current_case__": 0}, "spliceSiteSize": null, "transcripts": {"__class__": "RuntimeValue"}, "udLength": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+T.galaxy1",type:"tool",uuid:"2fa5e8fd-9282-4156-ba29-93d6ad2b65e1",workflow_outputs:[{label:"SnpEff eff: stats",output_name:"statsFile",uuid:"5587a236-9d63-4d3b-b368-0643fa07529e"},{label:"SnpEff variants",output_name:"snpeff_output",uuid:"4a062f86-0ab4-4ba1-b8fc-70e35d1f1df7"}]}},tags:["mpxv","generic"],uuid:"be0d055d-25ac-422a-ae9c-b0efdfb5bf86",version:5},readme:`Generic variation analysis on WGS PE data ------------------------------------------- @@ -1521,6 +2842,48 @@ annotation with snpEff. The reference genome can be provided as a GenBank file. ## [0.1] - Initial version of Generic variation analysis on WGS PE data workflow +`,diagrams:`# Workflow diagrams + +## Generic variation analysis on WGS PE data + +\`\`\`mermaid +graph LR +0["ℹ️ Paired Collection"]@{ shape: docs } +1["ℹ️ GenBank genome"]@{ shape: doc } +2["ℹ️ Name for genome database"]@{ shape: lean-l } +3["fastp"]@{ shape: process } +0 --> 3 +4["SnpEff build:"]@{ shape: process } +2 --> 4 +1 --> 4 +5["Map with BWA-MEM"]@{ shape: process } +3 --> 5 +4 --> 5 +6["Samtools view"]@{ shape: process } +5 --> 6 +7["MarkDuplicates"]@{ shape: process } +6 --> 7 +8["Samtools stats"]@{ shape: process } +6 --> 8 +9["Realign reads"]@{ shape: process } +7 --> 9 +4 --> 9 +10["MultiQC"]@{ shape: process } +3 --> 10 +8 --> 10 +7 --> 10 +11["Insert indel qualities"]@{ shape: process } +9 --> 11 +4 --> 11 +12["Call variants"]@{ shape: process } +11 --> 12 +4 --> 12 +13["Lofreq filter"]@{ shape: process } +12 --> 13 +14["SnpEff eff:"]@{ shape: process } +13 --> 14 +4 --> 14 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/generic-variant-calling-wgs-pe/main",tests:[{doc:"Test outline for Generic-variation-analysis-on-WGS-PE-data",job:{"GenBank genome":{class:"File",filetype:"genbank",path:"test-data/GenBank genome.genbank"},"Name for genome database":"mpxv","Paired Collection":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"ERR3485802",elements:[{identifier:"forward",class:"File",path:"test-data/ERR3485802.forward.fastq.gz"},{identifier:"reverse",class:"File",path:"test-data/ERR3485802.reverse.fastq.gz"}]}]}},outputs:{"Fasta sequences for genbank file":{path:"test-data/Fasta sequences for genbank file.fasta",compare:"contains"},"SnpEff variants":{element_tests:{ERR3485802:{path:"test-data/SnpEff variants.vcf",compare:"diff",lines_diff:6}}},called_variants:{element_tests:{ERR3485802:{path:"test-data/called_variants.vcf",compare:"diff",lines_diff:6}}},mapped_reads_stats:{element_tests:{ERR3485802:{path:"test-data/mapped_reads_stats.tabular"}}},soft_filtered_variants:{element_tests:{ERR3485802:{path:"test-data/soft_filtered_variants.vcf",compare:"diff",lines_diff:6}}}}}]}],path:"./workflows/variant-calling/generic-variant-calling-wgs-pe"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Generic-variation-analysis-reporting.ga",testParameterFiles:["/Generic-variation-analysis-reporting-tests.yml"],authors:[{name:"Wolfgang Maier",orcid:"0000-0002-9464-6640"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes a VCF dataset of variants produced by any of the variant calling workflows in https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling and generates tabular lists of variants by Samples and by Variant, and an overview plot of variants and their allele-frequencies.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9464-6640",name:"Wolfgang Maier"}],"format-version":"0.1",release:"0.1.1",license:"MIT",name:"Generic variation analysis reporting",steps:{0:{annotation:"Variation data in VCF format. Can be the output of any of the workflows in https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Variation data in VCF format. Can be the output of any of the workflows in https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling",name:"Variation data to report"}],label:"Variation data to report",name:"Input dataset collection",outputs:[],position:{left:29.25,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["vcf", "vcf_bgzip"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"900f58cd-3ac6-4371-9295-6596726b1ee9",workflow_outputs:[]},1:{annotation:"Allele Frequency Filter. This is the minimum allele frequency required for variants to be included in the reports.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Allele Frequency Filter. This is the minimum allele frequency required for variants to be included in the reports.",name:"AF Filter"}],label:"AF Filter",name:"Input parameter",outputs:[],position:{left:28.3125,top:208.8203125},tool_id:null,tool_state:'{"default": 0.05, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"664a4fe1-a981-4e22-b6c4-628c87baf28a",workflow_outputs:[{label:null,output_name:"output",uuid:"15fcff98-3e33-4deb-a083-a6c3c94b1b8d"}]},2:{annotation:"Depth Filter. This is the minimum depth of all alignments at a variant site. ",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Depth Filter. This is the minimum depth of all alignments at a variant site. ",name:"DP Filter"}],label:"DP Filter",name:"Input parameter",outputs:[],position:{left:26.75,top:358.8359375},tool_id:null,tool_state:'{"default": 1, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"8d6df2cd-f16c-476e-bc00-e83a5e568cdd",workflow_outputs:[{label:null,output_name:"output",uuid:"a01b2b83-81d7-4cd5-a307-797046910821"}]},3:{annotation:"Depth Filter for variant allele. This is the minimum depth of alignments supporting a variant.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Depth Filter for variant allele. This is the minimum depth of alignments supporting a variant.",name:"DP_ALT Filter"}],label:"DP_ALT Filter",name:"Input parameter",outputs:[],position:{left:0,top:572.3359375},tool_id:null,tool_state:'{"default": 10, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"842ca5f3-acfd-4243-88cd-625d1834ad89",workflow_outputs:[{label:null,output_name:"output",uuid:"89133c97-8b6f-4c7b-abbd-799fd385ac6a"}]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",errors:null,id:4,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:null,name:"SnpSift Filter",outputs:[{name:"output",type:"vcf"}],position:{left:348.65625,top:159},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",tool_shed_repository:{changeset_revision:"2e497a770bca",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_expression": {"type": "simple", "__current_case__": 0, "expr": "DP >= 1"}, "filtering": {"mode": "entries", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "inverse": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy1",type:"tool",uuid:"8adcdaba-fea6-4cb1-9ec3-70972604145e",workflow_outputs:[{label:"prefiltered_variants",output_name:"output",uuid:"7e953ef0-9e3a-485b-8201-290512552269"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:5,input_connections:{"components_1|param_type|component_value":{id:1,output_name:"output"},"components_3|param_type|component_value":{id:2,output_name:"output"},"components_5|param_type|component_value":{id:3,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:347,top:283.2734375},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "( ( DP4[2] + DP4[3] ) < ( "}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " * DP ) ) | ( DP < "}}, {"__index__": 3, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " ) | ( ( AF * DP ) < ( "}}, {"__index__": 5, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 6, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " - 0.5 ) )"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"7b42a044-ea48-4aae-82d0-7e134e47e6ee",workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:6,input_connections:{"components_1|param_type|component_value":{id:1,output_name:"output"},"components_3|param_type|component_value":{id:2,output_name:"output"},"components_5|param_type|component_value":{id:3,output_name:"output"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:343.71875,top:590.75},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "min_af_"}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "|min_dp_"}}, {"__index__": 3, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "|min_dp_alt_"}}, {"__index__": 5, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"dd9b21a6-e2e1-4637-aca7-dd485b52ddf9",workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",errors:null,id:7,input_connections:{"filter_expression|expr":{id:5,output_name:"out1"},"filtering|add_filter":{id:6,output_name:"out1"},input:{id:4,output_name:"output"}},inputs:[],label:null,name:"SnpSift Filter",outputs:[{name:"output",type:"vcf"}],position:{left:579.40625,top:448.984375},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Filtered variants"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1",tool_shed_repository:{changeset_revision:"2e497a770bca",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_expression": {"type": "simple", "__current_case__": 0, "expr": {"__class__": "ConnectedValue"}}, "filtering": {"mode": "add_filter", "__current_case__": 3, "add_filter": {"__class__": "ConnectedValue"}}, "input": {"__class__": "ConnectedValue"}, "inverse": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy1",type:"tool",uuid:"8c1888cd-fceb-45fc-add4-2e7edc582ca1",workflow_outputs:[{label:"filtered_variants",output_name:"output",uuid:"a923399c-9faa-40a7-be8d-caa2ca72c5be"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0",errors:null,id:8,input_connections:{input:{id:7,output_name:"output"}},inputs:[],label:null,name:"SnpSift Extract Fields",outputs:[{name:"output",type:"tabular"}],position:{left:815.4375,top:345.9609375},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Filtered extracted variants"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0",tool_shed_repository:{changeset_revision:"2e497a770bca",name:"snpsift",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"empty_text": ".", "extract": "CHROM POS FILTER REF ALT DP AF DP4 SB EFF[*].IMPACT EFF[*].FUNCLASS EFF[*].EFFECT EFF[*].GENE EFF[*].CODON EFF[*].AA EFF[*].TRID DP4[2] DP4[3]", "input": {"__class__": "ConnectedValue"}, "one_effect_per_line": "true", "separator": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.3+t.galaxy0",type:"tool",uuid:"dce57343-cb31-469a-b886-d62e7ce53bad",workflow_outputs:[{label:"filtered_extracted_variants",output_name:"output",uuid:"fb09ef77-9522-452a-a0e9-73a4a580b8aa"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6",errors:null,id:9,input_connections:{input:{id:8,output_name:"output"}},inputs:[],label:null,name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:1266.7265625,top:367.2578125},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Extracted variants with filtered and renamed effects and AF recalculated"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6",tool_shed_repository:{changeset_revision:"427903d47026",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"avoid_scientific_notation": "false", "cond": "round((c17 + c18) / c6, 6)", "header_lines_conditional": {"header_lines_select": "yes", "__current_case__": 1, "header_new_column_name": "AFrecalc"}, "input": {"__class__": "ConnectedValue"}, "round": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.6",type:"tool",uuid:"726b7b08-31a8-4ec7-b5b9-027b1f104eeb",workflow_outputs:[{label:"af_recalculated",output_name:"out_file1",uuid:"a47c05f5-0ea1-4649-a7c1-7b88cca0e6e5"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",errors:null,id:10,input_connections:{in_file:{id:9,output_name:"out_file1"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"tabular"}],position:{left:1433.15625,top:147.5},post_job_actions:{RenameDatasetActionout_file:{action_arguments:{newname:"Collapsed effects (Datamash on all variants)"},action_type:"RenameDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",tool_shed_repository:{changeset_revision:"562f3c677828",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "1,2,3,4,5,6,19,7,8,9", "header_in": "true", "header_out": "true", "ignore_case": "false", "in_file": {"__class__": "ConnectedValue"}, "need_sort": "false", "operations": [{"__index__": 0, "op_name": "collapse", "op_column": "10"}, {"__index__": 1, "op_name": "collapse", "op_column": "11"}, {"__index__": 2, "op_name": "collapse", "op_column": "12"}, {"__index__": 3, "op_name": "collapse", "op_column": "13"}, {"__index__": 4, "op_name": "collapse", "op_column": "14"}, {"__index__": 5, "op_name": "collapse", "op_column": "15"}, {"__index__": 6, "op_name": "collapse", "op_column": "16"}], "print_full_line": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"a5100b84-498a-47fe-b408-fd159a8d729a",workflow_outputs:[{label:"collapsed_effects",output_name:"out_file",uuid:"407d9cee-4b7d-4855-b62c-a166ecf8f50e"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",errors:null,id:11,input_connections:{infile:{id:10,output_name:"out_file"}},inputs:[],label:null,name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:1556.34375,top:323.5625},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"Extracted variants with highest impact effects"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"caseinsensitive": "false", "find_pattern": "\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\t]+\\\\t([^\\\\t,]+),[^\\\\s]+", "global": "true", "infile": {"__class__": "ConnectedValue"}, "is_regex": "true", "replace_pattern": "\\\\t$1\\\\t$2\\\\t$3\\\\t$4\\\\t$5\\\\t$6\\\\t$7", "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}, "skip_first_line": "true", "wholewords": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3",type:"tool",uuid:"6e156bbc-a207-4941-bd6a-d654473fde37",workflow_outputs:[{label:"highest_impact_effects",output_name:"outfile",uuid:"aacf2235-fd9c-43e9-a886-dde7ccc7c691"}]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",errors:null,id:12,input_connections:{infile:{id:11,output_name:"outfile"}},inputs:[],label:null,name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:1707.1953125,top:165.234375},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"Variants with cleaned up header"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"caseinsensitive": "false", "find_pattern": "(GroupBy|collapse)\\\\(([^)]+)\\\\)", "global": "true", "infile": {"__class__": "ConnectedValue"}, "is_regex": "true", "replace_pattern": "$2", "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}, "skip_first_line": "false", "wholewords": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3",type:"tool",uuid:"4d002a96-055c-4892-8ad4-d6266de51e4e",workflow_outputs:[{label:"cleaned_header",output_name:"outfile",uuid:"0bade229-08f2-491c-8361-77ec91ceed98"}]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",errors:null,id:13,input_connections:{infile:{id:12,output_name:"outfile"}},inputs:[],label:null,name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:1825.5,top:329.8828125},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"Fully processed variants collection for reporting"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"caseinsensitive": "false", "find_pattern": "AFrecalc\\\\tAF", "global": "false", "infile": {"__class__": "ConnectedValue"}, "is_regex": "true", "replace_pattern": "AF\\\\tAFcaller", "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}, "skip_first_line": "false", "wholewords": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3",type:"tool",uuid:"9ee0a745-0f40-4579-91ed-39aaa9895302",workflow_outputs:[{label:"processed_variants_collection",output_name:"outfile",uuid:"2707f4c6-dd54-44bb-adad-a3703d165823"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:14,input_connections:{input_list:{id:13,output_name:"outfile"}},inputs:[],label:null,name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:1984.5078125,top:154.984375},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": "true", "__current_case__": 0, "place_name": "same_multiple"}, "input_list": {"__class__": "ConnectedValue"}, "one_header": "true", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"c8ad21ea-c72b-4063-9974-380869b87d58",workflow_outputs:[]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6",errors:null,id:15,input_connections:{input:{id:14,output_name:"output"}},inputs:[],label:null,name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:2106.3828125,top:338.484375},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6",tool_shed_repository:{changeset_revision:"427903d47026",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:`{"avoid_scientific_notation": "false", "cond": "str(c5) + '>' + str(c6)", "header_lines_conditional": {"header_lines_select": "yes", "__current_case__": 1, "header_new_column_name": "change"}, "input": {"__class__": "ConnectedValue"}, "round": "false", "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"1.6",type:"tool",uuid:"61cc455a-4330-4518-bf8a-b099780bdb30",workflow_outputs:[]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6",errors:null,id:16,input_connections:{input:{id:15,output_name:"out_file1"}},inputs:[],label:null,name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:2329.8984375,top:339.296875},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6",tool_shed_repository:{changeset_revision:"427903d47026",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:`{"avoid_scientific_notation": "false", "cond": "str(int(c3)) + ':' + str(c19)", "header_lines_conditional": {"header_lines_select": "yes", "__current_case__": 1, "header_new_column_name": "change_with_pos"}, "input": {"__class__": "ConnectedValue"}, "round": "false", "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"1.6",type:"tool",uuid:"5a0297af-22c4-4550-8673-cbe044496410",workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",errors:null,id:17,input_connections:{infile:{id:16,output_name:"out_file1"}},inputs:[],label:null,name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:2536.0703125,top:207.0859375},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"All variants of all samples"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"caseinsensitive": "false", "find_pattern": "EFF[*].", "global": "true", "infile": {"__class__": "ConnectedValue"}, "is_regex": "false", "replace_pattern": "", "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}, "skip_first_line": "false", "wholewords": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3",type:"tool",uuid:"23c73601-2fdb-4a1e-be60-ff0f1ec96be8",workflow_outputs:[{label:"all_variants_all_samples",output_name:"outfile",uuid:"c3bf5f59-3363-4305-ab99-7c38fceab34c"}]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",errors:null,id:18,input_connections:{in_file:{id:17,output_name:"outfile"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"tabular"}],position:{left:2787.3359375,top:158.5234375},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",tool_shed_repository:{changeset_revision:"562f3c677828",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "20", "header_in": "true", "header_out": "true", "ignore_case": "false", "in_file": {"__class__": "ConnectedValue"}, "need_sort": "true", "operations": [{"__index__": 0, "op_name": "countunique", "op_column": "1"}, {"__index__": 1, "op_name": "min", "op_column": "8"}, {"__index__": 2, "op_name": "max", "op_column": "8"}, {"__index__": 3, "op_name": "collapse", "op_column": "1"}, {"__index__": 4, "op_name": "collapse", "op_column": "8"}], "print_full_line": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"61adea76-ce05-489d-af2b-1ad74bd141fa",workflow_outputs:[]},19:{annotation:"",content_id:"Filter1",errors:null,id:19,input_connections:{input:{id:17,output_name:"outfile"}},inputs:[],label:null,name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:2780.1328125,top:371.6484375},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:`{"cond": "c4=='PASS' or c4=='.'", "header_lines": "1", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"1.1.1",type:"tool",uuid:"c5568630-a6f4-468c-b320-5f28547f7c14",workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",errors:null,id:20,input_connections:{in_file:{id:17,output_name:"outfile"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"tabular"}],position:{left:3071.03125,top:568.5703125},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"},RenameDatasetActionout_file:{action_arguments:{newname:"Cross-sample variant stats (Datamash)"},action_type:"RenameDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",tool_shed_repository:{changeset_revision:"562f3c677828",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "3", "header_in": "true", "header_out": "true", "ignore_case": "false", "in_file": {"__class__": "ConnectedValue"}, "need_sort": "true", "operations": [{"__index__": 0, "op_name": "countunique", "op_column": "1"}, {"__index__": 1, "op_name": "min", "op_column": "8"}, {"__index__": 2, "op_name": "max", "op_column": "8"}, {"__index__": 3, "op_name": "countunique", "op_column": "19"}, {"__index__": 4, "op_name": "countunique", "op_column": "13"}], "print_full_line": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"517d8ba6-1df6-417c-96e9-f297b3b8f51f",workflow_outputs:[]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",errors:null,id:21,input_connections:{in_file:{id:19,output_name:"out_file1"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"tabular"}],position:{left:2895.6484375,top:789.3203125},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",tool_shed_repository:{changeset_revision:"562f3c677828",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "20", "header_in": "true", "header_out": "true", "ignore_case": "false", "in_file": {"__class__": "ConnectedValue"}, "need_sort": "true", "operations": [{"__index__": 0, "op_name": "countunique", "op_column": "1"}], "print_full_line": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"6f97bd54-aeea-4615-b6f0-b9cc8e99b519",workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2",errors:null,id:22,input_connections:{infile1:{id:19,output_name:"out_file1"},infile2:{id:18,output_name:"out_file"}},inputs:[],label:null,name:"Join",outputs:[{name:"output",type:"input"}],position:{left:3028.71875,top:178.8984375},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"Filtered variants of all samples with stats"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"column1": "20", "column2": "1", "empty_string_filler": "0", "header": "true", "ignore_case": "false", "infile1": {"__class__": "ConnectedValue"}, "infile2": {"__class__": "ConnectedValue"}, "jointype": " ", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.2",type:"tool",uuid:"ce58eb8c-118f-467e-80e4-b0bf35c2919f",workflow_outputs:[]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",errors:null,id:23,input_connections:{in_file:{id:19,output_name:"out_file1"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"tabular"}],position:{left:3037.1484375,top:439.0625},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",tool_shed_repository:{changeset_revision:"562f3c677828",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "3", "header_in": "true", "header_out": "true", "ignore_case": "false", "in_file": {"__class__": "ConnectedValue"}, "need_sort": "true", "operations": [{"__index__": 0, "op_name": "countunique", "op_column": "1"}], "print_full_line": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"aee9b1d2-a707-4101-8b22-23ebaa3a32a1",workflow_outputs:[]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2",errors:null,id:24,input_connections:{infile1:{id:16,output_name:"out_file1"},infile2:{id:21,output_name:"out_file"}},inputs:[],label:null,name:"Join",outputs:[{name:"output",type:"input"}],position:{left:3232.8984375,top:719.8359375},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"column1": "20", "column2": "1", "empty_string_filler": "0", "header": "true", "ignore_case": "false", "infile1": {"__class__": "ConnectedValue"}, "infile2": {"__class__": "ConnectedValue"}, "jointype": " ", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.2",type:"tool",uuid:"9aeb39d3-d040-43ee-a3fa-2a65eb1a7c34",workflow_outputs:[]},25:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",errors:null,id:25,input_connections:{in_file:{id:22,output_name:"output"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"tabular"}],position:{left:3272.8359375,top:142.0234375},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0",tool_shed_repository:{changeset_revision:"562f3c677828",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "1", "header_in": "true", "header_out": "true", "ignore_case": "false", "in_file": {"__class__": "ConnectedValue"}, "need_sort": "true", "operations": [{"__index__": 0, "op_name": "unique", "op_column": "2"}], "print_full_line": "true", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"74886968-16db-41a0-9d2a-98475d1d163e",workflow_outputs:[]},26:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2",errors:null,id:26,input_connections:{infile1:{id:17,output_name:"outfile"},infile2:{id:23,output_name:"out_file"}},inputs:[],label:null,name:"Join",outputs:[{name:"output",type:"input"}],position:{left:3274.8984375,top:351.5703125},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"column1": "3", "column2": "1", "empty_string_filler": "0", "header": "true", "ignore_case": "false", "infile1": {"__class__": "ConnectedValue"}, "infile2": {"__class__": "ConnectedValue"}, "jointype": " ", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.2",type:"tool",uuid:"9c3e2d08-a103-497b-b22c-667f1ca23152",workflow_outputs:[]},27:{annotation:"",content_id:"Cut1",errors:null,id:27,input_connections:{input:{id:24,output_name:"output"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:3458.375,top:655.5859375},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2,c3,c4,c5,c6,c7,c8,c9,c11,c12,c13,c14,c15,c16,c17,c18,c19", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"c74fc520-a76c-4b7b-b846-8cd8310ead70",workflow_outputs:[]},28:{annotation:"",content_id:"Cut1",errors:null,id:28,input_connections:{input:{id:25,output_name:"out_file"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:3496.8984375,top:246.8125},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c4,c6,c7,c13,c14,c15,c16,c17,c18,c19,c21,c22,c23,c26,c24,c25,c20", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"102b3ed6-1c6c-4545-9985-dfd3ac735acf",workflow_outputs:[]},29:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2",errors:null,id:29,input_connections:{infile1:{id:26,output_name:"output"},infile2:{id:20,output_name:"out_file"}},inputs:[],label:null,name:"Join",outputs:[{name:"output",type:"input"}],position:{left:3492.9375,top:444.734375},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"Filtered variants of all samples with per-position stats"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"column1": "1", "column2": "1", "empty_string_filler": "0", "header": "true", "ignore_case": "false", "infile1": {"__class__": "ConnectedValue"}, "infile2": {"__class__": "ConnectedValue"}, "jointype": " ", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.2",type:"tool",uuid:"95dcccd0-0323-4448-b8ca-ad1fce8d2a45",workflow_outputs:[]},30:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0",errors:null,id:30,input_connections:{"split_parms|input":{id:27,output_name:"out_file1"}},inputs:[],label:null,name:"Split file",outputs:[{name:"list_output_tab",type:"input"}],position:{left:3681.6328125,top:655.7578125},post_job_actions:{RenameDatasetActionlist_output_tab:{action_arguments:{newname:"Per-sample variants for plotting"},action_type:"RenameDatasetAction",output_name:"list_output_tab"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0",tool_shed_repository:{changeset_revision:"6cbe2f30c2d7",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "top": "1", "split_by": {"select_split_by": "col", "__current_case__": 0, "id_col": "1", "match_regex": "(.*)", "sub_regex": "\\\\1"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.0",type:"tool",uuid:"c0accd6f-76af-46f7-a5f0-647000d54444",workflow_outputs:[{label:"variants_for_plotting",output_name:"list_output_tab",uuid:"e62f958f-e749-43b4-9c02-17fced624689"}]},31:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",errors:null,id:31,input_connections:{infile:{id:28,output_name:"out_file1"}},inputs:[],label:null,name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:3706.375,top:146.25},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"},RenameDatasetActionoutfile:{action_arguments:{newname:"All variants of all samples"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.3",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"caseinsensitive": "false", "find_pattern": "unique\\\\(Sample\\\\)\\\\tcollapse\\\\(Sample\\\\)\\\\tcollapse\\\\(AF\\\\)", "global": "true", "infile": {"__class__": "ConnectedValue"}, "is_regex": "true", "replace_pattern": "SAMPLES(above-thresholds)\\\\tSAMPLES(all)\\\\tAFs(all)", "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}, "skip_first_line": "false", "wholewords": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3",type:"tool",uuid:"cf84a2f6-689b-4bed-bc0d-324d40f46dd7",workflow_outputs:[]},32:{annotation:"",content_id:"Cut1",errors:null,id:32,input_connections:{input:{id:29,output_name:"output"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:3710.1875,top:471.234375},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2,c1,c4,c5,c6,c7,c8,c9,c11,c10,c12,c13,c14,c15,c16,c17,c18,c23,c24,c25,c26,c19", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"3d0237fc-33b6-4305-b6e8-2502175f624f",workflow_outputs:[]},33:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/1.1.1",errors:null,id:33,input_connections:{infile:{id:31,output_name:"outfile"}},inputs:[],label:null,name:"Sort",outputs:[{name:"outfile",type:"input"}],position:{left:3928.8984375,top:247.8125},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"Combined Variant Report by Variant"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/1.1.1",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"header": "1", "ignore_case": "false", "infile": {"__class__": "ConnectedValue"}, "sortkeys": [{"__index__": 0, "column": "1", "order": "", "style": "g"}], "unique": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"6edca54f-9af8-4305-bd11-4c74251af900",workflow_outputs:[{label:"by_variant_report",output_name:"outfile",uuid:"30808300-2789-48b0-9073-98ec1bddcb3f"}]},34:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/1.1.1",errors:null,id:34,input_connections:{infile:{id:32,output_name:"out_file1"}},inputs:[],label:null,name:"Sort",outputs:[{name:"outfile",type:"input"}],position:{left:3932.6953125,top:457.4609375},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"Combined Variant Report by Sample"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/1.1.1",tool_shed_repository:{changeset_revision:"f46f0e4f75c4",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"header": "1", "ignore_case": "false", "infile": {"__class__": "ConnectedValue"}, "sortkeys": [{"__index__": 0, "column": "1", "order": "", "style": ""}, {"__index__": 1, "column": "2", "order": "", "style": "n"}], "unique": "false", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"eb754361-9ec5-46c8-80b5-6bb040345719",workflow_outputs:[{label:"combined_variant_report",output_name:"outfile",uuid:"2f0680a4-d809-4f85-8df9-4fcd6c4f3d80"}]}},tags:["mpvx","generic"],uuid:"9e94da53-d8ab-4713-8aac-7c6674fa1d39",version:2},readme:`Generic variation analysis reporting -------------------------------------- @@ -1536,6 +2899,89 @@ and generates a list of variants by Samples and by Variant. ## [0.1] - Initial version generic variation analysis reporting workflow +`,diagrams:`# Workflow diagrams + +## Generic variation analysis reporting + +\`\`\`mermaid +graph LR +0["ℹ️ Variation data to report"]@{ shape: docs } +1["ℹ️ AF Filter"]@{ shape: lean-l } +2["ℹ️ DP Filter"]@{ shape: lean-l } +3["ℹ️ DP_ALT Filter"]@{ shape: lean-l } +4["SnpSift Filter"]@{ shape: process } +0 --> 4 +5["Compose text parameter value"]@{ shape: process } +1 --> 5 +2 --> 5 +3 --> 5 +6["Compose text parameter value"]@{ shape: process } +1 --> 6 +2 --> 6 +3 --> 6 +7["SnpSift Filter"]@{ shape: process } +5 --> 7 +6 --> 7 +4 --> 7 +8["SnpSift Extract Fields"]@{ shape: process } +7 --> 8 +9["Compute"]@{ shape: process } +8 --> 9 +10["Datamash"]@{ shape: process } +9 --> 10 +11["Replace"]@{ shape: process } +10 --> 11 +12["Replace"]@{ shape: process } +11 --> 12 +13["Replace"]@{ shape: process } +12 --> 13 +14["Collapse Collection"]@{ shape: process } +13 --> 14 +15["Compute"]@{ shape: process } +14 --> 15 +16["Compute"]@{ shape: process } +15 --> 16 +17["Replace"]@{ shape: process } +16 --> 17 +18["Datamash"]@{ shape: process } +17 --> 18 +19["Filter"]@{ shape: process } +17 --> 19 +20["Datamash"]@{ shape: process } +17 --> 20 +21["Datamash"]@{ shape: process } +19 --> 21 +22["Join"]@{ shape: process } +19 --> 22 +18 --> 22 +23["Datamash"]@{ shape: process } +19 --> 23 +24["Join"]@{ shape: process } +16 --> 24 +21 --> 24 +25["Datamash"]@{ shape: process } +22 --> 25 +26["Join"]@{ shape: process } +17 --> 26 +23 --> 26 +27["Cut"]@{ shape: process } +24 --> 27 +28["Cut"]@{ shape: process } +25 --> 28 +29["Join"]@{ shape: process } +26 --> 29 +20 --> 29 +30["Split file"]@{ shape: process } +27 --> 30 +31["Replace"]@{ shape: process } +28 --> 31 +32["Cut"]@{ shape: process } +29 --> 32 +33["Sort"]@{ shape: process } +31 --> 33 +34["Sort"]@{ shape: process } +32 --> 34 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/variation-reporting/main",tests:[{doc:"Test outline for Generic-variation-analysis-reporting",job:{"AF Filter":.05,"DP Filter":1,"DP_ALT Filter":10,"Variation data to report":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"filtered variants ERR3485802",path:"test-data/Variation data to report_filtered variants ERR3485802.vcf"}]}},outputs:{af_recalculated:{element_tests:{"filtered variants ERR3485802":{path:"test-data/af_recalculated.tabular",compare:"diff",lines_diff:6}}},all_variants_all_samples:{path:"test-data/all_variants_all_samples.tabular",compare:"diff",lines_diff:6},by_variant_report:{path:"test-data/by_variant_report.tabular",compare:"diff",lines_diff:6},combined_variant_report:{path:"test-data/combined_variant_report.tabular",compare:"diff",lines_diff:6}}}]}],path:"./workflows/variant-calling/variation-reporting"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/parallel-accession-download.ga",testParameterFiles:["/parallel-accession-download-tests.yml"],authors:[{name:"Marius van den Beek",orcid:"0000-0002-9676-7032"},{name:"IWC",url:"https://github.com/galaxyproject/iwc"}],definition:{a_galaxy_workflow:"true",annotation:"Downloads fastq files for sequencing run accessions provided in a text file using fasterq-dump. Creates one job per listed run accession.",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-9676-7032",name:"Marius van den Beek"},{class:"Organization",name:"IWC",url:"https://github.com/galaxyproject/iwc"}],"format-version":"0.1",license:"MIT",release:"0.1.14",name:"Parallel Accession Download",steps:{0:{annotation:"Text file containing run accessions (starting with SRR, ERR or DRR), one per line.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Text file containing run accessions (starting with SRR, ERR or DRR), one per line.",name:"Run accessions"}],label:"Run accessions",name:"Input dataset",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["txt"], "tag": null}',tool_version:null,type:"data_input",uuid:"e9e5605e-29e1-4f90-9693-0e40a2ddfd8f",when:null,workflow_outputs:[]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:1,input_connections:{"split_parms|input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"Split accessions to collection",name:"Split file",outputs:[{name:"list_output_txt",type:"input"}],position:{left:279.51666259765625,top:86.01666259765625},post_job_actions:{HideDatasetActionlist_output_txt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "txt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"f8d776ff-e1ba-4bde-9b4b-392d825fd2b7",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.1+galaxy0",errors:null,id:2,input_connections:{"input|file_list":{id:1,output_name:"list_output_txt"}},inputs:[{description:"runtime parameter for tool Faster Download and Extract Reads in FASTQ",name:"input"}],label:"fasterq-dump",name:"Faster Download and Extract Reads in FASTQ",outputs:[{name:"list_paired",type:"input"},{name:"output_collection",type:"input"},{name:"output_collection_other",type:"input"},{name:"log",type:"txt"}],position:{left:570.9250183105469,top:62.9749755859375},post_job_actions:{HideDatasetActionlist_paired:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_paired"},HideDatasetActionlog:{action_arguments:{},action_type:"HideDatasetAction",output_name:"log"},HideDatasetActionoutput_collection:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_collection"},HideDatasetActionoutput_collection_other:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_collection_other"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.1+galaxy0",tool_shed_repository:{changeset_revision:"516a54ddf218",name:"sra_tools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"seq_defline": "@$sn/$ri", "minlen": null, "split": "--split-3", "skip_technical": true}, "input": {"input_select": "file_list", "__current_case__": 2, "file_list": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1+galaxy0",type:"tool",uuid:"4d328e7b-df7d-4d3e-a60f-1ea12925f317",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:3,input_connections:{input:{id:2,output_name:"list_paired"}},inputs:[],label:"flatten paired output",name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:898.0000305175781,top:71.9749755859375},post_job_actions:{TagDatasetActionoutput:{action_arguments:{tags:"name:PE"},action_type:"TagDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"collapsible_value": {"__class__": "RuntimeValue"}, "columns": [1], "connectable": true, "editing": false, "is_workflow": false, "type": "list_identifiers"}, {"collapsible_value": {"__class__": "RuntimeValue"}, "columns": [2], "connectable": true, "is_workflow": false, "type": "paired_identifier"}], "rules": [{"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier1", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier2", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"924d2152-5640-40cd-bec3-0ced45469d84",when:null,workflow_outputs:[{label:"Paired End Reads",output_name:"output",uuid:"b431f0a1-391e-45e1-b739-27dd0fc83087"}]},4:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:4,input_connections:{input:{id:2,output_name:"output_collection"}},inputs:[],label:"flatten single end output",name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:905.0499572753906,top:215.0250244140625},post_job_actions:{TagDatasetActionoutput:{action_arguments:{tags:"name:SE"},action_type:"TagDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"collapsible_value": {"__class__": "RuntimeValue"}, "columns": [1], "connectable": true, "editing": false, "is_workflow": false, "type": "list_identifiers"}], "rules": [{"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier1", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"946d9610-c363-4915-b93a-f074169ef812",when:null,workflow_outputs:[{label:"Single End Reads",output_name:"output",uuid:"e2bf276c-0956-473e-a778-b3b3df7351f5"}]}},tags:[],uuid:"15c3229d-8786-457f-a020-7aa64c0cf6e8",version:10},readme:`# Parallel Accession Download Downloads fastq files for sequencing run accessions provided in a text file @@ -1622,6 +3068,22 @@ Added RO-Crate metadata file. No functional changes. ### Added - Initial version of Parallel Accession Download workflow. +`,diagrams:`# Workflow diagrams + +## Parallel Accession Download + +\`\`\`mermaid +graph LR +0["ℹ️ Run accessions"]@{ shape: doc } +1["Split accessions to collection"]@{ shape: process } +0 --> 1 +2["fasterq-dump"]@{ shape: process } +1 --> 2 +3["flatten paired output"]@{ shape: process } +2 --> 3 +4["flatten single end output"]@{ shape: process } +2 --> 4 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/parallel-accession-download/main",tests:[{doc:"Test download of single end accession",job:{"Run accessions":{class:"File",path:"test-data/input_accession_single_end.txt"}},outputs:{"Single End Reads":{element_tests:{SRR044777:{file:"test-data/SRR044777_head.fastq",decompress:!0,compare:"contains"}}}}},{doc:"Test download of single and paired end accession",job:{"Run accessions":{class:"File",path:"test-data/input_accession_paired_end.txt"}},outputs:{"Paired End Reads":{element_tests:{SRR11953971:{elements:{forward:{file:"test-data/SRR11953971_1_head.fastq",decompress:!0,compare:"contains"},reverse:{file:"test-data/SRR11953971_2_head.fastq",decompress:!0,compare:"contains"}}}}}}}]}],path:"./workflows/data-fetching/parallel-accession-download"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/sra-manifest-to-concatenated-fastqs.ga",testParameterFiles:["/sra-manifest-to-concatenated-fastqs-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"},{name:"Pierre Osteil",orcid:"0000-0002-5832-6703"},{name:"Wolfgang Maier",orcid:"0000-0002-9464-6640"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input a SRA_manifest from SRA Run Selector and will generate one fastq file or fastq pair of file for each experiment (concatenated multiple runs if necessary). Output will be relabelled to match the column specified by the user.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"},{class:"Person",identifier:"https://orcid.org/0000-0002-5832-6703",name:"Pierre Osteil"},{class:"Person",identifier:"https://orcid.org/0000-0002-9464-6640",name:"Wolfgang Maier"}],"format-version":"0.1",release:"0.7",license:"MIT",name:"sra_manifest_to_concatenated_fastqs_parallel",steps:{0:{annotation:"Input tabular from SRA Run Selector or home made (First row needs to be a header)",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Input tabular from SRA Run Selector or home made (First row needs to be a header)",name:"SRA_manifest"}],label:"SRA_manifest",name:"Input dataset",outputs:[],position:{left:0,top:44.5},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"7125f877-571a-4f10-b9de-48b750cf7964",when:null,workflow_outputs:[]},1:{annotation:"Column number in the SRA_manifest with SRA ID (usually 1)",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Column number in the SRA_manifest with SRA ID (usually 1)",name:"Column number with SRA ID"}],label:"Column number with SRA ID",name:"Input parameter",outputs:[],position:{left:23,top:145},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"de844377-af66-4f4e-bc67-327e9705d5b5",when:null,workflow_outputs:[]},2:{annotation:"Column number in the SRA_list with final identifier",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Column number in the SRA_list with final identifier",name:"Column number with final identifier"}],label:"Column number with final identifier",name:"Input parameter",outputs:[],position:{left:59,top:243},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"3f0fca4f-b920-4ae6-bda8-8ef61ebbf409",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:3,input_connections:{"input_param_type|input_param":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Set SRA column to 1 if at 0",name:"Map parameter value",outputs:[{name:"output_param_integer",type:"expression.json"}],position:{left:305,top:152.5},post_job_actions:{HideDatasetActionoutput_param_integer:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_integer"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "integer", "__current_case__": 1, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "0", "to": "1"}]}, "output_param_type": "integer", "unmapped": {"on_unmapped": "input", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"98c1bbbc-35f3-4a9e-ad2d-1a8420b827b5",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:4,input_connections:{"components_1|param_type|component_value":{id:3,output_name:"output_param_integer"},"components_3|param_type|component_value":{id:2,output_name:"output"}},inputs:[],label:"Compute column expression",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:527,top:227},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "c"}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": ",c"}}, {"__index__": 3, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"f93a3f4b-c1f8-45f7-b44f-b42fe0aa1856",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"Cut1",errors:null,id:5,input_connections:{columnList:{id:4,output_name:"out1"},input:{id:0,output_name:"output"}},inputs:[],label:"Cut columns of interest",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:816,top:0},post_job_actions:{},tool_id:"Cut1",tool_state:'{"columnList": {"__class__": "ConnectedValue"}, "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"dc7f7cb5-cc22-4ec8-8fe9-025f8f265e31",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",errors:null,id:6,input_connections:{infile:{id:5,output_name:"out_file1"}},inputs:[],label:"generate table for relabelling",name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:1096,top:189},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",tool_shed_repository:{changeset_revision:"fbf99087e067",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"find_and_replace": [{"__index__": 0, "find_pattern": "[^\\\\w\\\\- .,\\\\t](?=[^\\\\t]+$)", "replace_pattern": "-", "is_regex": true, "global": true, "caseinsensitive": false, "wholewords": false, "skip_first_line": false, "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}}, {"__index__": 1, "find_pattern": "(.+)\\\\t(.+)", "replace_pattern": "$1\\\\t$1___$2", "is_regex": true, "global": false, "caseinsensitive": false, "wholewords": false, "skip_first_line": false, "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}}], "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"7b4781ed-57b0-4962-a647-21e54375c195",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"Cut1",errors:null,id:7,input_connections:{input:{id:5,output_name:"out_file1"}},inputs:[],label:"Cut to get only SRA",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:1347.75,top:4.48333740234375},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"__input_ext": "tabular", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "columnList": "c1", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "input|__identifier__": "SRR031709", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"f0405bd8-19f0-4a3d-afe9-3cfd1a0f01a3",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:8,input_connections:{"split_parms|input":{id:7,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"split file to get one SRA per file + header",name:"Split file",outputs:[{name:"list_output_tab",type:"input"}],position:{left:1645,top:155.5},post_job_actions:{HideDatasetActionlist_output_tab:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_tab"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "top": "1", "split_by": {"select_split_by": "col", "__current_case__": 0, "id_col": "1", "match_regex": "(.*)", "sub_regex": "\\\\1"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"4a1ad675-4291-4001-a748-d009299f9d40",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.1+galaxy0",errors:null,id:9,input_connections:{"input|file_list":{id:8,output_name:"list_output_tab"}},inputs:[{description:"runtime parameter for tool Faster Download and Extract Reads in FASTQ",name:"input"}],label:"get Fastqs from SRA IDs",name:"Faster Download and Extract Reads in FASTQ",outputs:[{name:"list_paired",type:"input"},{name:"output_collection",type:"input"},{name:"output_collection_other",type:"input"},{name:"log",type:"txt"}],position:{left:1920,top:435.5},post_job_actions:{HideDatasetActionlist_paired:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_paired"},HideDatasetActionlog:{action_arguments:{},action_type:"HideDatasetAction",output_name:"log"},HideDatasetActionoutput_collection:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_collection"},HideDatasetActionoutput_collection_other:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_collection_other"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.1+galaxy0",tool_shed_repository:{changeset_revision:"516a54ddf218",name:"sra_tools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"seq_defline": "@$sn/$ri", "minlen": null, "split": "--split-3", "skip_technical": true}, "input": {"input_select": "file_list", "__current_case__": 2, "file_list": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1+galaxy0",type:"tool",uuid:"fa409017-1eea-4426-83f6-22a10b9f762c",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:10,input_connections:{"how|labels":{id:6,output_name:"outfile"},input:{id:9,output_name:"list_paired"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:"relabel pair collec to get SRA+sample",name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:2159,top:329.5},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "tabular", "__current_case__": 1, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"ccdc51b2-444e-4b96-90a0-c7caba6a53e8",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:11,input_connections:{"how|labels":{id:6,output_name:"outfile"},input:{id:9,output_name:"output_collection"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:"relabel single collec to get SRA+sample",name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:2138,top:718.5},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "tabular", "__current_case__": 1, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"4efa4ed9-6768-4b1e-82f6-055e97af2d2d",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:12,input_connections:{input:{id:10,output_name:"output"}},inputs:[],label:null,name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:2390,top:359.5},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"columns": [3, 1], "editing": false, "type": "list_identifiers"}, {"columns": [2], "type": "paired_identifier"}], "rules": [{"error": null, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"error": null, "type": "add_column_metadata", "value": "identifier1", "warn": null}, {"error": null, "type": "add_column_metadata", "value": "identifier2", "warn": null}, {"error": null, "expression": "(.*?)___(.*)", "group_count": null, "replacement": "\\\\2", "target_column": 0, "type": "add_column_regex", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"9d65a5a8-dedb-4d63-9164-47ceefc746b3",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:13,input_connections:{input:{id:11,output_name:"output"}},inputs:[],label:null,name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:2364,top:738.5},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"columns": [2, 0], "editing": false, "type": "list_identifiers"}], "rules": [{"error": null, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"error": null, "type": "add_column_metadata", "value": "identifier1", "warn": null}, {"error": null, "expression": "(.*?)___(.*)", "group_count": null, "replacement": "\\\\2", "target_column": 0, "type": "add_column_regex", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"3938066e-faa5-469e-96c0-d4ede1fb5f11",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/artbio/concatenate_multiple_datasets/cat_multi_datasets/1.4.3",errors:null,id:14,input_connections:{"global_condition|inputs":{id:12,output_name:"output"}},inputs:[{description:"runtime parameter for tool Concatenate multiple datasets",name:"global_condition"}],label:null,name:"Concatenate multiple datasets",outputs:[{name:"paired_output",type:"input"}],position:{left:2617,top:347.5},post_job_actions:{RenameDatasetActionpaired_output:{action_arguments:{newname:"Concatenated paired-end"},action_type:"RenameDatasetAction",output_name:"paired_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/artbio/concatenate_multiple_datasets/cat_multi_datasets/1.4.3",tool_shed_repository:{changeset_revision:"5b1b635232ed",name:"concatenate_multiple_datasets",owner:"artbio",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "fastqsanger.gz", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "dataset_names": false, "global_condition": {"input_type": "paired_collection", "__current_case__": 1, "inputs": {"__class__": "ConnectedValue"}, "paired_cat_type": "by_strand"}, "headers": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.4.3",type:"tool",uuid:"37b6fecb-1c87-4c41-8598-95d43b418ee0",when:null,workflow_outputs:[{label:"paired_output",output_name:"paired_output",uuid:"8abbbe2a-9b3e-4472-81ec-a8fbede8a044"}]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/artbio/concatenate_multiple_datasets/cat_multi_datasets/1.4.3",errors:null,id:15,input_connections:{"global_condition|inputs":{id:13,output_name:"output"}},inputs:[{description:"runtime parameter for tool Concatenate multiple datasets",name:"global_condition"}],label:null,name:"Concatenate multiple datasets",outputs:[{name:"out_file1",type:"input"}],position:{left:2595,top:719.5},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Concatenated Single-read"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/artbio/concatenate_multiple_datasets/cat_multi_datasets/1.4.3",tool_shed_repository:{changeset_revision:"5b1b635232ed",name:"concatenate_multiple_datasets",owner:"artbio",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "fastqsanger.gz", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "dataset_names": false, "global_condition": {"input_type": "singles", "__current_case__": 0, "inputs": {"__class__": "ConnectedValue"}}, "headers": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.4.3",type:"tool",uuid:"49a70885-3374-4680-bbd2-ad57b8be543d",when:null,workflow_outputs:[{label:"single_output",output_name:"out_file1",uuid:"71cbe11d-24ff-4e86-954f-acb439332d0a"}]}},tags:[],uuid:"363898af-e598-4f0e-abd9-e6ded395ce66",version:3},readme:`# SRA manifest to concatenated fastqs This workflow takes as input a SRA manifest from SRA Run Selector (or a tabular with a header line), downloads all sequencing run data from the SRA and arranges it into per-sample fastq or pairs of fastq datasets. @@ -1714,6 +3176,46 @@ It will work out the relationship between runs and samples from the user-indicat ## [0.1] 2023-10-23 First release. +`,diagrams:`# Workflow diagrams + +## sra_manifest_to_concatenated_fastqs_parallel + +\`\`\`mermaid +graph LR +0["ℹ️ SRA_manifest"]@{ shape: doc } +1["ℹ️ Column number with SRA ID"]@{ shape: lean-l } +2["ℹ️ Column number with final identifier"]@{ shape: lean-l } +3["Set SRA column to 1 if at 0"]@{ shape: process } +1 --> 3 +4["Compute column expression"]@{ shape: process } +3 --> 4 +2 --> 4 +5["Cut columns of interest"]@{ shape: process } +4 --> 5 +0 --> 5 +6["generate table for relabelling"]@{ shape: process } +5 --> 6 +7["Cut to get only SRA"]@{ shape: process } +5 --> 7 +8["split file to get one SRA per file + header"]@{ shape: process } +7 --> 8 +9["get Fastqs from SRA IDs"]@{ shape: process } +8 --> 9 +10["relabel pair collec to get SRA+sample"]@{ shape: process } +6 --> 10 +9 --> 10 +11["relabel single collec to get SRA+sample"]@{ shape: process } +6 --> 11 +9 --> 11 +12["Apply rules"]@{ shape: process } +10 --> 12 +13["Apply rules"]@{ shape: process } +11 --> 13 +14["Concatenate multiple datasets"]@{ shape: process } +12 --> 14 +15["Concatenate multiple datasets"]@{ shape: process } +13 --> 15 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/sra-manifest-to-concatenated-fastqs/main",tests:[{doc:"Test for sra-list-to-concatenated-fastqs.ga",job:{SRA_manifest:{class:"File",path:"test-data/SRA.txt"},"Column number with SRA ID":1,"Column number with final identifier":22},outputs:{paired_output:{element_tests:{"GSM461177-":{element_tests:{forward:{asserts:{has_size:{value:294e6,delta:3e7}}},reverse:{asserts:{has_size:{value:307e6,delta:3e7}}}}},GSM461178___a:{element_tests:{forward:{asserts:{has_size:{value:178e6,delta:1e7}}},reverse:{asserts:{has_size:{value:205e6,delta:2e7}}}}}}},single_output:{element_tests:{"GSM461176.-":{asserts:{has_size:{value:139e6,delta:1e7}}},"GSM461179-ID":{asserts:{has_size:{value:298e6,delta:3e7}}}}}}}]}],path:"./workflows/data-fetching/sra-manifest-to-concatenated-fastqs"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/segmentation-and-counting.ga",testParameterFiles:["/segmentation-and-counting-tests.yml"],authors:[{name:"Leonid Kostrykin",orcid:"0000-0003-1323-3762",url:"https://github.com/kostrykin/"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow performs segmentation and counting of cell nuclei using fluorescence microscopy images. The segmentation step is performed using Otsu thresholding (Otsu, 1979). The workflow is based on the tutorial: https://training.galaxyproject.org/training-material/topics/imaging/tutorials/imaging-introduction/tutorial.html",creator:[{class:"Person",identifier:"https://orcid.org/0000-0003-1323-3762",name:"Leonid Kostrykin",url:"https://github.com/kostrykin/"}],"format-version":"0.1",license:"MIT",release:"0.2",name:"Segmentation and counting of cell nuclei in fluorescence microscopy images",steps:{0:{annotation:"The fluorescence microscopy images to be segmented. Must be the single image channel, which contains the cell nuclei.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"The fluorescence microscopy images to be segmented. Must be the single image channel, which contains the cell nuclei.",name:"input_image"}],label:"input_image",name:"Input dataset",outputs:[],position:{left:0,top:123.6936084329719},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"facec436-5d6e-43de-a21e-cebc8272a35c",when:null,workflow_outputs:[]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/imgteam/2d_simple_filter/ip_filter_standard/1.12.0+galaxy1",errors:null,id:1,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:null,name:"Filter 2-D image",outputs:[{name:"output",type:"tiff"}],position:{left:320.6808544907898,top:244.80388558482915},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/imgteam/2d_simple_filter/ip_filter_standard/1.12.0+galaxy1",tool_shed_repository:{changeset_revision:"d51310ab328a",name:"2d_simple_filter",owner:"imgteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tiff", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "filter": {"filter_type": "gaussian", "__current_case__": 0, "size": "3.0"}, "filter_type": "gaussian", "input": {"__class__": "ConnectedValue"}, "radius": "3", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.12.0+galaxy1",type:"tool",uuid:"0c652b2d-7376-4444-b4c4-70babd1a0f14",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/imgteam/2d_histogram_equalization/ip_histogram_equalization/0.18.1+galaxy0",errors:null,id:2,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:null,name:"Perform histogram equalization",outputs:[{name:"output",type:"tiff"}],position:{left:438.81238880324617,top:9.67052833486391},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/imgteam/2d_histogram_equalization/ip_histogram_equalization/0.18.1+galaxy0",tool_shed_repository:{changeset_revision:"b1c2c210813c",name:"2d_histogram_equalization",owner:"imgteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tiff", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "h_type": "clahe", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.18.1+galaxy0",type:"tool",uuid:"c4b63332-c0ed-4a40-9670-9d5ba2a5e88f",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/imgteam/2d_auto_threshold/ip_threshold/0.18.1+galaxy3",errors:null,id:3,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:null,name:"Threshold image",outputs:[{name:"output",type:"tiff"}],position:{left:565.4531507696091,top:243.376959571321},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/imgteam/2d_auto_threshold/ip_threshold/0.18.1+galaxy3",tool_shed_repository:{changeset_revision:"699a5e9146b3",name:"2d_auto_threshold",owner:"imgteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "input", "block_size": "5", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "dark_bg": "true", "input": {"__class__": "ConnectedValue"}, "invert_output": false, "th_method": {"method_id": "otsu", "__current_case__": 1, "threshold": "0", "block_size": "0", "offset": "0.0"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.18.1+galaxy3",type:"tool",uuid:"d75a2027-d855-4f05-9261-25f2f712efce",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/imgteam/bfconvert/ip_convertimage/6.7.0+galaxy3",errors:null,id:4,input_connections:{input_file:{id:2,output_name:"output"}},inputs:[],label:null,name:"Convert image format",outputs:[{name:"output",type:"tiff"}],position:{left:689.7987516288889,top:0},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/imgteam/bfconvert/ip_convertimage/6.7.0+galaxy3",tool_shed_repository:{changeset_revision:"fcadded98e61",name:"bfconvert",owner:"imgteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tiff", "bigtiff": false, "channel_options": {"extract": "False", "__current_case__": 0}, "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "compression": "False", "crop_options": {"extract": "False", "__current_case__": 0}, "input_file": {"__class__": "ConnectedValue"}, "noflat": true, "out_format": "png", "pyramid_options": {"generate": "False", "__current_case__": 1}, "range_options": {"extract": "False", "__current_case__": 0}, "series_options": {"extract": "False", "__current_case__": 0}, "tile_options": {"extract": "False", "__current_case__": 0}, "timepoint_options": {"extract": "False", "__current_case__": 0}, "z_options": {"extract": "False", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"6.7.0+galaxy3",type:"tool",uuid:"a6a689c6-c1d0-4929-87a2-ac5206cf8026",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/imgteam/binary2labelimage/ip_binary_to_labelimage/0.5+galaxy0",errors:null,id:5,input_connections:{input:{id:3,output_name:"output"}},inputs:[],label:null,name:"Convert binary image to label map",outputs:[{name:"output",type:"tiff"}],position:{left:812.10278473575,top:245.5611328413049},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/imgteam/binary2labelimage/ip_binary_to_labelimage/0.5+galaxy0",tool_shed_repository:{changeset_revision:"984358e43242",name:"binary2labelimage",owner:"imgteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tiff", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "mode": {"mode_selector": "cca", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5+galaxy0",type:"tool",uuid:"cd899592-8b30-4a79-9aba-f75a10c75dd7",when:null,workflow_outputs:[{label:"label_image",output_name:"output",uuid:"daaee143-81e0-4067-aac0-81f02732c343"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/imgteam/overlay_images/ip_overlay_images/0.0.4+galaxy4",errors:null,id:6,input_connections:{"method_option|im1":{id:4,output_name:"output"},"method_option|im2":{id:5,output_name:"output"}},inputs:[{description:"runtime parameter for tool Overlay images",name:"method_option"},{description:"runtime parameter for tool Overlay images",name:"method_option"}],label:null,name:"Overlay images",outputs:[{name:"out_png",type:"png"}],position:{left:1085.3470167429655,top:104.58436042741572},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/imgteam/overlay_images/ip_overlay_images/0.0.4+galaxy4",tool_shed_repository:{changeset_revision:"ca362a9bfa20",name:"overlay_images",owner:"imgteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "input", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "method_option": {"method": "seg_contour", "__current_case__": 2, "im1": {"__class__": "ConnectedValue"}, "im2": {"__class__": "ConnectedValue"}, "thickness": "2", "color": "#ff0000", "show_label": true, "label_color": "#ffff00"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.4+galaxy4",type:"tool",uuid:"066a4e0d-2ae3-46f7-a0c8-77a1a83d119a",when:null,workflow_outputs:[{label:"overlay_image",output_name:"out_png",uuid:"5b94aaa3-9034-465e-995f-3d8f1f057f4b"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/imgteam/count_objects/ip_count_objects/0.0.5-2",errors:null,id:7,input_connections:{input:{id:5,output_name:"output"}},inputs:[],label:null,name:"Count objects in label map",outputs:[{name:"output",type:"tabular"}],position:{left:1086.8749834881503,top:370.25000974083935},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/imgteam/count_objects/ip_count_objects/0.0.5-2",tool_shed_repository:{changeset_revision:"b58447a2eed2",name:"count_objects",owner:"imgteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tiff", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.5-2",type:"tool",uuid:"75a4d4d8-0435-441f-a309-d04071cf125f",when:null,workflow_outputs:[{label:"objects_count",output_name:"output",uuid:"8b3d51a7-2c1f-4f84-ac80-ef0ef6d25a3f"}]}},tags:[],uuid:"8c2d765b-2764-4b66-8542-adc2109c24f2",version:10},readme:`# Segmentation and counting of cell nuclei in fluorescence microscopy images This workflow performs segmentation and counting of cell nuclei using fluorescence microscopy images. The segmentation step is performed using Otsu thresholding (Otsu, 1979). The workflow is based on the tutorial: https://training.galaxyproject.org/training-material/topics/imaging/tutorials/imaging-introduction/tutorial.html @@ -1740,7 +3242,30 @@ This workflow performs segmentation and counting of cell nuclei using fluorescen ## [0.1] - 2024-02-29 -- Creation of workflow for segmentation and counting of cell nuclei in fluorescence microscopy images.`,trsID:"#workflow/github.com/iwc-workflows/fluorescence-nuclei-segmentation-and-counting/main",tests:[{doc:"Test outline for segmentation-and-counting.ga",job:{input_image:{class:"File",path:"test-data/input_image.tiff",filetype:"tiff"}},outputs:{overlay_image:{path:"test-data/overlay_image.png",compare:"image_diff"},objects_count:{path:"test-data/objects_count.tabular",compare:"diff",lines_diff:0},label_image:{path:"test-data/label_image.tiff",compare:"image_diff",metric:"iou"}}}]}],path:"./workflows/imaging/fluorescence-nuclei-segmentation-and-counting"},{version:1.2,workflows:[{name:"baredSC-1d-logNorm",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/baredSC-1d-logNorm.ga",testParameterFiles:["/baredSC-1d-logNorm-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"Run baredSC in 1 dimension in logNorm for 1 to N gaussians and combine models.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.5",name:"baredSC_1d_logNorm",steps:{0:{annotation:"The dataset must have a first row with row names. Among them should be 'nCount_RNA' and the gene you want to get PDF of.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"The dataset must have a first row with row names. Among them should be 'nCount_RNA' and the gene you want to get PDF of.",name:"Tabular with raw expression values"}],label:"Tabular with raw expression values",name:"Input dataset",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"247797f8-537d-434c-b7f0-b5212d6a6139",when:null,workflow_outputs:[]},1:{annotation:"Must be included in the first row of the tabular",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Must be included in the first row of the tabular",name:"Gene name"}],label:"Gene name",name:"Input parameter",outputs:[],position:{left:51,top:95},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8486d61d-03ce-44df-a74c-0aa6a5b0e0b7",when:null,workflow_outputs:[]},2:{annotation:"Maximum value to explore in logNorm",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Maximum value to explore in logNorm",name:"Maximum value in logNorm"}],label:"Maximum value in logNorm",name:"Input parameter",outputs:[],position:{left:97,top:176.5},tool_id:null,tool_state:'{"parameter_type": "float", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a54a81dc-8b4c-4ed3-8d4e-0748755873e8",when:null,workflow_outputs:[]},3:{annotation:"Usually 4 is enough",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Usually 4 is enough",name:"Maximum number of Gaussians to study"}],label:"Maximum number of Gaussians to study",name:"Input parameter",outputs:[],position:{left:268,top:291},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"b7482c04-93ff-4f34-acbd-9c46d1f067cd",when:null,workflow_outputs:[]},4:{annotation:"",id:4,input_connections:{"Maximum number in param output":{id:3,input_subworkflow_step_id:0,output_name:"output"}},inputs:[],label:null,name:"generate_param_list_one_to_number",outputs:[],position:{left:547,top:231.5},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"generate_param_list_one_to_number",steps:{0:{annotation:"Maximum number in param output",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Maximum number in param output",name:"Maximum number in param output"}],label:"Maximum number in param output",name:"Input parameter",outputs:[],position:{left:0,top:36},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"655f8763-6f41-401c-a7c2-cbc0926222c0",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"996f5ca8-629e-4887-9bc0-2d719b790868"}]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:1,input_connections:{"token_set_0|repeat_select|times":{id:0,output_name:"output"}},inputs:[],label:"create first tabular with good number of rows.",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:280,top:0},post_job_actions:{ChangeDatatypeActionoutfile:{action_arguments:{newtype:"tabular"},action_type:"ChangeDatatypeAction",output_name:"outfile"},HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"fbf99087e067",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": "whatever", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"c96eeaba-7b46-478f-bc6d-ac3d64f72523",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"addValue",errors:null,id:2,input_connections:{input:{id:1,output_name:"outfile"}},inputs:[],label:"add column with numbers starting at 1",name:"Add column",outputs:[{name:"out_file1",type:"input"}],position:{left:560,top:20},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"addValue",tool_state:'{"exp": "1", "input": {"__class__": "ConnectedValue"}, "iterate": "yes", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"20631933-3793-45f0-9fb5-6f3d9463457b",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"Cut1",errors:null,id:3,input_connections:{input:{id:2,output_name:"out_file1"}},inputs:[],label:"retrieve numbers",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:840,top:20},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"b467476c-8691-4fd4-aea0-d783b14b997a",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:4,input_connections:{"split_parms|input":{id:3,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"split numbers to collection",name:"Split file",outputs:[{name:"list_output_tab",type:"input"}],position:{left:1120,top:20},post_job_actions:{HideDatasetActionlist_output_tab:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_tab"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "top": "0", "split_by": {"select_split_by": "row", "__current_case__": 1, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"b621baec-46f7-4dfe-b6fa-f8c44c2822f2",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"param_value_from_file",errors:null,id:5,input_connections:{input1:{id:4,output_name:"list_output_tab"}},inputs:[],label:"numbers to param",name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1400,top:29},post_job_actions:{},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"1aff7c8b-0554-4e98-962d-3d6b161fa133",when:null,workflow_outputs:[{label:"params_list",output_name:"integer_param",uuid:"e05e466c-4694-4d6e-90dc-ea4e1aa3ff58"}]}},tags:"",uuid:"fdbd7507-d26d-4f31-b4af-bfc2971237e2"},tool_id:null,type:"subworkflow",uuid:"e5607959-5b5e-4898-92ab-078c7cafb327",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.3+galaxy0",errors:null,id:5,input_connections:{"MCMC|nnorm":{id:4,output_name:"params_list"},"MCMC|xmax":{id:2,output_name:"output"},geneColName:{id:1,output_name:"output"},"input_counts|input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool baredSC 1d",name:"MCMC"},{description:"runtime parameter for tool baredSC 1d",name:"MCMC"},{description:"runtime parameter for tool baredSC 1d",name:"input_counts"}],label:"baredSC",name:"baredSC 1d",outputs:[{name:"qc_plots",type:"input"},{name:"other_outputs",type:"input"},{name:"output",type:"npz"},{name:"neff",type:"txt"},{name:"pdf",type:"tabular"},{name:"plot",type:"png"},{name:"logevidence",type:"txt"}],position:{left:867,top:114.5},post_job_actions:{HideDatasetActionlogevidence:{action_arguments:{},action_type:"HideDatasetAction",output_name:"logevidence"},HideDatasetActionother_outputs:{action_arguments:{},action_type:"HideDatasetAction",output_name:"other_outputs"},HideDatasetActionpdf:{action_arguments:{},action_type:"HideDatasetAction",output_name:"pdf"},HideDatasetActionplot:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.3+galaxy0",tool_shed_repository:{changeset_revision:"769d815e4b0d",name:"baredsc_1d",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"MCMC": {"xmin": "0.0", "xmax": {"__class__": "ConnectedValue"}, "nx": "100", "minScalex": "0.1", "scale": {"type": "Seurat", "__current_case__": 0, "targetSum": "10000.0"}, "seed": "1", "nnorm": {"__class__": "ConnectedValue"}, "nsampMCMC": "100000", "automaticRestart": {"set_minNeff": "yes", "__current_case__": 0, "minNeff": "200.0"}}, "advanced": {"osampx": "10", "osampxpdf": "5", "coviscale": "1.0", "nis": "1000", "burn": {"custom": "no", "__current_case__": 0}}, "filter": {"nb": "0", "__current_case__": 0}, "geneColName": {"__class__": "ConnectedValue"}, "input_counts": {"filetype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}, "plots": {"image_file_format": "png", "title": "", "removeFirstSamples": "-1", "nsampInPlot": "100000", "prettyBins": "-1"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3+galaxy0",type:"tool",uuid:"75379c38-7040-4651-b875-5ad7382de31d",when:null,workflow_outputs:[{label:"baredsc_qc_plots",output_name:"qc_plots",uuid:"269f21b9-0499-40bc-88d5-555ee46d166d"},{label:"baredsc_neff",output_name:"neff",uuid:"b2f23ac4-3634-4c1c-a17c-89a6fec675d8"},{label:"baredsc_numpy",output_name:"output",uuid:"f5339d63-a667-4cd2-879c-d35c633e3ffd"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.3+galaxy0",errors:null,id:6,input_connections:{"MCMC|outputs":{id:5,output_name:"output"},"MCMC|xmax":{id:2,output_name:"output"},geneColName:{id:1,output_name:"output"},"input_counts|input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Combine multiple 1D Models",name:"MCMC"},{description:"runtime parameter for tool Combine multiple 1D Models",name:"MCMC"},{description:"runtime parameter for tool Combine multiple 1D Models",name:"input_counts"}],label:"combine baredSC 1d",name:"Combine multiple 1D Models",outputs:[{name:"other_outputs",type:"input"},{name:"pdf",type:"tabular"},{name:"plot",type:"png"}],position:{left:1220,top:170.5},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.3+galaxy0",tool_shed_repository:{changeset_revision:"5b7c81b35b89",name:"baredsc_combine_1d",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"MCMC": {"outputs": {"__class__": "ConnectedValue"}, "xmin": "0.0", "xmax": {"__class__": "ConnectedValue"}, "nx": "100", "minScalex": "0.1", "scale": {"type": "Seurat", "__current_case__": 0, "targetSum": "10000.0"}, "seed": "1"}, "advanced": {"osampx": "10", "osampxpdf": "5", "coviscale": "1.0", "nis": "1000"}, "filter": {"nb": "0", "__current_case__": 0}, "geneColName": {"__class__": "ConnectedValue"}, "input_counts": {"filetype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}, "plots": {"image_file_format": "png", "title": "", "removeFirstSamples": "-1", "nsampInPlot": "100000", "prettyBins": "-1"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3+galaxy0",type:"tool",uuid:"752ba293-93e9-4769-85d0-ebc9c2c100b6",when:null,workflow_outputs:[{label:"combined_pdf",output_name:"pdf",uuid:"2aa68ed9-2ca6-4f31-be28-bcead2a78e72"},{label:"combined_plot",output_name:"plot",uuid:"f1cd8147-a286-43a7-bb82-9ee5f881e8fa"},{label:"combined_other_outputs",output_name:"other_outputs",uuid:"b8da3ab7-2fed-445e-a3a8-97ddcfa68b8e"}]}},tags:[],uuid:"1ea0b92d-d863-435a-96ac-1e547fdbc994",version:7},readme:`# BaredSC Workflows +- Creation of workflow for segmentation and counting of cell nuclei in fluorescence microscopy images.`,diagrams:`# Workflow diagrams + +## Segmentation and counting of cell nuclei in fluorescence microscopy images + +\`\`\`mermaid +graph LR +0["ℹ️ input_image"]@{ shape: doc } +1["Filter 2-D image"]@{ shape: process } +0 --> 1 +2["Perform histogram equalization"]@{ shape: process } +0 --> 2 +3["Threshold image"]@{ shape: process } +1 --> 3 +4["Convert image format"]@{ shape: process } +2 --> 4 +5["Convert binary image to label map"]@{ shape: process } +3 --> 5 +6["Overlay images"]@{ shape: process } +4 --> 6 +5 --> 6 +7["Count objects in label map"]@{ shape: process } +5 --> 7 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/fluorescence-nuclei-segmentation-and-counting/main",tests:[{doc:"Test outline for segmentation-and-counting.ga",job:{input_image:{class:"File",path:"test-data/input_image.tiff",filetype:"tiff"}},outputs:{overlay_image:{path:"test-data/overlay_image.png",compare:"image_diff"},objects_count:{path:"test-data/objects_count.tabular",compare:"diff",lines_diff:0},label_image:{path:"test-data/label_image.tiff",compare:"image_diff",metric:"iou"}}}]}],path:"./workflows/imaging/fluorescence-nuclei-segmentation-and-counting"},{version:1.2,workflows:[{name:"baredSC-1d-logNorm",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/baredSC-1d-logNorm.ga",testParameterFiles:["/baredSC-1d-logNorm-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"Run baredSC in 1 dimension in logNorm for 1 to N gaussians and combine models.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.5",name:"baredSC_1d_logNorm",steps:{0:{annotation:"The dataset must have a first row with row names. Among them should be 'nCount_RNA' and the gene you want to get PDF of.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"The dataset must have a first row with row names. Among them should be 'nCount_RNA' and the gene you want to get PDF of.",name:"Tabular with raw expression values"}],label:"Tabular with raw expression values",name:"Input dataset",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"247797f8-537d-434c-b7f0-b5212d6a6139",when:null,workflow_outputs:[]},1:{annotation:"Must be included in the first row of the tabular",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Must be included in the first row of the tabular",name:"Gene name"}],label:"Gene name",name:"Input parameter",outputs:[],position:{left:51,top:95},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8486d61d-03ce-44df-a74c-0aa6a5b0e0b7",when:null,workflow_outputs:[]},2:{annotation:"Maximum value to explore in logNorm",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Maximum value to explore in logNorm",name:"Maximum value in logNorm"}],label:"Maximum value in logNorm",name:"Input parameter",outputs:[],position:{left:97,top:176.5},tool_id:null,tool_state:'{"parameter_type": "float", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a54a81dc-8b4c-4ed3-8d4e-0748755873e8",when:null,workflow_outputs:[]},3:{annotation:"Usually 4 is enough",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Usually 4 is enough",name:"Maximum number of Gaussians to study"}],label:"Maximum number of Gaussians to study",name:"Input parameter",outputs:[],position:{left:268,top:291},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"b7482c04-93ff-4f34-acbd-9c46d1f067cd",when:null,workflow_outputs:[]},4:{annotation:"",id:4,input_connections:{"Maximum number in param output":{id:3,input_subworkflow_step_id:0,output_name:"output"}},inputs:[],label:null,name:"generate_param_list_one_to_number",outputs:[],position:{left:547,top:231.5},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"generate_param_list_one_to_number",steps:{0:{annotation:"Maximum number in param output",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Maximum number in param output",name:"Maximum number in param output"}],label:"Maximum number in param output",name:"Input parameter",outputs:[],position:{left:0,top:36},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"655f8763-6f41-401c-a7c2-cbc0926222c0",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"996f5ca8-629e-4887-9bc0-2d719b790868"}]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:1,input_connections:{"token_set_0|repeat_select|times":{id:0,output_name:"output"}},inputs:[],label:"create first tabular with good number of rows.",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:280,top:0},post_job_actions:{ChangeDatatypeActionoutfile:{action_arguments:{newtype:"tabular"},action_type:"ChangeDatatypeAction",output_name:"outfile"},HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"fbf99087e067",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": "whatever", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"c96eeaba-7b46-478f-bc6d-ac3d64f72523",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"addValue",errors:null,id:2,input_connections:{input:{id:1,output_name:"outfile"}},inputs:[],label:"add column with numbers starting at 1",name:"Add column",outputs:[{name:"out_file1",type:"input"}],position:{left:560,top:20},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"addValue",tool_state:'{"exp": "1", "input": {"__class__": "ConnectedValue"}, "iterate": "yes", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"20631933-3793-45f0-9fb5-6f3d9463457b",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"Cut1",errors:null,id:3,input_connections:{input:{id:2,output_name:"out_file1"}},inputs:[],label:"retrieve numbers",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:840,top:20},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"b467476c-8691-4fd4-aea0-d783b14b997a",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:4,input_connections:{"split_parms|input":{id:3,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"split numbers to collection",name:"Split file",outputs:[{name:"list_output_tab",type:"input"}],position:{left:1120,top:20},post_job_actions:{HideDatasetActionlist_output_tab:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_tab"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "top": "0", "split_by": {"select_split_by": "row", "__current_case__": 1, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"b621baec-46f7-4dfe-b6fa-f8c44c2822f2",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"param_value_from_file",errors:null,id:5,input_connections:{input1:{id:4,output_name:"list_output_tab"}},inputs:[],label:"numbers to param",name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1400,top:29},post_job_actions:{},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"1aff7c8b-0554-4e98-962d-3d6b161fa133",when:null,workflow_outputs:[{label:"params_list",output_name:"integer_param",uuid:"e05e466c-4694-4d6e-90dc-ea4e1aa3ff58"}]}},tags:"",uuid:"fdbd7507-d26d-4f31-b4af-bfc2971237e2"},tool_id:null,type:"subworkflow",uuid:"e5607959-5b5e-4898-92ab-078c7cafb327",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.3+galaxy0",errors:null,id:5,input_connections:{"MCMC|nnorm":{id:4,output_name:"params_list"},"MCMC|xmax":{id:2,output_name:"output"},geneColName:{id:1,output_name:"output"},"input_counts|input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool baredSC 1d",name:"MCMC"},{description:"runtime parameter for tool baredSC 1d",name:"MCMC"},{description:"runtime parameter for tool baredSC 1d",name:"input_counts"}],label:"baredSC",name:"baredSC 1d",outputs:[{name:"qc_plots",type:"input"},{name:"other_outputs",type:"input"},{name:"output",type:"npz"},{name:"neff",type:"txt"},{name:"pdf",type:"tabular"},{name:"plot",type:"png"},{name:"logevidence",type:"txt"}],position:{left:867,top:114.5},post_job_actions:{HideDatasetActionlogevidence:{action_arguments:{},action_type:"HideDatasetAction",output_name:"logevidence"},HideDatasetActionother_outputs:{action_arguments:{},action_type:"HideDatasetAction",output_name:"other_outputs"},HideDatasetActionpdf:{action_arguments:{},action_type:"HideDatasetAction",output_name:"pdf"},HideDatasetActionplot:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.3+galaxy0",tool_shed_repository:{changeset_revision:"769d815e4b0d",name:"baredsc_1d",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"MCMC": {"xmin": "0.0", "xmax": {"__class__": "ConnectedValue"}, "nx": "100", "minScalex": "0.1", "scale": {"type": "Seurat", "__current_case__": 0, "targetSum": "10000.0"}, "seed": "1", "nnorm": {"__class__": "ConnectedValue"}, "nsampMCMC": "100000", "automaticRestart": {"set_minNeff": "yes", "__current_case__": 0, "minNeff": "200.0"}}, "advanced": {"osampx": "10", "osampxpdf": "5", "coviscale": "1.0", "nis": "1000", "burn": {"custom": "no", "__current_case__": 0}}, "filter": {"nb": "0", "__current_case__": 0}, "geneColName": {"__class__": "ConnectedValue"}, "input_counts": {"filetype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}, "plots": {"image_file_format": "png", "title": "", "removeFirstSamples": "-1", "nsampInPlot": "100000", "prettyBins": "-1"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3+galaxy0",type:"tool",uuid:"75379c38-7040-4651-b875-5ad7382de31d",when:null,workflow_outputs:[{label:"baredsc_qc_plots",output_name:"qc_plots",uuid:"269f21b9-0499-40bc-88d5-555ee46d166d"},{label:"baredsc_neff",output_name:"neff",uuid:"b2f23ac4-3634-4c1c-a17c-89a6fec675d8"},{label:"baredsc_numpy",output_name:"output",uuid:"f5339d63-a667-4cd2-879c-d35c633e3ffd"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.3+galaxy0",errors:null,id:6,input_connections:{"MCMC|outputs":{id:5,output_name:"output"},"MCMC|xmax":{id:2,output_name:"output"},geneColName:{id:1,output_name:"output"},"input_counts|input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Combine multiple 1D Models",name:"MCMC"},{description:"runtime parameter for tool Combine multiple 1D Models",name:"MCMC"},{description:"runtime parameter for tool Combine multiple 1D Models",name:"input_counts"}],label:"combine baredSC 1d",name:"Combine multiple 1D Models",outputs:[{name:"other_outputs",type:"input"},{name:"pdf",type:"tabular"},{name:"plot",type:"png"}],position:{left:1220,top:170.5},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.3+galaxy0",tool_shed_repository:{changeset_revision:"5b7c81b35b89",name:"baredsc_combine_1d",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"MCMC": {"outputs": {"__class__": "ConnectedValue"}, "xmin": "0.0", "xmax": {"__class__": "ConnectedValue"}, "nx": "100", "minScalex": "0.1", "scale": {"type": "Seurat", "__current_case__": 0, "targetSum": "10000.0"}, "seed": "1"}, "advanced": {"osampx": "10", "osampxpdf": "5", "coviscale": "1.0", "nis": "1000"}, "filter": {"nb": "0", "__current_case__": 0}, "geneColName": {"__class__": "ConnectedValue"}, "input_counts": {"filetype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}, "plots": {"image_file_format": "png", "title": "", "removeFirstSamples": "-1", "nsampInPlot": "100000", "prettyBins": "-1"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3+galaxy0",type:"tool",uuid:"752ba293-93e9-4769-85d0-ebc9c2c100b6",when:null,workflow_outputs:[{label:"combined_pdf",output_name:"pdf",uuid:"2aa68ed9-2ca6-4f31-be28-bcead2a78e72"},{label:"combined_plot",output_name:"plot",uuid:"f1cd8147-a286-43a7-bb82-9ee5f881e8fa"},{label:"combined_other_outputs",output_name:"other_outputs",uuid:"b8da3ab7-2fed-445e-a3a8-97ddcfa68b8e"}]}},tags:[],uuid:"1ea0b92d-d863-435a-96ac-1e547fdbc994",version:7},readme:`# BaredSC Workflows These workflows allow to run a baredSC analysis from a table with counts in a single click. It uses models from 1 to N Gaussians and combine them. It uses the logNorm scale, 100 bins for 1 dimension and 25 bins on each axis in 2 dimensions. @@ -1778,7 +3303,47 @@ For the 2D: - The workflow will generate paramater values from 1 to the maximum number of Gaussians to study. - baredSC_1d or baredSC_2d is run for each of these number of Gaussians - All models are combined into a single result. -`,changelog:"# Changelog\n\n## [0.5] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.3+galaxy0`\n\n## [0.3] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/1.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0`\n\n## [0.2] 2023-12-01\n\n### Add 'compute p-value' parameter in 2d\n\n### Semi-automatic update\n- all baredsc tools were updated from `1.1.2+galaxy0` to `1.1.2+galaxy1`\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1`\n\n## [0.1] 2023-10-03\n\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/baredsc/baredSC-1d-logNorm",tests:[{doc:"Test outline for baredSC_1d",job:{"Tabular with raw expression values":{class:"File",path:"test-data/nih3t3_generated_2d_2.txt",filetype:"tabular"},"Gene name":"0.5_0_0_0.5_x","Maximum value in logNorm":"2.5","Maximum number of Gaussians to study":"4"},outputs:{baredsc_numpy:{element_tests:{"split_file_000000.tabular":{asserts:{has_size:{value:1257919,delta:1e5}}},"split_file_000001.tabular":{asserts:{has_size:{value:1601519,delta:1e5}}},"split_file_000002.tabular":{asserts:{has_size:{value:2180423,delta:2e5}}},"split_file_000003.tabular":{asserts:{has_size:{value:28234812,delta:2e6}}}}},baredsc_qc_plots:{element_tests:{"split_file_000000.tabular":{element_tests:{convergence:{asserts:{has_size:{value:20304,delta:1e3}}},corner:{asserts:{has_size:{value:63603,delta:6e3}}},p:{asserts:{has_size:{value:45302,delta:4e3}}}}},"split_file_000001.tabular":{element_tests:{convergence:{asserts:{has_size:{value:27704,delta:2e3}}},corner:{asserts:{has_size:{value:387365,delta:3e4}}},p:{asserts:{has_size:{value:97623,delta:9e4}}}}},"split_file_000002.tabular":{element_tests:{convergence:{asserts:{has_size:{value:32463,delta:3e3}}},corner:{asserts:{has_size:{value:1103840,delta:1e5}}},p:{asserts:{has_size:{value:159797,delta:1e4}}}}},"split_file_000003.tabular":{element_tests:{convergence:{asserts:{has_size:{value:31343,delta:3e3}}},corner:{asserts:{has_size:{value:2139411,delta:2e5}}},p:{asserts:{has_size:{value:175774,delta:1e4}}}}}}},baredsc_neff:{element_tests:{"split_file_000000.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"80[0-9][0-9].[0-9]*"}}},"split_file_000001.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"13[0-9][0-9].[0-9]*"}}},"split_file_000002.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"2[0-9][0-9].[0-9]*"}}},"split_file_000003.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"[7-9][0-9][0-9].[0-9]*"}}}}},combined_other_outputs:{element_tests:{individuals:{asserts:{has_size:{value:108407,delta:1e4}}},means:{asserts:{has_n_lines:{n:99998,delta:4e3},has_line_matching:{expression:"6.[0-9]*e-01"}}},posterior_andco:{asserts:{has_size:{value:197980,delta:1e4}}},posterior_individuals:{asserts:{has_size:{value:105262,delta:1e4}}},posterior_per_cell:{asserts:{has_n_lines:{n:2362},has_line_matching:{expression:"mu sd"}}},with_posterior:{asserts:{has_size:{value:234303,delta:2e4}}}}},combined_pdf:{asserts:{has_line:{line:"x low mean high median"},has_text:{text:"0.0125 "}}},combined_plot:{path:"test-data/combined_1d_plot.png",compare:"sim_size",delta_frac:.1}}}]},{name:"baredSC-2d-logNorm",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/baredSC-2d-logNorm.ga",testParameterFiles:["/baredSC-2d-logNorm-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"Run baredSC in 2 dimensions in logNorm for 1 to N gaussians and combine models.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.5",name:"baredSC_2d_logNorm",steps:{0:{annotation:"The dataset must have a first row with row names. Among them should be 'nCount_RNA' and the gene you want to get PDF of.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"The dataset must have a first row with row names. Among them should be 'nCount_RNA' and the gene you want to get PDF of.",name:"Tabular with raw expression values"}],label:"Tabular with raw expression values",name:"Input dataset",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"247797f8-537d-434c-b7f0-b5212d6a6139",when:null,workflow_outputs:[]},1:{annotation:"Must be included in the first row of the tabular",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Must be included in the first row of the tabular",name:"Gene name for x axis"}],label:"Gene name for x axis",name:"Input parameter",outputs:[],position:{left:28,top:91},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8486d61d-03ce-44df-a74c-0aa6a5b0e0b7",when:null,workflow_outputs:[]},2:{annotation:"Maximum value to explore in logNorm in x-axis (usually between 2 and 4)",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Maximum value to explore in logNorm in x-axis (usually between 2 and 4)",name:"maximum value in logNorm for x-axis"}],label:"maximum value in logNorm for x-axis",name:"Input parameter",outputs:[],position:{left:78,top:187.5},tool_id:null,tool_state:'{"parameter_type": "float", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a54a81dc-8b4c-4ed3-8d4e-0748755873e8",when:null,workflow_outputs:[]},3:{annotation:"Must be included in the first row of the tabular",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Must be included in the first row of the tabular",name:"Gene name for y axis"}],label:"Gene name for y axis",name:"Input parameter",outputs:[],position:{left:152,top:297.5},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"73f322d4-ac8e-47f9-930b-e38600ac44f8",when:null,workflow_outputs:[]},4:{annotation:"Maximum value to explore in logNorm in y-axis (usually between 2 and 4)",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Maximum value to explore in logNorm in y-axis (usually between 2 and 4)",name:"maximum value in logNorm for y-axis"}],label:"maximum value in logNorm for y-axis",name:"Input parameter",outputs:[],position:{left:254,top:390.5},tool_id:null,tool_state:'{"parameter_type": "float", "optional": false}',tool_version:null,type:"parameter_input",uuid:"35403c8f-7cb4-40bf-8d6c-a259627daf01",when:null,workflow_outputs:[]},5:{annotation:"Usually 4 is enough",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Usually 4 is enough",name:"Maximum number of Gaussians to study"}],label:"Maximum number of Gaussians to study",name:"Input parameter",outputs:[],position:{left:320,top:481},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"b7482c04-93ff-4f34-acbd-9c46d1f067cd",when:null,workflow_outputs:[]},6:{annotation:"Whether you want to get a p-value. As a consequence, less samples than available will be used for plots.",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"Whether you want to get a p-value. As a consequence, less samples than available will be used for plots.",name:"compute p-value"}],label:"compute p-value",name:"Input parameter",outputs:[],position:{left:378,top:578.5},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"4b7990a3-4fff-4c74-a9ee-0a8716e33866",when:null,workflow_outputs:[]},7:{annotation:"",id:7,input_connections:{"Maximum number in param output":{id:5,input_subworkflow_step_id:0,output_name:"output"}},inputs:[],label:null,name:"generate_param_list_one_to_number",outputs:[],position:{left:677,top:346.5},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"generate_param_list_one_to_number",steps:{0:{annotation:"Maximum number in param output",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Maximum number in param output",name:"Maximum number in param output"}],label:"Maximum number in param output",name:"Input parameter",outputs:[],position:{left:0,top:36},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"655f8763-6f41-401c-a7c2-cbc0926222c0",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"996f5ca8-629e-4887-9bc0-2d719b790868"}]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:1,input_connections:{"token_set_0|repeat_select|times":{id:0,output_name:"output"}},inputs:[],label:"create first tabular with good number of rows.",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:280,top:0},post_job_actions:{ChangeDatatypeActionoutfile:{action_arguments:{newtype:"tabular"},action_type:"ChangeDatatypeAction",output_name:"outfile"},HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"fbf99087e067",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": "whatever", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"c96eeaba-7b46-478f-bc6d-ac3d64f72523",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"addValue",errors:null,id:2,input_connections:{input:{id:1,output_name:"outfile"}},inputs:[],label:"add column with numbers starting at 1",name:"Add column",outputs:[{name:"out_file1",type:"input"}],position:{left:560,top:20},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"addValue",tool_state:'{"exp": "1", "input": {"__class__": "ConnectedValue"}, "iterate": "yes", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"20631933-3793-45f0-9fb5-6f3d9463457b",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"Cut1",errors:null,id:3,input_connections:{input:{id:2,output_name:"out_file1"}},inputs:[],label:"retrieve numbers",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:840,top:20},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"b467476c-8691-4fd4-aea0-d783b14b997a",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:4,input_connections:{"split_parms|input":{id:3,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"split numbers to collection",name:"Split file",outputs:[{name:"list_output_tab",type:"input"}],position:{left:1120,top:20},post_job_actions:{HideDatasetActionlist_output_tab:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_tab"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "top": "0", "split_by": {"select_split_by": "row", "__current_case__": 1, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"b621baec-46f7-4dfe-b6fa-f8c44c2822f2",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"param_value_from_file",errors:null,id:5,input_connections:{input1:{id:4,output_name:"list_output_tab"}},inputs:[],label:"numbers to param",name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1400,top:29},post_job_actions:{},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"1aff7c8b-0554-4e98-962d-3d6b161fa133",when:null,workflow_outputs:[{label:"params_list",output_name:"integer_param",uuid:"e05e466c-4694-4d6e-90dc-ea4e1aa3ff58"}]}},tags:"",uuid:"c570d5c7-bf58-48f5-9baa-2354aefb06a1"},tool_id:null,type:"subworkflow",uuid:"e5607959-5b5e-4898-92ab-078c7cafb327",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.3+galaxy0",errors:null,id:8,input_connections:{"MCMC|nnorm":{id:7,output_name:"params_list"},"MCMC|xmax":{id:2,output_name:"output"},"MCMC|ymax":{id:4,output_name:"output"},geneXColName:{id:1,output_name:"output"},geneYColName:{id:3,output_name:"output"},"input_counts|input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool baredSC 2d",name:"MCMC"},{description:"runtime parameter for tool baredSC 2d",name:"MCMC"},{description:"runtime parameter for tool baredSC 2d",name:"MCMC"},{description:"runtime parameter for tool baredSC 2d",name:"input_counts"}],label:null,name:"baredSC 2d",outputs:[{name:"qc_plots",type:"input"},{name:"other_outputs",type:"input"},{name:"output",type:"npz"},{name:"neff",type:"txt"},{name:"pdf2d",type:"tabular"},{name:"pdf2d_flat",type:"tabular"},{name:"plot",type:"png"},{name:"logevidence",type:"txt"}],position:{left:923,top:35.5},post_job_actions:{HideDatasetActionlogevidence:{action_arguments:{},action_type:"HideDatasetAction",output_name:"logevidence"},HideDatasetActionother_outputs:{action_arguments:{},action_type:"HideDatasetAction",output_name:"other_outputs"},HideDatasetActionpdf2d:{action_arguments:{},action_type:"HideDatasetAction",output_name:"pdf2d"},HideDatasetActionpdf2d_flat:{action_arguments:{},action_type:"HideDatasetAction",output_name:"pdf2d_flat"},HideDatasetActionplot:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.3+galaxy0",tool_shed_repository:{changeset_revision:"a90f8efe08b4",name:"baredsc_2d",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"MCMC": {"xmin": "0.0", "xmax": {"__class__": "ConnectedValue"}, "nx": "25", "minScalex": "0.1", "ymin": "0.0", "ymax": {"__class__": "ConnectedValue"}, "ny": "25", "minScaley": "0.1", "scale": {"type": "Seurat", "__current_case__": 0, "targetSum": "10000.0"}, "seed": "1", "nnorm": {"__class__": "ConnectedValue"}, "nsampMCMC": "100000", "automaticRestart": {"set_minNeff": "yes", "__current_case__": 0, "minNeff": "200.0"}}, "advanced": {"osampx": "10", "osampxpdf": "4", "osampy": "10", "osampypdf": "4", "coviscale": "1.0", "nis": "1000", "burn": {"custom": "no", "__current_case__": 0}, "scalePrior": "0.3"}, "filter": {"nb": "0", "__current_case__": 0}, "geneXColName": {"__class__": "ConnectedValue"}, "geneYColName": {"__class__": "ConnectedValue"}, "input_counts": {"filetype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}, "plots": {"image_file_format": "png", "title": "", "removeFirstSamples": "-1", "nsampInPlot": "100000", "prettyBinsx": "-1", "prettyBinsy": "-1", "log1pColorScale": false, "splity": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3+galaxy0",type:"tool",uuid:"3fb4de69-9b40-4243-92fb-75553ff8ef09",when:null,workflow_outputs:[{label:"baredsc_qc_plots",output_name:"qc_plots",uuid:"005ef683-a231-4b3f-b8ef-125a1ffd2d91"},{label:"baredsc_neff",output_name:"neff",uuid:"873dbd6d-8345-426b-8c90-809b478c9e24"},{label:"baredsc_numpy",output_name:"output",uuid:"2f026269-bd89-4c20-a0df-bd1387f549d4"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.3+galaxy0",errors:null,id:9,input_connections:{"MCMC|outputs":{id:8,output_name:"output"},"MCMC|xmax":{id:2,output_name:"output"},"MCMC|ymax":{id:4,output_name:"output"},"advanced|getPVal":{id:6,output_name:"output"},geneXColName:{id:1,output_name:"output"},geneYColName:{id:3,output_name:"output"},"input_counts|input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Combine multiple 2D Models",name:"MCMC"},{description:"runtime parameter for tool Combine multiple 2D Models",name:"MCMC"},{description:"runtime parameter for tool Combine multiple 2D Models",name:"MCMC"},{description:"runtime parameter for tool Combine multiple 2D Models",name:"advanced"},{description:"runtime parameter for tool Combine multiple 2D Models",name:"input_counts"}],label:null,name:"Combine multiple 2D Models",outputs:[{name:"other_outputs",type:"input"},{name:"pdf2d",type:"tabular"},{name:"pdf2d_flat",type:"tabular"},{name:"plot",type:"png"}],position:{left:1240,top:199.5},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.3+galaxy0",tool_shed_repository:{changeset_revision:"02fc39c8610d",name:"baredsc_combine_2d",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"MCMC": {"outputs": {"__class__": "ConnectedValue"}, "xmin": "0.0", "xmax": {"__class__": "ConnectedValue"}, "nx": "25", "minScalex": "0.1", "ymin": "0.0", "ymax": {"__class__": "ConnectedValue"}, "ny": "25", "minScaley": "0.1", "scale": {"type": "Seurat", "__current_case__": 0, "targetSum": "10000.0"}, "seed": "1"}, "advanced": {"getPVal": {"__class__": "ConnectedValue"}, "osampx": "10", "osampxpdf": "4", "osampy": "10", "osampypdf": "4", "coviscale": "1.0", "nis": "1000", "scalePrior": "0.3"}, "filter": {"nb": "0", "__current_case__": 0}, "geneXColName": {"__class__": "ConnectedValue"}, "geneYColName": {"__class__": "ConnectedValue"}, "input_counts": {"filetype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}, "plots": {"image_file_format": "png", "title": "", "removeFirstSamples": "-1", "nsampInPlot": "100000", "prettyBinsx": "-1", "prettyBinsy": "-1", "log1pColorScale": false, "splity": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3+galaxy0",type:"tool",uuid:"e4eebae4-0952-4d21-8bb6-d16d1b5397b3",when:null,workflow_outputs:[{label:"combined_pdf2d",output_name:"pdf2d",uuid:"0fff7566-a7d9-4dac-b77b-416e6a2f56ef"},{label:"combined_pdf2d_flat",output_name:"pdf2d_flat",uuid:"79eb786a-7465-4f24-aafa-d2520028527d"},{label:"combined_plot",output_name:"plot",uuid:"db367996-7c6c-4cd3-8692-c0483fbc671c"},{label:"combined_other_outputs",output_name:"other_outputs",uuid:"eca7f33c-3a1d-41d7-a56a-925167baf364"}]}},tags:[],uuid:"1936816b-958a-4140-b839-58be4cdae1a5",version:1},readme:`# BaredSC Workflows +`,changelog:"# Changelog\n\n## [0.5] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.3+galaxy0`\n\n## [0.3] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/1.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0`\n\n## [0.2] 2023-12-01\n\n### Add 'compute p-value' parameter in 2d\n\n### Semi-automatic update\n- all baredsc tools were updated from `1.1.2+galaxy0` to `1.1.2+galaxy1`\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1`\n\n## [0.1] 2023-10-03\n\nFirst release.\n",diagrams:`# Workflow diagrams + +## baredSC_1d_logNorm + +\`\`\`mermaid +graph LR +0["ℹ️ Tabular with raw expression values"]@{ shape: doc } +1["ℹ️ Gene name"]@{ shape: lean-l } +2["ℹ️ Maximum value in logNorm"]@{ shape: lean-l } +3["ℹ️ Maximum number of Gaussians to study"]@{ shape: lean-l } +4["🛠️ generate_param_list_one_to_number"]@{ shape: subprocess } +3 --> 4 +5["baredSC"]@{ shape: process } +4 --> 5 +2 --> 5 +1 --> 5 +0 --> 5 +6["combine baredSC 1d"]@{ shape: process } +5 --> 6 +2 --> 6 +1 --> 6 +0 --> 6 +\`\`\` + +## generate_param_list_one_to_number + +\`\`\`mermaid +graph LR +0["ℹ️ Maximum number in param output"]@{ shape: lean-l } +1["create first tabular with good number of rows."]@{ shape: process } +0 --> 1 +2["add column with numbers starting at 1"]@{ shape: process } +1 --> 2 +3["retrieve numbers"]@{ shape: process } +2 --> 3 +4["split numbers to collection"]@{ shape: process } +3 --> 4 +5["numbers to param"]@{ shape: process } +4 --> 5 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/baredsc/baredSC-1d-logNorm",tests:[{doc:"Test outline for baredSC_1d",job:{"Tabular with raw expression values":{class:"File",path:"test-data/nih3t3_generated_2d_2.txt",filetype:"tabular"},"Gene name":"0.5_0_0_0.5_x","Maximum value in logNorm":"2.5","Maximum number of Gaussians to study":"4"},outputs:{baredsc_numpy:{element_tests:{"split_file_000000.tabular":{asserts:{has_size:{value:1257919,delta:1e5}}},"split_file_000001.tabular":{asserts:{has_size:{value:1601519,delta:1e5}}},"split_file_000002.tabular":{asserts:{has_size:{value:2180423,delta:2e5}}},"split_file_000003.tabular":{asserts:{has_size:{value:28234812,delta:2e6}}}}},baredsc_qc_plots:{element_tests:{"split_file_000000.tabular":{element_tests:{convergence:{asserts:{has_size:{value:20304,delta:1e3}}},corner:{asserts:{has_size:{value:63603,delta:6e3}}},p:{asserts:{has_size:{value:45302,delta:4e3}}}}},"split_file_000001.tabular":{element_tests:{convergence:{asserts:{has_size:{value:27704,delta:2e3}}},corner:{asserts:{has_size:{value:387365,delta:3e4}}},p:{asserts:{has_size:{value:97623,delta:9e4}}}}},"split_file_000002.tabular":{element_tests:{convergence:{asserts:{has_size:{value:32463,delta:3e3}}},corner:{asserts:{has_size:{value:1103840,delta:1e5}}},p:{asserts:{has_size:{value:159797,delta:1e4}}}}},"split_file_000003.tabular":{element_tests:{convergence:{asserts:{has_size:{value:31343,delta:3e3}}},corner:{asserts:{has_size:{value:2139411,delta:2e5}}},p:{asserts:{has_size:{value:175774,delta:1e4}}}}}}},baredsc_neff:{element_tests:{"split_file_000000.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"80[0-9][0-9].[0-9]*"}}},"split_file_000001.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"13[0-9][0-9].[0-9]*"}}},"split_file_000002.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"2[0-9][0-9].[0-9]*"}}},"split_file_000003.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"[7-9][0-9][0-9].[0-9]*"}}}}},combined_other_outputs:{element_tests:{individuals:{asserts:{has_size:{value:108407,delta:1e4}}},means:{asserts:{has_n_lines:{n:99998,delta:4e3},has_line_matching:{expression:"6.[0-9]*e-01"}}},posterior_andco:{asserts:{has_size:{value:197980,delta:1e4}}},posterior_individuals:{asserts:{has_size:{value:105262,delta:1e4}}},posterior_per_cell:{asserts:{has_n_lines:{n:2362},has_line_matching:{expression:"mu sd"}}},with_posterior:{asserts:{has_size:{value:234303,delta:2e4}}}}},combined_pdf:{asserts:{has_line:{line:"x low mean high median"},has_text:{text:"0.0125 "}}},combined_plot:{path:"test-data/combined_1d_plot.png",compare:"sim_size",delta_frac:.1}}}]},{name:"baredSC-2d-logNorm",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/baredSC-2d-logNorm.ga",testParameterFiles:["/baredSC-2d-logNorm-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"Run baredSC in 2 dimensions in logNorm for 1 to N gaussians and combine models.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.5",name:"baredSC_2d_logNorm",steps:{0:{annotation:"The dataset must have a first row with row names. Among them should be 'nCount_RNA' and the gene you want to get PDF of.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"The dataset must have a first row with row names. Among them should be 'nCount_RNA' and the gene you want to get PDF of.",name:"Tabular with raw expression values"}],label:"Tabular with raw expression values",name:"Input dataset",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"247797f8-537d-434c-b7f0-b5212d6a6139",when:null,workflow_outputs:[]},1:{annotation:"Must be included in the first row of the tabular",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Must be included in the first row of the tabular",name:"Gene name for x axis"}],label:"Gene name for x axis",name:"Input parameter",outputs:[],position:{left:28,top:91},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8486d61d-03ce-44df-a74c-0aa6a5b0e0b7",when:null,workflow_outputs:[]},2:{annotation:"Maximum value to explore in logNorm in x-axis (usually between 2 and 4)",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Maximum value to explore in logNorm in x-axis (usually between 2 and 4)",name:"maximum value in logNorm for x-axis"}],label:"maximum value in logNorm for x-axis",name:"Input parameter",outputs:[],position:{left:78,top:187.5},tool_id:null,tool_state:'{"parameter_type": "float", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a54a81dc-8b4c-4ed3-8d4e-0748755873e8",when:null,workflow_outputs:[]},3:{annotation:"Must be included in the first row of the tabular",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Must be included in the first row of the tabular",name:"Gene name for y axis"}],label:"Gene name for y axis",name:"Input parameter",outputs:[],position:{left:152,top:297.5},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"73f322d4-ac8e-47f9-930b-e38600ac44f8",when:null,workflow_outputs:[]},4:{annotation:"Maximum value to explore in logNorm in y-axis (usually between 2 and 4)",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Maximum value to explore in logNorm in y-axis (usually between 2 and 4)",name:"maximum value in logNorm for y-axis"}],label:"maximum value in logNorm for y-axis",name:"Input parameter",outputs:[],position:{left:254,top:390.5},tool_id:null,tool_state:'{"parameter_type": "float", "optional": false}',tool_version:null,type:"parameter_input",uuid:"35403c8f-7cb4-40bf-8d6c-a259627daf01",when:null,workflow_outputs:[]},5:{annotation:"Usually 4 is enough",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Usually 4 is enough",name:"Maximum number of Gaussians to study"}],label:"Maximum number of Gaussians to study",name:"Input parameter",outputs:[],position:{left:320,top:481},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"b7482c04-93ff-4f34-acbd-9c46d1f067cd",when:null,workflow_outputs:[]},6:{annotation:"Whether you want to get a p-value. As a consequence, less samples than available will be used for plots.",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"Whether you want to get a p-value. As a consequence, less samples than available will be used for plots.",name:"compute p-value"}],label:"compute p-value",name:"Input parameter",outputs:[],position:{left:378,top:578.5},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"4b7990a3-4fff-4c74-a9ee-0a8716e33866",when:null,workflow_outputs:[]},7:{annotation:"",id:7,input_connections:{"Maximum number in param output":{id:5,input_subworkflow_step_id:0,output_name:"output"}},inputs:[],label:null,name:"generate_param_list_one_to_number",outputs:[],position:{left:677,top:346.5},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"generate_param_list_one_to_number",steps:{0:{annotation:"Maximum number in param output",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Maximum number in param output",name:"Maximum number in param output"}],label:"Maximum number in param output",name:"Input parameter",outputs:[],position:{left:0,top:36},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"655f8763-6f41-401c-a7c2-cbc0926222c0",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"996f5ca8-629e-4887-9bc0-2d719b790868"}]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:1,input_connections:{"token_set_0|repeat_select|times":{id:0,output_name:"output"}},inputs:[],label:"create first tabular with good number of rows.",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:280,top:0},post_job_actions:{ChangeDatatypeActionoutfile:{action_arguments:{newtype:"tabular"},action_type:"ChangeDatatypeAction",output_name:"outfile"},HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"fbf99087e067",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": "whatever", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"c96eeaba-7b46-478f-bc6d-ac3d64f72523",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"addValue",errors:null,id:2,input_connections:{input:{id:1,output_name:"outfile"}},inputs:[],label:"add column with numbers starting at 1",name:"Add column",outputs:[{name:"out_file1",type:"input"}],position:{left:560,top:20},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"addValue",tool_state:'{"exp": "1", "input": {"__class__": "ConnectedValue"}, "iterate": "yes", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"20631933-3793-45f0-9fb5-6f3d9463457b",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"Cut1",errors:null,id:3,input_connections:{input:{id:2,output_name:"out_file1"}},inputs:[],label:"retrieve numbers",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:840,top:20},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"b467476c-8691-4fd4-aea0-d783b14b997a",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:4,input_connections:{"split_parms|input":{id:3,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"split numbers to collection",name:"Split file",outputs:[{name:"list_output_tab",type:"input"}],position:{left:1120,top:20},post_job_actions:{HideDatasetActionlist_output_tab:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_tab"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "top": "0", "split_by": {"select_split_by": "row", "__current_case__": 1, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"b621baec-46f7-4dfe-b6fa-f8c44c2822f2",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"param_value_from_file",errors:null,id:5,input_connections:{input1:{id:4,output_name:"list_output_tab"}},inputs:[],label:"numbers to param",name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1400,top:29},post_job_actions:{},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"1aff7c8b-0554-4e98-962d-3d6b161fa133",when:null,workflow_outputs:[{label:"params_list",output_name:"integer_param",uuid:"e05e466c-4694-4d6e-90dc-ea4e1aa3ff58"}]}},tags:"",uuid:"c570d5c7-bf58-48f5-9baa-2354aefb06a1"},tool_id:null,type:"subworkflow",uuid:"e5607959-5b5e-4898-92ab-078c7cafb327",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.3+galaxy0",errors:null,id:8,input_connections:{"MCMC|nnorm":{id:7,output_name:"params_list"},"MCMC|xmax":{id:2,output_name:"output"},"MCMC|ymax":{id:4,output_name:"output"},geneXColName:{id:1,output_name:"output"},geneYColName:{id:3,output_name:"output"},"input_counts|input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool baredSC 2d",name:"MCMC"},{description:"runtime parameter for tool baredSC 2d",name:"MCMC"},{description:"runtime parameter for tool baredSC 2d",name:"MCMC"},{description:"runtime parameter for tool baredSC 2d",name:"input_counts"}],label:null,name:"baredSC 2d",outputs:[{name:"qc_plots",type:"input"},{name:"other_outputs",type:"input"},{name:"output",type:"npz"},{name:"neff",type:"txt"},{name:"pdf2d",type:"tabular"},{name:"pdf2d_flat",type:"tabular"},{name:"plot",type:"png"},{name:"logevidence",type:"txt"}],position:{left:923,top:35.5},post_job_actions:{HideDatasetActionlogevidence:{action_arguments:{},action_type:"HideDatasetAction",output_name:"logevidence"},HideDatasetActionother_outputs:{action_arguments:{},action_type:"HideDatasetAction",output_name:"other_outputs"},HideDatasetActionpdf2d:{action_arguments:{},action_type:"HideDatasetAction",output_name:"pdf2d"},HideDatasetActionpdf2d_flat:{action_arguments:{},action_type:"HideDatasetAction",output_name:"pdf2d_flat"},HideDatasetActionplot:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.3+galaxy0",tool_shed_repository:{changeset_revision:"a90f8efe08b4",name:"baredsc_2d",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"MCMC": {"xmin": "0.0", "xmax": {"__class__": "ConnectedValue"}, "nx": "25", "minScalex": "0.1", "ymin": "0.0", "ymax": {"__class__": "ConnectedValue"}, "ny": "25", "minScaley": "0.1", "scale": {"type": "Seurat", "__current_case__": 0, "targetSum": "10000.0"}, "seed": "1", "nnorm": {"__class__": "ConnectedValue"}, "nsampMCMC": "100000", "automaticRestart": {"set_minNeff": "yes", "__current_case__": 0, "minNeff": "200.0"}}, "advanced": {"osampx": "10", "osampxpdf": "4", "osampy": "10", "osampypdf": "4", "coviscale": "1.0", "nis": "1000", "burn": {"custom": "no", "__current_case__": 0}, "scalePrior": "0.3"}, "filter": {"nb": "0", "__current_case__": 0}, "geneXColName": {"__class__": "ConnectedValue"}, "geneYColName": {"__class__": "ConnectedValue"}, "input_counts": {"filetype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}, "plots": {"image_file_format": "png", "title": "", "removeFirstSamples": "-1", "nsampInPlot": "100000", "prettyBinsx": "-1", "prettyBinsy": "-1", "log1pColorScale": false, "splity": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3+galaxy0",type:"tool",uuid:"3fb4de69-9b40-4243-92fb-75553ff8ef09",when:null,workflow_outputs:[{label:"baredsc_qc_plots",output_name:"qc_plots",uuid:"005ef683-a231-4b3f-b8ef-125a1ffd2d91"},{label:"baredsc_neff",output_name:"neff",uuid:"873dbd6d-8345-426b-8c90-809b478c9e24"},{label:"baredsc_numpy",output_name:"output",uuid:"2f026269-bd89-4c20-a0df-bd1387f549d4"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.3+galaxy0",errors:null,id:9,input_connections:{"MCMC|outputs":{id:8,output_name:"output"},"MCMC|xmax":{id:2,output_name:"output"},"MCMC|ymax":{id:4,output_name:"output"},"advanced|getPVal":{id:6,output_name:"output"},geneXColName:{id:1,output_name:"output"},geneYColName:{id:3,output_name:"output"},"input_counts|input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Combine multiple 2D Models",name:"MCMC"},{description:"runtime parameter for tool Combine multiple 2D Models",name:"MCMC"},{description:"runtime parameter for tool Combine multiple 2D Models",name:"MCMC"},{description:"runtime parameter for tool Combine multiple 2D Models",name:"advanced"},{description:"runtime parameter for tool Combine multiple 2D Models",name:"input_counts"}],label:null,name:"Combine multiple 2D Models",outputs:[{name:"other_outputs",type:"input"},{name:"pdf2d",type:"tabular"},{name:"pdf2d_flat",type:"tabular"},{name:"plot",type:"png"}],position:{left:1240,top:199.5},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.3+galaxy0",tool_shed_repository:{changeset_revision:"02fc39c8610d",name:"baredsc_combine_2d",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"MCMC": {"outputs": {"__class__": "ConnectedValue"}, "xmin": "0.0", "xmax": {"__class__": "ConnectedValue"}, "nx": "25", "minScalex": "0.1", "ymin": "0.0", "ymax": {"__class__": "ConnectedValue"}, "ny": "25", "minScaley": "0.1", "scale": {"type": "Seurat", "__current_case__": 0, "targetSum": "10000.0"}, "seed": "1"}, "advanced": {"getPVal": {"__class__": "ConnectedValue"}, "osampx": "10", "osampxpdf": "4", "osampy": "10", "osampypdf": "4", "coviscale": "1.0", "nis": "1000", "scalePrior": "0.3"}, "filter": {"nb": "0", "__current_case__": 0}, "geneXColName": {"__class__": "ConnectedValue"}, "geneYColName": {"__class__": "ConnectedValue"}, "input_counts": {"filetype": "tabular", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}, "plots": {"image_file_format": "png", "title": "", "removeFirstSamples": "-1", "nsampInPlot": "100000", "prettyBinsx": "-1", "prettyBinsy": "-1", "log1pColorScale": false, "splity": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.3+galaxy0",type:"tool",uuid:"e4eebae4-0952-4d21-8bb6-d16d1b5397b3",when:null,workflow_outputs:[{label:"combined_pdf2d",output_name:"pdf2d",uuid:"0fff7566-a7d9-4dac-b77b-416e6a2f56ef"},{label:"combined_pdf2d_flat",output_name:"pdf2d_flat",uuid:"79eb786a-7465-4f24-aafa-d2520028527d"},{label:"combined_plot",output_name:"plot",uuid:"db367996-7c6c-4cd3-8692-c0483fbc671c"},{label:"combined_other_outputs",output_name:"other_outputs",uuid:"eca7f33c-3a1d-41d7-a56a-925167baf364"}]}},tags:[],uuid:"1936816b-958a-4140-b839-58be4cdae1a5",version:1},readme:`# BaredSC Workflows These workflows allow to run a baredSC analysis from a table with counts in a single click. It uses models from 1 to N Gaussians and combine them. It uses the logNorm scale, 100 bins for 1 dimension and 25 bins on each axis in 2 dimensions. @@ -1816,7 +3381,55 @@ For the 2D: - The workflow will generate paramater values from 1 to the maximum number of Gaussians to study. - baredSC_1d or baredSC_2d is run for each of these number of Gaussians - All models are combined into a single result. -`,changelog:"# Changelog\n\n## [0.5] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.3+galaxy0`\n\n## [0.3] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/1.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0`\n\n## [0.2] 2023-12-01\n\n### Add 'compute p-value' parameter in 2d\n\n### Semi-automatic update\n- all baredsc tools were updated from `1.1.2+galaxy0` to `1.1.2+galaxy1`\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1`\n\n## [0.1] 2023-10-03\n\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/baredsc/baredSC-2d-logNorm",tests:[{doc:"Test outline for baredSC_2d",job:{"Tabular with raw expression values":{class:"File",path:"test-data/nih3t3_generated_2d_2.txt",filetype:"tabular"},"Gene name for x axis":"0.5_0_0_0.5_x","Gene name for y axis":"0.5_0_0_0.5_y","maximum value in logNorm for x-axis":"2.5","maximum value in logNorm for y-axis":"2.5","Maximum number of Gaussians to study":"4","compute p-value":"true"},outputs:{baredsc_numpy:{element_tests:{"split_file_000000.tabular":{asserts:{has_size:{value:1654994,delta:1e5}}},"split_file_000001.tabular":{asserts:{has_size:{value:2650966,delta:2e5}}},"split_file_000002.tabular":{asserts:{has_size:{value:39060170,delta:3e6}}},"split_file_000003.tabular":{asserts:{has_size:{value:49913268,delta:5e6}}}}},baredsc_qc_plots:{element_tests:{"split_file_000000.tabular":{element_tests:{convergence:{asserts:{has_size:{value:24300,delta:2e3}}},corner:{asserts:{has_size:{value:300500,delta:3e4}}},p:{asserts:{has_size:{value:98200,delta:1e4}}}}},"split_file_000001.tabular":{element_tests:{convergence:{asserts:{has_size:{value:28600,delta:2e3}}},corner:{asserts:{has_size:{value:2e6,delta:2e5}}},p:{asserts:{has_size:{value:203100,delta:2e4}}}}},"split_file_000002.tabular":{element_tests:{convergence:{asserts:{has_size:{value:30200,delta:3e3}}},corner:{asserts:{has_size:{value:51e5,delta:5e5}}},p:{asserts:{has_size:{value:269500,delta:2e4}}}}},"split_file_000003.tabular":{element_tests:{convergence:{asserts:{has_size:{value:31500,delta:3e3}}},corner:{asserts:{has_size:{value:94e5,delta:9e5}}},p:{asserts:{has_size:{value:373300,delta:3e4}}}}}}},baredsc_neff:{element_tests:{"split_file_000000.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"[1-2]?[0-9][0-9][0-9].[0-9]*"}}},"split_file_000001.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"[1-2]?[0-9][0-9][0-9].[0-9]*"}}},"split_file_000002.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"[1-2]?[0-9][0-9][0-9].[0-9]*"}}},"split_file_000003.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"[1-2]?[0-9][0-9][0-9].[0-9]*"}}}}},combined_other_outputs:{element_tests:{corr:{asserts:{has_n_lines:{n:2},has_text_matching:{expression:"0.89[0-9]*"},has_text:{text:"mean median low high pval error"}}},individuals:{asserts:{has_size:{value:54400,delta:5e3}}},median:{asserts:{has_size:{value:37100,delta:3e3}}}}},combined_pdf2d:{asserts:{has_n_lines:{n:26},has_text:{text:"xy 0.05 0.15"}}},combined_pdf2d_flat:{asserts:{has_n_lines:{n:626},has_line:{line:"x y low mean high median"},has_text:{text:"0.05 0.05"}}},combined_plot:{path:"test-data/combined_2d_plot.png",compare:"sim_size",delta_frac:.1}}}]}],path:"./workflows/scRNAseq/baredsc"},{version:1.2,workflows:[{name:"Velocyto-on10X-from-bundled",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Velocyto-on10X-from-bundled.ga",testParameterFiles:["/Velocyto-on10X-from-bundled-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"Run velocyto to get loom with counts of spliced and unspliced. It will extract the 'barcodes' from the bundled outputs.",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.2",name:"Velocyto-on10X-from-bundled",steps:{0:{annotation:"This can be output of CellRanger or STARsolo",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"This can be output of CellRanger or STARsolo",name:"BAM files with CB and UB"}],label:"BAM files with CB and UB",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"043d198b-3af0-477d-be11-5d1373280379",when:null,workflow_outputs:[]},1:{annotation:"This can be output of STARsolo or DropletUtils",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"This can be output of STARsolo or DropletUtils",name:"filtered matrices in bundle"}],label:"filtered matrices in bundle",name:"Input dataset collection",outputs:[],position:{left:141,top:139},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"03b0d22c-3b46-4460-8c18-b524bc09d655",when:null,workflow_outputs:[]},2:{annotation:"gtf file",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"gtf file",name:"gtf file"}],label:"gtf file",name:"Input dataset",outputs:[],position:{left:231,top:273},tool_id:null,tool_state:'{"optional": false, "format": ["gtf"], "tag": ""}',tool_version:null,type:"data_input",uuid:"f1d04259-f449-44d7-8d36-49f3ad664361",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:3,input_connections:{input:{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Apply rules",name:"input"}],label:"extract barcodes from bundle",name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:421,top:133},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"columns": [0], "editing": false, "type": "list_identifiers"}], "rules": [{"error": null, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"error": null, "type": "add_column_metadata", "value": "identifier1", "warn": null}, {"error": null, "invert": false, "target_column": 1, "type": "add_filter_matches", "value": "barcodes", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"8c2d032f-596c-4315-8361-ebf1ec2eb655",when:null,workflow_outputs:[]},4:{annotation:"",id:4,input_connections:{"BAM files with CB and UB":{id:0,input_subworkflow_step_id:0,output_name:"output"},"filtered barcodes":{id:3,input_subworkflow_step_id:1,output_name:"output"},"gtf file":{id:2,input_subworkflow_step_id:2,output_name:"output"}},inputs:[],label:null,name:"Velocyto_on10X_filtered_barcodes",outputs:[],position:{left:710,top:63.5},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Velocyto_on10X_filtered_barcodes",steps:{0:{annotation:"This can be output of CellRanger or STARsolo",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"This can be output of CellRanger or STARsolo",name:"BAM files with CB and UB"}],label:"BAM files with CB and UB",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"043d198b-3af0-477d-be11-5d1373280379",when:null,workflow_outputs:[]},1:{annotation:"This can be output of STARsolo or DropletUtils",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"This can be output of STARsolo or DropletUtils",name:"filtered barcodes"}],label:"filtered barcodes",name:"Input dataset collection",outputs:[],position:{left:55.999999999999986,top:108.33333333333333},tool_id:null,tool_state:'{"optional": false, "format": ["tsv"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"03b0d22c-3b46-4460-8c18-b524bc09d655",when:null,workflow_outputs:[]},2:{annotation:"gtf file",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"gtf file",name:"gtf file"}],label:"gtf file",name:"Input dataset",outputs:[],position:{left:148,top:204.66666666666666},tool_id:null,tool_state:'{"optional": false, "format": ["gtf"], "tag": ""}',tool_version:null,type:"data_input",uuid:"f1d04259-f449-44d7-8d36-49f3ad664361",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli/velocyto_cli/0.17.17+galaxy2",errors:null,id:3,input_connections:{"main|BAM":{id:0,output_name:"output"},"main|barcodes":{id:1,output_name:"output"},"main|gtffile":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"}],label:"velocyto",name:"velocyto CLI",outputs:[{name:"samples",type:"loom"}],position:{left:470.66666666666663,top:116.32222493489576},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli/velocyto_cli/0.17.17+galaxy2",tool_shed_repository:{changeset_revision:"90e95e9ee190",name:"velocyto_cli",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"main": {"do": "run10x", "__current_case__": 0, "sample_definition": {"sample_definition_select": "identifier", "__current_case__": 1}, "BAM": {"__class__": "ConnectedValue"}, "barcodes": {"__class__": "ConnectedValue"}, "gtffile": {"__class__": "ConnectedValue"}, "s": {"__class__": "RuntimeValue"}, "m": {"__class__": "RuntimeValue"}, "M": false, "t": "uint16"}, "verbosity": "-vv", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.17.17+galaxy2",type:"tool",uuid:"f9aef50f-b31d-44dd-aad6-fe4d520e3b1e",when:null,workflow_outputs:[{label:"velocyto loom",output_name:"samples",uuid:"2899a85c-c198-436f-a409-9bfbdf90c95f"}]}},tags:"",uuid:"66e3b8eb-d312-488e-b407-1ed3fa627ebb"},tool_id:null,type:"subworkflow",uuid:"39ea418d-135d-4e7d-b2fe-fbde5c7393b7",when:null,workflow_outputs:[{label:"velocyto loom",output_name:"velocyto loom",uuid:"865e6dd6-8c01-4188-a1f6-4cd77e433eed"}]}},tags:["name:single-cell"],uuid:"0608c7f4-767c-47b3-ae45-4e98c7c83bec",version:8},readme:`# Velocyto on 10X data +`,changelog:"# Changelog\n\n## [0.5] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.3+galaxy0`\n\n## [0.3] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/1.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0`\n\n## [0.2] 2023-12-01\n\n### Add 'compute p-value' parameter in 2d\n\n### Semi-automatic update\n- all baredsc tools were updated from `1.1.2+galaxy0` to `1.1.2+galaxy1`\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1`\n\n## [0.1] 2023-10-03\n\nFirst release.\n",diagrams:`# Workflow diagrams + +## baredSC_2d_logNorm + +\`\`\`mermaid +graph LR +0["ℹ️ Tabular with raw expression values"]@{ shape: doc } +1["ℹ️ Gene name for x axis"]@{ shape: lean-l } +2["ℹ️ maximum value in logNorm for x-axis"]@{ shape: lean-l } +3["ℹ️ Gene name for y axis"]@{ shape: lean-l } +4["ℹ️ maximum value in logNorm for y-axis"]@{ shape: lean-l } +5["ℹ️ Maximum number of Gaussians to study"]@{ shape: lean-l } +6["ℹ️ compute p-value"]@{ shape: lean-l } +7["🛠️ generate_param_list_one_to_number"]@{ shape: subprocess } +5 --> 7 +8["baredSC 2d"]@{ shape: process } +7 --> 8 +2 --> 8 +4 --> 8 +1 --> 8 +3 --> 8 +0 --> 8 +9["Combine multiple 2D Models"]@{ shape: process } +8 --> 9 +2 --> 9 +4 --> 9 +6 --> 9 +1 --> 9 +3 --> 9 +0 --> 9 +\`\`\` + +## generate_param_list_one_to_number + +\`\`\`mermaid +graph LR +0["ℹ️ Maximum number in param output"]@{ shape: lean-l } +1["create first tabular with good number of rows."]@{ shape: process } +0 --> 1 +2["add column with numbers starting at 1"]@{ shape: process } +1 --> 2 +3["retrieve numbers"]@{ shape: process } +2 --> 3 +4["split numbers to collection"]@{ shape: process } +3 --> 4 +5["numbers to param"]@{ shape: process } +4 --> 5 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/baredsc/baredSC-2d-logNorm",tests:[{doc:"Test outline for baredSC_2d",job:{"Tabular with raw expression values":{class:"File",path:"test-data/nih3t3_generated_2d_2.txt",filetype:"tabular"},"Gene name for x axis":"0.5_0_0_0.5_x","Gene name for y axis":"0.5_0_0_0.5_y","maximum value in logNorm for x-axis":"2.5","maximum value in logNorm for y-axis":"2.5","Maximum number of Gaussians to study":"4","compute p-value":"true"},outputs:{baredsc_numpy:{element_tests:{"split_file_000000.tabular":{asserts:{has_size:{value:1654994,delta:1e5}}},"split_file_000001.tabular":{asserts:{has_size:{value:2650966,delta:2e5}}},"split_file_000002.tabular":{asserts:{has_size:{value:39060170,delta:3e6}}},"split_file_000003.tabular":{asserts:{has_size:{value:49913268,delta:5e6}}}}},baredsc_qc_plots:{element_tests:{"split_file_000000.tabular":{element_tests:{convergence:{asserts:{has_size:{value:24300,delta:2e3}}},corner:{asserts:{has_size:{value:300500,delta:3e4}}},p:{asserts:{has_size:{value:98200,delta:1e4}}}}},"split_file_000001.tabular":{element_tests:{convergence:{asserts:{has_size:{value:28600,delta:2e3}}},corner:{asserts:{has_size:{value:2e6,delta:2e5}}},p:{asserts:{has_size:{value:203100,delta:2e4}}}}},"split_file_000002.tabular":{element_tests:{convergence:{asserts:{has_size:{value:30200,delta:3e3}}},corner:{asserts:{has_size:{value:51e5,delta:5e5}}},p:{asserts:{has_size:{value:269500,delta:2e4}}}}},"split_file_000003.tabular":{element_tests:{convergence:{asserts:{has_size:{value:31500,delta:3e3}}},corner:{asserts:{has_size:{value:94e5,delta:9e5}}},p:{asserts:{has_size:{value:373300,delta:3e4}}}}}}},baredsc_neff:{element_tests:{"split_file_000000.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"[1-2]?[0-9][0-9][0-9].[0-9]*"}}},"split_file_000001.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"[1-2]?[0-9][0-9][0-9].[0-9]*"}}},"split_file_000002.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"[1-2]?[0-9][0-9][0-9].[0-9]*"}}},"split_file_000003.tabular":{asserts:{has_n_lines:{n:1},has_line_matching:{expression:"[1-2]?[0-9][0-9][0-9].[0-9]*"}}}}},combined_other_outputs:{element_tests:{corr:{asserts:{has_n_lines:{n:2},has_text_matching:{expression:"0.89[0-9]*"},has_text:{text:"mean median low high pval error"}}},individuals:{asserts:{has_size:{value:54400,delta:5e3}}},median:{asserts:{has_size:{value:37100,delta:3e3}}}}},combined_pdf2d:{asserts:{has_n_lines:{n:26},has_text:{text:"xy 0.05 0.15"}}},combined_pdf2d_flat:{asserts:{has_n_lines:{n:626},has_line:{line:"x y low mean high median"},has_text:{text:"0.05 0.05"}}},combined_plot:{path:"test-data/combined_2d_plot.png",compare:"sim_size",delta_frac:.1}}}]}],path:"./workflows/scRNAseq/baredsc"},{version:1.2,workflows:[{name:"Velocyto-on10X-from-bundled",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Velocyto-on10X-from-bundled.ga",testParameterFiles:["/Velocyto-on10X-from-bundled-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"Run velocyto to get loom with counts of spliced and unspliced. It will extract the 'barcodes' from the bundled outputs.",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.2",name:"Velocyto-on10X-from-bundled",steps:{0:{annotation:"This can be output of CellRanger or STARsolo",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"This can be output of CellRanger or STARsolo",name:"BAM files with CB and UB"}],label:"BAM files with CB and UB",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"043d198b-3af0-477d-be11-5d1373280379",when:null,workflow_outputs:[]},1:{annotation:"This can be output of STARsolo or DropletUtils",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"This can be output of STARsolo or DropletUtils",name:"filtered matrices in bundle"}],label:"filtered matrices in bundle",name:"Input dataset collection",outputs:[],position:{left:141,top:139},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"03b0d22c-3b46-4460-8c18-b524bc09d655",when:null,workflow_outputs:[]},2:{annotation:"gtf file",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"gtf file",name:"gtf file"}],label:"gtf file",name:"Input dataset",outputs:[],position:{left:231,top:273},tool_id:null,tool_state:'{"optional": false, "format": ["gtf"], "tag": ""}',tool_version:null,type:"data_input",uuid:"f1d04259-f449-44d7-8d36-49f3ad664361",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:3,input_connections:{input:{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Apply rules",name:"input"}],label:"extract barcodes from bundle",name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:421,top:133},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"columns": [0], "editing": false, "type": "list_identifiers"}], "rules": [{"error": null, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"error": null, "type": "add_column_metadata", "value": "identifier1", "warn": null}, {"error": null, "invert": false, "target_column": 1, "type": "add_filter_matches", "value": "barcodes", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"8c2d032f-596c-4315-8361-ebf1ec2eb655",when:null,workflow_outputs:[]},4:{annotation:"",id:4,input_connections:{"BAM files with CB and UB":{id:0,input_subworkflow_step_id:0,output_name:"output"},"filtered barcodes":{id:3,input_subworkflow_step_id:1,output_name:"output"},"gtf file":{id:2,input_subworkflow_step_id:2,output_name:"output"}},inputs:[],label:null,name:"Velocyto_on10X_filtered_barcodes",outputs:[],position:{left:710,top:63.5},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Velocyto_on10X_filtered_barcodes",steps:{0:{annotation:"This can be output of CellRanger or STARsolo",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"This can be output of CellRanger or STARsolo",name:"BAM files with CB and UB"}],label:"BAM files with CB and UB",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"043d198b-3af0-477d-be11-5d1373280379",when:null,workflow_outputs:[]},1:{annotation:"This can be output of STARsolo or DropletUtils",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"This can be output of STARsolo or DropletUtils",name:"filtered barcodes"}],label:"filtered barcodes",name:"Input dataset collection",outputs:[],position:{left:55.999999999999986,top:108.33333333333333},tool_id:null,tool_state:'{"optional": false, "format": ["tsv"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"03b0d22c-3b46-4460-8c18-b524bc09d655",when:null,workflow_outputs:[]},2:{annotation:"gtf file",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"gtf file",name:"gtf file"}],label:"gtf file",name:"Input dataset",outputs:[],position:{left:148,top:204.66666666666666},tool_id:null,tool_state:'{"optional": false, "format": ["gtf"], "tag": ""}',tool_version:null,type:"data_input",uuid:"f1d04259-f449-44d7-8d36-49f3ad664361",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli/velocyto_cli/0.17.17+galaxy2",errors:null,id:3,input_connections:{"main|BAM":{id:0,output_name:"output"},"main|barcodes":{id:1,output_name:"output"},"main|gtffile":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"}],label:"velocyto",name:"velocyto CLI",outputs:[{name:"samples",type:"loom"}],position:{left:470.66666666666663,top:116.32222493489576},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli/velocyto_cli/0.17.17+galaxy2",tool_shed_repository:{changeset_revision:"90e95e9ee190",name:"velocyto_cli",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"main": {"do": "run10x", "__current_case__": 0, "sample_definition": {"sample_definition_select": "identifier", "__current_case__": 1}, "BAM": {"__class__": "ConnectedValue"}, "barcodes": {"__class__": "ConnectedValue"}, "gtffile": {"__class__": "ConnectedValue"}, "s": {"__class__": "RuntimeValue"}, "m": {"__class__": "RuntimeValue"}, "M": false, "t": "uint16"}, "verbosity": "-vv", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.17.17+galaxy2",type:"tool",uuid:"f9aef50f-b31d-44dd-aad6-fe4d520e3b1e",when:null,workflow_outputs:[{label:"velocyto loom",output_name:"samples",uuid:"2899a85c-c198-436f-a409-9bfbdf90c95f"}]}},tags:"",uuid:"66e3b8eb-d312-488e-b407-1ed3fa627ebb"},tool_id:null,type:"subworkflow",uuid:"39ea418d-135d-4e7d-b2fe-fbde5c7393b7",when:null,workflow_outputs:[{label:"velocyto loom",output_name:"velocyto loom",uuid:"865e6dd6-8c01-4188-a1f6-4cd77e433eed"}]}},tags:["name:single-cell"],uuid:"0608c7f4-767c-47b3-ae45-4e98c7c83bec",version:8},readme:`# Velocyto on 10X data These workflows simply run velocyto. There are 2 workflows because one can be easily run after the 'fastq-to-matrix-10x' workflows (Velocyto-on10X-from-bundled). The other can be easily run from uploaded datasets (Velocyto-on10X-filtered-barcodes). @@ -1840,6 +3453,35 @@ These workflows simply run velocyto. There are 2 workflows because one can be ea ## [0.1] 2024-01-26 First release. +`,diagrams:`# Workflow diagrams + +## Velocyto-on10X-from-bundled + +\`\`\`mermaid +graph LR +0["ℹ️ BAM files with CB and UB"]@{ shape: docs } +1["ℹ️ filtered matrices in bundle"]@{ shape: docs } +2["ℹ️ gtf file"]@{ shape: doc } +3["extract barcodes from bundle"]@{ shape: process } +1 --> 3 +4["🛠️ Velocyto_on10X_filtered_barcodes"]@{ shape: subprocess } +0 --> 4 +3 --> 4 +2 --> 4 +\`\`\` + +## Velocyto_on10X_filtered_barcodes + +\`\`\`mermaid +graph LR +0["ℹ️ BAM files with CB and UB"]@{ shape: docs } +1["ℹ️ filtered barcodes"]@{ shape: docs } +2["ℹ️ gtf file"]@{ shape: doc } +3["velocyto"]@{ shape: process } +0 --> 3 +1 --> 3 +2 --> 3 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/velocyto/Velocyto-on10X-from-bundled",tests:[{doc:"Test outline for Velocyto-on10X (bundled)",job:{"gtf file":{class:"File",location:"https://zenodo.org/record/6457007/files/Drosophila_melanogaster.BDGP6.32.109_UCSC.gtf.gz",decompress:!0,filetype:"gtf"},"BAM files with CB and UB":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"subsample",location:"https://zenodo.org/records/10572348/files/subsample.bam",filetype:"bam"}]},"filtered matrices in bundle":{class:"Collection",collection_type:"list:list",elements:[{class:"Collection",type:"list",identifier:"subsample",elements:[{class:"File",identifier:"barcodes",location:"https://zenodo.org/records/10572348/files/barcodes.tsv",filetype:"tsv"},{class:"File",identifier:"genes",location:"https://zenodo.org/records/10572348/files/genes.tsv",filetype:"tsv"},{class:"File",identifier:"matrix",location:"https://zenodo.org/records/10572348/files/matrix.mtx",filetype:"mtx"}]}]}},outputs:{"velocyto loom":{element_tests:{subsample:{asserts:{has_size:{value:4639326,delta:4e5}}}}}}}]},{name:"Velocyto-on10X-filtered-barcodes",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Velocyto-on10X-filtered-barcodes.ga",testParameterFiles:["/Velocyto-on10X-filtered-barcodes-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"Run velocyto to get loom with counts of spliced and unspliced",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.2",name:"Velocyto-on10X-filtered-barcodes",steps:{0:{annotation:"This can be output of CellRanger or STARsolo",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"This can be output of CellRanger or STARsolo",name:"BAM files with CB and UB"}],label:"BAM files with CB and UB",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"043d198b-3af0-477d-be11-5d1373280379",when:null,workflow_outputs:[]},1:{annotation:"This can be output of STARsolo or DropletUtils (too many barcodes will make memory errors)",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"This can be output of STARsolo or DropletUtils (too many barcodes will make memory errors)",name:"filtered barcodes"}],label:"filtered barcodes",name:"Input dataset collection",outputs:[],position:{left:55.999999999999986,top:108.33333333333333},tool_id:null,tool_state:'{"optional": false, "format": ["tsv"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"03b0d22c-3b46-4460-8c18-b524bc09d655",when:null,workflow_outputs:[]},2:{annotation:"gtf file",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"gtf file",name:"gtf file"}],label:"gtf file",name:"Input dataset",outputs:[],position:{left:148,top:204.66666666666666},tool_id:null,tool_state:'{"optional": false, "format": ["gtf"], "tag": ""}',tool_version:null,type:"data_input",uuid:"f1d04259-f449-44d7-8d36-49f3ad664361",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli/velocyto_cli/0.17.17+galaxy2",errors:null,id:3,input_connections:{"main|BAM":{id:0,output_name:"output"},"main|barcodes":{id:1,output_name:"output"},"main|gtffile":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"},{description:"runtime parameter for tool velocyto CLI",name:"main"}],label:"velocyto",name:"velocyto CLI",outputs:[{name:"samples",type:"loom"}],position:{left:470.66666666666663,top:116.32222493489576},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli/velocyto_cli/0.17.17+galaxy2",tool_shed_repository:{changeset_revision:"90e95e9ee190",name:"velocyto_cli",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"main": {"do": "run10x", "__current_case__": 0, "sample_definition": {"sample_definition_select": "identifier", "__current_case__": 1}, "BAM": {"__class__": "ConnectedValue"}, "barcodes": {"__class__": "ConnectedValue"}, "gtffile": {"__class__": "ConnectedValue"}, "s": {"__class__": "RuntimeValue"}, "m": {"__class__": "RuntimeValue"}, "M": false, "t": "uint16"}, "verbosity": "-vv", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.17.17+galaxy2",type:"tool",uuid:"f9aef50f-b31d-44dd-aad6-fe4d520e3b1e",when:null,workflow_outputs:[{label:"velocyto loom",output_name:"samples",uuid:"2899a85c-c198-436f-a409-9bfbdf90c95f"}]}},tags:["name:single-cell"],uuid:"33862923-af05-48ba-aec5-14393981cee2",version:4},readme:`# Velocyto on 10X data These workflows simply run velocyto. There are 2 workflows because one can be easily run after the 'fastq-to-matrix-10x' workflows (Velocyto-on10X-from-bundled). The other can be easily run from uploaded datasets (Velocyto-on10X-filtered-barcodes). @@ -1864,6 +3506,20 @@ These workflows simply run velocyto. There are 2 workflows because one can be ea ## [0.1] 2024-01-26 First release. +`,diagrams:`# Workflow diagrams + +## Velocyto-on10X-filtered-barcodes + +\`\`\`mermaid +graph LR +0["ℹ️ BAM files with CB and UB"]@{ shape: docs } +1["ℹ️ filtered barcodes"]@{ shape: docs } +2["ℹ️ gtf file"]@{ shape: doc } +3["velocyto"]@{ shape: process } +0 --> 3 +1 --> 3 +2 --> 3 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/velocyto/Velocyto-on10X-filtered-barcodes",tests:[{doc:"Test outline for Velocyto-on10X (barcodes)",job:{"gtf file":{class:"File",location:"https://zenodo.org/record/6457007/files/Drosophila_melanogaster.BDGP6.32.109_UCSC.gtf.gz",decompress:!0,filetype:"gtf"},"BAM files with CB and UB":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"subsample",location:"https://zenodo.org/records/10572348/files/subsample.bam",filetype:"bam"}]},"filtered barcodes":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"subsample",location:"https://zenodo.org/records/10572348/files/barcodes.tsv",filetype:"tsv"}]}},outputs:{"velocyto loom":{element_tests:{subsample:{asserts:{has_size:{value:4639326,delta:4e5}}}}}}}]}],path:"./workflows/scRNAseq/velocyto"},{version:1.2,workflows:[{name:"scrna-seq-fastq-to-matrix-10x-cellplex",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/scrna-seq-fastq-to-matrix-10x-cellplex.ga",testParameterFiles:["/scrna-seq-fastq-to-matrix-10x-cellplex-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"},{name:"Mehmet Tekman",orcid:"0000-0002-4181-2676"},{name:"Hans-Rudolf Hotz",orcid:"0000-0002-2799-424X"},{name:"Daniel Blankenberg",orcid:"0000-0002-6833-9049"},{name:"Wendi Bacon",orcid:"0000-0002-8170-8806"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow processes the CMO fastqs with CITE-seq-Count and include the translation step required for cellPlex processing. In parallel it processes the Gene Expresion fastqs with STARsolo, filter cells with DropletUtils and reformat all outputs to be easily used by the function 'Read10X' from Seurat.",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"},{class:"Person",identifier:"https://orcid.org/0000-0002-4181-2676",name:"Mehmet Tekman"},{class:"Person",identifier:"https://orcid.org/0000-0002-2799-424X",name:"Hans-Rudolf Hotz"},{class:"Person",identifier:"https://orcid.org/0000-0002-6833-9049",name:"Daniel Blankenberg"},{class:"Person",identifier:"https://orcid.org/0000-0002-8170-8806",name:"Wendi Bacon"}],"format-version":"0.1",license:"MIT",release:"0.5",name:"scRNA-seq_preprocessing_10X_cellPlex",steps:{0:{annotation:"reads containing genes",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"reads containing genes",name:"fastq PE collection GEX"}],label:"fastq PE collection GEX",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"eea58879-4368-4edf-ad0a-2dbd91de2db7",when:null,workflow_outputs:[]},1:{annotation:"Choose your reference genome",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Choose your reference genome",name:"reference genome"}],label:"reference genome",name:"Input parameter",outputs:[],position:{left:32.183349609375,top:99.48333740234375},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"32f09d94-82fe-4c79-b86a-3af89fdb3088",when:null,workflow_outputs:[]},2:{annotation:"Gene annotations",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Gene annotations",name:"gtf"}],label:"gtf",name:"Input dataset",outputs:[],position:{left:67.95001220703125,top:209.95001220703125},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"8724cc04-fa9f-48df-ba31-6c47a03c9bde",when:null,workflow_outputs:[]},3:{annotation:"Available at https://zenodo.org/record/3457880/files/3M-february-2018.txt.gz",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Available at https://zenodo.org/record/3457880/files/3M-february-2018.txt.gz",name:"cellranger_barcodes_3M-february-2018.txt"}],label:"cellranger_barcodes_3M-february-2018.txt",name:"Input dataset",outputs:[],position:{left:111,top:281.48333740234375},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"bc4574f1-2a6f-44db-bed3-6d066d5ce42f",when:null,workflow_outputs:[]},4:{annotation:"Barcode Size is same size of the Read",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Barcode Size is same size of the Read",name:"Barcode Size is same size of the Read"}],label:"Barcode Size is same size of the Read",name:"Input parameter",outputs:[],position:{left:146,top:394.66668701171875},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"12127fdb-d0d1-486c-a22e-532f714dbaaa",when:null,workflow_outputs:[]},5:{annotation:"reads containing CMO",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"reads containing CMO",name:"fastq PE collection CMO"}],label:"fastq PE collection CMO",name:"Input dataset collection",outputs:[],position:{left:237.68331909179688,top:493.57719175292976},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"4a52f2cf-ee11-47ac-9f24-ce5e49b8434e",when:null,workflow_outputs:[]},6:{annotation:"csv: first column is the sequence and second column is the name",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"csv: first column is the sequence and second column is the name",name:"sample name and CMO sequence collection"}],label:"sample name and CMO sequence collection",name:"Input dataset collection",outputs:[],position:{left:264.6833190917969,top:593.5771917529298},tool_id:null,tool_state:'{"optional": false, "format": ["csv"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"dce97235-a4ba-4bfd-9d1f-60d3942f624b",when:null,workflow_outputs:[]},7:{annotation:"Used by CITE-seq-Count, does not really seem to impact result. You can use 24000.",content_id:null,errors:null,id:7,input_connections:{},inputs:[{description:"Used by CITE-seq-Count, does not really seem to impact result. You can use 24000.",name:"Number of expected cells"}],label:"Number of expected cells",name:"Input parameter",outputs:[],position:{left:306.2167053222656,top:705.6105169482423},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"5ca25d6a-112f-4870-b5a4-163a055360c0",when:null,workflow_outputs:[]},8:{annotation:"",id:8,input_connections:{"Barcode Size is same size of the Read":{id:4,input_subworkflow_step_id:4,output_name:"output"},"cellranger_barcodes_3M-february-2018.txt":{id:3,input_subworkflow_step_id:3,output_name:"output"},"fastq PE collection":{id:0,input_subworkflow_step_id:0,output_name:"output"},gtf:{id:2,input_subworkflow_step_id:2,output_name:"output"},"reference genome":{id:1,input_subworkflow_step_id:1,output_name:"output"}},inputs:[{description:"",name:"process GEX reads"}],label:"process GEX reads",name:"scRNA-seq_preprocessing_10X_v3_Bundle",outputs:[],position:{left:662.4507693654512,top:75.05904568073197},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"},{class:"Person",identifier:"https://orcid.org/0000-0002-4181-2676",name:"Mehmet Tekman"},{class:"Person",identifier:"https://orcid.org/0000-0002-2799-424X",name:"Hans-Rudolf Hotz"},{class:"Person",identifier:"https://orcid.org/0000-0002-6833-9049",name:"Daniel Blankenberg"},{class:"Person",identifier:"https://orcid.org/0000-0002-8170-8806",name:"Wendi Bacon"}],"format-version":"0.1",license:"MIT",name:"scRNA-seq_preprocessing_10X_v3_Bundle",steps:{0:{annotation:"Collection of Pairs with fastqs one item per sample",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Collection of Pairs with fastqs one item per sample",name:"fastq PE collection"}],label:"fastq PE collection",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"eea58879-4368-4edf-ad0a-2dbd91de2db7",when:null,workflow_outputs:[]},1:{annotation:"Choose your reference genome",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Choose your reference genome",name:"reference genome"}],label:"reference genome",name:"Input parameter",outputs:[],position:{left:58.94316181636054,top:104},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"adf0f555-5974-44b9-a067-37e4054cd662",when:null,workflow_outputs:[]},2:{annotation:"Gene annotations",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Gene annotations",name:"gtf"}],label:"gtf",name:"Input dataset",outputs:[],position:{left:121.00981220698554,top:197},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"8724cc04-fa9f-48df-ba31-6c47a03c9bde",when:null,workflow_outputs:[]},3:{annotation:"Available at https://zenodo.org/record/3457880/files/3M-february-2018.txt.gz",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Available at https://zenodo.org/record/3457880/files/3M-february-2018.txt.gz",name:"cellranger_barcodes_3M-february-2018.txt"}],label:"cellranger_barcodes_3M-february-2018.txt",name:"Input dataset",outputs:[],position:{left:194.97648701167304,top:293},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"bc4574f1-2a6f-44db-bed3-6d066d5ce42f",when:null,workflow_outputs:[]},4:{annotation:"Barcode Size is same size of the Read",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Barcode Size is same size of the Read",name:"Barcode Size is same size of the Read"}],label:"Barcode Size is same size of the Read",name:"Input parameter",outputs:[],position:{left:260.683349609375,top:414.5},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a9d14d27-ca59-444d-9fe1-485b3354b9a7",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1",errors:null,id:5,input_connections:{"refGenomeSource|GTFconditional|genomeDir":{id:1,output_name:"output"},"refGenomeSource|GTFconditional|sjdbGTFfile":{id:2,output_name:"output"},"sc|input_types|input_collection":{id:0,output_name:"output"},"sc|soloBarcodeReadLength":{id:4,output_name:"output"},"sc|soloCBwhitelist":{id:3,output_name:"output"}},inputs:[{description:"runtime parameter for tool RNA STARSolo",name:"sc"},{description:"runtime parameter for tool RNA STARSolo",name:"sc"}],label:null,name:"RNA STARSolo",outputs:[{name:"output_log",type:"txt"},{name:"output_genes",type:"tsv"},{name:"output_barcodes",type:"tsv"},{name:"output_matrix",type:"mtx"},{name:"output_BAM",type:"bam"},{name:"output_stats",type:"txt"},{name:"reads_per_gene",type:"tabular"}],position:{left:568.7432106444855,top:374},post_job_actions:{HideDatasetActionoutput_BAM:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_BAM"},HideDatasetActionoutput_barcodes:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_barcodes"},HideDatasetActionoutput_genes:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_genes"},HideDatasetActionoutput_log:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_log"},HideDatasetActionoutput_matrix:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_matrix"},HideDatasetActionoutput_stats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_stats"},HideDatasetActionreads_per_gene:{action_arguments:{},action_type:"HideDatasetAction",output_name:"reads_per_gene"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1",tool_shed_repository:{changeset_revision:"45795f582ae9",name:"rna_starsolo",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"outWig": {"outWigType": "None", "__current_case__": 0, "outWigStrand": "false"}, "refGenomeSource": {"geneSource": "indexed", "__current_case__": 0, "GTFconditional": {"GTFselect": "without-gtf-with-gtf", "__current_case__": 1, "genomeDir": {"__class__": "ConnectedValue"}, "sjdbGTFfile": {"__class__": "ConnectedValue"}, "sjdbGTFfeatureExon": "exon", "sjdbOverhang": "100"}}, "sc": {"solo_type": "CB_UMI_Simple", "__current_case__": 0, "input_types": {"use": "list_paired", "__current_case__": 1, "input_collection": {"__class__": "ConnectedValue"}}, "soloCBwhitelist": {"__class__": "ConnectedValue"}, "params": {"chemistry": "Cv3", "__current_case__": 1}, "soloBarcodeReadLength": {"__class__": "ConnectedValue"}, "umidedup": {"soloUMIdedup": "1MM_CR", "__current_case__": 4, "soloUMIfiltering": "-"}, "soloCBmatchWLtype": "1MM_multi"}, "solo": {"soloStrand": "Forward", "soloFeatures": "Gene", "wasp_conditional": {"waspOutputMode": "", "__current_case__": 1}, "filter": {"filter_type": "no_filter", "__current_case__": 3, "output_raw": "true"}, "soloOutFormatFeaturesGeneField3": "Gene Expression", "outSAMattributes": ["NH", "HI", "AS", "nM", "GX", "GN", "CB", "UB"], "quantModeGene": true, "outSAMunmapped": false, "outSAMmapqUnique": "60", "junction_limits": {"limitOutSJoneRead": "1000", "limitOutSJcollapsed": "1000000", "limitSjdbInsertNsj": "1000000"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.7.11a+galaxy1",type:"tool",uuid:"cef740b0-fa95-4542-b08f-dbfca4bfb3e5",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:6,input_connections:{"results_0|software_cond|output_0|type|input":{id:5,output_name:"output_log"},"results_0|software_cond|output_1|type|input":{id:5,output_name:"reads_per_gene"}},inputs:[],label:"multiQC",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:848.0098122069855,top:366.98333740234375},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "star", "__current_case__": 28, "output": [{"__index__": 0, "type": {"type": "log", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "type": {"type": "genecounts", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}}]}}], "saveLog": false, "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"a16bf20e-2bc9-45e7-a0a3-b5590212b973",when:null,workflow_outputs:[{label:"MultiQC on input dataset(s): Webpage",output_name:"html_report",uuid:"eb55ba68-0473-4b09-87b9-007be3a86098"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/dropletutils/dropletutils/1.10.0+galaxy2",errors:null,id:7,input_connections:{"tenx_format|input":{id:5,output_name:"output_matrix"},"tenx_format|input_barcodes":{id:5,output_name:"output_barcodes"},"tenx_format|input_genes":{id:5,output_name:"output_genes"}},inputs:[{description:"runtime parameter for tool DropletUtils",name:"tenx_format"},{description:"runtime parameter for tool DropletUtils",name:"tenx_format"},{description:"runtime parameter for tool DropletUtils",name:"tenx_format"}],label:"filter cells",name:"DropletUtils",outputs:[{name:"barcodes_out",type:"tsv"},{name:"genes_out",type:"tsv"},{name:"matrix_out",type:"mtx"},{name:"plot",type:"png"},{name:"table",type:"tsv"}],position:{left:848.0098122069855,top:640.9833374023438},post_job_actions:{HideDatasetActionbarcodes_out:{action_arguments:{},action_type:"HideDatasetAction",output_name:"barcodes_out"},HideDatasetActiongenes_out:{action_arguments:{},action_type:"HideDatasetAction",output_name:"genes_out"},HideDatasetActionmatrix_out:{action_arguments:{},action_type:"HideDatasetAction",output_name:"matrix_out"},HideDatasetActionplot:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plot"},HideDatasetActiontable:{action_arguments:{},action_type:"HideDatasetAction",output_name:"table"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/dropletutils/dropletutils/1.10.0+galaxy2",tool_shed_repository:{changeset_revision:"a9caad671439",name:"dropletutils",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation": {"use": "filter", "__current_case__": 0, "method": {"use": "emptydrops", "__current_case__": 1, "lower": "100", "fdr_thresh": "0.01"}, "outformat": "directory"}, "seed": "100", "tenx_format": {"use": "directory", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "input_genes": {"__class__": "ConnectedValue"}, "input_barcodes": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.10.0+galaxy2",type:"tool",uuid:"2ba61d0f-82ae-4044-a7ad-41df1cf8c9b6",when:null,workflow_outputs:[]},8:{annotation:"",id:8,input_connections:{"STARsolo Barcodes":{id:7,input_subworkflow_step_id:1,output_name:"barcodes_out"},"STARsolo Genes":{id:7,input_subworkflow_step_id:0,output_name:"genes_out"},"STARsolo Matrix Gene Counts":{id:7,input_subworkflow_step_id:2,output_name:"matrix_out"}},inputs:[{description:"",name:"Re-organize STAR-solo output"}],label:"Re-organize STAR-solo output",name:"Re-organize-STAR-solo-output",outputs:[],position:{left:1125.976487011673,top:774},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Re-organize-STAR-solo-output",steps:{0:{annotation:"Collection named Genes raw or Genes filtered from STARsolo output",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Collection named Genes raw or Genes filtered from STARsolo output",name:"STARsolo Genes"}],label:"STARsolo Genes",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"3e312de3-0895-4b46-ac51-9c1c7e341194",when:null,workflow_outputs:[]},1:{annotation:"Collection named Barcodes raw or Barcodes filtered from STARsolo output",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Collection named Barcodes raw or Barcodes filtered from STARsolo output",name:"STARsolo Barcodes"}],label:"STARsolo Barcodes",name:"Input dataset collection",outputs:[],position:{left:23,top:126},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"4f8d1d99-0adc-40a8-a53b-ce9c1c614aeb",when:null,workflow_outputs:[]},2:{annotation:"Collection named Matrix Gene Counts raw or Matrix Gene Counts filtered from STARsolo output",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Collection named Matrix Gene Counts raw or Matrix Gene Counts filtered from STARsolo output",name:"STARsolo Matrix Gene Counts"}],label:"STARsolo Matrix Gene Counts",name:"Input dataset collection",outputs:[],position:{left:84,top:249},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"266958e3-aacf-4b7f-8f74-6cbcdd5db4c0",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:3,input_connections:{input_collection:{id:2,output_name:"output"}},inputs:[],label:null,name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:337,top:438},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tsv", "chromInfo": "/cvmfs/data.galaxyproject.org/managed/len/ucsc/?.len", "input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"ff023a14-a401-4ede-8dfb-2187d2d8ad84",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:4,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:579,top:63},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_genes"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"e8eed7c4-a41f-4bf7-bf5d-b4ed5023f1b8",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:5,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:584,top:205},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_barcodes"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"de152d11-daaa-4c96-ada8-7917c17e9543",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:6,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:581,top:383},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "chromInfo": "/cvmfs/data.galaxyproject.org/managed/len/ucsc/?.len", "infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_matrix"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"ac2f7a73-a742-4977-b902-aba871059cb6",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:7,input_connections:{"how|labels":{id:4,output_name:"outfile"},input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:829,top:58},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"d627ba62-eeb9-49a3-b46f-120dd8c8e3d8",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:8,input_connections:{"how|labels":{id:5,output_name:"outfile"},input:{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:827,top:213},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"e4fad6a7-30e3-4b66-a9bd-5f11f7ea18db",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:9,input_connections:{"how|labels":{id:6,output_name:"outfile"},input:{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:823,top:364},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"fe80aa41-a8e4-4000-af6b-6c9713de9006",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"__MERGE_COLLECTION__",errors:null,id:10,input_connections:{"inputs_0|input":{id:9,output_name:"output"},"inputs_1|input":{id:8,output_name:"output"},"inputs_2|input":{id:7,output_name:"output"}},inputs:[],label:null,name:"Merge collections",outputs:[{name:"output",type:"input"}],position:{left:1064,top:128},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__MERGE_COLLECTION__",tool_state:'{"advanced": {"conflict": {"duplicate_options": "keep_first", "__current_case__": 3}}, "inputs": [{"__index__": 0, "input": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input": {"__class__": "ConnectedValue"}}, {"__index__": 2, "input": {"__class__": "ConnectedValue"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"a494a5d5-d908-448e-a406-c7f78d81c10b",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:11,input_connections:{input:{id:10,output_name:"output"}},inputs:[],label:null,name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:1284,top:128},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"All matrices in cell-ranger format"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"collapsible_value": {"__class__": "RuntimeValue"}, "columns": [1, 2], "connectable": true, "editing": false, "is_workflow": false, "type": "list_identifiers"}], "rules": [{"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "expression": "(.*)_(.*)", "group_count": null, "is_workflow": false, "replacement": "\\\\1", "target_column": 0, "type": "add_column_regex", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "expression": "(.*)_(.*)", "group_count": null, "is_workflow": false, "replacement": "\\\\2", "target_column": 0, "type": "add_column_regex", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"95eb63d6-f1a2-4f0d-b426-fc46a5133471",when:null,workflow_outputs:[{label:"STARsolo cell ranger-like output",output_name:"output",uuid:"3a6385df-d937-4c8a-9430-9bafe0cb2f57"}]}},tags:[],uuid:"933626df-33e9-46ac-8206-d297a7fcb83a"},tool_id:null,type:"subworkflow",uuid:"697a68da-9cb9-469b-8102-30c3a3ee589f",when:null,workflow_outputs:[{label:"Seurat input for gene expression (filtered)",output_name:"STARsolo cell ranger-like output",uuid:"6cb072df-9e26-456b-ab4f-bc95345b02b4"}]}},tags:[],uuid:"a999ad68-faa9-4ccb-81b4-ac648af028bd"},tool_id:null,type:"subworkflow",uuid:"20cd1d79-f289-40d5-a239-ef1f18c0df35",when:null,workflow_outputs:[{label:"Seurat input for gene expression (filtered)",output_name:"Seurat input for gene expression (filtered)",uuid:"1fc82f04-a2b3-4036-b07f-09e27045d251"},{label:"MultiQC_STARsolo",output_name:"MultiQC on input dataset(s): Webpage",uuid:"84c213a8-9b9a-413e-b944-be94e6ac80ac"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/cite_seq_count/cite_seq_count/1.4.4+galaxy0",errors:null,id:9,input_connections:{expected_cells:{id:7,output_name:"output"},"input_types|input_collection":{id:5,output_name:"output"},tags:{id:6,output_name:"output"},whitelist:{id:3,output_name:"output"}},inputs:[{description:"runtime parameter for tool CITE-seq-Count",name:"input_types"}],label:null,name:"CITE-seq-Count",outputs:[{name:"report",type:"yaml"},{name:"output_features",type:"tsv"},{name:"output_barcodes",type:"tsv"},{name:"output_matrix",type:"mtx"},{name:"output_features_filtered",type:"tsv"},{name:"output_barcodes_filtered",type:"tsv"},{name:"output_matrix_filtered",type:"mtx"}],position:{left:667.6833801269531,top:481.593854350586},post_job_actions:{HideDatasetActionoutput_barcodes:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_barcodes"},HideDatasetActionoutput_barcodes_filtered:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_barcodes_filtered"},HideDatasetActionoutput_features:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_features"},HideDatasetActionoutput_features_filtered:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_features_filtered"},HideDatasetActionoutput_matrix:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_matrix"},HideDatasetActionoutput_matrix_filtered:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_matrix_filtered"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/cite_seq_count/cite_seq_count/1.4.4+galaxy0",tool_shed_repository:{changeset_revision:"3df3d1b51110",name:"cite_seq_count",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bc_collapsing_dist": "1", "dense": false, "expected_cells": {"__class__": "ConnectedValue"}, "first_n": "0", "input_types": {"use": "list_paired", "__current_case__": 1, "input_collection": {"__class__": "ConnectedValue"}}, "max_error": "2", "no_umi_correction": false, "params": {"chemistry": "v3", "__current_case__": 1}, "sliding_window": false, "start_trim": "0", "tags": {"__class__": "ConnectedValue"}, "umi_collapsing_dist": "2", "unmapped": {"output": "false", "__current_case__": 0}, "whitelist": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.4.4+galaxy0",type:"tool",uuid:"0aa67706-b4c9-4d4f-98b0-d019ed33db0b",when:null,workflow_outputs:[{label:"CITE-seq-Count report",output_name:"report",uuid:"ee9c2582-bbae-4081-8367-67eb36ad1c49"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",errors:null,id:10,input_connections:{"style_cond|type_cond|pick_from_0|value":{id:8,output_name:"Seurat input for gene expression (filtered)"}},inputs:[],label:"Rename STAR-solo output",name:"Pick parameter value",outputs:[{name:"data_param",type:"input"}],position:{left:1380.7500305175781,top:364.6771978564454},post_job_actions:{RenameDatasetActiondata_param:{action_arguments:{newname:"Seurat input for gene expression (filtered)"},action_type:"RenameDatasetAction",output_name:"data_param"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",tool_shed_repository:{changeset_revision:"b19e21af9c52",name:"pick_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"style_cond": {"pick_style": "first", "__current_case__": 0, "type_cond": {"param_type": "data", "__current_case__": 4, "pick_from": [{"__index__": 0, "value": {"__class__": "ConnectedValue"}}]}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"c67e69ba-ebd3-4331-9e8e-a9d8c99c3ae6",when:null,workflow_outputs:[{label:"Renamed Seurat input for gene expression (filtered)",output_name:"data_param",uuid:"1d245db6-d570-4c68-a830-b4fc6ce46499"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:11,input_connections:{infile:{id:9,output_name:"output_barcodes_filtered"}},inputs:[],label:"translate 10x barcode v2 to 10x barcode v1",name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:928.6666564941406,top:654.5771917529298},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": "{split($1,a,\\"\\"); a[8]=a[8]==\\"A\\"?\\"T\\":a[8]==\\"T\\"?\\"A\\":a[8]==\\"C\\"?\\"G\\":\\"C\\"; a[9]=a[9]==\\"A\\"?\\"T\\":a[9]==\\"T\\"?\\"A\\":a[9]==\\"C\\"?\\"G\\":\\"C\\"; print a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a[10]a[11]a[12]a[13]a[14]a[15]a[16]}", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"72572815-061b-47f0-8234-d99d5c28261f",when:null,workflow_outputs:[]},12:{annotation:"",id:12,input_connections:{"STARsolo Barcodes":{id:11,input_subworkflow_step_id:1,output_name:"outfile"},"STARsolo Genes":{id:9,input_subworkflow_step_id:0,output_name:"output_features_filtered"},"STARsolo Matrix Gene Counts":{id:9,input_subworkflow_step_id:2,output_name:"output_matrix_filtered"}},inputs:[{description:"",name:"Re-organize CITE-seq-Count output"}],label:"Re-organize CITE-seq-Count output",name:"Re-organize-STAR-solo-output",outputs:[],position:{left:1173.6666564941406,top:750.6105169482423},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Re-organize-STAR-solo-output",steps:{0:{annotation:"Collection named Genes raw or Genes filtered from STARsolo output",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Collection named Genes raw or Genes filtered from STARsolo output",name:"STARsolo Genes"}],label:"STARsolo Genes",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"3e312de3-0895-4b46-ac51-9c1c7e341194",when:null,workflow_outputs:[]},1:{annotation:"Collection named Barcodes raw or Barcodes filtered from STARsolo output",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Collection named Barcodes raw or Barcodes filtered from STARsolo output",name:"STARsolo Barcodes"}],label:"STARsolo Barcodes",name:"Input dataset collection",outputs:[],position:{left:23,top:126},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"4f8d1d99-0adc-40a8-a53b-ce9c1c614aeb",when:null,workflow_outputs:[]},2:{annotation:"Collection named Matrix Gene Counts raw or Matrix Gene Counts filtered from STARsolo output",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Collection named Matrix Gene Counts raw or Matrix Gene Counts filtered from STARsolo output",name:"STARsolo Matrix Gene Counts"}],label:"STARsolo Matrix Gene Counts",name:"Input dataset collection",outputs:[],position:{left:84,top:249},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"266958e3-aacf-4b7f-8f74-6cbcdd5db4c0",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:3,input_connections:{input_collection:{id:2,output_name:"output"}},inputs:[],label:null,name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:337,top:438},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tsv", "chromInfo": "/cvmfs/data.galaxyproject.org/managed/len/ucsc/?.len", "input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"ff023a14-a401-4ede-8dfb-2187d2d8ad84",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:4,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:579,top:63},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_genes"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"e8eed7c4-a41f-4bf7-bf5d-b4ed5023f1b8",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:5,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:584,top:205},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_barcodes"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"de152d11-daaa-4c96-ada8-7917c17e9543",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:6,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:581,top:383},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "chromInfo": "/cvmfs/data.galaxyproject.org/managed/len/ucsc/?.len", "infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_matrix"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"ac2f7a73-a742-4977-b902-aba871059cb6",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:7,input_connections:{"how|labels":{id:4,output_name:"outfile"},input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:829,top:58},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"d627ba62-eeb9-49a3-b46f-120dd8c8e3d8",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:8,input_connections:{"how|labels":{id:5,output_name:"outfile"},input:{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:827,top:213},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"e4fad6a7-30e3-4b66-a9bd-5f11f7ea18db",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:9,input_connections:{"how|labels":{id:6,output_name:"outfile"},input:{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:823,top:364},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"fe80aa41-a8e4-4000-af6b-6c9713de9006",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"__MERGE_COLLECTION__",errors:null,id:10,input_connections:{"inputs_0|input":{id:9,output_name:"output"},"inputs_1|input":{id:8,output_name:"output"},"inputs_2|input":{id:7,output_name:"output"}},inputs:[],label:null,name:"Merge collections",outputs:[{name:"output",type:"input"}],position:{left:1064,top:128},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__MERGE_COLLECTION__",tool_state:'{"advanced": {"conflict": {"duplicate_options": "keep_first", "__current_case__": 3}}, "inputs": [{"__index__": 0, "input": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input": {"__class__": "ConnectedValue"}}, {"__index__": 2, "input": {"__class__": "ConnectedValue"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"a494a5d5-d908-448e-a406-c7f78d81c10b",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:11,input_connections:{input:{id:10,output_name:"output"}},inputs:[],label:null,name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:1284,top:128},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"All matrices in cell-ranger format"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"collapsible_value": {"__class__": "RuntimeValue"}, "columns": [1, 2], "connectable": true, "editing": false, "is_workflow": false, "type": "list_identifiers"}], "rules": [{"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "expression": "(.*)_(.*)", "group_count": null, "is_workflow": false, "replacement": "\\\\1", "target_column": 0, "type": "add_column_regex", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "expression": "(.*)_(.*)", "group_count": null, "is_workflow": false, "replacement": "\\\\2", "target_column": 0, "type": "add_column_regex", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"95eb63d6-f1a2-4f0d-b426-fc46a5133471",when:null,workflow_outputs:[{label:"STARsolo cell ranger-like output",output_name:"output",uuid:"3a6385df-d937-4c8a-9430-9bafe0cb2f57"}]}},tags:[],uuid:"79342c4e-bb7a-4b25-a214-7d5a10fbfd79"},tool_id:null,type:"subworkflow",uuid:"1626e9ae-6466-4ab1-852b-e237a5d3b601",when:null,workflow_outputs:[{label:"Seurat input for CMO (UMI)",output_name:"STARsolo cell ranger-like output",uuid:"f307e08b-8a9b-421d-b2dd-378c801b474e"}]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",errors:null,id:13,input_connections:{"style_cond|type_cond|pick_from_0|value":{id:12,output_name:"STARsolo cell ranger-like output"}},inputs:[],label:"rename CITE-seq output",name:"Pick parameter value",outputs:[{name:"data_param",type:"input"}],position:{left:1450.6999816894531,top:841.5938543505861},post_job_actions:{RenameDatasetActiondata_param:{action_arguments:{newname:"Seurat input for CMO (UMI)"},action_type:"RenameDatasetAction",output_name:"data_param"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",tool_shed_repository:{changeset_revision:"b19e21af9c52",name:"pick_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"style_cond": {"pick_style": "first", "__current_case__": 0, "type_cond": {"param_type": "data", "__current_case__": 4, "pick_from": [{"__index__": 0, "value": {"__class__": "ConnectedValue"}}]}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"3e819040-a643-4aa7-949c-42becbf21edd",when:null,workflow_outputs:[{label:"Renamed Seurat input for CMO (UMI)",output_name:"data_param",uuid:"a490fb25-f9f4-49f3-8e1c-a36a2edf43fc"}]}},tags:["#single-cell"],uuid:"470536e7-ac58-4859-94d6-2085be9c2e17",version:3},readme:`# Single-cell RNA-seq fastq to matrix for 10X data These workflows are inspired by the [training material](https://training.galaxyproject.org/training-material/topics/single-cell/tutorials/scrna-preprocessing-tenx/tutorial.html). Except that the output is in a 'bundle' format: three files (one matrix, one with genes, one with barcodes) which is similar to the cellranger output format. @@ -1919,7 +3575,103 @@ The test dataset has been produced to make it as small as possible in order to m - The CMO reads come from [zenodo](https://zenodo.org/records/10229382) and have been sampled to 0.1 with seqtk. - The GEX reads come from SRR13948489 but have been subsetted to the cells selected in the above zenodo. -`,changelog:"# Changelog\n\n## [0.5] 2024-09-25\n\n### Manual update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n\n## [0.3] 2024-02-12\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n\n## [0.2] 2024-02-05\n\n### Tool updates\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n- `pick_value` was replaced by `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0`\n\n\n\n## [0.1] 2023-12-21\n\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/fastq-to-matrix-10x/scrna-seq-fastq-to-matrix-10x-cellplex",tests:[{doc:"Test outline for scrna-seq-fastq-to-matrix-10X-cellplex.ga",job:{"fastq PE collection GEX":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"subsample",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/records/10412836/files/GEX_R1.fastqsanger.gz",filetype:"fastqsanger.gz"},{identifier:"reverse",class:"File",location:"https://zenodo.org/records/10412836/files/GEX_R2.fastqsanger.gz",filetype:"fastqsanger.gz"}]}]},"reference genome":"dm6","Barcode Size is same size of the Read":!1,gtf:{class:"File",location:"https://zenodo.org/record/6457007/files/Drosophila_melanogaster.BDGP6.32.109_UCSC.gtf.gz",decompress:!0,filetype:"gtf"},"cellranger_barcodes_3M-february-2018.txt":{class:"File",path:"test-data/all_cell_barcodes_both_versions.txt",filetype:"tabular"},"fastq PE collection CMO":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"subsample",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/records/10412836/files/CMO_R1.fastqsanger.gz",filetype:"fastqsanger.gz"},{identifier:"reverse",class:"File",location:"https://zenodo.org/records/10412836/files/CMO_R2.fastqsanger.gz",filetype:"fastqsanger.gz"}]}]},"sample name and CMO sequence collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"subsample",location:"https://zenodo.org/records/10229382/files/CMO.csv",filetype:"csv"}]},"Number of expected cells":500},outputs:{MultiQC_STARsolo:{asserts:{has_text_matching:{expression:'
33.[0-9]%
'}}},"Seurat input for gene expression (filtered)":{attributes:{collection_type:"list:list"},element_tests:{subsample:{elements:{matrix:{asserts:{has_line:{line:"23932 3 1171"}}},barcodes:{asserts:{has_line:{line:"CACATGATCATAAGGA"}}},genes:{asserts:{has_line:{line:"FBgn0250732 gfzf"}}}}}}},"CITE-seq-Count report":{attributes:{collection_type:"list"},element_tests:{subsample:{asserts:[{that:"has_line",line:"CITE-seq-Count Version: 1.4.4"},{that:"has_line",line:"Reads processed: 116993"},{that:"has_line",line:"Percentage mapped: 99"},{that:"has_line",line:"Percentage unmapped: 1"}]}}},"Seurat input for CMO (UMI)":{attributes:{collection_type:"list:list"},element_tests:{subsample:{elements:{matrix:{asserts:{has_line:{line:"8 1218 2289"}}},barcodes:{asserts:{has_line:{line:"CACATGATCATAAGGA"}}},genes:{asserts:{has_line:{line:"mESC.rep1-CGCGATATGGTCGGA"}}}}}}}}}]},{name:"scrna-seq-fastq-to-matrix-10x-v3",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/scrna-seq-fastq-to-matrix-10x-v3.ga",testParameterFiles:["/scrna-seq-fastq-to-matrix-10x-v3-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"},{name:"Mehmet Tekman",orcid:"0000-0002-4181-2676"},{name:"Hans-Rudolf Hotz",orcid:"0000-0002-2799-424X"},{name:"Daniel Blankenberg",orcid:"0000-0002-6833-9049"},{name:"Wendi Bacon",orcid:"0000-0002-8170-8806"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow processes the Gene Expresion fastqs with STARsolo, filter cells with DropletUtils and reformat all outputs to be easily used by the function 'Read10X' from Seurat.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"},{class:"Person",identifier:"https://orcid.org/0000-0002-4181-2676",name:"Mehmet Tekman"},{class:"Person",identifier:"https://orcid.org/0000-0002-2799-424X",name:"Hans-Rudolf Hotz"},{class:"Person",identifier:"https://orcid.org/0000-0002-6833-9049",name:"Daniel Blankenberg"},{class:"Person",identifier:"https://orcid.org/0000-0002-8170-8806",name:"Wendi Bacon"}],"format-version":"0.1",license:"MIT",release:"0.5",name:"scRNA-seq_preprocessing_10X_v3_Bundle",steps:{0:{annotation:"Collection of Pairs with fastqs one item per sample",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Collection of Pairs with fastqs one item per sample",name:"fastq PE collection"}],label:"fastq PE collection",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"eea58879-4368-4edf-ad0a-2dbd91de2db7",when:null,workflow_outputs:[]},1:{annotation:"Choose your reference genome",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Choose your reference genome",name:"reference genome"}],label:"reference genome",name:"Input parameter",outputs:[],position:{left:58.94316181636054,top:104},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"adf0f555-5974-44b9-a067-37e4054cd662",when:null,workflow_outputs:[]},2:{annotation:"Gene annotations",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Gene annotations",name:"gtf"}],label:"gtf",name:"Input dataset",outputs:[],position:{left:121.00981220698554,top:197},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"8724cc04-fa9f-48df-ba31-6c47a03c9bde",when:null,workflow_outputs:[]},3:{annotation:"Available at https://zenodo.org/record/3457880/files/3M-february-2018.txt.gz",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Available at https://zenodo.org/record/3457880/files/3M-february-2018.txt.gz",name:"cellranger_barcodes_3M-february-2018.txt"}],label:"cellranger_barcodes_3M-february-2018.txt",name:"Input dataset",outputs:[],position:{left:194.97648701167304,top:293},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"bc4574f1-2a6f-44db-bed3-6d066d5ce42f",when:null,workflow_outputs:[]},4:{annotation:"Barcode Size is same size of the Read",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Barcode Size is same size of the Read",name:"Barcode Size is same size of the Read"}],label:"Barcode Size is same size of the Read",name:"Input parameter",outputs:[],position:{left:260.683349609375,top:414.5},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a9d14d27-ca59-444d-9fe1-485b3354b9a7",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1",errors:null,id:5,input_connections:{"refGenomeSource|GTFconditional|genomeDir":{id:1,output_name:"output"},"refGenomeSource|GTFconditional|sjdbGTFfile":{id:2,output_name:"output"},"sc|input_types|input_collection":{id:0,output_name:"output"},"sc|soloBarcodeReadLength":{id:4,output_name:"output"},"sc|soloCBwhitelist":{id:3,output_name:"output"}},inputs:[{description:"runtime parameter for tool RNA STARSolo",name:"sc"},{description:"runtime parameter for tool RNA STARSolo",name:"sc"}],label:null,name:"RNA STARSolo",outputs:[{name:"output_log",type:"txt"},{name:"output_genes",type:"tsv"},{name:"output_barcodes",type:"tsv"},{name:"output_matrix",type:"mtx"},{name:"output_BAM",type:"bam"},{name:"output_stats",type:"txt"},{name:"reads_per_gene",type:"tabular"}],position:{left:568.7432106444855,top:374},post_job_actions:{HideDatasetActionoutput_BAM:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_BAM"},HideDatasetActionoutput_barcodes:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_barcodes"},HideDatasetActionoutput_genes:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_genes"},HideDatasetActionoutput_log:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_log"},HideDatasetActionoutput_matrix:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_matrix"},HideDatasetActionoutput_stats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_stats"},HideDatasetActionreads_per_gene:{action_arguments:{},action_type:"HideDatasetAction",output_name:"reads_per_gene"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1",tool_shed_repository:{changeset_revision:"45795f582ae9",name:"rna_starsolo",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"outWig": {"outWigType": "None", "__current_case__": 0, "outWigStrand": "false"}, "refGenomeSource": {"geneSource": "indexed", "__current_case__": 0, "GTFconditional": {"GTFselect": "without-gtf-with-gtf", "__current_case__": 1, "genomeDir": {"__class__": "ConnectedValue"}, "sjdbGTFfile": {"__class__": "RuntimeValue"}, "sjdbGTFfeatureExon": "exon", "sjdbOverhang": "100"}}, "sc": {"solo_type": "CB_UMI_Simple", "__current_case__": 0, "input_types": {"use": "list_paired", "__current_case__": 1, "input_collection": {"__class__": "RuntimeValue"}}, "soloCBwhitelist": {"__class__": "RuntimeValue"}, "params": {"chemistry": "Cv3", "__current_case__": 1}, "soloBarcodeReadLength": {"__class__": "ConnectedValue"}, "umidedup": {"soloUMIdedup": "1MM_CR", "__current_case__": 4, "soloUMIfiltering": "-"}, "soloCBmatchWLtype": "1MM_multi"}, "solo": {"soloStrand": "Forward", "soloFeatures": "Gene", "wasp_conditional": {"waspOutputMode": "", "__current_case__": 1}, "filter": {"filter_type": "no_filter", "__current_case__": 3, "output_raw": "true"}, "soloOutFormatFeaturesGeneField3": "Gene Expression", "outSAMattributes": ["NH", "HI", "AS", "nM", "GX", "GN", "CB", "UB"], "quantModeGene": true, "outSAMunmapped": false, "outSAMmapqUnique": "60", "junction_limits": {"limitOutSJoneRead": "1000", "limitOutSJcollapsed": "1000000", "limitSjdbInsertNsj": "1000000"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.7.11a+galaxy1",type:"tool",uuid:"cef740b0-fa95-4542-b08f-dbfca4bfb3e5",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:6,input_connections:{"results_0|software_cond|output_0|type|input":{id:5,output_name:"output_log"},"results_0|software_cond|output_1|type|input":{id:5,output_name:"reads_per_gene"}},inputs:[],label:"multiQC",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:848.0098122069855,top:366.98333740234375},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "star", "__current_case__": 28, "output": [{"__index__": 0, "type": {"type": "log", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "type": {"type": "genecounts", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}}]}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"a16bf20e-2bc9-45e7-a0a3-b5590212b973",when:null,workflow_outputs:[{label:"MultiQC on input dataset(s): Webpage",output_name:"html_report",uuid:"eb55ba68-0473-4b09-87b9-007be3a86098"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/dropletutils/dropletutils/1.10.0+galaxy2",errors:null,id:7,input_connections:{"tenx_format|input":{id:5,output_name:"output_matrix"},"tenx_format|input_barcodes":{id:5,output_name:"output_barcodes"},"tenx_format|input_genes":{id:5,output_name:"output_genes"}},inputs:[{description:"runtime parameter for tool DropletUtils",name:"tenx_format"},{description:"runtime parameter for tool DropletUtils",name:"tenx_format"},{description:"runtime parameter for tool DropletUtils",name:"tenx_format"}],label:"filter cells",name:"DropletUtils",outputs:[{name:"barcodes_out",type:"tsv"},{name:"genes_out",type:"tsv"},{name:"matrix_out",type:"mtx"},{name:"plot",type:"png"},{name:"table",type:"tsv"}],position:{left:848.0098122069855,top:640.9833374023438},post_job_actions:{HideDatasetActionbarcodes_out:{action_arguments:{},action_type:"HideDatasetAction",output_name:"barcodes_out"},HideDatasetActiongenes_out:{action_arguments:{},action_type:"HideDatasetAction",output_name:"genes_out"},HideDatasetActionmatrix_out:{action_arguments:{},action_type:"HideDatasetAction",output_name:"matrix_out"},HideDatasetActionplot:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plot"},HideDatasetActiontable:{action_arguments:{},action_type:"HideDatasetAction",output_name:"table"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/dropletutils/dropletutils/1.10.0+galaxy2",tool_shed_repository:{changeset_revision:"a9caad671439",name:"dropletutils",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation": {"use": "filter", "__current_case__": 0, "method": {"use": "emptydrops", "__current_case__": 1, "lower": "100", "fdr_thresh": "0.01"}, "outformat": "directory"}, "seed": "100", "tenx_format": {"use": "directory", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "input_genes": {"__class__": "ConnectedValue"}, "input_barcodes": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.10.0+galaxy2",type:"tool",uuid:"2ba61d0f-82ae-4044-a7ad-41df1cf8c9b6",when:null,workflow_outputs:[]},8:{annotation:"",id:8,input_connections:{"STARsolo Barcodes":{id:7,input_subworkflow_step_id:1,output_name:"barcodes_out"},"STARsolo Genes":{id:7,input_subworkflow_step_id:0,output_name:"genes_out"},"STARsolo Matrix Gene Counts":{id:7,input_subworkflow_step_id:2,output_name:"matrix_out"}},inputs:[{description:"",name:"Re-organize STAR-solo output"}],label:"Re-organize STAR-solo output",name:"Re-organize-STAR-solo-output",outputs:[],position:{left:1125.976487011673,top:774},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Re-organize-STAR-solo-output",steps:{0:{annotation:"Collection named Genes raw or Genes filtered from STARsolo output",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Collection named Genes raw or Genes filtered from STARsolo output",name:"STARsolo Genes"}],label:"STARsolo Genes",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"3e312de3-0895-4b46-ac51-9c1c7e341194",when:null,workflow_outputs:[]},1:{annotation:"Collection named Barcodes raw or Barcodes filtered from STARsolo output",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Collection named Barcodes raw or Barcodes filtered from STARsolo output",name:"STARsolo Barcodes"}],label:"STARsolo Barcodes",name:"Input dataset collection",outputs:[],position:{left:23,top:126},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"4f8d1d99-0adc-40a8-a53b-ce9c1c614aeb",when:null,workflow_outputs:[]},2:{annotation:"Collection named Matrix Gene Counts raw or Matrix Gene Counts filtered from STARsolo output",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Collection named Matrix Gene Counts raw or Matrix Gene Counts filtered from STARsolo output",name:"STARsolo Matrix Gene Counts"}],label:"STARsolo Matrix Gene Counts",name:"Input dataset collection",outputs:[],position:{left:84,top:249},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"266958e3-aacf-4b7f-8f74-6cbcdd5db4c0",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:3,input_connections:{input_collection:{id:2,output_name:"output"}},inputs:[],label:null,name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:337,top:438},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tsv", "chromInfo": "/cvmfs/data.galaxyproject.org/managed/len/ucsc/?.len", "input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"ff023a14-a401-4ede-8dfb-2187d2d8ad84",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:4,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:579,top:63},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_genes"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"e8eed7c4-a41f-4bf7-bf5d-b4ed5023f1b8",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:5,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:584,top:205},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_barcodes"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"de152d11-daaa-4c96-ada8-7917c17e9543",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:6,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:581,top:383},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "chromInfo": "/cvmfs/data.galaxyproject.org/managed/len/ucsc/?.len", "infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_matrix"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"ac2f7a73-a742-4977-b902-aba871059cb6",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:7,input_connections:{"how|labels":{id:4,output_name:"outfile"},input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:829,top:58},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"d627ba62-eeb9-49a3-b46f-120dd8c8e3d8",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:8,input_connections:{"how|labels":{id:5,output_name:"outfile"},input:{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:827,top:213},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"e4fad6a7-30e3-4b66-a9bd-5f11f7ea18db",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:9,input_connections:{"how|labels":{id:6,output_name:"outfile"},input:{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:823,top:364},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"fe80aa41-a8e4-4000-af6b-6c9713de9006",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"__MERGE_COLLECTION__",errors:null,id:10,input_connections:{"inputs_0|input":{id:9,output_name:"output"},"inputs_1|input":{id:8,output_name:"output"},"inputs_2|input":{id:7,output_name:"output"}},inputs:[],label:null,name:"Merge collections",outputs:[{name:"output",type:"input"}],position:{left:1064,top:128},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__MERGE_COLLECTION__",tool_state:'{"advanced": {"conflict": {"duplicate_options": "keep_first", "__current_case__": 3}}, "inputs": [{"__index__": 0, "input": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input": {"__class__": "ConnectedValue"}}, {"__index__": 2, "input": {"__class__": "ConnectedValue"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"a494a5d5-d908-448e-a406-c7f78d81c10b",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:11,input_connections:{input:{id:10,output_name:"output"}},inputs:[],label:null,name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:1284,top:128},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"All matrices in cell-ranger format"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"collapsible_value": {"__class__": "RuntimeValue"}, "columns": [1, 2], "connectable": true, "editing": false, "is_workflow": false, "type": "list_identifiers"}], "rules": [{"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "expression": "(.*)_(.*)", "group_count": null, "is_workflow": false, "replacement": "\\\\1", "target_column": 0, "type": "add_column_regex", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "expression": "(.*)_(.*)", "group_count": null, "is_workflow": false, "replacement": "\\\\2", "target_column": 0, "type": "add_column_regex", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"95eb63d6-f1a2-4f0d-b426-fc46a5133471",when:null,workflow_outputs:[{label:"STARsolo cell ranger-like output",output_name:"output",uuid:"3a6385df-d937-4c8a-9430-9bafe0cb2f57"}]}},tags:[],uuid:"933626df-33e9-46ac-8206-d297a7fcb83a"},tool_id:null,type:"subworkflow",uuid:"697a68da-9cb9-469b-8102-30c3a3ee589f",when:null,workflow_outputs:[{label:"Seurat input for gene expression (filtered)",output_name:"STARsolo cell ranger-like output",uuid:"6cb072df-9e26-456b-ab4f-bc95345b02b4"}]}},tags:["#single-cell"],uuid:"87f25ddb-a663-4582-9ec6-d0b4bef4109c",version:2},readme:`# Single-cell RNA-seq fastq to matrix for 10X data +`,changelog:"# Changelog\n\n## [0.5] 2024-09-25\n\n### Manual update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n\n## [0.3] 2024-02-12\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n\n## [0.2] 2024-02-05\n\n### Tool updates\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n- `pick_value` was replaced by `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0`\n\n\n\n## [0.1] 2023-12-21\n\nFirst release.\n",diagrams:`# Workflow diagrams + +## scRNA-seq_preprocessing_10X_cellPlex + +\`\`\`mermaid +graph LR +0["ℹ️ fastq PE collection GEX"]@{ shape: docs } +1["ℹ️ reference genome"]@{ shape: lean-l } +2["ℹ️ gtf"]@{ shape: doc } +3["ℹ️ cellranger_barcodes_3M-february-2018.txt"]@{ shape: doc } +4["ℹ️ Barcode Size is same size of the Read"]@{ shape: lean-l } +5["ℹ️ fastq PE collection CMO"]@{ shape: docs } +6["ℹ️ sample name and CMO sequence collection"]@{ shape: docs } +7["ℹ️ Number of expected cells"]@{ shape: lean-l } +8["🛠️ process GEX reads"]@{ shape: subprocess } +4 --> 8 +3 --> 8 +0 --> 8 +2 --> 8 +1 --> 8 +9["CITE-seq-Count"]@{ shape: process } +7 --> 9 +5 --> 9 +6 --> 9 +3 --> 9 +10["Rename STAR-solo output"]@{ shape: process } +8 --> 10 +11["translate 10x barcode v2 to 10x barcode v1"]@{ shape: process } +9 --> 11 +12["🛠️ Re-organize CITE-seq-Count output"]@{ shape: subprocess } +11 --> 12 +9 --> 12 +9 --> 12 +13["rename CITE-seq output"]@{ shape: process } +12 --> 13 +\`\`\` + +## scRNA-seq_preprocessing_10X_v3_Bundle + +\`\`\`mermaid +graph LR +0["ℹ️ fastq PE collection"]@{ shape: docs } +1["ℹ️ reference genome"]@{ shape: lean-l } +2["ℹ️ gtf"]@{ shape: doc } +3["ℹ️ cellranger_barcodes_3M-february-2018.txt"]@{ shape: doc } +4["ℹ️ Barcode Size is same size of the Read"]@{ shape: lean-l } +5["RNA STARSolo"]@{ shape: process } +1 --> 5 +2 --> 5 +0 --> 5 +4 --> 5 +3 --> 5 +6["multiQC"]@{ shape: process } +5 --> 6 +5 --> 6 +7["filter cells"]@{ shape: process } +5 --> 7 +5 --> 7 +5 --> 7 +8["🛠️ Re-organize STAR-solo output"]@{ shape: subprocess } +7 --> 8 +7 --> 8 +7 --> 8 +\`\`\` + +## Re-organize-STAR-solo-output + +\`\`\`mermaid +graph LR +0["ℹ️ STARsolo Genes"]@{ shape: docs } +1["ℹ️ STARsolo Barcodes"]@{ shape: docs } +2["ℹ️ STARsolo Matrix Gene Counts"]@{ shape: docs } +3["Extract element identifiers"]@{ shape: process } +2 --> 3 +4["Replace Text"]@{ shape: process } +3 --> 4 +5["Replace Text"]@{ shape: process } +3 --> 5 +6["Replace Text"]@{ shape: process } +3 --> 6 +7["Relabel identifiers"]@{ shape: process } +4 --> 7 +0 --> 7 +8["Relabel identifiers"]@{ shape: process } +5 --> 8 +1 --> 8 +9["Relabel identifiers"]@{ shape: process } +6 --> 9 +2 --> 9 +10["Merge collections"]@{ shape: process } +9 --> 10 +8 --> 10 +7 --> 10 +11["Apply rules"]@{ shape: process } +10 --> 11 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/fastq-to-matrix-10x/scrna-seq-fastq-to-matrix-10x-cellplex",tests:[{doc:"Test outline for scrna-seq-fastq-to-matrix-10X-cellplex.ga",job:{"fastq PE collection GEX":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"subsample",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/records/10412836/files/GEX_R1.fastqsanger.gz",filetype:"fastqsanger.gz"},{identifier:"reverse",class:"File",location:"https://zenodo.org/records/10412836/files/GEX_R2.fastqsanger.gz",filetype:"fastqsanger.gz"}]}]},"reference genome":"dm6","Barcode Size is same size of the Read":!1,gtf:{class:"File",location:"https://zenodo.org/record/6457007/files/Drosophila_melanogaster.BDGP6.32.109_UCSC.gtf.gz",decompress:!0,filetype:"gtf"},"cellranger_barcodes_3M-february-2018.txt":{class:"File",path:"test-data/all_cell_barcodes_both_versions.txt",filetype:"tabular"},"fastq PE collection CMO":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"subsample",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/records/10412836/files/CMO_R1.fastqsanger.gz",filetype:"fastqsanger.gz"},{identifier:"reverse",class:"File",location:"https://zenodo.org/records/10412836/files/CMO_R2.fastqsanger.gz",filetype:"fastqsanger.gz"}]}]},"sample name and CMO sequence collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"subsample",location:"https://zenodo.org/records/10229382/files/CMO.csv",filetype:"csv"}]},"Number of expected cells":500},outputs:{MultiQC_STARsolo:{asserts:{has_text_matching:{expression:'
33.[0-9]%
'}}},"Seurat input for gene expression (filtered)":{attributes:{collection_type:"list:list"},element_tests:{subsample:{elements:{matrix:{asserts:{has_line:{line:"23932 3 1171"}}},barcodes:{asserts:{has_line:{line:"CACATGATCATAAGGA"}}},genes:{asserts:{has_line:{line:"FBgn0250732 gfzf"}}}}}}},"CITE-seq-Count report":{attributes:{collection_type:"list"},element_tests:{subsample:{asserts:[{that:"has_line",line:"CITE-seq-Count Version: 1.4.4"},{that:"has_line",line:"Reads processed: 116993"},{that:"has_line",line:"Percentage mapped: 99"},{that:"has_line",line:"Percentage unmapped: 1"}]}}},"Seurat input for CMO (UMI)":{attributes:{collection_type:"list:list"},element_tests:{subsample:{elements:{matrix:{asserts:{has_line:{line:"8 1218 2289"}}},barcodes:{asserts:{has_line:{line:"CACATGATCATAAGGA"}}},genes:{asserts:{has_line:{line:"mESC.rep1-CGCGATATGGTCGGA"}}}}}}}}}]},{name:"scrna-seq-fastq-to-matrix-10x-v3",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/scrna-seq-fastq-to-matrix-10x-v3.ga",testParameterFiles:["/scrna-seq-fastq-to-matrix-10x-v3-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"},{name:"Mehmet Tekman",orcid:"0000-0002-4181-2676"},{name:"Hans-Rudolf Hotz",orcid:"0000-0002-2799-424X"},{name:"Daniel Blankenberg",orcid:"0000-0002-6833-9049"},{name:"Wendi Bacon",orcid:"0000-0002-8170-8806"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow processes the Gene Expresion fastqs with STARsolo, filter cells with DropletUtils and reformat all outputs to be easily used by the function 'Read10X' from Seurat.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"},{class:"Person",identifier:"https://orcid.org/0000-0002-4181-2676",name:"Mehmet Tekman"},{class:"Person",identifier:"https://orcid.org/0000-0002-2799-424X",name:"Hans-Rudolf Hotz"},{class:"Person",identifier:"https://orcid.org/0000-0002-6833-9049",name:"Daniel Blankenberg"},{class:"Person",identifier:"https://orcid.org/0000-0002-8170-8806",name:"Wendi Bacon"}],"format-version":"0.1",license:"MIT",release:"0.5",name:"scRNA-seq_preprocessing_10X_v3_Bundle",steps:{0:{annotation:"Collection of Pairs with fastqs one item per sample",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Collection of Pairs with fastqs one item per sample",name:"fastq PE collection"}],label:"fastq PE collection",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"eea58879-4368-4edf-ad0a-2dbd91de2db7",when:null,workflow_outputs:[]},1:{annotation:"Choose your reference genome",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Choose your reference genome",name:"reference genome"}],label:"reference genome",name:"Input parameter",outputs:[],position:{left:58.94316181636054,top:104},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"adf0f555-5974-44b9-a067-37e4054cd662",when:null,workflow_outputs:[]},2:{annotation:"Gene annotations",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Gene annotations",name:"gtf"}],label:"gtf",name:"Input dataset",outputs:[],position:{left:121.00981220698554,top:197},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"8724cc04-fa9f-48df-ba31-6c47a03c9bde",when:null,workflow_outputs:[]},3:{annotation:"Available at https://zenodo.org/record/3457880/files/3M-february-2018.txt.gz",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Available at https://zenodo.org/record/3457880/files/3M-february-2018.txt.gz",name:"cellranger_barcodes_3M-february-2018.txt"}],label:"cellranger_barcodes_3M-february-2018.txt",name:"Input dataset",outputs:[],position:{left:194.97648701167304,top:293},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"bc4574f1-2a6f-44db-bed3-6d066d5ce42f",when:null,workflow_outputs:[]},4:{annotation:"Barcode Size is same size of the Read",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Barcode Size is same size of the Read",name:"Barcode Size is same size of the Read"}],label:"Barcode Size is same size of the Read",name:"Input parameter",outputs:[],position:{left:260.683349609375,top:414.5},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a9d14d27-ca59-444d-9fe1-485b3354b9a7",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1",errors:null,id:5,input_connections:{"refGenomeSource|GTFconditional|genomeDir":{id:1,output_name:"output"},"refGenomeSource|GTFconditional|sjdbGTFfile":{id:2,output_name:"output"},"sc|input_types|input_collection":{id:0,output_name:"output"},"sc|soloBarcodeReadLength":{id:4,output_name:"output"},"sc|soloCBwhitelist":{id:3,output_name:"output"}},inputs:[{description:"runtime parameter for tool RNA STARSolo",name:"sc"},{description:"runtime parameter for tool RNA STARSolo",name:"sc"}],label:null,name:"RNA STARSolo",outputs:[{name:"output_log",type:"txt"},{name:"output_genes",type:"tsv"},{name:"output_barcodes",type:"tsv"},{name:"output_matrix",type:"mtx"},{name:"output_BAM",type:"bam"},{name:"output_stats",type:"txt"},{name:"reads_per_gene",type:"tabular"}],position:{left:568.7432106444855,top:374},post_job_actions:{HideDatasetActionoutput_BAM:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_BAM"},HideDatasetActionoutput_barcodes:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_barcodes"},HideDatasetActionoutput_genes:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_genes"},HideDatasetActionoutput_log:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_log"},HideDatasetActionoutput_matrix:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_matrix"},HideDatasetActionoutput_stats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_stats"},HideDatasetActionreads_per_gene:{action_arguments:{},action_type:"HideDatasetAction",output_name:"reads_per_gene"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1",tool_shed_repository:{changeset_revision:"45795f582ae9",name:"rna_starsolo",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"outWig": {"outWigType": "None", "__current_case__": 0, "outWigStrand": "false"}, "refGenomeSource": {"geneSource": "indexed", "__current_case__": 0, "GTFconditional": {"GTFselect": "without-gtf-with-gtf", "__current_case__": 1, "genomeDir": {"__class__": "ConnectedValue"}, "sjdbGTFfile": {"__class__": "RuntimeValue"}, "sjdbGTFfeatureExon": "exon", "sjdbOverhang": "100"}}, "sc": {"solo_type": "CB_UMI_Simple", "__current_case__": 0, "input_types": {"use": "list_paired", "__current_case__": 1, "input_collection": {"__class__": "RuntimeValue"}}, "soloCBwhitelist": {"__class__": "RuntimeValue"}, "params": {"chemistry": "Cv3", "__current_case__": 1}, "soloBarcodeReadLength": {"__class__": "ConnectedValue"}, "umidedup": {"soloUMIdedup": "1MM_CR", "__current_case__": 4, "soloUMIfiltering": "-"}, "soloCBmatchWLtype": "1MM_multi"}, "solo": {"soloStrand": "Forward", "soloFeatures": "Gene", "wasp_conditional": {"waspOutputMode": "", "__current_case__": 1}, "filter": {"filter_type": "no_filter", "__current_case__": 3, "output_raw": "true"}, "soloOutFormatFeaturesGeneField3": "Gene Expression", "outSAMattributes": ["NH", "HI", "AS", "nM", "GX", "GN", "CB", "UB"], "quantModeGene": true, "outSAMunmapped": false, "outSAMmapqUnique": "60", "junction_limits": {"limitOutSJoneRead": "1000", "limitOutSJcollapsed": "1000000", "limitSjdbInsertNsj": "1000000"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.7.11a+galaxy1",type:"tool",uuid:"cef740b0-fa95-4542-b08f-dbfca4bfb3e5",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:6,input_connections:{"results_0|software_cond|output_0|type|input":{id:5,output_name:"output_log"},"results_0|software_cond|output_1|type|input":{id:5,output_name:"reads_per_gene"}},inputs:[],label:"multiQC",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:848.0098122069855,top:366.98333740234375},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "star", "__current_case__": 28, "output": [{"__index__": 0, "type": {"type": "log", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "type": {"type": "genecounts", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}}]}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"a16bf20e-2bc9-45e7-a0a3-b5590212b973",when:null,workflow_outputs:[{label:"MultiQC on input dataset(s): Webpage",output_name:"html_report",uuid:"eb55ba68-0473-4b09-87b9-007be3a86098"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/dropletutils/dropletutils/1.10.0+galaxy2",errors:null,id:7,input_connections:{"tenx_format|input":{id:5,output_name:"output_matrix"},"tenx_format|input_barcodes":{id:5,output_name:"output_barcodes"},"tenx_format|input_genes":{id:5,output_name:"output_genes"}},inputs:[{description:"runtime parameter for tool DropletUtils",name:"tenx_format"},{description:"runtime parameter for tool DropletUtils",name:"tenx_format"},{description:"runtime parameter for tool DropletUtils",name:"tenx_format"}],label:"filter cells",name:"DropletUtils",outputs:[{name:"barcodes_out",type:"tsv"},{name:"genes_out",type:"tsv"},{name:"matrix_out",type:"mtx"},{name:"plot",type:"png"},{name:"table",type:"tsv"}],position:{left:848.0098122069855,top:640.9833374023438},post_job_actions:{HideDatasetActionbarcodes_out:{action_arguments:{},action_type:"HideDatasetAction",output_name:"barcodes_out"},HideDatasetActiongenes_out:{action_arguments:{},action_type:"HideDatasetAction",output_name:"genes_out"},HideDatasetActionmatrix_out:{action_arguments:{},action_type:"HideDatasetAction",output_name:"matrix_out"},HideDatasetActionplot:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plot"},HideDatasetActiontable:{action_arguments:{},action_type:"HideDatasetAction",output_name:"table"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/dropletutils/dropletutils/1.10.0+galaxy2",tool_shed_repository:{changeset_revision:"a9caad671439",name:"dropletutils",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation": {"use": "filter", "__current_case__": 0, "method": {"use": "emptydrops", "__current_case__": 1, "lower": "100", "fdr_thresh": "0.01"}, "outformat": "directory"}, "seed": "100", "tenx_format": {"use": "directory", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "input_genes": {"__class__": "ConnectedValue"}, "input_barcodes": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.10.0+galaxy2",type:"tool",uuid:"2ba61d0f-82ae-4044-a7ad-41df1cf8c9b6",when:null,workflow_outputs:[]},8:{annotation:"",id:8,input_connections:{"STARsolo Barcodes":{id:7,input_subworkflow_step_id:1,output_name:"barcodes_out"},"STARsolo Genes":{id:7,input_subworkflow_step_id:0,output_name:"genes_out"},"STARsolo Matrix Gene Counts":{id:7,input_subworkflow_step_id:2,output_name:"matrix_out"}},inputs:[{description:"",name:"Re-organize STAR-solo output"}],label:"Re-organize STAR-solo output",name:"Re-organize-STAR-solo-output",outputs:[],position:{left:1125.976487011673,top:774},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Re-organize-STAR-solo-output",steps:{0:{annotation:"Collection named Genes raw or Genes filtered from STARsolo output",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Collection named Genes raw or Genes filtered from STARsolo output",name:"STARsolo Genes"}],label:"STARsolo Genes",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"3e312de3-0895-4b46-ac51-9c1c7e341194",when:null,workflow_outputs:[]},1:{annotation:"Collection named Barcodes raw or Barcodes filtered from STARsolo output",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Collection named Barcodes raw or Barcodes filtered from STARsolo output",name:"STARsolo Barcodes"}],label:"STARsolo Barcodes",name:"Input dataset collection",outputs:[],position:{left:23,top:126},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"4f8d1d99-0adc-40a8-a53b-ce9c1c614aeb",when:null,workflow_outputs:[]},2:{annotation:"Collection named Matrix Gene Counts raw or Matrix Gene Counts filtered from STARsolo output",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Collection named Matrix Gene Counts raw or Matrix Gene Counts filtered from STARsolo output",name:"STARsolo Matrix Gene Counts"}],label:"STARsolo Matrix Gene Counts",name:"Input dataset collection",outputs:[],position:{left:84,top:249},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"266958e3-aacf-4b7f-8f74-6cbcdd5db4c0",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:3,input_connections:{input_collection:{id:2,output_name:"output"}},inputs:[],label:null,name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:337,top:438},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tsv", "chromInfo": "/cvmfs/data.galaxyproject.org/managed/len/ucsc/?.len", "input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"ff023a14-a401-4ede-8dfb-2187d2d8ad84",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:4,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:579,top:63},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_genes"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"e8eed7c4-a41f-4bf7-bf5d-b4ed5023f1b8",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:5,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:584,top:205},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_barcodes"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"de152d11-daaa-4c96-ada8-7917c17e9543",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",errors:null,id:6,input_connections:{infile:{id:3,output_name:"output"}},inputs:[],label:null,name:"Replace Text",outputs:[{name:"outfile",type:"input"}],position:{left:581,top:383},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "chromInfo": "/cvmfs/data.galaxyproject.org/managed/len/ucsc/?.len", "infile": {"__class__": "ConnectedValue"}, "replacements": [{"__index__": 0, "find_pattern": "(.*)", "replace_pattern": "\\\\1_matrix"}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"ac2f7a73-a742-4977-b902-aba871059cb6",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:7,input_connections:{"how|labels":{id:4,output_name:"outfile"},input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:829,top:58},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"d627ba62-eeb9-49a3-b46f-120dd8c8e3d8",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:8,input_connections:{"how|labels":{id:5,output_name:"outfile"},input:{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:827,top:213},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"e4fad6a7-30e3-4b66-a9bd-5f11f7ea18db",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:9,input_connections:{"how|labels":{id:6,output_name:"outfile"},input:{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:null,name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:823,top:364},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"fe80aa41-a8e4-4000-af6b-6c9713de9006",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"__MERGE_COLLECTION__",errors:null,id:10,input_connections:{"inputs_0|input":{id:9,output_name:"output"},"inputs_1|input":{id:8,output_name:"output"},"inputs_2|input":{id:7,output_name:"output"}},inputs:[],label:null,name:"Merge collections",outputs:[{name:"output",type:"input"}],position:{left:1064,top:128},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__MERGE_COLLECTION__",tool_state:'{"advanced": {"conflict": {"duplicate_options": "keep_first", "__current_case__": 3}}, "inputs": [{"__index__": 0, "input": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input": {"__class__": "ConnectedValue"}}, {"__index__": 2, "input": {"__class__": "ConnectedValue"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"a494a5d5-d908-448e-a406-c7f78d81c10b",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:11,input_connections:{input:{id:10,output_name:"output"}},inputs:[],label:null,name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:1284,top:128},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"All matrices in cell-ranger format"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"collapsible_value": {"__class__": "RuntimeValue"}, "columns": [1, 2], "connectable": true, "editing": false, "is_workflow": false, "type": "list_identifiers"}], "rules": [{"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "expression": "(.*)_(.*)", "group_count": null, "is_workflow": false, "replacement": "\\\\1", "target_column": 0, "type": "add_column_regex", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "expression": "(.*)_(.*)", "group_count": null, "is_workflow": false, "replacement": "\\\\2", "target_column": 0, "type": "add_column_regex", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"95eb63d6-f1a2-4f0d-b426-fc46a5133471",when:null,workflow_outputs:[{label:"STARsolo cell ranger-like output",output_name:"output",uuid:"3a6385df-d937-4c8a-9430-9bafe0cb2f57"}]}},tags:[],uuid:"933626df-33e9-46ac-8206-d297a7fcb83a"},tool_id:null,type:"subworkflow",uuid:"697a68da-9cb9-469b-8102-30c3a3ee589f",when:null,workflow_outputs:[{label:"Seurat input for gene expression (filtered)",output_name:"STARsolo cell ranger-like output",uuid:"6cb072df-9e26-456b-ab4f-bc95345b02b4"}]}},tags:["#single-cell"],uuid:"87f25ddb-a663-4582-9ec6-d0b4bef4109c",version:2},readme:`# Single-cell RNA-seq fastq to matrix for 10X data These workflows are inspired by the [training material](https://training.galaxyproject.org/training-material/topics/single-cell/tutorials/scrna-preprocessing-tenx/tutorial.html). Except that the output is in a 'bundle' format: three files (one matrix, one with genes, one with barcodes) which is similar to the cellranger output format. @@ -1974,7 +3726,68 @@ The test dataset has been produced to make it as small as possible in order to m - The CMO reads come from [zenodo](https://zenodo.org/records/10229382) and have been sampled to 0.1 with seqtk. - The GEX reads come from SRR13948489 but have been subsetted to the cells selected in the above zenodo. -`,changelog:"# Changelog\n\n## [0.5] 2024-09-25\n\n### Manual update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n\n## [0.3] 2024-02-12\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n\n## [0.2] 2024-02-05\n\n### Tool updates\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n- `pick_value` was replaced by `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0`\n\n\n\n## [0.1] 2023-12-21\n\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/fastq-to-matrix-10x/scrna-seq-fastq-to-matrix-10x-v3",tests:[{doc:"Test outline for scrna-seq-fastq-to-matrix-10x-v3.ga",job:{"fastq PE collection":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"subsample",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/records/10412836/files/GEX_R1.fastqsanger.gz",filetype:"fastqsanger.gz"},{identifier:"reverse",class:"File",location:"https://zenodo.org/records/10412836/files/GEX_R2.fastqsanger.gz",filetype:"fastqsanger.gz"}]}]},"reference genome":"dm6","Barcode Size is same size of the Read":!1,gtf:{class:"File",location:"https://zenodo.org/record/6457007/files/Drosophila_melanogaster.BDGP6.32.109_UCSC.gtf.gz",decompress:!0,filetype:"gtf"},"cellranger_barcodes_3M-february-2018.txt":{class:"File",path:"test-data/all_cell_barcodes_both_versions.txt",filetype:"tabular"}},outputs:{"MultiQC on input dataset(s): Webpage":{asserts:{has_text_matching:{expression:'
33.[0-9]%
'}}},"Seurat input for gene expression (filtered)":{attributes:{collection_type:"list:list"},element_tests:{subsample:{elements:{matrix:{asserts:{has_line:{line:"23932 3 1171"}}},barcodes:{asserts:{has_line:{line:"CACATGATCATAAGGA"}}},genes:{asserts:{has_line:{line:"FBgn0250732 gfzf"}}}}}}}}}]}],path:"./workflows/scRNAseq/fastq-to-matrix-10x"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/pseudo-bulk_edgeR.ga",testParameterFiles:["/pseudo-bulk_edgeR-tests.yml"],authors:[{name:"Diana Chiang Jurado",orcid:"0000-0002-5857-1477"},{name:"Pavankumar Videm",orcid:"0000-0002-5192-126X"},{name:"Pablo Moreno",orcid:"0000-0002-9856-1679"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow uses the decoupler tool in Galaxy to generate pseudobulk counts from an annotated AnnData file obtained from scRNA-seq analysis. Following the pseudobulk step, differential expression genes (DEG) are calculated using the edgeR tool. The workflow also includes data sanitation steps to ensure smooth operation of edgeR and minimizing potential issues. Additionally, a Volcano plot tool is used to visualize the results after the DEG analysis.",comments:[],creator:[{class:"Person",identifier:"0000-0002-5857-1477",name:"Diana Chiang Jurado"},{class:"Person",identifier:"0000-0002-5192-126X",name:"Pavankumar Videm"},{class:"Person",identifier:"0000-0002-9856-1679",name:"Pablo Moreno"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.1.1",name:"Differential gene expression for single-cell data using pseudo-bulk counts with edgeR",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Ensure your AnnData object contains all necessary layers before using the decoupler tool. The raw counts should be included in AnnData. If they are missing, create a new layer (e.g., 'raw_counts') and copy the raw counts into it.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Ensure your AnnData object contains all necessary layers before using the decoupler tool. The raw counts should be included in AnnData. If they are missing, create a new layer (e.g., 'raw_counts') and copy the raw counts into it.",name:"Source AnnData file"}],label:"Source AnnData file",name:"Input dataset",outputs:[],position:{left:0,top:114.82675544995811},tool_id:null,tool_state:'{"optional": false, "format": ["h5", "h5ad"], "tag": ""}',tool_version:null,type:"data_input",uuid:"96604e3b-861d-4d7c-8408-9d68489c1e41",when:null,workflow_outputs:[]},1:{annotation:`Merge Obs fields before pseudo-bulk analysis to create new categories for grouping, such as 'sample,phase' or 'sample,louvain'. Ensure the fields exist in the Obs of the AnnData object. Multiple groups can be merged with a colon (':'), e.g., 'sample,phase +`,changelog:"# Changelog\n\n## [0.5] 2024-09-25\n\n### Manual update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n\n## [0.3] 2024-02-12\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n\n## [0.2] 2024-02-05\n\n### Tool updates\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n- `pick_value` was replaced by `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0`\n\n\n\n## [0.1] 2023-12-21\n\nFirst release.\n",diagrams:`# Workflow diagrams + +## scRNA-seq_preprocessing_10X_v3_Bundle + +\`\`\`mermaid +graph LR +0["ℹ️ fastq PE collection"]@{ shape: docs } +1["ℹ️ reference genome"]@{ shape: lean-l } +2["ℹ️ gtf"]@{ shape: doc } +3["ℹ️ cellranger_barcodes_3M-february-2018.txt"]@{ shape: doc } +4["ℹ️ Barcode Size is same size of the Read"]@{ shape: lean-l } +5["RNA STARSolo"]@{ shape: process } +1 --> 5 +2 --> 5 +0 --> 5 +4 --> 5 +3 --> 5 +6["multiQC"]@{ shape: process } +5 --> 6 +5 --> 6 +7["filter cells"]@{ shape: process } +5 --> 7 +5 --> 7 +5 --> 7 +8["🛠️ Re-organize STAR-solo output"]@{ shape: subprocess } +7 --> 8 +7 --> 8 +7 --> 8 +\`\`\` + +## Re-organize-STAR-solo-output + +\`\`\`mermaid +graph LR +0["ℹ️ STARsolo Genes"]@{ shape: docs } +1["ℹ️ STARsolo Barcodes"]@{ shape: docs } +2["ℹ️ STARsolo Matrix Gene Counts"]@{ shape: docs } +3["Extract element identifiers"]@{ shape: process } +2 --> 3 +4["Replace Text"]@{ shape: process } +3 --> 4 +5["Replace Text"]@{ shape: process } +3 --> 5 +6["Replace Text"]@{ shape: process } +3 --> 6 +7["Relabel identifiers"]@{ shape: process } +4 --> 7 +0 --> 7 +8["Relabel identifiers"]@{ shape: process } +5 --> 8 +1 --> 8 +9["Relabel identifiers"]@{ shape: process } +6 --> 9 +2 --> 9 +10["Merge collections"]@{ shape: process } +9 --> 10 +8 --> 10 +7 --> 10 +11["Apply rules"]@{ shape: process } +10 --> 11 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/fastq-to-matrix-10x/scrna-seq-fastq-to-matrix-10x-v3",tests:[{doc:"Test outline for scrna-seq-fastq-to-matrix-10x-v3.ga",job:{"fastq PE collection":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"subsample",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/records/10412836/files/GEX_R1.fastqsanger.gz",filetype:"fastqsanger.gz"},{identifier:"reverse",class:"File",location:"https://zenodo.org/records/10412836/files/GEX_R2.fastqsanger.gz",filetype:"fastqsanger.gz"}]}]},"reference genome":"dm6","Barcode Size is same size of the Read":!1,gtf:{class:"File",location:"https://zenodo.org/record/6457007/files/Drosophila_melanogaster.BDGP6.32.109_UCSC.gtf.gz",decompress:!0,filetype:"gtf"},"cellranger_barcodes_3M-february-2018.txt":{class:"File",path:"test-data/all_cell_barcodes_both_versions.txt",filetype:"tabular"}},outputs:{"MultiQC on input dataset(s): Webpage":{asserts:{has_text_matching:{expression:'
33.[0-9]%
'}}},"Seurat input for gene expression (filtered)":{attributes:{collection_type:"list:list"},element_tests:{subsample:{elements:{matrix:{asserts:{has_line:{line:"23932 3 1171"}}},barcodes:{asserts:{has_line:{line:"CACATGATCATAAGGA"}}},genes:{asserts:{has_line:{line:"FBgn0250732 gfzf"}}}}}}}}}]}],path:"./workflows/scRNAseq/fastq-to-matrix-10x"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/pseudo-bulk_edgeR.ga",testParameterFiles:["/pseudo-bulk_edgeR-tests.yml"],authors:[{name:"Diana Chiang Jurado",orcid:"0000-0002-5857-1477"},{name:"Pavankumar Videm",orcid:"0000-0002-5192-126X"},{name:"Pablo Moreno",orcid:"0000-0002-9856-1679"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow uses the decoupler tool in Galaxy to generate pseudobulk counts from an annotated AnnData file obtained from scRNA-seq analysis. Following the pseudobulk step, differential expression genes (DEG) are calculated using the edgeR tool. The workflow also includes data sanitation steps to ensure smooth operation of edgeR and minimizing potential issues. Additionally, a Volcano plot tool is used to visualize the results after the DEG analysis.",comments:[],creator:[{class:"Person",identifier:"0000-0002-5857-1477",name:"Diana Chiang Jurado"},{class:"Person",identifier:"0000-0002-5192-126X",name:"Pavankumar Videm"},{class:"Person",identifier:"0000-0002-9856-1679",name:"Pablo Moreno"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.1.1",name:"Differential gene expression for single-cell data using pseudo-bulk counts with edgeR",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Ensure your AnnData object contains all necessary layers before using the decoupler tool. The raw counts should be included in AnnData. If they are missing, create a new layer (e.g., 'raw_counts') and copy the raw counts into it.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Ensure your AnnData object contains all necessary layers before using the decoupler tool. The raw counts should be included in AnnData. If they are missing, create a new layer (e.g., 'raw_counts') and copy the raw counts into it.",name:"Source AnnData file"}],label:"Source AnnData file",name:"Input dataset",outputs:[],position:{left:0,top:114.82675544995811},tool_id:null,tool_state:'{"optional": false, "format": ["h5", "h5ad"], "tag": ""}',tool_version:null,type:"data_input",uuid:"96604e3b-861d-4d7c-8408-9d68489c1e41",when:null,workflow_outputs:[]},1:{annotation:`Merge Obs fields before pseudo-bulk analysis to create new categories for grouping, such as 'sample,phase' or 'sample,louvain'. Ensure the fields exist in the Obs of the AnnData object. Multiple groups can be merged with a colon (':'), e.g., 'sample,phase ,phase' creates 'sample_phase' and 'louvain_phase'.`,content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:`Merge Obs fields before pseudo-bulk analysis to create new categories for grouping, such as 'sample,phase' or 'sample,louvain'. Ensure the fields exist in the Obs of the AnnData object. Multiple groups can be merged with a colon (':'), e.g., 'sample,phase ,phase' creates 'sample_phase' and 'louvain_phase'.`,name:"Pseudo-bulk: Fields to merge"}],label:"Pseudo-bulk: Fields to merge",name:"Input parameter",outputs:[],position:{left:60.495251676792236,top:230.35374378726198},tool_id:null,tool_state:'{"parameter_type": "text", "optional": true}',tool_version:null,type:"parameter_input",uuid:"b765c928-15de-4a9b-8bf2-96f9a9a5cdba",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"c70d7068-d535-430f-ba40-199bbfed605c"}]},2:{annotation:"Typically, the column in obs that you want to use for comparisons later (the main contrast field) should be specified here. This column will also be used for plotting the pseudo-bulk samples, showing the number of counts and cells.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Typically, the column in obs that you want to use for comparisons later (the main contrast field) should be specified here. This column will also be used for plotting the pseudo-bulk samples, showing the number of counts and cells.",name:"Group by column"}],label:"Group by column",name:"Input parameter",outputs:[],position:{left:123.70374778716867,top:341.8746744746166},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"fa4b1127-560a-4ce5-8ae7-65b1cbd466f1",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"9b6c5134-f9fb-413a-8a65-62ca29401dd9"}]},3:{annotation:"The field used to create the pseudo-bulk replicates is typically a combination of multiple Obs fields merged together.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"The field used to create the pseudo-bulk replicates is typically a combination of multiple Obs fields merged together.",name:"Sample key column"}],label:"Sample key column",name:"Input parameter",outputs:[],position:{left:151.20372670956235,top:465.91578876790373},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"5daa239e-1acc-4730-993d-d7a62ae30575",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"e6d9cb6d-1128-4bd1-bb7e-e8d0d4dd11f6"}]},4:{annotation:"Name of the layer containing your raw (non-normalized) counts.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Name of the layer containing your raw (non-normalized) counts.",name:"Name Your Raw Counts Layer"}],label:"Name Your Raw Counts Layer",name:"Input parameter",outputs:[],position:{left:198.40796524172788,top:596.2242453471495},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"e2b06f23-4090-4014-b194-9afcd48e3905",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"ed10dd0c-7c42-4c37-a2ec-788b25900c69"}]},5:{annotation:"The fields from Obs to be provided to EdgeR as factors. The first field should represent the main contrast for comparisons, while the subsequent fields will be used as covariates.",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"The fields from Obs to be provided to EdgeR as factors. The first field should represent the main contrast for comparisons, while the subsequent fields will be used as covariates.",name:"Factor fields"}],label:"Factor fields",name:"Input parameter",outputs:[],position:{left:223.45860152251703,top:713.2366686237074},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"d7f40c82-930a-45d4-8392-ecd071162040",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"b3885b84-8cf3-47ce-9e57-51890d8f6aa8"}]},6:{annotation:`Example 1: ~ 0 + Factor_1 (Use this formula when you only want to account for one factor, Factor_1). @@ -2049,7 +3862,59 @@ Sanitzation steps after decoupler: - \`toolshed.g2.bx.psu.edu/repos/ebi-gxa/decoupler_pseudobulk/decoupler_pseudobulk/1.4.0+galaxy5\` was updated to \`toolshed.g2.bx.psu.edu/repos/ebi-gxa/decoupler_pseudobulk/decoupler_pseudobulk/1.4.0+galaxy8\` ## [0.1] 2024-10-14 -First release.`,trsID:"#workflow/github.com/iwc-workflows/pseudobulk-worflow-decoupler-edger/main",tests:[{doc:"Test outline for pseudo-bulk_edgeR",job:{"Source AnnData file":{class:"File",location:"https://zenodo.org/records/13929549/files/Source%20AnnData%20file.h5ad",filetype:"h5ad"},"Pseudo-bulk: Fields to merge":null,"Group by column":"cell_type","Sample key column":"individual","Name Your Raw Counts Layer":"counts","Factor fields":"disease","Gene symbol column":"gene_symbol",Formula:"~ 0 + disease"},outputs:{"Pseudobulk count matrix":{has_text_matching:{expression:"ACER3 4.0 25.0 21.0 110.0 82.0 91.0 22.0 326.0 297.0 211.0 1004.0 574.0 370.0 108.0 0.0 0.0 2.0 2.0 188.0 113.0 135.0 322.0 324.0 159.0 7.0 7.0 32.0 5.0 33.0 89.0 2.0 2.0 8.0 48.0"}},"Pseudobulk Plot":{element_test:{has_size:40116,delta:2e3}},"Filtered by expression":{element_test:{has_size:23490,delta:2e3}},"Report Results: HTML File":{element_test:{has_size:531761,delta:25e3}},"Tables: DEG":{element_tests:{"edgeR_normal-COVID_19":{has_text_matching:{expression:"NAPA ENSG00000105402 True 0.342[0-9] 1.686[0-9] 0.846[0-9] 4 False 0.180[0-9] 0.440[0-9] -1.059[0-9] 6.833[0-9] 3.291[0-9] 0.076[0-9] 0.619[0-9]"},has_n_lines:{n:1430,delta:1}}}},"Tables for volcano plot":{element_tests:{"edgeR_normal-COVID_19":{has_text_matching:{expression:"FGFR1OP2 -2.367[0-9] 0.004[0-9] 0.458[0-9]"}}}},"Volcano Plot on input dataset(s): PDF":{element_tests:{"edgeR_normal-COVID_19":{has_size:85052,delta:2e3}}}}}]}],path:"./workflows/scRNAseq/pseudobulk-worflow-decoupler-edger"},{version:1.2,workflows:[{name:"hic-fastq-to-cool-hicup-cooler",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/hic-fastq-to-cool-hicup-cooler.ga",testParameterFiles:["/hic-fastq-to-cool-hicup-cooler-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input a collection of paired fastq. It uses HiCUP to go from fastq to validPair file using the middle of the fragment as coordinates. The pairs are filtered for MAPQ and sorted by cooler to generate a tabix dataset. Cooler is used to generate a balanced cool file to the desired resolution.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"Hi-C_fastqToCool_hicup_cooler",steps:{0:{annotation:"Should be a paired collection with Hi-C fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a paired collection with Hi-C fastqs",name:"PE fastq input"}],label:"PE fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:101.53334045410156},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"30fe3d0f-541a-478a-b57d-a43c0c16ccad",when:null,workflow_outputs:[]},1:{annotation:"only use genome ids which have bowtie2 indexes",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"only use genome ids which have bowtie2 indexes",name:"genome name"}],label:"genome name",name:"Input parameter",outputs:[],position:{left:39.01666259765625,top:171.5},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"45194ed6-a1e9-4248-8d3a-f51febc36d61",when:null,workflow_outputs:[]},2:{annotation:"Restriction enzyme used e.g. A^GATCT,BglII. Some Hi-C protocols may use several enzymes. To specify several enzymes, use the ':' to separate them e.g. A^GATCT,BglII:A^AGCTT,HindIII:^GATC,DpnII. HiCUP accomodates N in restriction enzyme: e.g. :A^ANCTT",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Restriction enzyme used e.g. A^GATCT,BglII. Some Hi-C protocols may use several enzymes. To specify several enzymes, use the ':' to separate them e.g. A^GATCT,BglII:A^AGCTT,HindIII:^GATC,DpnII. HiCUP accomodates N in restriction enzyme: e.g. :A^ANCTT",name:"Restriction enzyme"}],label:"Restriction enzyme",name:"Input parameter",outputs:[],position:{left:71.98333740234375,top:246.5},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ec011ceb-c601-464f-8661-ca9c0b335bb5",when:null,workflow_outputs:[]},3:{annotation:"Hi-C protocol did NOT include a fill-in of sticky ends prior to re-ligation and therefore reads shall be truncated at the restriction site sequence",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Hi-C protocol did NOT include a fill-in of sticky ends prior to re-ligation and therefore reads shall be truncated at the restriction site sequence",name:"No fill-in"}],label:"No fill-in",name:"Input parameter",outputs:[],position:{left:98.433349609375,top:332},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"11e64d82-c022-48b2-b616-076bfcdb14ad",when:null,workflow_outputs:[]},4:{annotation:"can be set to 0 for no filtering",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"can be set to 0 for no filtering",name:"minimum MAPQ"}],label:"minimum MAPQ",name:"Input parameter",outputs:[],position:{left:143.9666748046875,top:401.5333251953125},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"748c8800-5bef-41b7-b2cf-6d6a57c0eb70",when:null,workflow_outputs:[]},5:{annotation:"For example 10000 for 10kb",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"For example 10000 for 10kb",name:"Bin size in bp"}],label:"Bin size in bp",name:"Input parameter",outputs:[],position:{left:186,top:491.0333251953125},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"1e019ddf-171c-4247-ab11-0d2cdbe10f6a",when:null,workflow_outputs:[]},6:{annotation:"Nothing means genome-wide, '--cis-only' means only Cis interactions, '--trans-only' means only Trans interactions",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"Nothing means genome-wide, '--cis-only' means only Cis interactions, '--trans-only' means only Trans interactions",name:"Interactions to consider to calculate weights in normalization step"}],label:"Interactions to consider to calculate weights in normalization step",name:"Input parameter",outputs:[],position:{left:216.9666748046875,top:558.25},tool_id:null,tool_state:'{"restrictions": ["", "--cis-only", "--trans-only"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"51990231-540d-4fbc-bf77-bbbb4d1fc461",when:null,workflow_outputs:[]},7:{annotation:`You can use your region of interest or a region known for high level of insulation for example HoxD locus: +First release.`,diagrams:`# Workflow diagrams + +## Differential gene expression for single-cell data using pseudo-bulk counts with edgeR + +\`\`\`mermaid +graph LR +0["ℹ️ Source AnnData file"]@{ shape: doc } +1["ℹ️ Pseudo-bulk: Fields to merge"]@{ shape: lean-l } +2["ℹ️ Group by column"]@{ shape: lean-l } +3["ℹ️ Sample key column"]@{ shape: lean-l } +4["ℹ️ Name Your Raw Counts Layer"]@{ shape: lean-l } +5["ℹ️ Factor fields"]@{ shape: lean-l } +6["ℹ️ Formula"]@{ shape: lean-l } +7["ℹ️ Gene symbol column"]@{ shape: lean-l } +8["Decoupler pseudo-bulk"]@{ shape: process } +1 --> 8 +5 --> 8 +2 --> 8 +0 --> 8 +4 --> 8 +3 --> 8 +9["Sanitize matrix"]@{ shape: process } +8 --> 9 +10["Sanitize factors"]@{ shape: process } +8 --> 10 +11["Remove start, end, width"]@{ shape: process } +8 --> 11 +12["Sanitize first factor for leading digits"]@{ shape: process } +10 --> 12 +13["Text reformatting"]@{ shape: process } +12 --> 13 +14["edgeR"]@{ shape: process } +11 --> 14 +13 --> 14 +6 --> 14 +9 --> 14 +12 --> 14 +15["Get contrast labels"]@{ shape: process } +14 --> 15 +16["Select gene symbols, logFC, PValue and FDR"]@{ shape: process } +7 --> 16 +14 --> 16 +17["Replace Text"]@{ shape: process } +15 --> 17 +18["Split contrasts"]@{ shape: process } +17 --> 18 +19["Contrast as parameters"]@{ shape: process } +18 --> 19 +20["Volcano Plot"]@{ shape: process } +16 --> 20 +19 --> 20 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/pseudobulk-worflow-decoupler-edger/main",tests:[{doc:"Test outline for pseudo-bulk_edgeR",job:{"Source AnnData file":{class:"File",location:"https://zenodo.org/records/13929549/files/Source%20AnnData%20file.h5ad",filetype:"h5ad"},"Pseudo-bulk: Fields to merge":null,"Group by column":"cell_type","Sample key column":"individual","Name Your Raw Counts Layer":"counts","Factor fields":"disease","Gene symbol column":"gene_symbol",Formula:"~ 0 + disease"},outputs:{"Pseudobulk count matrix":{has_text_matching:{expression:"ACER3 4.0 25.0 21.0 110.0 82.0 91.0 22.0 326.0 297.0 211.0 1004.0 574.0 370.0 108.0 0.0 0.0 2.0 2.0 188.0 113.0 135.0 322.0 324.0 159.0 7.0 7.0 32.0 5.0 33.0 89.0 2.0 2.0 8.0 48.0"}},"Pseudobulk Plot":{element_test:{has_size:40116,delta:2e3}},"Filtered by expression":{element_test:{has_size:23490,delta:2e3}},"Report Results: HTML File":{element_test:{has_size:531761,delta:25e3}},"Tables: DEG":{element_tests:{"edgeR_normal-COVID_19":{has_text_matching:{expression:"NAPA ENSG00000105402 True 0.342[0-9] 1.686[0-9] 0.846[0-9] 4 False 0.180[0-9] 0.440[0-9] -1.059[0-9] 6.833[0-9] 3.291[0-9] 0.076[0-9] 0.619[0-9]"},has_n_lines:{n:1430,delta:1}}}},"Tables for volcano plot":{element_tests:{"edgeR_normal-COVID_19":{has_text_matching:{expression:"FGFR1OP2 -2.367[0-9] 0.004[0-9] 0.458[0-9]"}}}},"Volcano Plot on input dataset(s): PDF":{element_tests:{"edgeR_normal-COVID_19":{has_size:85052,delta:2e3}}}}}]}],path:"./workflows/scRNAseq/pseudobulk-worflow-decoupler-edger"},{version:1.2,workflows:[{name:"hic-fastq-to-cool-hicup-cooler",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/hic-fastq-to-cool-hicup-cooler.ga",testParameterFiles:["/hic-fastq-to-cool-hicup-cooler-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input a collection of paired fastq. It uses HiCUP to go from fastq to validPair file using the middle of the fragment as coordinates. The pairs are filtered for MAPQ and sorted by cooler to generate a tabix dataset. Cooler is used to generate a balanced cool file to the desired resolution.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"Hi-C_fastqToCool_hicup_cooler",steps:{0:{annotation:"Should be a paired collection with Hi-C fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a paired collection with Hi-C fastqs",name:"PE fastq input"}],label:"PE fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:101.53334045410156},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"30fe3d0f-541a-478a-b57d-a43c0c16ccad",when:null,workflow_outputs:[]},1:{annotation:"only use genome ids which have bowtie2 indexes",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"only use genome ids which have bowtie2 indexes",name:"genome name"}],label:"genome name",name:"Input parameter",outputs:[],position:{left:39.01666259765625,top:171.5},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"45194ed6-a1e9-4248-8d3a-f51febc36d61",when:null,workflow_outputs:[]},2:{annotation:"Restriction enzyme used e.g. A^GATCT,BglII. Some Hi-C protocols may use several enzymes. To specify several enzymes, use the ':' to separate them e.g. A^GATCT,BglII:A^AGCTT,HindIII:^GATC,DpnII. HiCUP accomodates N in restriction enzyme: e.g. :A^ANCTT",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Restriction enzyme used e.g. A^GATCT,BglII. Some Hi-C protocols may use several enzymes. To specify several enzymes, use the ':' to separate them e.g. A^GATCT,BglII:A^AGCTT,HindIII:^GATC,DpnII. HiCUP accomodates N in restriction enzyme: e.g. :A^ANCTT",name:"Restriction enzyme"}],label:"Restriction enzyme",name:"Input parameter",outputs:[],position:{left:71.98333740234375,top:246.5},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ec011ceb-c601-464f-8661-ca9c0b335bb5",when:null,workflow_outputs:[]},3:{annotation:"Hi-C protocol did NOT include a fill-in of sticky ends prior to re-ligation and therefore reads shall be truncated at the restriction site sequence",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Hi-C protocol did NOT include a fill-in of sticky ends prior to re-ligation and therefore reads shall be truncated at the restriction site sequence",name:"No fill-in"}],label:"No fill-in",name:"Input parameter",outputs:[],position:{left:98.433349609375,top:332},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"11e64d82-c022-48b2-b616-076bfcdb14ad",when:null,workflow_outputs:[]},4:{annotation:"can be set to 0 for no filtering",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"can be set to 0 for no filtering",name:"minimum MAPQ"}],label:"minimum MAPQ",name:"Input parameter",outputs:[],position:{left:143.9666748046875,top:401.5333251953125},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"748c8800-5bef-41b7-b2cf-6d6a57c0eb70",when:null,workflow_outputs:[]},5:{annotation:"For example 10000 for 10kb",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"For example 10000 for 10kb",name:"Bin size in bp"}],label:"Bin size in bp",name:"Input parameter",outputs:[],position:{left:186,top:491.0333251953125},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"1e019ddf-171c-4247-ab11-0d2cdbe10f6a",when:null,workflow_outputs:[]},6:{annotation:"Nothing means genome-wide, '--cis-only' means only Cis interactions, '--trans-only' means only Trans interactions",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"Nothing means genome-wide, '--cis-only' means only Cis interactions, '--trans-only' means only Trans interactions",name:"Interactions to consider to calculate weights in normalization step"}],label:"Interactions to consider to calculate weights in normalization step",name:"Input parameter",outputs:[],position:{left:216.9666748046875,top:558.25},tool_id:null,tool_state:'{"restrictions": ["", "--cis-only", "--trans-only"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"51990231-540d-4fbc-bf77-bbbb4d1fc461",when:null,workflow_outputs:[]},7:{annotation:`You can use your region of interest or a region known for high level of insulation for example HoxD locus: hg19: chr2:175,689,620-178,604,461 hg38: chr2:174,692,032-177,585,317 mm10: chr2:73,779,626-75,669,724 @@ -2145,6 +4010,84 @@ Fix dockstore (workflows are the same) ## [0.1] 2023-01-16 First release. +`,diagrams:`# Workflow diagrams + +## Hi-C_fastqToCool_hicup_cooler + +\`\`\`mermaid +graph LR +0["ℹ️ PE fastq input"]@{ shape: docs } +1["ℹ️ genome name"]@{ shape: lean-l } +2["ℹ️ Restriction enzyme"]@{ shape: lean-l } +3["ℹ️ No fill-in"]@{ shape: lean-l } +4["ℹ️ minimum MAPQ"]@{ shape: lean-l } +5["ℹ️ Bin size in bp"]@{ shape: lean-l } +6["ℹ️ Interactions to consider to calculate weights in normalization step"]@{ shape: lean-l } +7["ℹ️ region for matrix plotting"]@{ shape: lean-l } +8["🛠️ Hi-C_fastqToPairs_hicup"]@{ shape: subprocess } +3 --> 8 +0 --> 8 +2 --> 8 +1 --> 8 +4 --> 8 +9["Sort pairs and index"]@{ shape: process } +8 --> 9 +1 --> 9 +10["🛠️ Hi-C_juicermediumtabixToCool_cooler"]@{ shape: subprocess } +5 --> 10 +6 --> 10 +9 --> 10 +1 --> 10 +11["final plot"]@{ shape: process } +7 --> 11 +10 --> 11 +\`\`\` + +## Hi-C_juicermediumtabixToCool_cooler + +\`\`\`mermaid +graph LR +0["ℹ️ Bin size in bp"]@{ shape: lean-l } +1["ℹ️ genome name"]@{ shape: lean-l } +2["ℹ️ Juicer Medium Tabix with validPairs"]@{ shape: docs } +3["ℹ️ Interactions to consider to calculate weights in normalization step"]@{ shape: lean-l } +4["make bed with bins"]@{ shape: process } +0 --> 4 +1 --> 4 +5["Load pairs in matrix"]@{ shape: process } +1 --> 5 +2 --> 5 +4 --> 5 +6["ICE normalization"]@{ shape: process } +3 --> 6 +5 --> 6 +\`\`\` + +## Hi-C_fastqToPairs_hicup + +\`\`\`mermaid +graph LR +0["ℹ️ PE fastq input"]@{ shape: docs } +1["ℹ️ genome name"]@{ shape: lean-l } +2["ℹ️ Restriction enzyme"]@{ shape: lean-l } +3["ℹ️ No fill-in"]@{ shape: lean-l } +4["ℹ️ minimum MAPQ"]@{ shape: lean-l } +5["HiCUP"]@{ shape: process } +3 --> 5 +1 --> 5 +0 --> 5 +2 --> 5 +1 --> 5 +6["build filtering rule for MAPQ"]@{ shape: process } +4 --> 6 +4 --> 6 +7["valid pairs in juicebox format"]@{ shape: process } +5 --> 7 +5 --> 7 +8["valid pairs in juicebox format MAPQ filtered"]@{ shape: process } +6 --> 8 +7 --> 8 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/hic-hicup-cooler/hic-fastq-to-cool-hicup-cooler",tests:[{doc:"Test outline for Hi-C_fastqToCool_hicup_cooler",job:{"PE fastq input":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"test_dataset",elements:[{class:"File",identifier:"forward",location:"https://github.com/bgruening/galaxytools/raw/master/tools/hicup/test-data/dataset1.fastq",filetype:"fastqsanger"},{class:"File",identifier:"reverse",location:"https://github.com/bgruening/galaxytools/raw/master/tools/hicup/test-data/dataset2.fastq",filetype:"fastqsanger"}]}]},"genome name":"hg19","Restriction enzyme":"A^AGCTT,HindIII","No fill-in":"false","minimum MAPQ":30,"Bin size in bp":1e6,"Interactions to consider to calculate weights in normalization step":"","region for matrix plotting":"chr2:175,689,620-178,604,461"},outputs:{"HiCUP report (html)":{element_tests:{test_dataset:{asserts:{has_size:{value:4602173,delta:4e6}}}}},"HiCUP report (txt)":{element_tests:{test_dataset:{asserts:{has_text:{text:" 99742 99742 92512 92628 7230 7114 22.45 22.63 2658 2476 73431 72142 17767 18475 5886 6649 57671 57671 39966 1652 17997 20317 17705 481 2432 13452 1340 0 0 39962 1652 17996 20314 57.82 69.30 99.99 50.83 40.07"}}}}},"valid pairs in juicebox format":{element_tests:{test_dataset:{asserts:[{that:"has_line",line:"1 1 chr10 100023987 28055 1 chr10 101500419 28474 42 42"},{that:"has_line",line:"2 1 chr10 100091500 28079 1 chr10 122245984 34516 38 42"},{that:"has_line",line:"3 0 chr10 100127492 28094 1 chr10 50864290 13489 0 42"}]}}},"valid pairs in juicebox format MAPQ filtered":{element_tests:{test_dataset:{asserts:[{that:"has_line",line:"1 1 chr10 100023987 28055 1 chr10 101500419 28474 42 42"},{that:"has_line",line:"2 1 chr10 100091500 28079 1 chr10 122245984 34516 38 42"},{that:"not_has_text",text:"3 0 chr10 100127492 28094 1 chr10 50864290 13489 0 42"}]}}},"valid pairs filtered and sorted":{element_tests:{test_dataset:{asserts:{has_size:{value:735227,delta:7e4}}}}},"matrix with raw values":{element_tests:{test_dataset:{asserts:{has_size:{value:117588,delta:1e4}}}}},"matrix with iced values":{element_tests:{test_dataset:{asserts:{has_size:{value:149349,delta:1e4}}}}},"plot with pyGenomeTracks":{file:"test-data/plot_hic.png",compare:"sim_size",delta:1500}}}]},{name:"chic-fastq-to-cool-hicup-cooler",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/chic-fastq-to-cool-hicup-cooler.ga",testParameterFiles:["/chic-fastq-to-cool-hicup-cooler-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow take as input a collection of paired fastq. It uses HiCUP to go from fastq to validPair file. The pairs are filtered for MAPQ and for the region captured. Then, they are sorted by cooler to generate a tabix dataset. Cooler is used to generate a balanced cool file to the desired resolution.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"cHi-C_fastqToCool_hicup_cooler",steps:{0:{annotation:"Should be a paired collection with Hi-C fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a paired collection with Hi-C fastqs",name:"PE fastq input"}],label:"PE fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:39.12167999999406},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"30fe3d0f-541a-478a-b57d-a43c0c16ccad",when:null,workflow_outputs:[]},1:{annotation:"only use genome ids which have bowtie2 indexes",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"only use genome ids which have bowtie2 indexes",name:"genome name"}],label:"genome name",name:"Input parameter",outputs:[],position:{left:39,top:109.12167999999406},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"45194ed6-a1e9-4248-8d3a-f51febc36d61",when:null,workflow_outputs:[]},2:{annotation:"Restriction enzyme used e.g. A^GATCT,BglII. Some Hi-C protocols may use several enzymes. To specify several enzymes, use the ':' to separate them e.g. A^GATCT,BglII:A^AGCTT,HindIII:^GATC,DpnII. HiCUP accomodates N in restriction enzyme: e.g. :A^ANCTT",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Restriction enzyme used e.g. A^GATCT,BglII. Some Hi-C protocols may use several enzymes. To specify several enzymes, use the ':' to separate them e.g. A^GATCT,BglII:A^AGCTT,HindIII:^GATC,DpnII. HiCUP accomodates N in restriction enzyme: e.g. :A^ANCTT",name:"Restriction enzyme"}],label:"Restriction enzyme",name:"Input parameter",outputs:[],position:{left:72,top:184.12167999999406},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ec011ceb-c601-464f-8661-ca9c0b335bb5",when:null,workflow_outputs:[]},3:{annotation:"Hi-C protocol did NOT include a fill-in of sticky ends prior to re-ligation and therefore reads shall be truncated at the restriction site sequence",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Hi-C protocol did NOT include a fill-in of sticky ends prior to re-ligation and therefore reads shall be truncated at the restriction site sequence",name:"No fill-in"}],label:"No fill-in",name:"Input parameter",outputs:[],position:{left:98.5,top:269.62167999999406},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"11e64d82-c022-48b2-b616-076bfcdb14ad",when:null,workflow_outputs:[]},4:{annotation:"can be set to 0 for no filtering",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"can be set to 0 for no filtering",name:"minimum MAPQ"}],label:"minimum MAPQ",name:"Input parameter",outputs:[],position:{left:144,top:339.12167999999406},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"748c8800-5bef-41b7-b2cf-6d6a57c0eb70",when:null,workflow_outputs:[]},5:{annotation:"For example 10000 for 10kb",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"For example 10000 for 10kb",name:"Bin size in bp"}],label:"Bin size in bp",name:"Input parameter",outputs:[],position:{left:173,top:409.62167999999406},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"1e019ddf-171c-4247-ab11-0d2cdbe10f6a",when:null,workflow_outputs:[]},6:{annotation:"Nothing means genome-wide, '--cis-only' means only Cis interactions, '--trans-only' means only Trans interactions",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"Nothing means genome-wide, '--cis-only' means only Cis interactions, '--trans-only' means only Trans interactions",name:"Interactions to consider to calculate weights in normalization step"}],label:"Interactions to consider to calculate weights in normalization step",name:"Input parameter",outputs:[],position:{left:236,top:473.87167999999406},tool_id:null,tool_state:'{"restrictions": ["", "--cis-only", "--trans-only"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"2cf7902e-aa51-45a7-ae75-9107bbb41911",when:null,workflow_outputs:[]},7:{annotation:"For example: chr2",content_id:null,errors:null,id:7,input_connections:{},inputs:[{description:"For example: chr2",name:"capture region (chromosome)"}],label:"capture region (chromosome)",name:"Input parameter",outputs:[],position:{left:279.5,top:622.6216799999941},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"386a8e30-aab6-4168-877e-581b883928e5",when:null,workflow_outputs:[]},8:{annotation:"For example: 72402000",content_id:null,errors:null,id:8,input_connections:{},inputs:[{description:"For example: 72402000",name:"capture region (start)"}],label:"capture region (start)",name:"Input parameter",outputs:[],position:{left:333.5,top:723.6216799999941},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"47de292d-7499-407e-bf9a-b67a4dc47348",when:null,workflow_outputs:[]},9:{annotation:"For example: 77000000",content_id:null,errors:null,id:9,input_connections:{},inputs:[{description:"For example: 77000000",name:"capture region (end)"}],label:"capture region (end)",name:"Input parameter",outputs:[],position:{left:397.5,top:835.6216799999941},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"25480973-63be-4e64-9ba1-26088b4a65c4",when:null,workflow_outputs:[]},10:{annotation:"",id:10,input_connections:{"No fill-in":{id:3,input_subworkflow_step_id:3,output_name:"output"},"PE fastq input":{id:0,input_subworkflow_step_id:0,output_name:"output"},"Restriction enzyme":{id:2,input_subworkflow_step_id:2,output_name:"output"},"genome name":{id:1,input_subworkflow_step_id:1,output_name:"output"},"minimum MAPQ":{id:4,input_subworkflow_step_id:4,output_name:"output"}},inputs:[],label:null,name:"Hi-C_fastqToPairs_hicup",outputs:[],position:{left:520,top:0},subworkflow:{a_galaxy_workflow:"true",annotation:"",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Hi-C_fastqToPairs_hicup",steps:{0:{annotation:"Should be a paired collection with Hi-C fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a paired collection with Hi-C fastqs",name:"PE fastq input"}],label:"PE fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:12.5},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"30fe3d0f-541a-478a-b57d-a43c0c16ccad",when:null,workflow_outputs:[]},1:{annotation:"use the bowtie2 indexes to display choices",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"use the bowtie2 indexes to display choices",name:"genome name"}],label:"genome name",name:"Input parameter",outputs:[],position:{left:39,top:82.5},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"45194ed6-a1e9-4248-8d3a-f51febc36d61",when:null,workflow_outputs:[]},2:{annotation:"Restriction enzyme used e.g. A^GATCT,BglII. Some Hi-C protocols may use several enzymes. To specify several enzymes, use the ':' to separate them e.g. A^GATCT,BglII:A^AGCTT,HindIII:^GATC,DpnII. HiCUP accomodates N in restriction enzyme: e.g. :A^ANCTT",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Restriction enzyme used e.g. A^GATCT,BglII. Some Hi-C protocols may use several enzymes. To specify several enzymes, use the ':' to separate them e.g. A^GATCT,BglII:A^AGCTT,HindIII:^GATC,DpnII. HiCUP accomodates N in restriction enzyme: e.g. :A^ANCTT",name:"Restriction enzyme"}],label:"Restriction enzyme",name:"Input parameter",outputs:[],position:{left:58,top:155.5},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ec011ceb-c601-464f-8661-ca9c0b335bb5",when:null,workflow_outputs:[]},3:{annotation:"Hi-C protocol did NOT include a fill-in of sticky ends prior to re-ligation and therefore reads shall be truncated at the restriction site sequence",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Hi-C protocol did NOT include a fill-in of sticky ends prior to re-ligation and therefore reads shall be truncated at the restriction site sequence",name:"No fill-in"}],label:"No fill-in",name:"Input parameter",outputs:[],position:{left:97.5,top:248.5},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"c807fdbf-1c1d-45b4-851e-47fb919b07d6",when:null,workflow_outputs:[]},4:{annotation:"can be set to 0 for no filtering",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"can be set to 0 for no filtering",name:"minimum MAPQ"}],label:"minimum MAPQ",name:"Input parameter",outputs:[],position:{left:131,top:320.5},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"748c8800-5bef-41b7-b2cf-6d6a57c0eb70",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.9.2+galaxy0",errors:null,id:5,input_connections:{"advanced_options|nofill":{id:3,output_name:"output"},genome:{id:1,output_name:"output"},"library|input_1":{id:0,output_name:"output"},re1:{id:2,output_name:"output"},"reference_genome|index":{id:1,output_name:"output"}},inputs:[],label:"HiCUP",name:"Hicup Pipeline",outputs:[{name:"intermediate_results",type:"input"},{name:"hicup_results",type:"html"},{name:"hicup_report",type:"tabular"},{name:"dataset_hicup",type:"qname_sorted.bam"},{name:"digester_file",type:"tabular"}],position:{left:356.5,top:0},post_job_actions:{HideDatasetActiondataset_hicup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"dataset_hicup"},HideDatasetActiondigester_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"digester_file"},HideDatasetActionintermediate_results:{action_arguments:{},action_type:"HideDatasetAction",output_name:"intermediate_results"},RenameDatasetActionhicup_report:{action_arguments:{newname:"HiCUP report (tabular)"},action_type:"RenameDatasetAction",output_name:"hicup_report"},RenameDatasetActionhicup_results:{action_arguments:{newname:"HiCUP report (HTML)"},action_type:"RenameDatasetAction",output_name:"hicup_results"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.9.2+galaxy0",tool_shed_repository:{changeset_revision:"68fb19094f84",name:"hicup_hicup",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"re2": "", "longest": "", "shortest": "", "nofill": {"__class__": "ConnectedValue"}}, "genome": {"__class__": "ConnectedValue"}, "library": {"type": "paired_collection", "__current_case__": 1, "input_1": {"__class__": "ConnectedValue"}}, "re1": {"__class__": "ConnectedValue"}, "reference_genome": {"source": "indexed", "__current_case__": 0, "index": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.2+galaxy0",type:"tool",uuid:"8aba6fbb-d940-4826-911b-8c148e82085c",when:null,workflow_outputs:[{label:"HiCUP report (HTML)",output_name:"hicup_results",uuid:"ba37bb7a-ad3a-487b-b7ba-0023f1c496fd"},{label:"HiCUP report (tabular)",output_name:"hicup_report",uuid:"fd8f1b17-c68e-4652-b139-acccf51baa30"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:6,input_connections:{"components_1|param_type|component_value":{id:4,output_name:"output"},"components_3|param_type|component_value":{id:4,output_name:"output"}},inputs:[],label:"build filtering rule for MAPQ",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:746.5,top:392.5},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "(c10>="}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": ") and (c11>="}}, {"__index__": 3, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": ")"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"ee70cd21-6a36-4e21-97d2-ff0749236523",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.9.2+galaxy0",errors:null,id:7,input_connections:{"digester|digester_file":{id:5,output_name:"digester_file"},input_file:{id:5,output_name:"dataset_hicup"}},inputs:[],label:"valid pairs in juicebox format",name:"Hicup to juicer converter",outputs:[{name:"output",type:"tabular"}],position:{left:637.5,top:197.5},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"valid pairs in juicebox format"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.9.2+galaxy0",tool_shed_repository:{changeset_revision:"b4e7244246e2",name:"hicup2juicer",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"digester": {"provide_digester": "yes", "__current_case__": 0, "digester_file": {"__class__": "ConnectedValue"}, "usemid": true}, "input_file": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.2+galaxy0",type:"tool",uuid:"659811cd-a212-4949-9693-074f6161ed11",when:null,workflow_outputs:[{label:"valid pairs in juicebox format",output_name:"output",uuid:"dfc67c68-2569-4727-9ca6-a70f3b13edd9"}]},8:{annotation:"",content_id:"Filter1",errors:null,id:8,input_connections:{cond:{id:6,output_name:"out1"},input:{id:7,output_name:"output"}},inputs:[],label:"valid pairs in juicebox format MAPQ filtered",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1041,top:304.5},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"valid pairs in juicebox format MAPQ filtered"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"fe9a084d-06ad-4671-a4d6-85dff2f96138",when:null,workflow_outputs:[{label:"valid pairs in juicebox format MAPQ filtered",output_name:"out_file1",uuid:"b08373c7-59b2-4ae3-90b7-7c9a05ca81b7"}]}},tags:"",uuid:"9df7c037-6fe4-47e9-8311-e40bc5101b58"},tool_id:null,type:"subworkflow",uuid:"3584d879-0b7a-4a89-a5f6-8439db6f003e",when:null,workflow_outputs:[{label:"valid pairs in juicebox format",output_name:"valid pairs in juicebox format",uuid:"bc19676e-9619-43b9-9c21-bc3c31fad3b2"},{label:"valid pairs in juicebox format MAPQ filtered",output_name:"valid pairs in juicebox format MAPQ filtered",uuid:"ec040a8e-883a-4cdb-b5bf-ea5a611a16a7"},{label:"HiCUP report (html)",output_name:"HiCUP report (HTML)",uuid:"902f20ef-d51d-4fad-86a0-206cda2ef361"},{label:"HiCUP report (txt)",output_name:"HiCUP report (tabular)",uuid:"b479e588-6d59-4b60-9dd7-036e58358eae"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:11,input_connections:{"components_11|param_type|component_value":{id:8,output_name:"output"},"components_1|param_type|component_value":{id:7,output_name:"output"},"components_3|param_type|component_value":{id:9,output_name:"output"},"components_5|param_type|component_value":{id:8,output_name:"output"},"components_7|param_type|component_value":{id:7,output_name:"output"},"components_9|param_type|component_value":{id:9,output_name:"output"}},inputs:[],label:"write filtering for capture region",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:698.5,top:846.6216799999941},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:`{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "(c3=='"}}, {"__index__": 1, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "' and c4<"}}, {"__index__": 3, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " and c4>"}}, {"__index__": 5, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 6, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": ") and (c7==\\""}}, {"__index__": 7, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 8, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "\\" and c8<"}}, {"__index__": 9, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 10, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": " and c8>"}}, {"__index__": 11, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 12, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": ")"}}], "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"0.1.1",type:"tool",uuid:"5736ad36-505d-45cd-aebc-6763055e9509",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:12,input_connections:{"components_0|param_type|component_value":{id:7,output_name:"output"},"components_2|param_type|component_value":{id:8,output_name:"output"},"components_4|param_type|component_value":{id:9,output_name:"output"}},inputs:[],label:"write region for pyGenomeTracks",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:1398,top:689.6216799999941},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": ":"}}, {"__index__": 2, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 3, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "-"}}, {"__index__": 4, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"eb2d5028-6f3f-4f6f-9338-ec979be3b4ab",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"Filter1",errors:null,id:13,input_connections:{cond:{id:11,output_name:"out1"},input:{id:10,output_name:"valid pairs in juicebox format MAPQ filtered"}},inputs:[],label:"Filter for capture region",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:891.5,top:555.6216799999941},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"f39490d2-503d-4c69-a682-c8472abc8e94",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_csort_tabix/cooler_csort_tabix/0.9.3+galaxy1",errors:null,id:14,input_connections:{input:{id:13,output_name:"out_file1"},"size_source|fasta_cached":{id:1,output_name:"output"}},inputs:[],label:"Sort filtered pairs and index",name:"cooler csort with tabix",outputs:[{name:"output",type:"interval_tabix.gz"}],position:{left:988,top:228.12167999999406},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"juicer_medium_tabix.gz"},action_type:"ChangeDatatypeAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"valid pairs filtered and sorted"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_csort_tabix/cooler_csort_tabix/0.9.3+galaxy1",tool_shed_repository:{changeset_revision:"8c3cba559c99",name:"cooler_csort_tabix",owner:"lldelisle",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"format_sel": {"format": "juicer_medium", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "size_source": {"size_source_selector": "cached", "__current_case__": 0, "fasta_cached": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.3+galaxy1",type:"tool",uuid:"bbb479cd-c67c-4347-9c1d-ac8095d90aa9",when:null,workflow_outputs:[{label:"valid pairs filtered and sorted",output_name:"output",uuid:"1a49e9e8-502b-4750-9349-a026a26df5a0"}]},15:{annotation:"",id:15,input_connections:{"Bin size in bp":{id:5,input_subworkflow_step_id:0,output_name:"output"},"Interactions to consider to calculate weights in normalization step":{id:6,input_subworkflow_step_id:3,output_name:"output"},"Juicer Medium Tabix with validPairs":{id:14,input_subworkflow_step_id:2,output_name:"output"},"genome name":{id:1,input_subworkflow_step_id:1,output_name:"output"}},inputs:[],label:null,name:"Hi-C_juicermediumtabixToCool_cooler",outputs:[],position:{left:1290,top:309.1166687011719},subworkflow:{a_galaxy_workflow:"true",annotation:"",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Hi-C_juicermediumtabixToCool_cooler",steps:{0:{annotation:"For example 10000 for 10kb",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"For example 10000 for 10kb",name:"Bin size in bp"}],label:"Bin size in bp",name:"Input parameter",outputs:[],position:{left:0,top:33.5},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"d0a82863-82f8-426c-addb-06066e9d0a73",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"9b1ea2f8-0754-426a-b7a4-23385bc7ff6a"}]},1:{annotation:"This is used to get the chromosome sizes",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"This is used to get the chromosome sizes",name:"genome name"}],label:"genome name",name:"Input parameter",outputs:[],position:{left:46,top:123.5},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"48506f80-b1b5-4d1d-98a6-c6882de026f1",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"3074ec27-efc0-4aa1-b979-4e9a444420bd"}]},2:{annotation:"",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"",name:"Juicer Medium Tabix with validPairs"}],label:"Juicer Medium Tabix with validPairs",name:"Input dataset collection",outputs:[],position:{left:129.25,top:208.25},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"588962a4-8ce4-4929-81fd-a9dfdd032598",when:null,workflow_outputs:[]},3:{annotation:"Recommended value: cis-only",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Recommended value: cis-only",name:"Interactions to consider to calculate weights in normalization step"}],label:"Interactions to consider to calculate weights in normalization step",name:"Input parameter",outputs:[],position:{left:221,top:309.75},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"d6375500-a591-47a9-b126-950347e3e7a8",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"fc026c8b-591d-480c-acfa-5f480c2089dd"}]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_makebins/cooler_makebins/0.9.3+galaxy0",errors:null,id:4,input_connections:{binsize:{id:0,output_name:"output"},"size_source|fasta_cached":{id:1,output_name:"output"}},inputs:[],label:"make bed with bins",name:"cooler_makebins",outputs:[{name:"output",type:"bed"}],position:{left:489.25,top:0},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_makebins/cooler_makebins/0.9.3+galaxy0",tool_shed_repository:{changeset_revision:"ebd2a52eb245",name:"cooler_makebins",owner:"lldelisle",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"binsize": {"__class__": "ConnectedValue"}, "size_source": {"size_source_selector": "cached", "__current_case__": 0, "fasta_cached": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.3+galaxy0",type:"tool",uuid:"34e0a213-93e8-466e-b07b-ede1443ee7d6",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_cload_tabix/cooler_cload_tabix/0.9.3+galaxy1",errors:null,id:5,input_connections:{assembly:{id:1,output_name:"output"},"format_sel|input_pairs":{id:2,output_name:"output"},input_bed:{id:4,output_name:"output"}},inputs:[],label:"Load pairs in matrix",name:"cooler_cload_tabix",outputs:[{name:"output",type:"cool"}],position:{left:762.25,top:58},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"matrix with raw values"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_cload_tabix/cooler_cload_tabix/0.9.3+galaxy1",tool_shed_repository:{changeset_revision:"0641e1c892c6",name:"cooler_cload_tabix",owner:"lldelisle",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"assembly": {"__class__": "ConnectedValue"}, "format_sel": {"format": "juicer_medium", "__current_case__": 0, "input_pairs": {"__class__": "ConnectedValue"}}, "input_bed": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.3+galaxy1",type:"tool",uuid:"d411eea7-7996-44f2-af2a-feecb854a067",when:null,workflow_outputs:[{label:"matrix with raw values",output_name:"output",uuid:"d398b493-9b5d-412f-a06d-d1cfdc904feb"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_balance/cooler_balance/0.9.3+galaxy0",errors:null,id:6,input_connections:{cistrans:{id:3,output_name:"output"},input:{id:5,output_name:"output"}},inputs:[{description:"runtime parameter for tool cooler_balance",name:"blacklist"}],label:"ICE normalization",name:"cooler_balance",outputs:[{name:"output",type:"cool"}],position:{left:991.25,top:254.5},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"matrix with iced values"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_balance/cooler_balance/0.9.3+galaxy0",tool_shed_repository:{changeset_revision:"8f9fe0667b89",name:"cooler_balance",owner:"lldelisle",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"blacklist": {"__class__": "RuntimeValue"}, "cistrans": {"__class__": "ConnectedValue"}, "convergencepolicy": "error", "ignorediags": "2", "ignoredist": "0", "input": {"__class__": "ConnectedValue"}, "madmax": "5", "maxiters": "200", "mincount": "0", "minnnz": "10", "name": "weight", "tol": "1e-05", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.3+galaxy0",type:"tool",uuid:"44270887-1c96-4ede-8bb9-3db2a07eeb6e",when:null,workflow_outputs:[{label:"matrix with iced values",output_name:"output",uuid:"1d4fe955-922e-40bf-b879-a71290af3ea7"}]}},tags:"",uuid:"1a6f4422-8f82-4444-a30c-bde38d181e41"},tool_id:null,type:"subworkflow",uuid:"63c60960-bd33-436a-ac47-fdaf69c4bdfa",when:null,workflow_outputs:[{label:"matrix with iced values",output_name:"matrix with iced values",uuid:"178c2801-e3b3-4398-8448-795d67ae5aa3"},{label:"matrix with raw values",output_name:"matrix with raw values",uuid:"606c3260-41a2-400e-a580-0db59b3bc11f"}]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pygenometracks/pygenomeTracks/3.8+galaxy2",errors:null,id:16,input_connections:{region:{id:12,output_name:"out1"},"tracks_0|track_file_style_conditional|matrix_h5_cooler_multiple":{id:15,output_name:"matrix with iced values"}},inputs:[],label:"final_plot",name:"pyGenomeTracks",outputs:[{name:"outFileName",type:"png"}],position:{left:1673,top:806.6216799999941},post_job_actions:{RenameDatasetActionoutFileName:{action_arguments:{newname:"plot with pyGenomeTracks"},action_type:"RenameDatasetAction",output_name:"outFileName"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pygenometracks/pygenomeTracks/3.8+galaxy2",tool_shed_repository:{changeset_revision:"59fd173ac850",name:"pygenometracks",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"global_args": {"title": "", "fontsize": "12", "dpi": "72", "width": "40.0", "plotWidth": null, "height": null, "trackLabelFraction": "0.05", "trackLabelHAlign": "left", "decreasingXAxis": false}, "image_file_format": "png", "region": {"__class__": "ConnectedValue"}, "tracks": [{"__index__": 0, "track_file_style_conditional": {"track_file_style_selector": "hic_matrix_option", "__current_case__": 0, "title": "", "matrix_h5_cooler_multiple": {"__class__": "ConnectedValue"}, "colormap": "RdYlBu_r", "min_value": null, "max_value": null, "depth": "8000000", "transform": "no", "height_matrix": null, "show_masked_bins": false, "boundaries_file": {"__class__": "RuntimeValue"}, "scale_factor": "1.0", "rasterize": true, "invert_orientation": false, "spacer_height": null}}, {"__index__": 1, "track_file_style_conditional": {"track_file_style_selector": "xaxis_option", "__current_case__": 13, "title": "", "fontsize": null, "xaxis_where": "bottom", "spacer_height": null}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.8+galaxy2",type:"tool",uuid:"dfbe45de-b2a7-479e-b717-29ec5b31379e",when:null,workflow_outputs:[{label:"plot with pyGenomeTracks",output_name:"outFileName",uuid:"32a70740-19aa-463d-a280-6394156bd412"}]}},tags:["Hi-C"],uuid:"2a89cbe4-a69f-4bff-9465-2e04b0217e35",version:4},readme:`# Hi-C (hic_fastq_to_cool_hicup_cooler) and region capture Hi-C (chic_fastq_to_cool_hicup_cooler) Workflows This can also be used for Hi-ChIP experiments, in that case the output with \`matrix with iced values\` is ignored and the matrix to use is \`matrix with raw values\`. @@ -2233,6 +4176,100 @@ Fix dockstore (workflows are the same) ## [0.1] 2023-01-16 First release. +`,diagrams:`# Workflow diagrams + +## cHi-C_fastqToCool_hicup_cooler + +\`\`\`mermaid +graph LR +0["ℹ️ PE fastq input"]@{ shape: docs } +1["ℹ️ genome name"]@{ shape: lean-l } +2["ℹ️ Restriction enzyme"]@{ shape: lean-l } +3["ℹ️ No fill-in"]@{ shape: lean-l } +4["ℹ️ minimum MAPQ"]@{ shape: lean-l } +5["ℹ️ Bin size in bp"]@{ shape: lean-l } +6["ℹ️ Interactions to consider to calculate weights in normalization step"]@{ shape: lean-l } +7["ℹ️ capture region (chromosome)"]@{ shape: lean-l } +8["ℹ️ capture region (start)"]@{ shape: lean-l } +9["ℹ️ capture region (end)"]@{ shape: lean-l } +10["🛠️ Hi-C_fastqToPairs_hicup"]@{ shape: subprocess } +3 --> 10 +0 --> 10 +2 --> 10 +1 --> 10 +4 --> 10 +11["write filtering for capture region"]@{ shape: process } +8 --> 11 +7 --> 11 +9 --> 11 +8 --> 11 +7 --> 11 +9 --> 11 +12["write region for pyGenomeTracks"]@{ shape: process } +7 --> 12 +8 --> 12 +9 --> 12 +13["Filter for capture region"]@{ shape: process } +11 --> 13 +10 --> 13 +14["Sort filtered pairs and index"]@{ shape: process } +13 --> 14 +1 --> 14 +15["🛠️ Hi-C_juicermediumtabixToCool_cooler"]@{ shape: subprocess } +5 --> 15 +6 --> 15 +14 --> 15 +1 --> 15 +16["final_plot"]@{ shape: process } +12 --> 16 +15 --> 16 +\`\`\` + +## Hi-C_juicermediumtabixToCool_cooler + +\`\`\`mermaid +graph LR +0["ℹ️ Bin size in bp"]@{ shape: lean-l } +1["ℹ️ genome name"]@{ shape: lean-l } +2["ℹ️ Juicer Medium Tabix with validPairs"]@{ shape: docs } +3["ℹ️ Interactions to consider to calculate weights in normalization step"]@{ shape: lean-l } +4["make bed with bins"]@{ shape: process } +0 --> 4 +1 --> 4 +5["Load pairs in matrix"]@{ shape: process } +1 --> 5 +2 --> 5 +4 --> 5 +6["ICE normalization"]@{ shape: process } +3 --> 6 +5 --> 6 +\`\`\` + +## Hi-C_fastqToPairs_hicup + +\`\`\`mermaid +graph LR +0["ℹ️ PE fastq input"]@{ shape: docs } +1["ℹ️ genome name"]@{ shape: lean-l } +2["ℹ️ Restriction enzyme"]@{ shape: lean-l } +3["ℹ️ No fill-in"]@{ shape: lean-l } +4["ℹ️ minimum MAPQ"]@{ shape: lean-l } +5["HiCUP"]@{ shape: process } +3 --> 5 +1 --> 5 +0 --> 5 +2 --> 5 +1 --> 5 +6["build filtering rule for MAPQ"]@{ shape: process } +4 --> 6 +4 --> 6 +7["valid pairs in juicebox format"]@{ shape: process } +5 --> 7 +5 --> 7 +8["valid pairs in juicebox format MAPQ filtered"]@{ shape: process } +6 --> 8 +7 --> 8 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/hic-hicup-cooler/chic-fastq-to-cool-hicup-cooler",tests:[{doc:"Test outline for Hi-C_fastqToCool_hicup_cooler",job:{"PE fastq input":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"test_dataset",elements:[{class:"File",identifier:"forward",location:"https://github.com/bgruening/galaxytools/raw/master/tools/hicup/test-data/dataset1.fastq",filetype:"fastqsanger"},{class:"File",identifier:"reverse",location:"https://github.com/bgruening/galaxytools/raw/master/tools/hicup/test-data/dataset2.fastq",filetype:"fastqsanger"}]}]},"genome name":"hg19","Restriction enzyme":"A^AGCTT,HindIII","No fill-in":"false","minimum MAPQ":30,"Bin size in bp":1e6,"Interactions to consider to calculate weights in normalization step":"--cis-only","capture region (chromosome)":"chr2","capture region (start)":17e7,"capture region (end)":18e7},outputs:{"HiCUP report (html)":{element_tests:{test_dataset:{asserts:{has_size:{value:4602173,delta:4e6}}}}},"HiCUP report (txt)":{element_tests:{test_dataset:{asserts:{has_text:{text:" 99742 99742 92512 92628 7230 7114 22.45 22.63 2658 2476 73431 72142 17767 18475 5886 6649 57671 57671 39966 1652 17997 20317 17705 481 2432 13452 1340 0 0 39962 1652 17996 20314 57.82 69.30 99.99 50.83 40.07"}}}}},"valid pairs in juicebox format":{element_tests:{test_dataset:{asserts:[{that:"has_line",line:"1 1 chr10 100023987 28055 1 chr10 101500419 28474 42 42"},{that:"has_line",line:"2 1 chr10 100091500 28079 1 chr10 122245984 34516 38 42"},{that:"has_line",line:"3 0 chr10 100127492 28094 1 chr10 50864290 13489 0 42"}]}}},"valid pairs in juicebox format MAPQ filtered":{element_tests:{test_dataset:{asserts:[{that:"has_line",line:"1 1 chr10 100023987 28055 1 chr10 101500419 28474 42 42"},{that:"has_line",line:"2 1 chr10 100091500 28079 1 chr10 122245984 34516 38 42"},{that:"not_has_text",text:"3 0 chr10 100127492 28094 1 chr10 50864290 13489 0 42"}]}}},"valid pairs filtered and sorted":{element_tests:{test_dataset:{asserts:{has_size:{value:807,delta:80}}}}},"matrix with raw values":{element_tests:{test_dataset:{asserts:{has_size:{value:42118,delta:4e3}}}}},"matrix with iced values":{element_tests:{test_dataset:{asserts:{has_size:{value:47830,delta:4e3}}}}},"plot with pyGenomeTracks":{file:"test-data/plot_chic.png",compare:"sim_size",delta:1500}}}]},{name:"hic-juicermediumtabix-to-cool-cooler",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/hic-juicermediumtabix-to-cool-cooler.ga",testParameterFiles:["/hic-juicermediumtabix-to-cool-cooler-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow uses as input a collection of juicer medium tabix files and a genome name. It builds balanced cool file to the desired resolution.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"Hi-C_juicermediumtabixToCool_cooler",steps:{0:{annotation:"For example 10000 for 10kb",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"For example 10000 for 10kb",name:"Bin size in bp"}],label:"Bin size in bp",name:"Input parameter",outputs:[],position:{left:0,top:33.5},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"d0a82863-82f8-426c-addb-06066e9d0a73",when:null,workflow_outputs:[]},1:{annotation:"This is used to get the chromosome sizes",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"This is used to get the chromosome sizes",name:"genome name"}],label:"genome name",name:"Input parameter",outputs:[],position:{left:46,top:123.5},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"48506f80-b1b5-4d1d-98a6-c6882de026f1",when:null,workflow_outputs:[]},2:{annotation:"",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"",name:"Juicer Medium Tabix with validPairs"}],label:"Juicer Medium Tabix with validPairs",name:"Input dataset collection",outputs:[],position:{left:129.25,top:208.25},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"588962a4-8ce4-4929-81fd-a9dfdd032598",when:null,workflow_outputs:[]},3:{annotation:"Recommended value: cis-only",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Recommended value: cis-only",name:"Interactions to consider to calculate weights in normalization step"}],label:"Interactions to consider to calculate weights in normalization step",name:"Input parameter",outputs:[],position:{left:221,top:309.75},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"d6375500-a591-47a9-b126-950347e3e7a8",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_makebins/cooler_makebins/0.9.3+galaxy0",errors:null,id:4,input_connections:{binsize:{id:0,output_name:"output"},"size_source|fasta_cached":{id:1,output_name:"output"}},inputs:[],label:"make bed with bins",name:"cooler_makebins",outputs:[{name:"output",type:"bed"}],position:{left:489.25,top:0},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_makebins/cooler_makebins/0.9.3+galaxy0",tool_shed_repository:{changeset_revision:"ebd2a52eb245",name:"cooler_makebins",owner:"lldelisle",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"binsize": {"__class__": "ConnectedValue"}, "size_source": {"size_source_selector": "cached", "__current_case__": 0, "fasta_cached": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.3+galaxy0",type:"tool",uuid:"34e0a213-93e8-466e-b07b-ede1443ee7d6",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_cload_tabix/cooler_cload_tabix/0.9.3+galaxy1",errors:null,id:5,input_connections:{assembly:{id:1,output_name:"output"},"format_sel|input_pairs":{id:2,output_name:"output"},input_bed:{id:4,output_name:"output"}},inputs:[],label:"Load pairs in matrix",name:"cooler_cload_tabix",outputs:[{name:"output",type:"cool"}],position:{left:762.25,top:58},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"matrix with raw values"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_cload_tabix/cooler_cload_tabix/0.9.3+galaxy1",tool_shed_repository:{changeset_revision:"0641e1c892c6",name:"cooler_cload_tabix",owner:"lldelisle",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"assembly": {"__class__": "ConnectedValue"}, "format_sel": {"format": "juicer_medium", "__current_case__": 0, "input_pairs": {"__class__": "ConnectedValue"}}, "input_bed": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.3+galaxy1",type:"tool",uuid:"d411eea7-7996-44f2-af2a-feecb854a067",when:null,workflow_outputs:[{label:"matrix with raw values",output_name:"output",uuid:"d398b493-9b5d-412f-a06d-d1cfdc904feb"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_balance/cooler_balance/0.9.3+galaxy0",errors:null,id:6,input_connections:{cistrans:{id:3,output_name:"output"},input:{id:5,output_name:"output"}},inputs:[{description:"runtime parameter for tool cooler_balance",name:"blacklist"}],label:"ICE normalization",name:"cooler_balance",outputs:[{name:"output",type:"cool"}],position:{left:991.25,top:254.5},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"matrix with iced values"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lldelisle/cooler_balance/cooler_balance/0.9.3+galaxy0",tool_shed_repository:{changeset_revision:"8f9fe0667b89",name:"cooler_balance",owner:"lldelisle",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"blacklist": {"__class__": "RuntimeValue"}, "cistrans": {"__class__": "ConnectedValue"}, "convergencepolicy": "error", "ignorediags": "2", "ignoredist": "0", "input": {"__class__": "ConnectedValue"}, "madmax": "5", "maxiters": "200", "mincount": "0", "minnnz": "10", "name": "weight", "tol": "1e-05", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.3+galaxy0",type:"tool",uuid:"44270887-1c96-4ede-8bb9-3db2a07eeb6e",when:null,workflow_outputs:[{label:"matrix with iced values",output_name:"output",uuid:"1d4fe955-922e-40bf-b879-a71290af3ea7"}]}},tags:["Hi-C"],uuid:"48733b55-4cde-45d4-a69e-78faff0db3f5",version:1},readme:`# Hi-C (hic_fastq_to_cool_hicup_cooler) and region capture Hi-C (chic_fastq_to_cool_hicup_cooler) Workflows This can also be used for Hi-ChIP experiments, in that case the output with \`matrix with iced values\` is ignored and the matrix to use is \`matrix with raw values\`. @@ -2321,6 +4358,27 @@ Fix dockstore (workflows are the same) ## [0.1] 2023-01-16 First release. +`,diagrams:`# Workflow diagrams + +## Hi-C_juicermediumtabixToCool_cooler + +\`\`\`mermaid +graph LR +0["ℹ️ Bin size in bp"]@{ shape: lean-l } +1["ℹ️ genome name"]@{ shape: lean-l } +2["ℹ️ Juicer Medium Tabix with validPairs"]@{ shape: docs } +3["ℹ️ Interactions to consider to calculate weights in normalization step"]@{ shape: lean-l } +4["make bed with bins"]@{ shape: process } +0 --> 4 +1 --> 4 +5["Load pairs in matrix"]@{ shape: process } +1 --> 5 +2 --> 5 +4 --> 5 +6["ICE normalization"]@{ shape: process } +3 --> 6 +5 --> 6 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/hic-hicup-cooler/hic-juicermediumtabix-to-cool-cooler",tests:[{doc:"Test outline for Hi-C_fastqToCool_hicup_cooler",job:{"Juicer Medium Tabix with validPairs":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"test_dataset",path:"test-data/valid_pairs_filtered_and_sorted.juicer_medium_tabix.gz",filetype:"juicer_medium_tabix.gz"}]},"genome name":"hg19","Bin size in bp":1e6,"Interactions to consider to calculate weights in normalization step":"--cis-only"},outputs:{"matrix with raw values":{element_tests:{test_dataset:{asserts:{has_size:{value:42118,delta:4e3}}}}},"matrix with iced values":{element_tests:{test_dataset:{asserts:{has_size:{value:47830,delta:4e3}}}}}}}]},{name:"hic-fastq-to-pairs-hicup",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/hic-fastq-to-pairs-hicup.ga",testParameterFiles:["/hic-fastq-to-pairs-hicup-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input a collection of paired fastq. It uses HiCUP to go from fastq to validPair file. First truncate the fastq using the cutting sequence to guess the fill-in. Then map the truncated fastq. Then asign to fragment and filter the self-ligated and dandling ends or internal (it can also filter for the size). Then it removes the duplicates. Convert the output to be compatible with juicebox or cooler using the middle of the fragment as coordinates. Finally filter for mapping quality",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"Hi-C_fastqToPairs_hicup",steps:{0:{annotation:"Should be a paired collection with Hi-C fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a paired collection with Hi-C fastqs",name:"PE fastq input"}],label:"PE fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:12.5},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"30fe3d0f-541a-478a-b57d-a43c0c16ccad",when:null,workflow_outputs:[]},1:{annotation:"use the bowtie2 indexes to display choices",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"use the bowtie2 indexes to display choices",name:"genome name"}],label:"genome name",name:"Input parameter",outputs:[],position:{left:39,top:82.5},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"45194ed6-a1e9-4248-8d3a-f51febc36d61",when:null,workflow_outputs:[]},2:{annotation:"Restriction enzyme used e.g. A^GATCT,BglII. Some Hi-C protocols may use several enzymes. To specify several enzymes, use the ':' to separate them e.g. A^GATCT,BglII:A^AGCTT,HindIII:^GATC,DpnII. HiCUP accomodates N in restriction enzyme: e.g. :A^ANCTT",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Restriction enzyme used e.g. A^GATCT,BglII. Some Hi-C protocols may use several enzymes. To specify several enzymes, use the ':' to separate them e.g. A^GATCT,BglII:A^AGCTT,HindIII:^GATC,DpnII. HiCUP accomodates N in restriction enzyme: e.g. :A^ANCTT",name:"Restriction enzyme"}],label:"Restriction enzyme",name:"Input parameter",outputs:[],position:{left:58,top:155.5},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ec011ceb-c601-464f-8661-ca9c0b335bb5",when:null,workflow_outputs:[]},3:{annotation:"Hi-C protocol did NOT include a fill-in of sticky ends prior to re-ligation and therefore reads shall be truncated at the restriction site sequence",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Hi-C protocol did NOT include a fill-in of sticky ends prior to re-ligation and therefore reads shall be truncated at the restriction site sequence",name:"No fill-in"}],label:"No fill-in",name:"Input parameter",outputs:[],position:{left:97.5,top:248.5},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"c807fdbf-1c1d-45b4-851e-47fb919b07d6",when:null,workflow_outputs:[]},4:{annotation:"can be set to 0 for no filtering",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"can be set to 0 for no filtering",name:"minimum MAPQ"}],label:"minimum MAPQ",name:"Input parameter",outputs:[],position:{left:131,top:320.5},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"748c8800-5bef-41b7-b2cf-6d6a57c0eb70",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.9.2+galaxy0",errors:null,id:5,input_connections:{"advanced_options|nofill":{id:3,output_name:"output"},genome:{id:1,output_name:"output"},"library|input_1":{id:0,output_name:"output"},re1:{id:2,output_name:"output"},"reference_genome|index":{id:1,output_name:"output"}},inputs:[],label:"HiCUP",name:"Hicup Pipeline",outputs:[{name:"intermediate_results",type:"input"},{name:"hicup_results",type:"html"},{name:"hicup_report",type:"tabular"},{name:"dataset_hicup",type:"qname_sorted.bam"},{name:"digester_file",type:"tabular"}],position:{left:356.5,top:0},post_job_actions:{HideDatasetActiondataset_hicup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"dataset_hicup"},HideDatasetActiondigester_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"digester_file"},HideDatasetActionintermediate_results:{action_arguments:{},action_type:"HideDatasetAction",output_name:"intermediate_results"},RenameDatasetActionhicup_report:{action_arguments:{newname:"HiCUP report (tabular)"},action_type:"RenameDatasetAction",output_name:"hicup_report"},RenameDatasetActionhicup_results:{action_arguments:{newname:"HiCUP report (HTML)"},action_type:"RenameDatasetAction",output_name:"hicup_results"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.9.2+galaxy0",tool_shed_repository:{changeset_revision:"68fb19094f84",name:"hicup_hicup",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"re2": "", "longest": "", "shortest": "", "nofill": {"__class__": "ConnectedValue"}}, "genome": {"__class__": "ConnectedValue"}, "library": {"type": "paired_collection", "__current_case__": 1, "input_1": {"__class__": "ConnectedValue"}}, "re1": {"__class__": "ConnectedValue"}, "reference_genome": {"source": "indexed", "__current_case__": 0, "index": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.2+galaxy0",type:"tool",uuid:"8aba6fbb-d940-4826-911b-8c148e82085c",when:null,workflow_outputs:[{label:"HiCUP report (tabular)",output_name:"hicup_report",uuid:"fd8f1b17-c68e-4652-b139-acccf51baa30"},{label:"HiCUP report (HTML)",output_name:"hicup_results",uuid:"ba37bb7a-ad3a-487b-b7ba-0023f1c496fd"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:6,input_connections:{"components_1|param_type|component_value":{id:4,output_name:"output"},"components_3|param_type|component_value":{id:4,output_name:"output"}},inputs:[],label:"build filtering rule for MAPQ",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:746.5,top:392.5},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "(c10>="}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": ") and (c11>="}}, {"__index__": 3, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": ")"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"ee70cd21-6a36-4e21-97d2-ff0749236523",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.9.2+galaxy0",errors:null,id:7,input_connections:{"digester|digester_file":{id:5,output_name:"digester_file"},input_file:{id:5,output_name:"dataset_hicup"}},inputs:[{description:"runtime parameter for tool Hicup to juicer converter",name:"digester"},{description:"runtime parameter for tool Hicup to juicer converter",name:"input_file"}],label:"valid pairs in juicebox format",name:"Hicup to juicer converter",outputs:[{name:"output",type:"tabular"}],position:{left:637.5,top:197.5},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"valid pairs in juicebox format"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.9.2+galaxy0",tool_shed_repository:{changeset_revision:"b4e7244246e2",name:"hicup2juicer",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"digester": {"provide_digester": "yes", "__current_case__": 0, "digester_file": {"__class__": "RuntimeValue"}, "usemid": true}, "input_file": {"__class__": "RuntimeValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.9.2+galaxy0",type:"tool",uuid:"659811cd-a212-4949-9693-074f6161ed11",when:null,workflow_outputs:[{label:"valid pairs in juicebox format",output_name:"output",uuid:"dfc67c68-2569-4727-9ca6-a70f3b13edd9"}]},8:{annotation:"",content_id:"Filter1",errors:null,id:8,input_connections:{cond:{id:6,output_name:"out1"},input:{id:7,output_name:"output"}},inputs:[],label:"valid pairs in juicebox format MAPQ filtered",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1041,top:304.5},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"valid pairs in juicebox format MAPQ filtered"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"fe9a084d-06ad-4671-a4d6-85dff2f96138",when:null,workflow_outputs:[{label:"valid pairs in juicebox format MAPQ filtered",output_name:"out_file1",uuid:"b08373c7-59b2-4ae3-90b7-7c9a05ca81b7"}]}},tags:["Hi-C"],uuid:"48f579ea-eaac-49ee-b38f-93c82f8b7d76",version:2},readme:`# Hi-C (hic_fastq_to_cool_hicup_cooler) and region capture Hi-C (chic_fastq_to_cool_hicup_cooler) Workflows This can also be used for Hi-ChIP experiments, in that case the output with \`matrix with iced values\` is ignored and the matrix to use is \`matrix with raw values\`. @@ -2409,6 +4467,33 @@ Fix dockstore (workflows are the same) ## [0.1] 2023-01-16 First release. +`,diagrams:`# Workflow diagrams + +## Hi-C_fastqToPairs_hicup + +\`\`\`mermaid +graph LR +0["ℹ️ PE fastq input"]@{ shape: docs } +1["ℹ️ genome name"]@{ shape: lean-l } +2["ℹ️ Restriction enzyme"]@{ shape: lean-l } +3["ℹ️ No fill-in"]@{ shape: lean-l } +4["ℹ️ minimum MAPQ"]@{ shape: lean-l } +5["HiCUP"]@{ shape: process } +3 --> 5 +1 --> 5 +0 --> 5 +2 --> 5 +1 --> 5 +6["build filtering rule for MAPQ"]@{ shape: process } +4 --> 6 +4 --> 6 +7["valid pairs in juicebox format"]@{ shape: process } +5 --> 7 +5 --> 7 +8["valid pairs in juicebox format MAPQ filtered"]@{ shape: process } +6 --> 8 +7 --> 8 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/hic-hicup-cooler/hic-fastq-to-pairs-hicup",tests:[{doc:"Test outline for Hi-C_fastqToPairs_hicup",job:{"PE fastq input":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"test_dataset",elements:[{class:"File",identifier:"forward",location:"https://github.com/bgruening/galaxytools/raw/master/tools/hicup/test-data/dataset1.fastq",filetype:"fastqsanger"},{class:"File",identifier:"reverse",location:"https://github.com/bgruening/galaxytools/raw/master/tools/hicup/test-data/dataset2.fastq",filetype:"fastqsanger"}]}]},"genome name":"hg19","Restriction enzyme":"A^AGCTT,HindIII","No fill-in":"false","minimum MAPQ":30},outputs:{"HiCUP report (HTML)":{element_tests:{test_dataset:{asserts:{has_size:{value:4602173,delta:4e6}}}}},"HiCUP report (tabular)":{element_tests:{test_dataset:{asserts:{has_text:{text:" 99742 99742 92512 92628 7230 7114 22.45 22.63 2658 2476 73431 72142 17767 18475 5886 6649 57671 57671 39966 1652 17997 20317 17705 481 2432 13452 1340 0 0 39962 1652 17996 20314 57.82 69.30 99.99 50.83 40.07"}}}}},"valid pairs in juicebox format":{element_tests:{test_dataset:{asserts:[{that:"has_line",line:"1 1 chr10 100023987 28055 1 chr10 101500419 28474 42 42"},{that:"has_line",line:"2 1 chr10 100091500 28079 1 chr10 122245984 34516 38 42"},{that:"has_line",line:"3 0 chr10 100127492 28094 1 chr10 50864290 13489 0 42"}]}}},"valid pairs in juicebox format MAPQ filtered":{element_tests:{test_dataset:{asserts:[{that:"has_line",line:"1 1 chr10 100023987 28055 1 chr10 101500419 28474 42 42"},{that:"has_line",line:"2 1 chr10 100091500 28079 1 chr10 122245984 34516 38 42"},{that:"not_has_text",text:"3 0 chr10 100127492 28094 1 chr10 50864290 13489 0 42"}]}}}}}]}],path:"./workflows/epigenetics/hic-hicup-cooler"},{version:1.2,workflows:[{name:"consensus-peaks-chip-sr",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/consensus-peaks-chip-sr.ga",testParameterFiles:["/consensus-peaks-chip-sr-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input SR BAM from ChIP-seq. It calls peaks on each replicate and intersect them. In parallel, each BAM is subsetted to smallest number of reads. Peaks are called using all subsets combined. Only peaks called using a combination of all subsets which have summits intersecting the intersection of at least x replicates will be kept.",comments:[{child_steps:[5,8,12],color:"blue",data:{title:"Get a BED with intersection of at least x rep"},id:0,position:[767.4,0],size:[525.4,382.7],type:"frame"},{child_steps:[4,7,11,10,15,14,16,17,18,19],color:"none",data:{title:"Downsample input BAM to get the same number of reads"},id:2,position:[310.4,898],size:[2e3,403],type:"frame"},{child_steps:[9,13],color:"green",data:{title:"Get the average coverage"},id:1,position:[721.4,539.8],size:[548.7,332],type:"frame"}],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"1.2",name:"Get Confident Peaks From ChIP_SR replicates",steps:{0:{annotation:"A collection with n replicates. BAM should not have duplicates",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"A collection with n replicates. BAM should not have duplicates",name:"n rmDup BAMSR"}],label:"n rmDup BAMSR",name:"Input dataset collection",outputs:[],position:{left:0,top:168.94998779296876},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"fc7f3d9f-c1a6-4e00-a65a-ff31ab9e6bca",when:null,workflow_outputs:[]},1:{annotation:"Minimum number of replicates into which the summit should be present.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Minimum number of replicates into which the summit should be present.",name:"Minimum number of overlap"}],label:"Minimum number of overlap",name:"Input parameter",outputs:[],position:{left:25,top:247.4},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"025fcb5d-6842-4ed0-9bac-b393942b9d29",when:null,workflow_outputs:[]},2:{annotation:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:39,top:341.94791480468575},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"dac93661-a2aa-4163-a3ec-f64c4075c881",when:null,workflow_outputs:[]},3:{annotation:"Bin size for average of normalized coverage",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Bin size for average of normalized coverage",name:"bin_size"}],label:"bin_size",name:"Input parameter",outputs:[],position:{left:57,top:438.98123999999825},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ef17ea2d-7f73-44a8-aecf-15279c559fd1",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:4,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:"count number of reads",name:"Samtools view",outputs:[{name:"outputcnt",type:"tabular"}],position:{left:330.46457068361184,top:1016.5181008539595},post_job_actions:{HideDatasetActionoutputcnt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputcnt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "all_reads", "__current_case__": 0, "output_options": {"reads_report_type": "count", "__current_case__": 1}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"a864ff43-af08-436a-aa78-54491ff0cce6",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:5,input_connections:{"components_1|param_type|component_value":{id:1,output_name:"output"}},inputs:[],label:"generate filter rule",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:795.7157982750858,top:206.5517325344974},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "c4 >= "}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"e6855df9-0e94-4310-835c-15514bd37974",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:6,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"call peaks individually",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"}],position:{left:454.449951171875,top:153.21457740234203},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"individual macs2 narrowPeaks"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"individual macs2 tabular"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"individual macs2 coverage normalized"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": true, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "1", "__current_case__": 1}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BAM", "nomodel_type": {"nomodel_type_selector": "nomodel", "__current_case__": 1, "extsize": "200", "shift": "0"}, "outputs": ["bdg", "peaks_tabular"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"8f2a3aa4-704e-4d90-a672-94b97996dd56",when:null,workflow_outputs:[{label:"individual_macs2_narrowPeaks",output_name:"output_narrowpeaks",uuid:"4552df5d-4397-4118-af11-f97eb8c748a5"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:7,input_connections:{input_list:{id:4,output_name:"outputcnt"}},inputs:[],label:"put all nb of reads into single dataset",name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:585.9498956836106,top:1016.0836991103162},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": false, "__current_case__": 1}, "input_list": {"__class__": "ConnectedValue"}, "one_header": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"bd8b6b03-19ef-4921-96c3-abe5e6992941",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1",errors:null,id:8,input_connections:{"tag|inputs":{id:6,output_name:"output_narrowpeaks"}},inputs:[{description:"runtime parameter for tool bedtools Multiple Intersect",name:"tag"}],label:"compute multi intersect",name:"bedtools Multiple Intersect",outputs:[{name:"output",type:"bed"}],position:{left:790,top:49.4},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"cluster": false, "empty": {"empty_selector": "", "__current_case__": 1}, "filler": "0", "header": false, "tag": {"tag_select": "tag", "__current_case__": 0, "inputs": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1",type:"tool",uuid:"9edd1aab-eb4c-4fd4-b9f6-a6dbcae46dd2",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:9,input_connections:{input1:{id:6,output_name:"output_treat_pileup"}},inputs:[],label:"individual normalized bigwig",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:777.2817744590351,top:635.7085502853505},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"d0d6f92d-3d7e-44c3-b2f6-c10e429d2369",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",errors:null,id:10,input_connections:{"singtabop|input":{id:7,output_name:"output"}},inputs:[{description:"runtime parameter for tool Table Compute",name:"singtabop"}],label:"get min value",name:"Table Compute",outputs:[{name:"table",type:"tabular"}],position:{left:839.4690473102415,top:1013.9803858976712},post_job_actions:{HideDatasetActiontable:{action_arguments:{},action_type:"HideDatasetAction",output_name:"table"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",tool_shed_repository:{changeset_revision:"3bf5661c0280",name:"table_compute",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"out_opts": null, "precision": "6", "singtabop": {"use_type": "single", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "col_row_names": null, "adv": {"header": null, "nrows": null, "skipfooter": null, "skip_blank_lines": true}, "user": {"mode": "matrixapply", "__current_case__": 3, "matrixapply_func": {"vector_op": "min", "__current_case__": 1}, "dimension": "0"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.4+galaxy0",type:"tool",uuid:"0d63ffd8-0646-4dbf-9ede-14bffcd5de2d",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"wc_gnu",errors:null,id:11,input_connections:{input1:{id:7,output_name:"output"}},inputs:[],label:"get nb of replicates",name:"Line/Word/Character count",outputs:[{name:"out_file1",type:"tabular"}],position:{left:852.2032935094636,top:1131.5836587544356},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"wc_gnu",tool_state:'{"include_header": false, "input1": {"__class__": "ConnectedValue"}, "options": ["lines"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"1e4420d0-edfb-4411-b7e0-602b510ff898",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"Filter1",errors:null,id:12,input_connections:{cond:{id:5,output_name:"out1"},input:{id:8,output_name:"output"}},inputs:[],label:"filter multi intersect",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1058,top:57.4},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"4acd5289-87cc-4cfb-9863-35248989ab27",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",errors:null,id:13,input_connections:{"advancedOpt|binSize":{id:3,output_name:"output"},bigwigs:{id:9,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"},{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"}],label:"average coverage from replicates",name:"bigwigAverage",outputs:[{name:"outFileName",type:"bigwig"}],position:{left:1035.1219194343084,top:575.1464921044934},post_job_actions:{RenameDatasetActionoutFileName:{action_arguments:{newname:"Average Normalized Coverage of all replicates"},action_type:"RenameDatasetAction",output_name:"outFileName"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",tool_shed_repository:{changeset_revision:"4a53856a5b85",name:"deeptools_bigwig_average",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advancedOpt": {"showAdvancedOpt": "yes", "__current_case__": 1, "binSize": {"__class__": "ConnectedValue"}, "skipNAs": false, "scaleFactors": "1", "blackListFileName": {"__class__": "RuntimeValue"}}, "bigwigs": {"__class__": "ConnectedValue"}, "outFileFormat": "bigwig", "region": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.5.4+galaxy0",type:"tool",uuid:"36059130-5f2a-4fe0-8b36-58073595fdd5",when:null,workflow_outputs:[{label:"average_bigwig",output_name:"outFileName",uuid:"35dfdb8a-121d-41d1-9ad1-1e0d95a8ab8c"}]},14:{annotation:"",content_id:"param_value_from_file",errors:null,id:14,input_connections:{input1:{id:10,output_name:"table"}},inputs:[],label:"convert min value to text",name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:1084.3691526034222,top:938.054981863764},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"},HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"cdbee56b-9fff-4205-9cb6-741be770985d",when:null,workflow_outputs:[]},15:{annotation:"get nb of rep as param",content_id:"param_value_from_file",errors:null,id:15,input_connections:{input1:{id:11,output_name:"out_file1"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1092.4166992159298,top:1123.4218289425305},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"2ea49dca-270b-454a-9d86-6947799ab996",when:null,workflow_outputs:[]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:16,input_connections:{"token_set_0|line":{id:14,output_name:"text_param"},"token_set_0|repeat_select|times":{id:15,output_name:"integer_param"}},inputs:[],label:"create a dataset with the min value as many times as there are replicates",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:1355.26353673623,top:996.1249965061141},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": {"__class__": "ConnectedValue"}, "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"29ef7038-e10a-47cd-835f-945dccaf9c1c",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:17,input_connections:{"split_parms|input":{id:16,output_name:"outfile"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"split min value",name:"Split file",outputs:[{name:"list_output_txt",type:"input"}],position:{left:1583.8149291973814,top:1143.0376400865628},post_job_actions:{HideDatasetActionlist_output_txt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "txt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"7db836a5-793a-403e-8db1-b97f619f4c69",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"param_value_from_file",errors:null,id:18,input_connections:{input1:{id:17,output_name:"list_output_txt"}},inputs:[],label:"convert min nb of reads to parameter",name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1830.6125542203363,top:1109.3615627344768},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"71b1c454-41db-4a8b-8595-8d3fa86a86a0",when:null,workflow_outputs:[]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:19,input_connections:{input:{id:0,output_name:"output"},"mode|subsample_config|subsampling_mode|target":{id:18,output_name:"integer_param"}},inputs:[],label:"downsample BAM",name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:2090.7845788070495,top:1085.996383548678},post_job_actions:{HideDatasetActionoutputsam:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "cond_expr": {"select_expr": "no", "__current_case__": 0}, "quality": null, "library": null, "cigarcons": null, "inclusive_filter": null, "exclusive_filter": null, "exclusive_filter_all": null, "tag": null, "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "target", "__current_case__": 1, "target": {"__class__": "ConnectedValue"}, "seed": "1"}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"ae46e826-d985-4437-abae-152b6877eea7",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:20,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:19,output_name:"outputsam"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"call peaks on merge",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"}],position:{left:1546.199951171875,top:579.4979025976545},post_job_actions:{HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"merged macs2 narrowPeaks"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"merged macs2 tabular"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"merged macs2 coverage normalized"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": true, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "1", "__current_case__": 1}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BAM", "nomodel_type": {"nomodel_type_selector": "nomodel", "__current_case__": 1, "extsize": "200", "shift": "0"}, "outputs": ["peaks_tabular"], "treatment": {"t_multi_select": "Yes", "__current_case__": 1, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"e183ec20-d4ab-427a-9a0c-3e9bbced8793",when:null,workflow_outputs:[{label:"merged_macs2_narrowPeaks",output_name:"output_narrowpeaks",uuid:"6d97d620-9486-4d85-9a80-e3595c0bb968"}]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0",errors:null,id:21,input_connections:{inputA:{id:20,output_name:"output_narrowpeaks"},"reduce_or_iterate|inputB":{id:12,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bedtools Intersect intervals",name:"reduce_or_iterate"}],label:"get merged peaks overlapping at least x replicates",name:"bedtools Intersect intervals",outputs:[{name:"output",type:"input"}],position:{left:1643.5166015625,top:314.897927011717},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed": false, "count": false, "fraction_cond": {"fraction_select": "default", "__current_case__": 0}, "genome_file_opts": {"genome_file_opts_selector": "loc", "__current_case__": 0, "genome": null}, "header": false, "inputA": {"__class__": "ConnectedValue"}, "invert": false, "once": false, "overlap_mode": ["-wa", "-wb"], "reduce_or_iterate": {"reduce_or_iterate_selector": "iterate", "__current_case__": 0, "inputB": {"__class__": "ConnectedValue"}}, "sorted": false, "split": false, "strand": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"d6183a41-f78c-49fc-b826-f8aa95ff84cb",when:null,workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:22,input_connections:{"results_0|software_cond|input":{id:6,output_name:"output_tabular"},"results_1|software_cond|input":{id:20,output_name:"output_tabular"}},inputs:[],label:"multiQC",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2315.5733416696335,top:16.13231218303406},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"f7d74248-16e3-4020-8156-caae0e7682ef",when:null,workflow_outputs:[{label:"multiqc_output",output_name:"html_report",uuid:"a342a984-235e-4d40-9e09-d835aab35282"}]},23:{annotation:"",content_id:"Filter1",errors:null,id:23,input_connections:{input:{id:21,output_name:"output"}},inputs:[],label:"only keep peaks with summits overlapping intersection of at least x replicates",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1874.401877544738,top:319.9312522070295},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": "(c2+c10)>=c12 and (c2+c10)Fragment Length'}}},shared_narrowPeak:{asserts:{has_n_lines:{n:2}}}}}]},{name:"consensus-peaks-chip-pe",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/consensus-peaks-chip-pe.ga",testParameterFiles:["/consensus-peaks-chip-pe-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input PE BAM from ChIP-seq. It calls peaks on each replicate and intersect them. In parallel, each BAM is subsetted to smallest number of reads. Peaks are called using all subsets combined. Only peaks called using a combination of all subsets which have summits intersecting the intersection of at least x replicates will be kept.",comments:[{child_steps:[9,13],color:"green",data:{title:"Get the average coverage"},id:2,position:[687.5,395.8],size:[498.9,345.5],type:"frame"},{child_steps:[4,7,11,10,15,14,16,17,18,19],color:"none",data:{title:"Downsample input BAM to get the same number of reads"},id:1,position:[180.2,744.1],size:[1889,379],type:"frame"},{child_steps:[5,8,12],color:"blue",data:{title:"Get a BED with intersection of at least x rep"},id:0,position:[764.8,0],size:[531.7,370.1],type:"frame"}],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"1.2",name:"Get Confident Peaks From ChIP_PE replicates",steps:{0:{annotation:"A collection with n replicates. BAM should not have duplicates",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"A collection with n replicates. BAM should not have duplicates",name:"n rmDup BAMPE"}],label:"n rmDup BAMPE",name:"Input dataset collection",outputs:[],position:{left:0,top:155.14998779296874},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"fc7f3d9f-c1a6-4e00-a65a-ff31ab9e6bca",when:null,workflow_outputs:[]},1:{annotation:"Minimum number of replicates into which the summit should be present.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Minimum number of replicates into which the summit should be present.",name:"Minimum number of overlap"}],label:"Minimum number of overlap",name:"Input parameter",outputs:[],position:{left:25,top:233.6},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"025fcb5d-6842-4ed0-9bac-b393942b9d29",when:null,workflow_outputs:[]},2:{annotation:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:39,top:328.1479148046858},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"dac93661-a2aa-4163-a3ec-f64c4075c881",when:null,workflow_outputs:[]},3:{annotation:"Bin size for average of normalized coverage",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Bin size for average of normalized coverage",name:"bin_size"}],label:"bin_size",name:"Input parameter",outputs:[],position:{left:57,top:425.1812399999983},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ef17ea2d-7f73-44a8-aecf-15279c559fd1",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:4,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:"count number of reads",name:"Samtools view",outputs:[{name:"outputcnt",type:"tabular"}],position:{left:200.2051223265678,top:859.5510386258217},post_job_actions:{HideDatasetActionoutputcnt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputcnt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "all_reads", "__current_case__": 0, "output_options": {"reads_report_type": "count", "__current_case__": 1}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"a864ff43-af08-436a-aa78-54491ff0cce6",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:5,input_connections:{"components_1|param_type|component_value":{id:1,output_name:"output"}},inputs:[],label:"generate filter rule",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:793.0213699877876,top:178.96164159176644},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "c4 >= "}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"e6855df9-0e94-4310-835c-15514bd37974",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:6,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"call peaks individually",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"}],position:{left:454.449951171875,top:139.41457740234202},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"individual macs2 narrowPeaks"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"individual macs2 tabular"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"individual macs2 coverage normalized"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": true, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "1", "__current_case__": 1}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BAMPE", "nomodel_type": {"nomodel_type_selector": "create_model", "__current_case__": 0, "mfold_lower": "5", "mfold_upper": "50", "band_width": "300"}, "outputs": ["bdg", "peaks_tabular"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"8f2a3aa4-704e-4d90-a672-94b97996dd56",when:null,workflow_outputs:[{label:"individual_macs2_narrowPeaks",output_name:"output_narrowpeaks",uuid:"4552df5d-4397-4118-af11-f97eb8c748a5"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:7,input_connections:{input_list:{id:4,output_name:"outputcnt"}},inputs:[],label:"put all nb of reads into single dataset",name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:437.3050979125053,top:856.8156282351949},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": false, "__current_case__": 1}, "input_list": {"__class__": "ConnectedValue"}, "one_header": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"bd8b6b03-19ef-4921-96c3-abe5e6992941",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1",errors:null,id:8,input_connections:{"tag|inputs":{id:6,output_name:"output_narrowpeaks"}},inputs:[{description:"runtime parameter for tool bedtools Multiple Intersect",name:"tag"}],label:"compute multi intersect",name:"bedtools Multiple Intersect",outputs:[{name:"output",type:"bed"}],position:{left:790,top:35.6},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"cluster": false, "empty": {"empty_selector": "", "__current_case__": 1}, "filler": "0", "header": false, "tag": {"tag_select": "tag", "__current_case__": 0, "inputs": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1",type:"tool",uuid:"9edd1aab-eb4c-4fd4-b9f6-a6dbcae46dd2",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:9,input_connections:{input1:{id:6,output_name:"output_treat_pileup"}},inputs:[],label:"individual normalized bigwig",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:701.9011607009672,top:524.1953936525294},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"d0d6f92d-3d7e-44c3-b2f6-c10e429d2369",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",errors:null,id:10,input_connections:{"singtabop|input":{id:7,output_name:"output"}},inputs:[{description:"runtime parameter for tool Table Compute",name:"singtabop"}],label:"get min value",name:"Table Compute",outputs:[{name:"table",type:"tabular"}],position:{left:661.2051223265678,top:836.1343516141029},post_job_actions:{HideDatasetActiontable:{action_arguments:{},action_type:"HideDatasetAction",output_name:"table"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",tool_shed_repository:{changeset_revision:"3bf5661c0280",name:"table_compute",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"out_opts": null, "precision": "6", "singtabop": {"use_type": "single", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "col_row_names": null, "adv": {"header": null, "nrows": null, "skipfooter": null, "skip_blank_lines": true}, "user": {"mode": "matrixapply", "__current_case__": 3, "matrixapply_func": {"vector_op": "min", "__current_case__": 1}, "dimension": "0"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.4+galaxy0",type:"tool",uuid:"0d63ffd8-0646-4dbf-9ede-14bffcd5de2d",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"wc_gnu",errors:null,id:11,input_connections:{input1:{id:7,output_name:"output"}},inputs:[],label:"get nb of replicates",name:"Line/Word/Character count",outputs:[{name:"out_file1",type:"tabular"}],position:{left:664.2051223265678,top:946.0510386258217},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"wc_gnu",tool_state:'{"include_header": false, "input1": {"__class__": "ConnectedValue"}, "options": ["lines"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"1e4420d0-edfb-4411-b7e0-602b510ff898",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"Filter1",errors:null,id:12,input_connections:{cond:{id:5,output_name:"out1"},input:{id:8,output_name:"output"}},inputs:[],label:"filter multi intersect",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1058,top:43.6},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"4acd5289-87cc-4cfb-9863-35248989ab27",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",errors:null,id:13,input_connections:{"advancedOpt|binSize":{id:3,output_name:"output"},bigwigs:{id:9,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"},{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"}],label:"average coverage from replicates",name:"bigwigAverage",outputs:[{name:"outFileName",type:"bigwig"}],position:{left:944.6735015666067,top:451.87316496226794},post_job_actions:{RenameDatasetActionoutFileName:{action_arguments:{newname:"Average Normalized Coverage of all replicates"},action_type:"RenameDatasetAction",output_name:"outFileName"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",tool_shed_repository:{changeset_revision:"4a53856a5b85",name:"deeptools_bigwig_average",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advancedOpt": {"showAdvancedOpt": "yes", "__current_case__": 1, "binSize": {"__class__": "ConnectedValue"}, "skipNAs": false, "scaleFactors": "1", "blackListFileName": {"__class__": "RuntimeValue"}}, "bigwigs": {"__class__": "ConnectedValue"}, "outFileFormat": "bigwig", "region": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.5.4+galaxy0",type:"tool",uuid:"36059130-5f2a-4fe0-8b36-58073595fdd5",when:null,workflow_outputs:[{label:"average_bigwig",output_name:"outFileName",uuid:"35dfdb8a-121d-41d1-9ad1-1e0d95a8ab8c"}]},14:{annotation:"",content_id:"param_value_from_file",errors:null,id:14,input_connections:{input1:{id:10,output_name:"table"}},inputs:[],label:"convert min value to text",name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:903.2051223265678,top:784.0510386258217},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"},HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"cdbee56b-9fff-4205-9cb6-741be770985d",when:null,workflow_outputs:[]},15:{annotation:"get nb of rep as param",content_id:"param_value_from_file",errors:null,id:15,input_connections:{input1:{id:11,output_name:"out_file1"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:907.2051223265678,top:949.0510386258217},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"2ea49dca-270b-454a-9d86-6947799ab996",when:null,workflow_outputs:[]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:16,input_connections:{"token_set_0|line":{id:14,output_name:"text_param"},"token_set_0|repeat_select|times":{id:15,output_name:"integer_param"}},inputs:[],label:"create a dataset with the min value as many times as there are replicates",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:1136.2051223265678,top:843.0510386258217},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": {"__class__": "ConnectedValue"}, "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"29ef7038-e10a-47cd-835f-945dccaf9c1c",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:17,input_connections:{"split_parms|input":{id:16,output_name:"outfile"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"split min value",name:"Split file",outputs:[{name:"list_output_txt",type:"input"}],position:{left:1371.2051223265678,top:921.0510386258217},post_job_actions:{HideDatasetActionlist_output_txt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "txt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"7db836a5-793a-403e-8db1-b97f619f4c69",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"param_value_from_file",errors:null,id:18,input_connections:{input1:{id:17,output_name:"list_output_txt"}},inputs:[],label:"convert min nb of reads to parameter",name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1605.2384475218803,top:912.9677256375404},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"71b1c454-41db-4a8b-8595-8d3fa86a86a0",when:null,workflow_outputs:[]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:19,input_connections:{input:{id:0,output_name:"output"},"mode|subsample_config|subsampling_mode|target":{id:18,output_name:"integer_param"}},inputs:[],label:"downsample BAM",name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:1848.7423727171654,top:894.4010142117592},post_job_actions:{HideDatasetActionoutputsam:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "cond_expr": {"select_expr": "no", "__current_case__": 0}, "quality": null, "library": null, "cigarcons": null, "inclusive_filter": null, "exclusive_filter": null, "exclusive_filter_all": null, "tag": null, "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "target", "__current_case__": 1, "target": {"__class__": "ConnectedValue"}, "seed": "1"}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"ae46e826-d985-4437-abae-152b6877eea7",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:20,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:19,output_name:"outputsam"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"call peaks on merge",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"}],position:{left:1456.336227527062,top:482.24653231537656},post_job_actions:{HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"merged macs2 narrowPeaks"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"merged macs2 tabular"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"merged macs2 coverage normalized"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": true, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "1", "__current_case__": 1}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BAMPE", "nomodel_type": {"nomodel_type_selector": "create_model", "__current_case__": 0, "mfold_lower": "5", "mfold_upper": "50", "band_width": "300"}, "outputs": ["peaks_tabular"], "treatment": {"t_multi_select": "Yes", "__current_case__": 1, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"e183ec20-d4ab-427a-9a0c-3e9bbced8793",when:null,workflow_outputs:[{label:"merged_macs2_narrowPeaks",output_name:"output_narrowpeaks",uuid:"6d97d620-9486-4d85-9a80-e3595c0bb968"}]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0",errors:null,id:21,input_connections:{inputA:{id:20,output_name:"output_narrowpeaks"},"reduce_or_iterate|inputB":{id:12,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bedtools Intersect intervals",name:"reduce_or_iterate"}],label:"get merged peaks overlapping at least x replicates",name:"bedtools Intersect intervals",outputs:[{name:"output",type:"input"}],position:{left:1643.5166015625,top:301.09792701171705},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed": false, "count": false, "fraction_cond": {"fraction_select": "default", "__current_case__": 0}, "genome_file_opts": {"genome_file_opts_selector": "loc", "__current_case__": 0, "genome": null}, "header": false, "inputA": {"__class__": "ConnectedValue"}, "invert": false, "once": false, "overlap_mode": ["-wa", "-wb"], "reduce_or_iterate": {"reduce_or_iterate_selector": "iterate", "__current_case__": 0, "inputB": {"__class__": "ConnectedValue"}}, "sorted": false, "split": false, "strand": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"d6183a41-f78c-49fc-b826-f8aa95ff84cb",when:null,workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:22,input_connections:{"results_0|software_cond|input":{id:6,output_name:"output_tabular"},"results_1|software_cond|input":{id:20,output_name:"output_tabular"}},inputs:[],label:"multiQC",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2091.738158489414,top:26.470097442576304},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"f7d74248-16e3-4020-8156-caae0e7682ef",when:null,workflow_outputs:[{label:"multiqc_output",output_name:"html_report",uuid:"a342a984-235e-4d40-9e09-d835aab35282"}]},23:{annotation:"",content_id:"Filter1",errors:null,id:23,input_connections:{input:{id:21,output_name:"output"}},inputs:[],label:"only keep peaks with summits overlapping intersection of at least x replicates",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1874.401877544738,top:306.13125220702955},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": "(c2+c10)>=c12 and (c2+c10) 4 +5["generate filter rule"]@{ shape: process } +1 --> 5 +6["call peaks individually"]@{ shape: process } +2 --> 6 +0 --> 6 +7["put all nb of reads into single dataset"]@{ shape: process } +4 --> 7 +8["compute multi intersect"]@{ shape: process } +6 --> 8 +9["individual normalized bigwig"]@{ shape: process } +6 --> 9 +10["get min value"]@{ shape: process } +7 --> 10 +11["get nb of replicates"]@{ shape: process } +7 --> 11 +12["filter multi intersect"]@{ shape: process } +5 --> 12 +8 --> 12 +13["average coverage from replicates"]@{ shape: process } +3 --> 13 +9 --> 13 +14["convert min value to text"]@{ shape: process } +10 --> 14 +15["Parse parameter value"]@{ shape: process } +11 --> 15 +16["create a dataset with the min value as many times as there are replicates"]@{ shape: process } +14 --> 16 +15 --> 16 +17["split min value"]@{ shape: process } +16 --> 17 +18["convert min nb of reads to parameter"]@{ shape: process } +17 --> 18 +19["downsample BAM"]@{ shape: process } +0 --> 19 +18 --> 19 +20["call peaks on merge"]@{ shape: process } +2 --> 20 +19 --> 20 +21["get merged peaks overlapping at least x replicates"]@{ shape: process } +20 --> 21 +12 --> 21 +22["multiQC"]@{ shape: process } +6 --> 22 +20 --> 22 +23["only keep peaks with summits overlapping intersection of at least x replicates"]@{ shape: process } +21 --> 23 +24["keep only columns of narrowPeak"]@{ shape: process } +23 --> 24 +25["discard duplicated lines"]@{ shape: process } +24 --> 25 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/consensus-peaks/consensus-peaks-chip-sr",tests:[{doc:"Test for consensus-peaks-chip-sr.ga",job:{"n rmDup BAMSR":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"rep1",path:"test-data/ChIP_SR_rep1.bam",dbkey:"mm10"},{class:"File",identifier:"rep2",path:"test-data/ChIP_SR_rep2.bam",dbkey:"mm10"},{class:"File",identifier:"rep3",path:"test-data/ChIP_SR_rep3.bam",dbkey:"mm10"}]},"Minimum number of overlap":2,effective_genome_size:187e7,bin_size:50},outputs:{individual_macs2_narrowPeaks:{element_tests:{rep1:{asserts:{has_n_lines:{n:3}}},rep2:{asserts:{has_n_lines:{n:3}}},rep3:{asserts:{has_n_lines:{n:3}}}}},average_bigwig:{asserts:{has_size:{value:1290,delta:100}}},merged_macs2_narrowPeaks:{asserts:{has_n_lines:{n:4}}},multiqc_output:{asserts:{has_text:{text:'Fragment Length'}}},shared_narrowPeak:{asserts:{has_n_lines:{n:2}}}}}]},{name:"consensus-peaks-chip-pe",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/consensus-peaks-chip-pe.ga",testParameterFiles:["/consensus-peaks-chip-pe-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input PE BAM from ChIP-seq. It calls peaks on each replicate and intersect them. In parallel, each BAM is subsetted to smallest number of reads. Peaks are called using all subsets combined. Only peaks called using a combination of all subsets which have summits intersecting the intersection of at least x replicates will be kept.",comments:[{child_steps:[9,13],color:"green",data:{title:"Get the average coverage"},id:2,position:[687.5,395.8],size:[498.9,345.5],type:"frame"},{child_steps:[4,7,11,10,15,14,16,17,18,19],color:"none",data:{title:"Downsample input BAM to get the same number of reads"},id:1,position:[180.2,744.1],size:[1889,379],type:"frame"},{child_steps:[5,8,12],color:"blue",data:{title:"Get a BED with intersection of at least x rep"},id:0,position:[764.8,0],size:[531.7,370.1],type:"frame"}],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"1.2",name:"Get Confident Peaks From ChIP_PE replicates",steps:{0:{annotation:"A collection with n replicates. BAM should not have duplicates",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"A collection with n replicates. BAM should not have duplicates",name:"n rmDup BAMPE"}],label:"n rmDup BAMPE",name:"Input dataset collection",outputs:[],position:{left:0,top:155.14998779296874},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"fc7f3d9f-c1a6-4e00-a65a-ff31ab9e6bca",when:null,workflow_outputs:[]},1:{annotation:"Minimum number of replicates into which the summit should be present.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Minimum number of replicates into which the summit should be present.",name:"Minimum number of overlap"}],label:"Minimum number of overlap",name:"Input parameter",outputs:[],position:{left:25,top:233.6},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"025fcb5d-6842-4ed0-9bac-b393942b9d29",when:null,workflow_outputs:[]},2:{annotation:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:39,top:328.1479148046858},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"dac93661-a2aa-4163-a3ec-f64c4075c881",when:null,workflow_outputs:[]},3:{annotation:"Bin size for average of normalized coverage",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Bin size for average of normalized coverage",name:"bin_size"}],label:"bin_size",name:"Input parameter",outputs:[],position:{left:57,top:425.1812399999983},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ef17ea2d-7f73-44a8-aecf-15279c559fd1",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:4,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:"count number of reads",name:"Samtools view",outputs:[{name:"outputcnt",type:"tabular"}],position:{left:200.2051223265678,top:859.5510386258217},post_job_actions:{HideDatasetActionoutputcnt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputcnt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "all_reads", "__current_case__": 0, "output_options": {"reads_report_type": "count", "__current_case__": 1}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"a864ff43-af08-436a-aa78-54491ff0cce6",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:5,input_connections:{"components_1|param_type|component_value":{id:1,output_name:"output"}},inputs:[],label:"generate filter rule",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:793.0213699877876,top:178.96164159176644},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "c4 >= "}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"e6855df9-0e94-4310-835c-15514bd37974",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:6,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"call peaks individually",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"}],position:{left:454.449951171875,top:139.41457740234202},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"individual macs2 narrowPeaks"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"individual macs2 tabular"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"individual macs2 coverage normalized"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": true, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "1", "__current_case__": 1}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BAMPE", "nomodel_type": {"nomodel_type_selector": "create_model", "__current_case__": 0, "mfold_lower": "5", "mfold_upper": "50", "band_width": "300"}, "outputs": ["bdg", "peaks_tabular"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"8f2a3aa4-704e-4d90-a672-94b97996dd56",when:null,workflow_outputs:[{label:"individual_macs2_narrowPeaks",output_name:"output_narrowpeaks",uuid:"4552df5d-4397-4118-af11-f97eb8c748a5"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:7,input_connections:{input_list:{id:4,output_name:"outputcnt"}},inputs:[],label:"put all nb of reads into single dataset",name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:437.3050979125053,top:856.8156282351949},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": false, "__current_case__": 1}, "input_list": {"__class__": "ConnectedValue"}, "one_header": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"bd8b6b03-19ef-4921-96c3-abe5e6992941",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1",errors:null,id:8,input_connections:{"tag|inputs":{id:6,output_name:"output_narrowpeaks"}},inputs:[{description:"runtime parameter for tool bedtools Multiple Intersect",name:"tag"}],label:"compute multi intersect",name:"bedtools Multiple Intersect",outputs:[{name:"output",type:"bed"}],position:{left:790,top:35.6},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"cluster": false, "empty": {"empty_selector": "", "__current_case__": 1}, "filler": "0", "header": false, "tag": {"tag_select": "tag", "__current_case__": 0, "inputs": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1",type:"tool",uuid:"9edd1aab-eb4c-4fd4-b9f6-a6dbcae46dd2",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:9,input_connections:{input1:{id:6,output_name:"output_treat_pileup"}},inputs:[],label:"individual normalized bigwig",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:701.9011607009672,top:524.1953936525294},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"d0d6f92d-3d7e-44c3-b2f6-c10e429d2369",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",errors:null,id:10,input_connections:{"singtabop|input":{id:7,output_name:"output"}},inputs:[{description:"runtime parameter for tool Table Compute",name:"singtabop"}],label:"get min value",name:"Table Compute",outputs:[{name:"table",type:"tabular"}],position:{left:661.2051223265678,top:836.1343516141029},post_job_actions:{HideDatasetActiontable:{action_arguments:{},action_type:"HideDatasetAction",output_name:"table"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",tool_shed_repository:{changeset_revision:"3bf5661c0280",name:"table_compute",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"out_opts": null, "precision": "6", "singtabop": {"use_type": "single", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "col_row_names": null, "adv": {"header": null, "nrows": null, "skipfooter": null, "skip_blank_lines": true}, "user": {"mode": "matrixapply", "__current_case__": 3, "matrixapply_func": {"vector_op": "min", "__current_case__": 1}, "dimension": "0"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.4+galaxy0",type:"tool",uuid:"0d63ffd8-0646-4dbf-9ede-14bffcd5de2d",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"wc_gnu",errors:null,id:11,input_connections:{input1:{id:7,output_name:"output"}},inputs:[],label:"get nb of replicates",name:"Line/Word/Character count",outputs:[{name:"out_file1",type:"tabular"}],position:{left:664.2051223265678,top:946.0510386258217},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"wc_gnu",tool_state:'{"include_header": false, "input1": {"__class__": "ConnectedValue"}, "options": ["lines"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"1e4420d0-edfb-4411-b7e0-602b510ff898",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"Filter1",errors:null,id:12,input_connections:{cond:{id:5,output_name:"out1"},input:{id:8,output_name:"output"}},inputs:[],label:"filter multi intersect",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1058,top:43.6},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"4acd5289-87cc-4cfb-9863-35248989ab27",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",errors:null,id:13,input_connections:{"advancedOpt|binSize":{id:3,output_name:"output"},bigwigs:{id:9,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"},{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"}],label:"average coverage from replicates",name:"bigwigAverage",outputs:[{name:"outFileName",type:"bigwig"}],position:{left:944.6735015666067,top:451.87316496226794},post_job_actions:{RenameDatasetActionoutFileName:{action_arguments:{newname:"Average Normalized Coverage of all replicates"},action_type:"RenameDatasetAction",output_name:"outFileName"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",tool_shed_repository:{changeset_revision:"4a53856a5b85",name:"deeptools_bigwig_average",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advancedOpt": {"showAdvancedOpt": "yes", "__current_case__": 1, "binSize": {"__class__": "ConnectedValue"}, "skipNAs": false, "scaleFactors": "1", "blackListFileName": {"__class__": "RuntimeValue"}}, "bigwigs": {"__class__": "ConnectedValue"}, "outFileFormat": "bigwig", "region": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.5.4+galaxy0",type:"tool",uuid:"36059130-5f2a-4fe0-8b36-58073595fdd5",when:null,workflow_outputs:[{label:"average_bigwig",output_name:"outFileName",uuid:"35dfdb8a-121d-41d1-9ad1-1e0d95a8ab8c"}]},14:{annotation:"",content_id:"param_value_from_file",errors:null,id:14,input_connections:{input1:{id:10,output_name:"table"}},inputs:[],label:"convert min value to text",name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:903.2051223265678,top:784.0510386258217},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"},HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"cdbee56b-9fff-4205-9cb6-741be770985d",when:null,workflow_outputs:[]},15:{annotation:"get nb of rep as param",content_id:"param_value_from_file",errors:null,id:15,input_connections:{input1:{id:11,output_name:"out_file1"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:907.2051223265678,top:949.0510386258217},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"2ea49dca-270b-454a-9d86-6947799ab996",when:null,workflow_outputs:[]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:16,input_connections:{"token_set_0|line":{id:14,output_name:"text_param"},"token_set_0|repeat_select|times":{id:15,output_name:"integer_param"}},inputs:[],label:"create a dataset with the min value as many times as there are replicates",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:1136.2051223265678,top:843.0510386258217},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": {"__class__": "ConnectedValue"}, "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"29ef7038-e10a-47cd-835f-945dccaf9c1c",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:17,input_connections:{"split_parms|input":{id:16,output_name:"outfile"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"split min value",name:"Split file",outputs:[{name:"list_output_txt",type:"input"}],position:{left:1371.2051223265678,top:921.0510386258217},post_job_actions:{HideDatasetActionlist_output_txt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "txt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"7db836a5-793a-403e-8db1-b97f619f4c69",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"param_value_from_file",errors:null,id:18,input_connections:{input1:{id:17,output_name:"list_output_txt"}},inputs:[],label:"convert min nb of reads to parameter",name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1605.2384475218803,top:912.9677256375404},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"71b1c454-41db-4a8b-8595-8d3fa86a86a0",when:null,workflow_outputs:[]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:19,input_connections:{input:{id:0,output_name:"output"},"mode|subsample_config|subsampling_mode|target":{id:18,output_name:"integer_param"}},inputs:[],label:"downsample BAM",name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:1848.7423727171654,top:894.4010142117592},post_job_actions:{HideDatasetActionoutputsam:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "cond_expr": {"select_expr": "no", "__current_case__": 0}, "quality": null, "library": null, "cigarcons": null, "inclusive_filter": null, "exclusive_filter": null, "exclusive_filter_all": null, "tag": null, "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "target", "__current_case__": 1, "target": {"__class__": "ConnectedValue"}, "seed": "1"}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"ae46e826-d985-4437-abae-152b6877eea7",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:20,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:19,output_name:"outputsam"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"call peaks on merge",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"}],position:{left:1456.336227527062,top:482.24653231537656},post_job_actions:{HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"merged macs2 narrowPeaks"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"merged macs2 tabular"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"merged macs2 coverage normalized"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": true, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "1", "__current_case__": 1}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BAMPE", "nomodel_type": {"nomodel_type_selector": "create_model", "__current_case__": 0, "mfold_lower": "5", "mfold_upper": "50", "band_width": "300"}, "outputs": ["peaks_tabular"], "treatment": {"t_multi_select": "Yes", "__current_case__": 1, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"e183ec20-d4ab-427a-9a0c-3e9bbced8793",when:null,workflow_outputs:[{label:"merged_macs2_narrowPeaks",output_name:"output_narrowpeaks",uuid:"6d97d620-9486-4d85-9a80-e3595c0bb968"}]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0",errors:null,id:21,input_connections:{inputA:{id:20,output_name:"output_narrowpeaks"},"reduce_or_iterate|inputB":{id:12,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bedtools Intersect intervals",name:"reduce_or_iterate"}],label:"get merged peaks overlapping at least x replicates",name:"bedtools Intersect intervals",outputs:[{name:"output",type:"input"}],position:{left:1643.5166015625,top:301.09792701171705},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed": false, "count": false, "fraction_cond": {"fraction_select": "default", "__current_case__": 0}, "genome_file_opts": {"genome_file_opts_selector": "loc", "__current_case__": 0, "genome": null}, "header": false, "inputA": {"__class__": "ConnectedValue"}, "invert": false, "once": false, "overlap_mode": ["-wa", "-wb"], "reduce_or_iterate": {"reduce_or_iterate_selector": "iterate", "__current_case__": 0, "inputB": {"__class__": "ConnectedValue"}}, "sorted": false, "split": false, "strand": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"d6183a41-f78c-49fc-b826-f8aa95ff84cb",when:null,workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:22,input_connections:{"results_0|software_cond|input":{id:6,output_name:"output_tabular"},"results_1|software_cond|input":{id:20,output_name:"output_tabular"}},inputs:[],label:"multiQC",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2091.738158489414,top:26.470097442576304},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"f7d74248-16e3-4020-8156-caae0e7682ef",when:null,workflow_outputs:[{label:"multiqc_output",output_name:"html_report",uuid:"a342a984-235e-4d40-9e09-d835aab35282"}]},23:{annotation:"",content_id:"Filter1",errors:null,id:23,input_connections:{input:{id:21,output_name:"output"}},inputs:[],label:"only keep peaks with summits overlapping intersection of at least x replicates",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1874.401877544738,top:306.13125220702955},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": "(c2+c10)>=c12 and (c2+c10)Fragment Length'}}},shared_narrowPeak:{asserts:{has_n_lines:{n:2}}}}}]},{name:"consensus-peaks-atac-cutandrun",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/consensus-peaks-atac-cutandrun.ga",testParameterFiles:["/consensus-peaks-atac-cutandrun-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input BAM from ATAC-seq or CUT&RUN. It calls peaks on each replicate and intersect them. In parallel, each BAM is subsetted to smallest number of reads. Peaks are called using all subsets combined. Only peaks called using a combination of all subsets which have summits intersecting the intersection of at least x replicates will be kept.",comments:[{child_steps:[5,8,11,12,15,16,17,18,19,20],color:"blue",data:{title:"Downsample input BAM to get the same number of reads"},id:2,position:[228,878.7],size:[1917.8,397.4],type:"frame"},{child_steps:[6,9,13],color:"blue",data:{title:"Get a BED with intersection of at least x rep"},id:0,position:[776.6,0],size:[508.7,363],type:"frame"},{child_steps:[10,14],color:"green",data:{title:"Get the average coverage"},id:1,position:[647.1,523.9],size:[504.5,324],type:"frame"}],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"1.2",name:"Get Confident Peaks From ATAC or CUTandRUN replicates",steps:{0:{annotation:"A collection with n replicates. BAM should not have duplicates.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"A collection with n replicates. BAM should not have duplicates.",name:"n rmDup BAM"}],label:"n rmDup BAM",name:"Input dataset collection",outputs:[],position:{left:0,top:194.74998779296874},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"fc7f3d9f-c1a6-4e00-a65a-ff31ab9e6bca",when:null,workflow_outputs:[]},1:{annotation:"Minimum number of replicates into which the summit should be present.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Minimum number of replicates into which the summit should be present.",name:"Minimum number of overlap"}],label:"Minimum number of overlap",name:"Input parameter",outputs:[],position:{left:25,top:273.2},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"025fcb5d-6842-4ed0-9bac-b393942b9d29",when:null,workflow_outputs:[]},2:{annotation:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:39,top:367.74791480468576},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"dac93661-a2aa-4163-a3ec-f64c4075c881",when:null,workflow_outputs:[]},3:{annotation:"Bin size for average of normalized coverage",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Bin size for average of normalized coverage",name:"bin_size"}],label:"bin_size",name:"Input parameter",outputs:[],position:{left:57,top:464.78123999999826},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ef17ea2d-7f73-44a8-aecf-15279c559fd1",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",errors:null,id:4,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:"convert BAM to BED",name:"bedtools BAM to BED",outputs:[{name:"output",type:"bed"}],position:{left:217.78016821945388,top:74.30843071525936},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"ed_score": false, "input": {"__class__": "ConnectedValue"}, "option": "", "split": false, "tag": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"b62c338c-eb40-4ea5-b5e6-819f39790c07",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:5,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:"count number of reads",name:"Samtools view",outputs:[{name:"outputcnt",type:"tabular"}],position:{left:248.01056678577842,top:1011.4507862713202},post_job_actions:{HideDatasetActionoutputcnt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputcnt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "all_reads", "__current_case__": 0, "output_options": {"reads_report_type": "count", "__current_case__": 1}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"9cff58b2-123e-42df-b562-3b2a4a553934",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:6,input_connections:{"components_1|param_type|component_value":{id:1,output_name:"output"}},inputs:[],label:"generate filter rule",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:796.6100753157618,top:188.622596980592},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "c4 >= "}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"e6855df9-0e94-4310-835c-15514bd37974",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:7,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:4,output_name:"output"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"call peaks individually",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"}],position:{left:454.449951171875,top:179.014577402342},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"individual macs2 narrowPeaks"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"individual macs2 tabular"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"individual macs2 coverage normalized"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": true, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "all", "__current_case__": 2}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BED", "nomodel_type": {"nomodel_type_selector": "nomodel", "__current_case__": 1, "extsize": "200", "shift": "-100"}, "outputs": ["bdg", "peaks_tabular"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"8f2a3aa4-704e-4d90-a672-94b97996dd56",when:null,workflow_outputs:[{label:"individual_macs2_narrowPeaks",output_name:"output_narrowpeaks",uuid:"4552df5d-4397-4118-af11-f97eb8c748a5"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:8,input_connections:{input_list:{id:5,output_name:"outputcnt"}},inputs:[],label:"put all nb of reads into single dataset",name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:487.0999755859375,top:1006.4666625976563},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": false, "__current_case__": 1}, "input_list": {"__class__": "ConnectedValue"}, "one_header": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"bd8b6b03-19ef-4921-96c3-abe5e6992941",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1",errors:null,id:9,input_connections:{"tag|inputs":{id:7,output_name:"output_narrowpeaks"}},inputs:[{description:"runtime parameter for tool bedtools Multiple Intersect",name:"tag"}],label:"compute multi intersect",name:"bedtools Multiple Intersect",outputs:[{name:"output",type:"bed"}],position:{left:797.3086613144798,top:40.02067466199719},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"cluster": false, "empty": {"empty_selector": "", "__current_case__": 1}, "filler": "0", "header": false, "tag": {"tag_select": "tag", "__current_case__": 0, "inputs": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1",type:"tool",uuid:"9edd1aab-eb4c-4fd4-b9f6-a6dbcae46dd2",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:10,input_connections:{input1:{id:7,output_name:"output_treat_pileup"}},inputs:[],label:"individual normalized bigwig",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:680.6833851669262,top:635.8069731504326},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"d0d6f92d-3d7e-44c3-b2f6-c10e429d2369",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",errors:null,id:11,input_connections:{"singtabop|input":{id:8,output_name:"output"}},inputs:[{description:"runtime parameter for tool Table Compute",name:"singtabop"}],label:"get min value",name:"Table Compute",outputs:[{name:"table",type:"tabular"}],position:{left:719.5,top:974.7833435058594},post_job_actions:{HideDatasetActiontable:{action_arguments:{},action_type:"HideDatasetAction",output_name:"table"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",tool_shed_repository:{changeset_revision:"3bf5661c0280",name:"table_compute",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"out_opts": null, "precision": "6", "singtabop": {"use_type": "single", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "col_row_names": null, "adv": {"header": null, "nrows": null, "skipfooter": null, "skip_blank_lines": true}, "user": {"mode": "matrixapply", "__current_case__": 3, "matrixapply_func": {"vector_op": "min", "__current_case__": 1}, "dimension": "0"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.4+galaxy0",type:"tool",uuid:"0d63ffd8-0646-4dbf-9ede-14bffcd5de2d",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"wc_gnu",errors:null,id:12,input_connections:{input1:{id:8,output_name:"output"}},inputs:[],label:"get nb of replicates",name:"Line/Word/Character count",outputs:[{name:"out_file1",type:"tabular"}],position:{left:723,top:1081.7},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"wc_gnu",tool_state:'{"include_header": false, "input1": {"__class__": "ConnectedValue"}, "options": ["lines"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"1e4420d0-edfb-4411-b7e0-602b510ff898",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"Filter1",errors:null,id:13,input_connections:{cond:{id:6,output_name:"out1"},input:{id:9,output_name:"output"}},inputs:[],label:"filter multi intersect",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1065.3086613144797,top:48.02067466199719},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"4acd5289-87cc-4cfb-9863-35248989ab27",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",errors:null,id:14,input_connections:{"advancedOpt|binSize":{id:3,output_name:"output"},bigwigs:{id:10,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"},{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"}],label:"average coverage from replicates",name:"bigwigAverage",outputs:[{name:"outFileName",type:"bigwig"}],position:{left:938.7350974129533,top:555.8480470664147},post_job_actions:{RenameDatasetActionoutFileName:{action_arguments:{newname:"Average Normalized Coverage of all replicates"},action_type:"RenameDatasetAction",output_name:"outFileName"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",tool_shed_repository:{changeset_revision:"4a53856a5b85",name:"deeptools_bigwig_average",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advancedOpt": {"showAdvancedOpt": "yes", "__current_case__": 1, "binSize": {"__class__": "ConnectedValue"}, "skipNAs": false, "scaleFactors": "1", "blackListFileName": {"__class__": "RuntimeValue"}}, "bigwigs": {"__class__": "ConnectedValue"}, "outFileFormat": "bigwig", "region": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.5.4+galaxy0",type:"tool",uuid:"36059130-5f2a-4fe0-8b36-58073595fdd5",when:null,workflow_outputs:[{label:"average_bigwig",output_name:"outFileName",uuid:"35dfdb8a-121d-41d1-9ad1-1e0d95a8ab8c"}]},15:{annotation:"",content_id:"param_value_from_file",errors:null,id:15,input_connections:{input1:{id:11,output_name:"table"}},inputs:[],label:"convert min value to text",name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:972,top:918.7},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"},HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"cdbee56b-9fff-4205-9cb6-741be770985d",when:null,workflow_outputs:[]},16:{annotation:"get nb of rep as param",content_id:"param_value_from_file",errors:null,id:16,input_connections:{input1:{id:12,output_name:"out_file1"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:980.362829492841,top:1090.2503372993485},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"2ea49dca-270b-454a-9d86-6947799ab996",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:17,input_connections:{"token_set_0|line":{id:15,output_name:"text_param"},"token_set_0|repeat_select|times":{id:16,output_name:"integer_param"}},inputs:[],label:"create a dataset with the min value as many times as there are replicates",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:1210.95940032202,top:978.1979565079766},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": {"__class__": "ConnectedValue"}, "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"29ef7038-e10a-47cd-835f-945dccaf9c1c",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:18,input_connections:{"split_parms|input":{id:17,output_name:"outfile"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"split min value",name:"Split file",outputs:[{name:"list_output_txt",type:"input"}],position:{left:1454.946894305971,top:1074.616955921246},post_job_actions:{HideDatasetActionlist_output_txt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "txt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"7db836a5-793a-403e-8db1-b97f619f4c69",when:null,workflow_outputs:[]},19:{annotation:"",content_id:"param_value_from_file",errors:null,id:19,input_connections:{input1:{id:18,output_name:"list_output_txt"}},inputs:[],label:"convert min nb of reads to parameter",name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1679.9454808872808,top:1066.2435805949858},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"71b1c454-41db-4a8b-8595-8d3fa86a86a0",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:20,input_connections:{input:{id:0,output_name:"output"},"mode|subsample_config|subsampling_mode|target":{id:19,output_name:"integer_param"}},inputs:[],label:"select random reads",name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:1925.7976872167908,top:1061.3309439057557},post_job_actions:{HideDatasetActionoutputsam:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "cond_expr": {"select_expr": "no", "__current_case__": 0}, "quality": null, "library": null, "cigarcons": null, "inclusive_filter": null, "exclusive_filter": null, "exclusive_filter_all": null, "tag": null, "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "target", "__current_case__": 1, "target": {"__class__": "ConnectedValue"}, "seed": "1"}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"36713e3f-6110-41f7-8df1-9a9966400fab",when:null,workflow_outputs:[]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",errors:null,id:21,input_connections:{input:{id:20,output_name:"outputsam"}},inputs:[],label:"convert subsampled bam to bed",name:"bedtools BAM to BED",outputs:[{name:"output",type:"bed"}],position:{left:1300.0284368938724,top:585.202166486144},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"ed_score": false, "input": {"__class__": "ConnectedValue"}, "option": "", "split": false, "tag": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"7521eb4d-6cb9-463b-8c03-91ac64396ac3",when:null,workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:22,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:21,output_name:"output"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"call peaks on merge",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"}],position:{left:1546.199951171875,top:605.2979025976546},post_job_actions:{HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"merged macs2 narrowPeaks"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"merged macs2 tabular"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"merged macs2 coverage normalized"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": true, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "all", "__current_case__": 2}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BED", "nomodel_type": {"nomodel_type_selector": "nomodel", "__current_case__": 1, "extsize": "200", "shift": "-100"}, "outputs": ["peaks_tabular"], "treatment": {"t_multi_select": "Yes", "__current_case__": 1, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"e183ec20-d4ab-427a-9a0c-3e9bbced8793",when:null,workflow_outputs:[{label:"merged_macs2_narrowPeaks",output_name:"output_narrowpeaks",uuid:"6d97d620-9486-4d85-9a80-e3595c0bb968"}]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0",errors:null,id:23,input_connections:{inputA:{id:22,output_name:"output_narrowpeaks"},"reduce_or_iterate|inputB":{id:13,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bedtools Intersect intervals",name:"reduce_or_iterate"}],label:"get merged peaks overlapping at least x replicates",name:"bedtools Intersect intervals",outputs:[{name:"output",type:"input"}],position:{left:1643.5166015625,top:340.697927011717},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed": false, "count": false, "fraction_cond": {"fraction_select": "default", "__current_case__": 0}, "genome_file_opts": {"genome_file_opts_selector": "loc", "__current_case__": 0, "genome": null}, "header": false, "inputA": {"__class__": "ConnectedValue"}, "invert": false, "once": false, "overlap_mode": ["-wa", "-wb"], "reduce_or_iterate": {"reduce_or_iterate_selector": "iterate", "__current_case__": 0, "inputB": {"__class__": "ConnectedValue"}}, "sorted": false, "split": false, "strand": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"d6183a41-f78c-49fc-b826-f8aa95ff84cb",when:null,workflow_outputs:[]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:24,input_connections:{"results_0|software_cond|input":{id:7,output_name:"output_tabular"},"results_1|software_cond|input":{id:22,output_name:"output_tabular"}},inputs:[],label:"multiQC",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2329.32147475926,top:153.52074582627785},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"f7d74248-16e3-4020-8156-caae0e7682ef",when:null,workflow_outputs:[{label:"multiqc_output",output_name:"html_report",uuid:"a342a984-235e-4d40-9e09-d835aab35282"}]},25:{annotation:"",content_id:"Filter1",errors:null,id:25,input_connections:{input:{id:23,output_name:"output"}},inputs:[],label:"only keep peaks with summits overlapping intersection of at least x replicates",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1874.401877544738,top:345.7312522070295},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": "(c2+c10)>=c12 and (c2+c10) 4 +5["generate filter rule"]@{ shape: process } +1 --> 5 +6["call peaks individually"]@{ shape: process } +2 --> 6 +0 --> 6 +7["put all nb of reads into single dataset"]@{ shape: process } +4 --> 7 +8["compute multi intersect"]@{ shape: process } +6 --> 8 +9["individual normalized bigwig"]@{ shape: process } +6 --> 9 +10["get min value"]@{ shape: process } +7 --> 10 +11["get nb of replicates"]@{ shape: process } +7 --> 11 +12["filter multi intersect"]@{ shape: process } +5 --> 12 +8 --> 12 +13["average coverage from replicates"]@{ shape: process } +3 --> 13 +9 --> 13 +14["convert min value to text"]@{ shape: process } +10 --> 14 +15["Parse parameter value"]@{ shape: process } +11 --> 15 +16["create a dataset with the min value as many times as there are replicates"]@{ shape: process } +14 --> 16 +15 --> 16 +17["split min value"]@{ shape: process } +16 --> 17 +18["convert min nb of reads to parameter"]@{ shape: process } +17 --> 18 +19["downsample BAM"]@{ shape: process } +0 --> 19 +18 --> 19 +20["call peaks on merge"]@{ shape: process } +2 --> 20 +19 --> 20 +21["get merged peaks overlapping at least x replicates"]@{ shape: process } +20 --> 21 +12 --> 21 +22["multiQC"]@{ shape: process } +6 --> 22 +20 --> 22 +23["only keep peaks with summits overlapping intersection of at least x replicates"]@{ shape: process } +21 --> 23 +24["keep only columns of narrowPeak"]@{ shape: process } +23 --> 24 +25["discard duplicated lines"]@{ shape: process } +24 --> 25 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/consensus-peaks/consensus-peaks-chip-pe",tests:[{doc:"Test for consensus-peaks-chip-pe.ga",job:{"n rmDup BAMPE":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"rep1",path:"test-data/rep1.bam",dbkey:"mm10"},{class:"File",identifier:"rep2",path:"test-data/rep2.bam",dbkey:"mm10"},{class:"File",identifier:"rep3",path:"test-data/rep3.bam",dbkey:"mm10"}]},"Minimum number of overlap":2,effective_genome_size:187e7,bin_size:50},outputs:{individual_macs2_narrowPeaks:{element_tests:{rep1:{asserts:{has_n_lines:{n:3}}},rep2:{asserts:{has_n_lines:{n:3}}},rep3:{asserts:{has_n_lines:{n:2}}}}},average_bigwig:{asserts:{has_size:{value:1290,delta:100}}},merged_macs2_narrowPeaks:{asserts:{has_n_lines:{n:4}}},multiqc_output:{asserts:{has_text:{text:'Fragment Length'}}},shared_narrowPeak:{asserts:{has_n_lines:{n:2}}}}}]},{name:"consensus-peaks-atac-cutandrun",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/consensus-peaks-atac-cutandrun.ga",testParameterFiles:["/consensus-peaks-atac-cutandrun-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input BAM from ATAC-seq or CUT&RUN. It calls peaks on each replicate and intersect them. In parallel, each BAM is subsetted to smallest number of reads. Peaks are called using all subsets combined. Only peaks called using a combination of all subsets which have summits intersecting the intersection of at least x replicates will be kept.",comments:[{child_steps:[5,8,11,12,15,16,17,18,19,20],color:"blue",data:{title:"Downsample input BAM to get the same number of reads"},id:2,position:[228,878.7],size:[1917.8,397.4],type:"frame"},{child_steps:[6,9,13],color:"blue",data:{title:"Get a BED with intersection of at least x rep"},id:0,position:[776.6,0],size:[508.7,363],type:"frame"},{child_steps:[10,14],color:"green",data:{title:"Get the average coverage"},id:1,position:[647.1,523.9],size:[504.5,324],type:"frame"}],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"1.2",name:"Get Confident Peaks From ATAC or CUTandRUN replicates",steps:{0:{annotation:"A collection with n replicates. BAM should not have duplicates.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"A collection with n replicates. BAM should not have duplicates.",name:"n rmDup BAM"}],label:"n rmDup BAM",name:"Input dataset collection",outputs:[],position:{left:0,top:194.74998779296874},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"fc7f3d9f-c1a6-4e00-a65a-ff31ab9e6bca",when:null,workflow_outputs:[]},1:{annotation:"Minimum number of replicates into which the summit should be present.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Minimum number of replicates into which the summit should be present.",name:"Minimum number of overlap"}],label:"Minimum number of overlap",name:"Input parameter",outputs:[],position:{left:25,top:273.2},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"025fcb5d-6842-4ed0-9bac-b393942b9d29",when:null,workflow_outputs:[]},2:{annotation:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:39,top:367.74791480468576},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"dac93661-a2aa-4163-a3ec-f64c4075c881",when:null,workflow_outputs:[]},3:{annotation:"Bin size for average of normalized coverage",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Bin size for average of normalized coverage",name:"bin_size"}],label:"bin_size",name:"Input parameter",outputs:[],position:{left:57,top:464.78123999999826},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ef17ea2d-7f73-44a8-aecf-15279c559fd1",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",errors:null,id:4,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:"convert BAM to BED",name:"bedtools BAM to BED",outputs:[{name:"output",type:"bed"}],position:{left:217.78016821945388,top:74.30843071525936},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"ed_score": false, "input": {"__class__": "ConnectedValue"}, "option": "", "split": false, "tag": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"b62c338c-eb40-4ea5-b5e6-819f39790c07",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:5,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:"count number of reads",name:"Samtools view",outputs:[{name:"outputcnt",type:"tabular"}],position:{left:248.01056678577842,top:1011.4507862713202},post_job_actions:{HideDatasetActionoutputcnt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputcnt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "all_reads", "__current_case__": 0, "output_options": {"reads_report_type": "count", "__current_case__": 1}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"9cff58b2-123e-42df-b562-3b2a4a553934",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:6,input_connections:{"components_1|param_type|component_value":{id:1,output_name:"output"}},inputs:[],label:"generate filter rule",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:796.6100753157618,top:188.622596980592},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "c4 >= "}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"e6855df9-0e94-4310-835c-15514bd37974",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:7,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:4,output_name:"output"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"call peaks individually",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"}],position:{left:454.449951171875,top:179.014577402342},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"individual macs2 narrowPeaks"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"individual macs2 tabular"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"individual macs2 coverage normalized"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": true, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "all", "__current_case__": 2}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BED", "nomodel_type": {"nomodel_type_selector": "nomodel", "__current_case__": 1, "extsize": "200", "shift": "-100"}, "outputs": ["bdg", "peaks_tabular"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"8f2a3aa4-704e-4d90-a672-94b97996dd56",when:null,workflow_outputs:[{label:"individual_macs2_narrowPeaks",output_name:"output_narrowpeaks",uuid:"4552df5d-4397-4118-af11-f97eb8c748a5"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:8,input_connections:{input_list:{id:5,output_name:"outputcnt"}},inputs:[],label:"put all nb of reads into single dataset",name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:487.0999755859375,top:1006.4666625976563},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": false, "__current_case__": 1}, "input_list": {"__class__": "ConnectedValue"}, "one_header": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"bd8b6b03-19ef-4921-96c3-abe5e6992941",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1",errors:null,id:9,input_connections:{"tag|inputs":{id:7,output_name:"output_narrowpeaks"}},inputs:[{description:"runtime parameter for tool bedtools Multiple Intersect",name:"tag"}],label:"compute multi intersect",name:"bedtools Multiple Intersect",outputs:[{name:"output",type:"bed"}],position:{left:797.3086613144798,top:40.02067466199719},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"cluster": false, "empty": {"empty_selector": "", "__current_case__": 1}, "filler": "0", "header": false, "tag": {"tag_select": "tag", "__current_case__": 0, "inputs": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1",type:"tool",uuid:"9edd1aab-eb4c-4fd4-b9f6-a6dbcae46dd2",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:10,input_connections:{input1:{id:7,output_name:"output_treat_pileup"}},inputs:[],label:"individual normalized bigwig",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:680.6833851669262,top:635.8069731504326},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"d0d6f92d-3d7e-44c3-b2f6-c10e429d2369",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",errors:null,id:11,input_connections:{"singtabop|input":{id:8,output_name:"output"}},inputs:[{description:"runtime parameter for tool Table Compute",name:"singtabop"}],label:"get min value",name:"Table Compute",outputs:[{name:"table",type:"tabular"}],position:{left:719.5,top:974.7833435058594},post_job_actions:{HideDatasetActiontable:{action_arguments:{},action_type:"HideDatasetAction",output_name:"table"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",tool_shed_repository:{changeset_revision:"3bf5661c0280",name:"table_compute",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"out_opts": null, "precision": "6", "singtabop": {"use_type": "single", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "col_row_names": null, "adv": {"header": null, "nrows": null, "skipfooter": null, "skip_blank_lines": true}, "user": {"mode": "matrixapply", "__current_case__": 3, "matrixapply_func": {"vector_op": "min", "__current_case__": 1}, "dimension": "0"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.4+galaxy0",type:"tool",uuid:"0d63ffd8-0646-4dbf-9ede-14bffcd5de2d",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"wc_gnu",errors:null,id:12,input_connections:{input1:{id:8,output_name:"output"}},inputs:[],label:"get nb of replicates",name:"Line/Word/Character count",outputs:[{name:"out_file1",type:"tabular"}],position:{left:723,top:1081.7},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"wc_gnu",tool_state:'{"include_header": false, "input1": {"__class__": "ConnectedValue"}, "options": ["lines"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"1e4420d0-edfb-4411-b7e0-602b510ff898",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"Filter1",errors:null,id:13,input_connections:{cond:{id:6,output_name:"out1"},input:{id:9,output_name:"output"}},inputs:[],label:"filter multi intersect",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1065.3086613144797,top:48.02067466199719},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"4acd5289-87cc-4cfb-9863-35248989ab27",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",errors:null,id:14,input_connections:{"advancedOpt|binSize":{id:3,output_name:"output"},bigwigs:{id:10,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"},{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"}],label:"average coverage from replicates",name:"bigwigAverage",outputs:[{name:"outFileName",type:"bigwig"}],position:{left:938.7350974129533,top:555.8480470664147},post_job_actions:{RenameDatasetActionoutFileName:{action_arguments:{newname:"Average Normalized Coverage of all replicates"},action_type:"RenameDatasetAction",output_name:"outFileName"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",tool_shed_repository:{changeset_revision:"4a53856a5b85",name:"deeptools_bigwig_average",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advancedOpt": {"showAdvancedOpt": "yes", "__current_case__": 1, "binSize": {"__class__": "ConnectedValue"}, "skipNAs": false, "scaleFactors": "1", "blackListFileName": {"__class__": "RuntimeValue"}}, "bigwigs": {"__class__": "ConnectedValue"}, "outFileFormat": "bigwig", "region": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.5.4+galaxy0",type:"tool",uuid:"36059130-5f2a-4fe0-8b36-58073595fdd5",when:null,workflow_outputs:[{label:"average_bigwig",output_name:"outFileName",uuid:"35dfdb8a-121d-41d1-9ad1-1e0d95a8ab8c"}]},15:{annotation:"",content_id:"param_value_from_file",errors:null,id:15,input_connections:{input1:{id:11,output_name:"table"}},inputs:[],label:"convert min value to text",name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:972,top:918.7},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"},HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"cdbee56b-9fff-4205-9cb6-741be770985d",when:null,workflow_outputs:[]},16:{annotation:"get nb of rep as param",content_id:"param_value_from_file",errors:null,id:16,input_connections:{input1:{id:12,output_name:"out_file1"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:980.362829492841,top:1090.2503372993485},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"2ea49dca-270b-454a-9d86-6947799ab996",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:17,input_connections:{"token_set_0|line":{id:15,output_name:"text_param"},"token_set_0|repeat_select|times":{id:16,output_name:"integer_param"}},inputs:[],label:"create a dataset with the min value as many times as there are replicates",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:1210.95940032202,top:978.1979565079766},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": {"__class__": "ConnectedValue"}, "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"29ef7038-e10a-47cd-835f-945dccaf9c1c",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:18,input_connections:{"split_parms|input":{id:17,output_name:"outfile"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:"split min value",name:"Split file",outputs:[{name:"list_output_txt",type:"input"}],position:{left:1454.946894305971,top:1074.616955921246},post_job_actions:{HideDatasetActionlist_output_txt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "txt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "split_file", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"7db836a5-793a-403e-8db1-b97f619f4c69",when:null,workflow_outputs:[]},19:{annotation:"",content_id:"param_value_from_file",errors:null,id:19,input_connections:{input1:{id:18,output_name:"list_output_txt"}},inputs:[],label:"convert min nb of reads to parameter",name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1679.9454808872808,top:1066.2435805949858},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"71b1c454-41db-4a8b-8595-8d3fa86a86a0",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:20,input_connections:{input:{id:0,output_name:"output"},"mode|subsample_config|subsampling_mode|target":{id:19,output_name:"integer_param"}},inputs:[],label:"select random reads",name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:1925.7976872167908,top:1061.3309439057557},post_job_actions:{HideDatasetActionoutputsam:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "cond_expr": {"select_expr": "no", "__current_case__": 0}, "quality": null, "library": null, "cigarcons": null, "inclusive_filter": null, "exclusive_filter": null, "exclusive_filter_all": null, "tag": null, "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "target", "__current_case__": 1, "target": {"__class__": "ConnectedValue"}, "seed": "1"}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"36713e3f-6110-41f7-8df1-9a9966400fab",when:null,workflow_outputs:[]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",errors:null,id:21,input_connections:{input:{id:20,output_name:"outputsam"}},inputs:[],label:"convert subsampled bam to bed",name:"bedtools BAM to BED",outputs:[{name:"output",type:"bed"}],position:{left:1300.0284368938724,top:585.202166486144},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"ed_score": false, "input": {"__class__": "ConnectedValue"}, "option": "", "split": false, "tag": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"7521eb4d-6cb9-463b-8c03-91ac64396ac3",when:null,workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:22,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:21,output_name:"output"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"call peaks on merge",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"}],position:{left:1546.199951171875,top:605.2979025976546},post_job_actions:{HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"merged macs2 narrowPeaks"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"merged macs2 tabular"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"merged macs2 coverage normalized"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": true, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "all", "__current_case__": 2}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BED", "nomodel_type": {"nomodel_type_selector": "nomodel", "__current_case__": 1, "extsize": "200", "shift": "-100"}, "outputs": ["peaks_tabular"], "treatment": {"t_multi_select": "Yes", "__current_case__": 1, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"e183ec20-d4ab-427a-9a0c-3e9bbced8793",when:null,workflow_outputs:[{label:"merged_macs2_narrowPeaks",output_name:"output_narrowpeaks",uuid:"6d97d620-9486-4d85-9a80-e3595c0bb968"}]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0",errors:null,id:23,input_connections:{inputA:{id:22,output_name:"output_narrowpeaks"},"reduce_or_iterate|inputB":{id:13,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool bedtools Intersect intervals",name:"reduce_or_iterate"}],label:"get merged peaks overlapping at least x replicates",name:"bedtools Intersect intervals",outputs:[{name:"output",type:"input"}],position:{left:1643.5166015625,top:340.697927011717},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed": false, "count": false, "fraction_cond": {"fraction_select": "default", "__current_case__": 0}, "genome_file_opts": {"genome_file_opts_selector": "loc", "__current_case__": 0, "genome": null}, "header": false, "inputA": {"__class__": "ConnectedValue"}, "invert": false, "once": false, "overlap_mode": ["-wa", "-wb"], "reduce_or_iterate": {"reduce_or_iterate_selector": "iterate", "__current_case__": 0, "inputB": {"__class__": "ConnectedValue"}}, "sorted": false, "split": false, "strand": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"d6183a41-f78c-49fc-b826-f8aa95ff84cb",when:null,workflow_outputs:[]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:24,input_connections:{"results_0|software_cond|input":{id:7,output_name:"output_tabular"},"results_1|software_cond|input":{id:22,output_name:"output_tabular"}},inputs:[],label:"multiQC",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2329.32147475926,top:153.52074582627785},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"f7d74248-16e3-4020-8156-caae0e7682ef",when:null,workflow_outputs:[{label:"multiqc_output",output_name:"html_report",uuid:"a342a984-235e-4d40-9e09-d835aab35282"}]},25:{annotation:"",content_id:"Filter1",errors:null,id:25,input_connections:{input:{id:23,output_name:"output"}},inputs:[],label:"only keep peaks with summits overlapping intersection of at least x replicates",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1874.401877544738,top:345.7312522070295},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": "(c2+c10)>=c12 and (c2+c10)Fragment Length'}}},shared_narrowPeak:{asserts:{has_n_lines:{n:4}}}}}]}],path:"./workflows/epigenetics/consensus-peaks"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/chipseq-pe.ga",testParameterFiles:["/chipseq-pe-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input a collection of paired fastqs. Remove adapters with cutadapt, map pairs with bowtie2. Keep MAPQ30 and concordant pairs. MACS2 for paired bam.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.12",name:"ChIPseq_PE",steps:{0:{annotation:"Should be a paired collection with ChIPseq fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a paired collection with ChIPseq fastqs",name:"PE fastq input"}],label:"PE fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"e09c0852-1db3-4a68-b88c-1b94c205cb6c",when:null,workflow_outputs:[]},1:{annotation:"Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC ",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC ",name:"adapter_forward"}],label:"adapter_forward",name:"Input parameter",outputs:[],position:{left:11.01666259765625,top:93.5},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"30c1d867-5e73-4348-8969-848f58d94015",when:null,workflow_outputs:[]},2:{annotation:"Please use: For R2: - For Nextera: CTGTCTCTTATACACATCTGACGCTGCCGACGA - For TruSeq: GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Please use: For R2: - For Nextera: CTGTCTCTTATACACATCTGACGCTGCCGACGA - For TruSeq: GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT",name:"adapter_reverse"}],label:"adapter_reverse",name:"Input parameter",outputs:[],position:{left:50.066650390625,top:189.45001220703125},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ec244ede-8fa3-4d05-85a0-06839f4cf97d",when:null,workflow_outputs:[]},3:{annotation:"reference_genome",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"reference_genome",name:"reference_genome"}],label:"reference_genome",name:"Input parameter",outputs:[],position:{left:102.9000244140625,top:333.23333740234375},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"0119d669-7ce9-46fd-ba6f-3efd92dfb7f2",when:null,workflow_outputs:[]},4:{annotation:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:144.8499755859375,top:437.61669921875},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"5bb3b3df-60ab-4ec7-88e4-476be547ffbf",when:null,workflow_outputs:[]},5:{annotation:"Whether you want to have a profile normalized as Signal to Million Fragments",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Whether you want to have a profile normalized as Signal to Million Fragments",name:"normalize_profile"}],label:"normalize_profile",name:"Input parameter",outputs:[],position:{left:185,top:542},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8180a47b-2fa4-404e-b644-1f3ec3bea980",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",errors:null,id:6,input_connections:{"library|input_1":{id:0,output_name:"output"},"library|r1|adapters_0|adapter_source|adapter":{id:1,output_name:"output"},"library|r2|adapters2_0|adapter_source|adapter":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Cutadapt",name:"library"}],label:"Cutadapt (remove adapter + bad quality bases)",name:"Cutadapt",outputs:[{name:"out_pairs",type:"input"},{name:"report",type:"txt"}],position:{left:414.29998779296875,top:57.25},post_job_actions:{HideDatasetActionout_pairs:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_pairs"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"},RenameDatasetActionreport:{action_arguments:{newname:"cutadapt report"},action_type:"RenameDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",tool_shed_repository:{changeset_revision:"5eb7e84243f2",name:"cutadapt",owner:"lparsons",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adapter_options": {"action": "trim", "error_rate": "0.1", "no_indels": false, "times": "1", "overlap": "3", "match_read_wildcards": false, "no_match_adapter_wildcards": true, "revcomp": false}, "filter_options": {"discard_trimmed": false, "discard_untrimmed": false, "minimum_length": "15", "minimum_length2": null, "maximum_length": null, "maximum_length2": null, "max_n": null, "max_expected_errors": null, "max_average_error_rate": null, "discard_casava": false, "pair_filter": "any"}, "library": {"type": "paired_collection", "__current_case__": 2, "input_1": {"__class__": "ConnectedValue"}, "r1": {"adapters": [{"__index__": 0, "adapter_source": {"adapter_source_list": "user", "__current_case__": 0, "adapter_name": "Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC ", "adapter": {"__class__": "ConnectedValue"}}, "single_noindels": false}], "front_adapters": [], "anywhere_adapters": []}, "r2": {"adapters2": [{"__index__": 0, "adapter_source": {"adapter_source_list": "user", "__current_case__": 0, "adapter_name": "Please use: For R2: - For Nextera: CTGTCTCTTATACACATCTGACGCTGCCGACGA - For TruSeq: GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT", "adapter": {"__class__": "ConnectedValue"}}, "single_noindels": false}], "front_adapters2": [], "anywhere_adapters2": []}, "pair_adapters": false}, "other_trimming_options": {"cut": "0", "cut2": "0", "quality_cutoff": "30", "quality_cutoff2": "", "nextseq_trim": "0", "trim_n": false, "poly_a": false, "shorten_options": {"shorten_values": "False", "__current_case__": 1}, "shorten_options_r2": {"shorten_values_r2": "False", "__current_case__": 1}}, "output_selector": ["report"], "read_mod_options": {"strip_suffix": "", "length_tag": "", "rename": "", "zero_cap": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.9+galaxy1",type:"tool",uuid:"c7846b4c-54fb-458e-982e-c0d8358a9f5d",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",errors:null,id:7,input_connections:{"library|input_1":{id:6,output_name:"out_pairs"},"reference_genome|index":{id:3,output_name:"output"}},inputs:[{description:"runtime parameter for tool Bowtie2",name:"library"},{description:"runtime parameter for tool Bowtie2",name:"reference_genome"}],label:"Bowtie2 map on reference",name:"Bowtie2",outputs:[{name:"output",type:"bam"},{name:"mapping_stats",type:"txt"}],position:{left:709.6000061035156,top:436.93333435058594},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionmapping_stats:{action_arguments:{newname:"mapping stats"},action_type:"RenameDatasetAction",output_name:"mapping_stats"},RenameDatasetActionoutput:{action_arguments:{newname:"bowtie2 output (BAM)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",tool_shed_repository:{changeset_revision:"d5ceb9f3c25b",name:"bowtie2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "analysis_type": {"analysis_type_selector": "simple", "__current_case__": 0, "presets": "no_presets"}, "library": {"type": "paired_collection", "__current_case__": 2, "input_1": {"__class__": "ConnectedValue"}, "unaligned_file": false, "aligned_file": false, "paired_options": {"paired_options_selector": "no", "__current_case__": 1}}, "reference_genome": {"source": "indexed", "__current_case__": 0, "index": {"__class__": "ConnectedValue"}}, "rg": {"rg_selector": "do_not_set", "__current_case__": 3}, "sam_options": {"sam_options_selector": "no", "__current_case__": 1}, "save_mapping_stats": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.5.3+galaxy1",type:"tool",uuid:"6fd8444b-f305-4daa-a33a-5cb44e063f39",when:null,workflow_outputs:[{label:"mapping stats",output_name:"mapping_stats",uuid:"c7c0e8ff-234e-4c79-a2e3-a48404fcd712"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtool_filter2/samtool_filter2/1.8+galaxy1",errors:null,id:8,input_connections:{input1:{id:7,output_name:"output"}},inputs:[{description:"runtime parameter for tool Filter SAM or BAM, output SAM or BAM",name:"bed_file"}],label:"filter MAPQ30 concordent pairs",name:"Filter SAM or BAM, output SAM or BAM",outputs:[{name:"output1",type:"sam"}],position:{left:1105,top:581.3833312988281},post_job_actions:{RenameDatasetActionoutput1:{action_arguments:{newname:"filtered BAM"},action_type:"RenameDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtool_filter2/samtool_filter2/1.8+galaxy1",tool_shed_repository:{changeset_revision:"649a225999a5",name:"samtool_filter2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed_file": {"__class__": "RuntimeValue"}, "flag": {"filter": "yes", "__current_case__": 1, "reqBits": ["0x0002"], "skipBits": null}, "header": "-h", "input1": {"__class__": "ConnectedValue"}, "library": "", "mapq": "30", "outputtype": "bam", "possibly_select_inverse": false, "read_group": "", "regions": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy1",type:"tool",uuid:"bb6e3ac5-cdb0-493c-b534-264ba530a711",when:null,workflow_outputs:[{label:"filtered BAM",output_name:"output1",uuid:"c57ebeed-1344-49e2-a7f1-7ad36de8730a"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:9,input_connections:{"advanced_options|spmr":{id:5,output_name:"output"},"effective_genome_size_options|gsize":{id:4,output_name:"output"},"treatment|input_treatment_file":{id:8,output_name:"output1"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"advanced_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"Call Peaks with MACS2",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_summits",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"},{name:"output_extra_files",type:"html"}],position:{left:1546.183349609375,top:314.96665954589844},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_extra_files:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_extra_files"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_control_lambda:{action_arguments:{newname:"MACS2 control coverage"},action_type:"RenameDatasetAction",output_name:"output_control_lambda"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"MACS2 narrowPeak"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_summits:{action_arguments:{newname:"MACS2 summits"},action_type:"RenameDatasetAction",output_name:"output_summits"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"MACS2 peaks xls"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"MACS2 treatment coverage"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": {"__class__": "ConnectedValue"}, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "1", "__current_case__": 1}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BAMPE", "nomodel_type": {"nomodel_type_selector": "create_model", "__current_case__": 0, "mfold_lower": "5", "mfold_upper": "50", "band_width": "300"}, "outputs": ["peaks_tabular", "summits", "bdg", "html"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"06ca906e-c512-4376-9ffc-8eb2b5774af1",when:null,workflow_outputs:[{label:"MACS2 summits",output_name:"output_summits",uuid:"33cc76f5-8763-477e-93e5-391dd88bf529"},{label:"MACS2 peaks",output_name:"output_tabular",uuid:"10114173-d06e-4ad1-aa62-0de5ca17b364"},{label:"MACS2 narrowPeak",output_name:"output_narrowpeaks",uuid:"7c28605b-1dad-401d-b057-7fad39ee032c"}]},10:{annotation:"summary of MACS2",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",errors:null,id:10,input_connections:{infile:{id:9,output_name:"output_tabular"}},inputs:[],label:"summary of MACS2",name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{left:1956.11669921875,top:185.96665954589844},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"txt"},action_type:"ChangeDatatypeAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"MACS2 report"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "^#", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"95832fa1-e96e-4867-8162-d1e39cb1dc46",when:null,workflow_outputs:[{label:"MACS2 report",output_name:"output",uuid:"4bae077a-d85a-4e02-b4cc-d125bd10da47"}]},11:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:11,input_connections:{input1:{id:9,output_name:"output_treat_pileup"}},inputs:[],label:"Bigwig from MACS2",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:2017.933349609375,top:464.3333282470703},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"coverage from MACS2 (bigwig)"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"0fe57c5d-00a0-4cb6-9bac-97e6d03c6b76",when:null,workflow_outputs:[{label:"coverage from MACS2",output_name:"out_file1",uuid:"ccd1cade-8897-41a6-9b14-8e875f60d4e7"}]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:12,input_connections:{"results_0|software_cond|input":{id:6,output_name:"report"},"results_1|software_cond|input":{id:7,output_name:"mapping_stats"},"results_2|software_cond|input":{id:9,output_name:"output_tabular"}},inputs:[],label:"MultiQC",name:"MultiQC",outputs:[{name:"plots",type:"input"},{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2065.1666870117188,top:843.3333129882812},post_job_actions:{HideDatasetActionplots:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plots"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": true, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "cutadapt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "bowtie2", "__current_case__": 3, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"fb066848-43df-412a-9767-9613bac7d961",when:null,workflow_outputs:[{label:"MultiQC webpage",output_name:"html_report",uuid:"175c983c-cb66-430e-aaeb-252b9f520f3b"},{label:"MultiQC on input dataset(s): Stats",output_name:"stats",uuid:"409a12c8-c81d-4607-a7d8-3f8fe0ab8d02"}]}},tags:["ChIP"],uuid:"1834d09c-c683-4424-bc8d-57df156c2fc8",version:1},readme:`# ChIP-seq paired-end Workflow +`,changelog:"# Changelog\n\n## [1.2] 2024-09-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [1.1] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.30.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n\n## [1.0] 2024-05-01\n\n### Changed\nThe workflow changed as it accepts now more than 2 replicates and has a new parameter to define what is the minimum number of replicates where the summit should be found.\nThe workflow for ATAC and CUT&RUN changed the input datatype as now a BAM is required instead of a BED.\n\n## [0.7] 2024-04-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n\n## [0.6] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n\n## [0.5] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/1.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0`\n\n## [0.4] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n\n## [0.3] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n\n## [0.2] 2023-11-10\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.7.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n\n## [0.1] 2023-08-31\nFirst release.\n",diagrams:`# Workflow diagrams + +## Get Confident Peaks From ATAC or CUTandRUN replicates + +\`\`\`mermaid +graph LR +0["ℹ️ n rmDup BAM"]@{ shape: docs } +1["ℹ️ Minimum number of overlap"]@{ shape: lean-l } +2["ℹ️ effective_genome_size"]@{ shape: lean-l } +3["ℹ️ bin_size"]@{ shape: lean-l } +4["convert BAM to BED"]@{ shape: process } +0 --> 4 +5["count number of reads"]@{ shape: process } +0 --> 5 +6["generate filter rule"]@{ shape: process } +1 --> 6 +7["call peaks individually"]@{ shape: process } +2 --> 7 +4 --> 7 +8["put all nb of reads into single dataset"]@{ shape: process } +5 --> 8 +9["compute multi intersect"]@{ shape: process } +7 --> 9 +10["individual normalized bigwig"]@{ shape: process } +7 --> 10 +11["get min value"]@{ shape: process } +8 --> 11 +12["get nb of replicates"]@{ shape: process } +8 --> 12 +13["filter multi intersect"]@{ shape: process } +6 --> 13 +9 --> 13 +14["average coverage from replicates"]@{ shape: process } +3 --> 14 +10 --> 14 +15["convert min value to text"]@{ shape: process } +11 --> 15 +16["Parse parameter value"]@{ shape: process } +12 --> 16 +17["create a dataset with the min value as many times as there are replicates"]@{ shape: process } +15 --> 17 +16 --> 17 +18["split min value"]@{ shape: process } +17 --> 18 +19["convert min nb of reads to parameter"]@{ shape: process } +18 --> 19 +20["select random reads"]@{ shape: process } +0 --> 20 +19 --> 20 +21["convert subsampled bam to bed"]@{ shape: process } +20 --> 21 +22["call peaks on merge"]@{ shape: process } +2 --> 22 +21 --> 22 +23["get merged peaks overlapping at least x replicates"]@{ shape: process } +22 --> 23 +13 --> 23 +24["multiQC"]@{ shape: process } +7 --> 24 +22 --> 24 +25["only keep peaks with summits overlapping intersection of at least x replicates"]@{ shape: process } +23 --> 25 +26["keep only columns of narrowPeak"]@{ shape: process } +25 --> 26 +27["discard duplicated lines"]@{ shape: process } +26 --> 27 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/consensus-peaks/consensus-peaks-atac-cutandrun",tests:[{doc:"Test for consensus-peaks-atac-cutandrun.ga",job:{"n rmDup BAM":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"rep1",path:"test-data/rep1.bam",dbkey:"mm10"},{class:"File",identifier:"rep2",path:"test-data/rep2.bam",dbkey:"mm10"},{class:"File",identifier:"rep3",path:"test-data/rep3.bam",dbkey:"mm10"}]},"Minimum number of overlap":2,effective_genome_size:187e7,bin_size:50},outputs:{individual_macs2_narrowPeaks:{element_tests:{rep1:{asserts:{has_n_lines:{n:4}}},rep2:{asserts:{has_n_lines:{n:6}}},rep3:{asserts:{has_n_lines:{n:4}}}}},average_bigwig:{asserts:{has_size:{value:1388,delta:100}}},merged_macs2_narrowPeaks:{asserts:{has_n_lines:{n:8}}},multiqc_output:{asserts:{has_text:{text:'Fragment Length'}}},shared_narrowPeak:{asserts:{has_n_lines:{n:4}}}}}]}],path:"./workflows/epigenetics/consensus-peaks"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/chipseq-pe.ga",testParameterFiles:["/chipseq-pe-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input a collection of paired fastqs. Remove adapters with cutadapt, map pairs with bowtie2. Keep MAPQ30 and concordant pairs. MACS2 for paired bam.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.12",name:"ChIPseq_PE",steps:{0:{annotation:"Should be a paired collection with ChIPseq fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a paired collection with ChIPseq fastqs",name:"PE fastq input"}],label:"PE fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"e09c0852-1db3-4a68-b88c-1b94c205cb6c",when:null,workflow_outputs:[]},1:{annotation:"Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC ",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC ",name:"adapter_forward"}],label:"adapter_forward",name:"Input parameter",outputs:[],position:{left:11.01666259765625,top:93.5},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"30c1d867-5e73-4348-8969-848f58d94015",when:null,workflow_outputs:[]},2:{annotation:"Please use: For R2: - For Nextera: CTGTCTCTTATACACATCTGACGCTGCCGACGA - For TruSeq: GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Please use: For R2: - For Nextera: CTGTCTCTTATACACATCTGACGCTGCCGACGA - For TruSeq: GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT",name:"adapter_reverse"}],label:"adapter_reverse",name:"Input parameter",outputs:[],position:{left:50.066650390625,top:189.45001220703125},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ec244ede-8fa3-4d05-85a0-06839f4cf97d",when:null,workflow_outputs:[]},3:{annotation:"reference_genome",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"reference_genome",name:"reference_genome"}],label:"reference_genome",name:"Input parameter",outputs:[],position:{left:102.9000244140625,top:333.23333740234375},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"0119d669-7ce9-46fd-ba6f-3efd92dfb7f2",when:null,workflow_outputs:[]},4:{annotation:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:144.8499755859375,top:437.61669921875},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"5bb3b3df-60ab-4ec7-88e4-476be547ffbf",when:null,workflow_outputs:[]},5:{annotation:"Whether you want to have a profile normalized as Signal to Million Fragments",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Whether you want to have a profile normalized as Signal to Million Fragments",name:"normalize_profile"}],label:"normalize_profile",name:"Input parameter",outputs:[],position:{left:185,top:542},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"8180a47b-2fa4-404e-b644-1f3ec3bea980",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",errors:null,id:6,input_connections:{"library|input_1":{id:0,output_name:"output"},"library|r1|adapters_0|adapter_source|adapter":{id:1,output_name:"output"},"library|r2|adapters2_0|adapter_source|adapter":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Cutadapt",name:"library"}],label:"Cutadapt (remove adapter + bad quality bases)",name:"Cutadapt",outputs:[{name:"out_pairs",type:"input"},{name:"report",type:"txt"}],position:{left:414.29998779296875,top:57.25},post_job_actions:{HideDatasetActionout_pairs:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_pairs"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"},RenameDatasetActionreport:{action_arguments:{newname:"cutadapt report"},action_type:"RenameDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",tool_shed_repository:{changeset_revision:"5eb7e84243f2",name:"cutadapt",owner:"lparsons",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adapter_options": {"action": "trim", "error_rate": "0.1", "no_indels": false, "times": "1", "overlap": "3", "match_read_wildcards": false, "no_match_adapter_wildcards": true, "revcomp": false}, "filter_options": {"discard_trimmed": false, "discard_untrimmed": false, "minimum_length": "15", "minimum_length2": null, "maximum_length": null, "maximum_length2": null, "max_n": null, "max_expected_errors": null, "max_average_error_rate": null, "discard_casava": false, "pair_filter": "any"}, "library": {"type": "paired_collection", "__current_case__": 2, "input_1": {"__class__": "ConnectedValue"}, "r1": {"adapters": [{"__index__": 0, "adapter_source": {"adapter_source_list": "user", "__current_case__": 0, "adapter_name": "Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC ", "adapter": {"__class__": "ConnectedValue"}}, "single_noindels": false}], "front_adapters": [], "anywhere_adapters": []}, "r2": {"adapters2": [{"__index__": 0, "adapter_source": {"adapter_source_list": "user", "__current_case__": 0, "adapter_name": "Please use: For R2: - For Nextera: CTGTCTCTTATACACATCTGACGCTGCCGACGA - For TruSeq: GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT", "adapter": {"__class__": "ConnectedValue"}}, "single_noindels": false}], "front_adapters2": [], "anywhere_adapters2": []}, "pair_adapters": false}, "other_trimming_options": {"cut": "0", "cut2": "0", "quality_cutoff": "30", "quality_cutoff2": "", "nextseq_trim": "0", "trim_n": false, "poly_a": false, "shorten_options": {"shorten_values": "False", "__current_case__": 1}, "shorten_options_r2": {"shorten_values_r2": "False", "__current_case__": 1}}, "output_selector": ["report"], "read_mod_options": {"strip_suffix": "", "length_tag": "", "rename": "", "zero_cap": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.9+galaxy1",type:"tool",uuid:"c7846b4c-54fb-458e-982e-c0d8358a9f5d",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",errors:null,id:7,input_connections:{"library|input_1":{id:6,output_name:"out_pairs"},"reference_genome|index":{id:3,output_name:"output"}},inputs:[{description:"runtime parameter for tool Bowtie2",name:"library"},{description:"runtime parameter for tool Bowtie2",name:"reference_genome"}],label:"Bowtie2 map on reference",name:"Bowtie2",outputs:[{name:"output",type:"bam"},{name:"mapping_stats",type:"txt"}],position:{left:709.6000061035156,top:436.93333435058594},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionmapping_stats:{action_arguments:{newname:"mapping stats"},action_type:"RenameDatasetAction",output_name:"mapping_stats"},RenameDatasetActionoutput:{action_arguments:{newname:"bowtie2 output (BAM)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",tool_shed_repository:{changeset_revision:"d5ceb9f3c25b",name:"bowtie2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "analysis_type": {"analysis_type_selector": "simple", "__current_case__": 0, "presets": "no_presets"}, "library": {"type": "paired_collection", "__current_case__": 2, "input_1": {"__class__": "ConnectedValue"}, "unaligned_file": false, "aligned_file": false, "paired_options": {"paired_options_selector": "no", "__current_case__": 1}}, "reference_genome": {"source": "indexed", "__current_case__": 0, "index": {"__class__": "ConnectedValue"}}, "rg": {"rg_selector": "do_not_set", "__current_case__": 3}, "sam_options": {"sam_options_selector": "no", "__current_case__": 1}, "save_mapping_stats": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.5.3+galaxy1",type:"tool",uuid:"6fd8444b-f305-4daa-a33a-5cb44e063f39",when:null,workflow_outputs:[{label:"mapping stats",output_name:"mapping_stats",uuid:"c7c0e8ff-234e-4c79-a2e3-a48404fcd712"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtool_filter2/samtool_filter2/1.8+galaxy1",errors:null,id:8,input_connections:{input1:{id:7,output_name:"output"}},inputs:[{description:"runtime parameter for tool Filter SAM or BAM, output SAM or BAM",name:"bed_file"}],label:"filter MAPQ30 concordent pairs",name:"Filter SAM or BAM, output SAM or BAM",outputs:[{name:"output1",type:"sam"}],position:{left:1105,top:581.3833312988281},post_job_actions:{RenameDatasetActionoutput1:{action_arguments:{newname:"filtered BAM"},action_type:"RenameDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtool_filter2/samtool_filter2/1.8+galaxy1",tool_shed_repository:{changeset_revision:"649a225999a5",name:"samtool_filter2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed_file": {"__class__": "RuntimeValue"}, "flag": {"filter": "yes", "__current_case__": 1, "reqBits": ["0x0002"], "skipBits": null}, "header": "-h", "input1": {"__class__": "ConnectedValue"}, "library": "", "mapq": "30", "outputtype": "bam", "possibly_select_inverse": false, "read_group": "", "regions": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy1",type:"tool",uuid:"bb6e3ac5-cdb0-493c-b534-264ba530a711",when:null,workflow_outputs:[{label:"filtered BAM",output_name:"output1",uuid:"c57ebeed-1344-49e2-a7f1-7ad36de8730a"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:9,input_connections:{"advanced_options|spmr":{id:5,output_name:"output"},"effective_genome_size_options|gsize":{id:4,output_name:"output"},"treatment|input_treatment_file":{id:8,output_name:"output1"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"advanced_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"Call Peaks with MACS2",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_summits",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"},{name:"output_extra_files",type:"html"}],position:{left:1546.183349609375,top:314.96665954589844},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_extra_files:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_extra_files"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_control_lambda:{action_arguments:{newname:"MACS2 control coverage"},action_type:"RenameDatasetAction",output_name:"output_control_lambda"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"MACS2 narrowPeak"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_summits:{action_arguments:{newname:"MACS2 summits"},action_type:"RenameDatasetAction",output_name:"output_summits"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"MACS2 peaks xls"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"MACS2 treatment coverage"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": {"__class__": "ConnectedValue"}, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "1", "__current_case__": 1}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BAMPE", "nomodel_type": {"nomodel_type_selector": "create_model", "__current_case__": 0, "mfold_lower": "5", "mfold_upper": "50", "band_width": "300"}, "outputs": ["peaks_tabular", "summits", "bdg", "html"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"06ca906e-c512-4376-9ffc-8eb2b5774af1",when:null,workflow_outputs:[{label:"MACS2 summits",output_name:"output_summits",uuid:"33cc76f5-8763-477e-93e5-391dd88bf529"},{label:"MACS2 peaks",output_name:"output_tabular",uuid:"10114173-d06e-4ad1-aa62-0de5ca17b364"},{label:"MACS2 narrowPeak",output_name:"output_narrowpeaks",uuid:"7c28605b-1dad-401d-b057-7fad39ee032c"}]},10:{annotation:"summary of MACS2",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",errors:null,id:10,input_connections:{infile:{id:9,output_name:"output_tabular"}},inputs:[],label:"summary of MACS2",name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{left:1956.11669921875,top:185.96665954589844},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"txt"},action_type:"ChangeDatatypeAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"MACS2 report"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "^#", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"95832fa1-e96e-4867-8162-d1e39cb1dc46",when:null,workflow_outputs:[{label:"MACS2 report",output_name:"output",uuid:"4bae077a-d85a-4e02-b4cc-d125bd10da47"}]},11:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:11,input_connections:{input1:{id:9,output_name:"output_treat_pileup"}},inputs:[],label:"Bigwig from MACS2",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:2017.933349609375,top:464.3333282470703},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"coverage from MACS2 (bigwig)"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"0fe57c5d-00a0-4cb6-9bac-97e6d03c6b76",when:null,workflow_outputs:[{label:"coverage from MACS2",output_name:"out_file1",uuid:"ccd1cade-8897-41a6-9b14-8e875f60d4e7"}]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:12,input_connections:{"results_0|software_cond|input":{id:6,output_name:"report"},"results_1|software_cond|input":{id:7,output_name:"mapping_stats"},"results_2|software_cond|input":{id:9,output_name:"output_tabular"}},inputs:[],label:"MultiQC",name:"MultiQC",outputs:[{name:"plots",type:"input"},{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2065.1666870117188,top:843.3333129882812},post_job_actions:{HideDatasetActionplots:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plots"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": true, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "cutadapt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "bowtie2", "__current_case__": 3, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"fb066848-43df-412a-9767-9613bac7d961",when:null,workflow_outputs:[{label:"MultiQC webpage",output_name:"html_report",uuid:"175c983c-cb66-430e-aaeb-252b9f520f3b"},{label:"MultiQC on input dataset(s): Stats",output_name:"stats",uuid:"409a12c8-c81d-4607-a7d8-3f8fe0ab8d02"}]}},tags:["ChIP"],uuid:"1834d09c-c683-4424-bc8d-57df156c2fc8",version:1},readme:`# ChIP-seq paired-end Workflow ## Inputs dataset @@ -2604,6 +4882,40 @@ ChIPseq_PE has been renamed chipseq-pe (still version 0.1) ## [0.1] 2022-10-06 First release. +`,diagrams:`# Workflow diagrams + +## ChIPseq_PE + +\`\`\`mermaid +graph LR +0["ℹ️ PE fastq input"]@{ shape: docs } +1["ℹ️ adapter_forward"]@{ shape: lean-l } +2["ℹ️ adapter_reverse"]@{ shape: lean-l } +3["ℹ️ reference_genome"]@{ shape: lean-l } +4["ℹ️ effective_genome_size"]@{ shape: lean-l } +5["ℹ️ normalize_profile"]@{ shape: lean-l } +6["Cutadapt (remove adapter + bad quality bases)"]@{ shape: process } +0 --> 6 +1 --> 6 +2 --> 6 +7["Bowtie2 map on reference"]@{ shape: process } +6 --> 7 +3 --> 7 +8["filter MAPQ30 concordent pairs"]@{ shape: process } +7 --> 8 +9["Call Peaks with MACS2"]@{ shape: process } +5 --> 9 +4 --> 9 +8 --> 9 +10["summary of MACS2"]@{ shape: process } +9 --> 10 +11["Bigwig from MACS2"]@{ shape: process } +9 --> 11 +12["MultiQC"]@{ shape: process } +6 --> 12 +7 --> 12 +9 --> 12 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/chipseq-pe/main",tests:[{doc:"Test outline for ChIPseq_PE",job:{"PE fastq input":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"wt_H3K4me3",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/record/1324070/files/wt_H3K4me3_read1.fastq.gz",filetype:"fastqsanger"},{identifier:"reverse",class:"File",location:"https://zenodo.org/record/1324070/files/wt_H3K4me3_read2.fastq.gz",filetype:"fastqsanger"}]}]},adapter_forward:"GATCGGAAGAGCACACGTCTGAACTCCAGTCAC",adapter_reverse:"GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT",reference_genome:"mm10",effective_genome_size:187e7,normalize_profile:!0},outputs:{"MultiQC webpage":{asserts:[{that:"has_text",text:"wt_H3K4me3"},{that:"has_text",text:'Filtered Reads'},{that:"has_text",text:'Bowtie 2 / HiSAT2'}]},"MultiQC on input dataset(s): Stats":{asserts:{has_line:{line:"Sample MACS2_mqc_generalstats_macs2_d MACS2_mqc_generalstats_macs2_treatment_redundant_rate MACS2_mqc_generalstats_macs2_peak_count Bowtie 2 / HiSAT2_mqc_generalstats_bowtie_2_hisat2_overall_alignment_rate Cutadapt_mqc_generalstats_cutadapt_percent_trimmed"},has_text_matching:{expression:"wt_H3K4me3 201.0 0.0 11 98.[0-9]* 10.[0-9]*"}}},"filtered BAM":{element_tests:{wt_H3K4me3:{asserts:{has_size:{value:5008461,delta:2e5}}}}},"MACS2 summits":{element_tests:{wt_H3K4me3:{asserts:{has_n_lines:{n:11}}}}},"MACS2 peaks":{element_tests:{wt_H3K4me3:{asserts:[{that:"has_text",text:"# effective genome size = 1.87e+09"},{that:"has_text",text:"# fragment size is determined as 201 bps"},{that:"has_text",text:"# fragments after filtering in treatment: 41724"}]}}},"MACS2 narrowPeak":{element_tests:{wt_H3K4me3:{asserts:{has_n_lines:{n:11}}}}},"MACS2 report":{element_tests:{wt_H3K4me3:{asserts:[{that:"has_text",text:"# effective genome size = 1.87e+09"},{that:"has_text",text:"# fragment size is determined as 201 bps"},{that:"has_text",text:"# fragments after filtering in treatment: 41724"}]}}},"coverage from MACS2":{element_tests:{wt_H3K4me3:{asserts:{has_size:{value:556477,delta:1e4}}}}},"mapping stats":{element_tests:{wt_H3K4me3:{asserts:[{that:"has_text",text:"1292 (2.79%) aligned concordantly 0 times"},{that:"has_text",text:"39329 (84.93%) aligned concordantly exactly 1 time"},{that:"has_text",text:"5686 (12.28%) aligned concordantly >1 times"}]}}}}}]}],path:"./workflows/epigenetics/chipseq-pe"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/cutandrun.ga",testParameterFiles:["/cutandrun-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:'This workflow take as input a collection of paired fastq. Remove adapters with cutadapt, map pairs with bowtie2 allowing dovetail. Keep MAPQ30 and concordant pairs. BAM to BED. MACS2 with "ATAC" parameters.',creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.13",name:"CUTandRUN",steps:{0:{annotation:"Should be a paired collection with CUT and RUN fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a paired collection with CUT and RUN fastqs",name:"PE fastq input"}],label:"PE fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:268},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"9fbb875d-05b1-4557-bd2e-710f80dd1a21",when:null,workflow_outputs:[]},1:{annotation:"Please use: For R1: - For TrueSeq (CUT and RUN): GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC - For Nextera (CUT and TAG): CTGTCTCTTATACACATCTCCGAGCCCACGAGAC ",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Please use: For R1: - For TrueSeq (CUT and RUN): GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC - For Nextera (CUT and TAG): CTGTCTCTTATACACATCTCCGAGCCCACGAGAC ",name:"adapter_forward"}],label:"adapter_forward",name:"Input parameter",outputs:[],position:{left:22,top:375},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"1eac70a4-a4b7-42c7-82cd-913f23b4f941",when:null,workflow_outputs:[]},2:{annotation:"Please use: For R2: - For TruSeq (CUT and RUN): GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT - For Nextera (CUT and TAG): CTGTCTCTTATACACATCTGACGCTGCCGACGA",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Please use: For R2: - For TruSeq (CUT and RUN): GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT - For Nextera (CUT and TAG): CTGTCTCTTATACACATCTGACGCTGCCGACGA",name:"adapter_reverse"}],label:"adapter_reverse",name:"Input parameter",outputs:[],position:{left:62,top:483},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"68b198e5-7de8-445f-807f-7f432090e2c7",when:null,workflow_outputs:[]},3:{annotation:"reference_genome",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"reference_genome",name:"reference_genome"}],label:"reference_genome",name:"Input parameter",outputs:[],position:{left:128,top:589},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"7f16a988-8ead-4a4a-9be1-8f5fbb744dec",when:null,workflow_outputs:[]},4:{annotation:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:176,top:689},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"aae90433-355d-4f27-bdfb-77f8bc4fcff5",when:null,workflow_outputs:[]},5:{annotation:"Whether you want to have a profile normalized as Signal to Million Reads",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Whether you want to have a profile normalized as Signal to Million Reads",name:"normalize_profile"}],label:"normalize_profile",name:"Input parameter",outputs:[],position:{left:228,top:780.4016399999857},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a2c8d3e2-7542-4feb-8523-6100983ddb3b",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",errors:null,id:6,input_connections:{"library|input_1":{id:0,output_name:"output"},"library|r1|adapters_0|adapter_source|adapter":{id:1,output_name:"output"},"library|r2|adapters2_0|adapter_source|adapter":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Cutadapt",name:"library"}],label:"Cutadapt (remove adapter + bad quality bases)",name:"Cutadapt",outputs:[{name:"out_pairs",type:"input"},{name:"report",type:"txt"}],position:{left:288,top:180},post_job_actions:{HideDatasetActionout_pairs:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_pairs"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"},RenameDatasetActionreport:{action_arguments:{newname:"cutadapt report"},action_type:"RenameDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",tool_shed_repository:{changeset_revision:"5eb7e84243f2",name:"cutadapt",owner:"lparsons",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adapter_options": {"action": "trim", "error_rate": "0.1", "no_indels": false, "times": "1", "overlap": "3", "match_read_wildcards": false, "no_match_adapter_wildcards": true, "revcomp": false}, "filter_options": {"discard_trimmed": false, "discard_untrimmed": false, "minimum_length": "15", "minimum_length2": null, "maximum_length": null, "maximum_length2": null, "max_n": null, "max_expected_errors": null, "max_average_error_rate": null, "discard_casava": false, "pair_filter": "any"}, "library": {"type": "paired_collection", "__current_case__": 2, "input_1": {"__class__": "ConnectedValue"}, "r1": {"adapters": [{"__index__": 0, "adapter_source": {"adapter_source_list": "user", "__current_case__": 0, "adapter_name": "Please use: For R1: - For TrueSeq (CUT and RUN): GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC - For Nextera (CUT and TAG): CTGTCTCTTATACACATCTCCGAGCCCACGAGAC ", "adapter": {"__class__": "ConnectedValue"}}, "single_noindels": false}], "front_adapters": [], "anywhere_adapters": []}, "r2": {"adapters2": [{"__index__": 0, "adapter_source": {"adapter_source_list": "user", "__current_case__": 0, "adapter_name": "Please use: For R2: - For TruSeq (CUT and RUN): GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT - For Nextera (CUT and TAG): CTGTCTCTTATACACATCTGACGCTGCCGACGA", "adapter": {"__class__": "ConnectedValue"}}, "single_noindels": false}], "front_adapters2": [], "anywhere_adapters2": []}, "pair_adapters": false}, "other_trimming_options": {"cut": "0", "cut2": "0", "quality_cutoff": "30", "quality_cutoff2": "", "nextseq_trim": "0", "trim_n": false, "poly_a": false, "shorten_options": {"shorten_values": "False", "__current_case__": 1}, "shorten_options_r2": {"shorten_values_r2": "False", "__current_case__": 1}}, "output_selector": ["report"], "read_mod_options": {"strip_suffix": "", "length_tag": "", "rename": "", "zero_cap": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.9+galaxy1",type:"tool",uuid:"774b0604-628f-46a1-9088-a59d082e5317",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",errors:null,id:7,input_connections:{"library|input_1":{id:6,output_name:"out_pairs"},"reference_genome|index":{id:3,output_name:"output"}},inputs:[{description:"runtime parameter for tool Bowtie2",name:"library"},{description:"runtime parameter for tool Bowtie2",name:"reference_genome"}],label:"Bowtie2 map on reference",name:"Bowtie2",outputs:[{name:"output",type:"bam"},{name:"mapping_stats",type:"txt"}],position:{left:559,top:102},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionmapping_stats:{action_arguments:{newname:"mapping stats"},action_type:"RenameDatasetAction",output_name:"mapping_stats"},RenameDatasetActionoutput:{action_arguments:{newname:"bowtie2 output (BAM)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",tool_shed_repository:{changeset_revision:"d5ceb9f3c25b",name:"bowtie2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "analysis_type": {"analysis_type_selector": "simple", "__current_case__": 0, "presets": "--very-sensitive"}, "library": {"type": "paired_collection", "__current_case__": 2, "input_1": {"__class__": "ConnectedValue"}, "unaligned_file": false, "aligned_file": false, "paired_options": {"paired_options_selector": "yes", "__current_case__": 0, "I": "0", "X": "1000", "fr_rf_ff": "--fr", "no_mixed": false, "no_discordant": false, "dovetail": true, "no_contain": false, "no_overlap": false}}, "reference_genome": {"source": "indexed", "__current_case__": 0, "index": {"__class__": "ConnectedValue"}}, "rg": {"rg_selector": "do_not_set", "__current_case__": 3}, "sam_options": {"sam_options_selector": "no", "__current_case__": 1}, "save_mapping_stats": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.5.3+galaxy1",type:"tool",uuid:"407d46cc-d908-44eb-a4dd-125537498b17",when:null,workflow_outputs:[{label:"Mapping stats",output_name:"mapping_stats",uuid:"87e15eab-1e45-4838-88b7-d2d8594f0de1"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtool_filter2/samtool_filter2/1.8+galaxy1",errors:null,id:8,input_connections:{input1:{id:7,output_name:"output"}},inputs:[{description:"runtime parameter for tool Filter SAM or BAM, output SAM or BAM",name:"bed_file"}],label:"filter MAPQ30 concordant pairs",name:"Filter SAM or BAM, output SAM or BAM",outputs:[{name:"output1",type:"sam"}],position:{left:834,top:23},post_job_actions:{HideDatasetActionoutput1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output1"},RenameDatasetActionoutput1:{action_arguments:{newname:"filtered BAM"},action_type:"RenameDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtool_filter2/samtool_filter2/1.8+galaxy1",tool_shed_repository:{changeset_revision:"649a225999a5",name:"samtool_filter2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed_file": {"__class__": "RuntimeValue"}, "flag": {"filter": "yes", "__current_case__": 1, "reqBits": ["0x0002"], "skipBits": null}, "header": "-h", "input1": {"__class__": "ConnectedValue"}, "library": "", "mapq": "30", "outputtype": "bam", "possibly_select_inverse": false, "read_group": "", "regions": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy1",type:"tool",uuid:"b04312a6-1680-4d8e-9c70-f30f2d2be3cc",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0",errors:null,id:9,input_connections:{inputFile:{id:8,output_name:"output1"}},inputs:[],label:"remove PCR duplicates",name:"MarkDuplicates",outputs:[{name:"metrics_file",type:"txt"},{name:"outFile",type:"bam"}],position:{left:1112,top:64},post_job_actions:{RenameDatasetActionmetrics_file:{action_arguments:{newname:"MarkDuplicates metrics"},action_type:"RenameDatasetAction",output_name:"metrics_file"},RenameDatasetActionoutFile:{action_arguments:{newname:"BAM filtered rmDup"},action_type:"RenameDatasetAction",output_name:"outFile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0",tool_shed_repository:{changeset_revision:"3f254c5ced1d",name:"picard",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"assume_sorted": true, "barcode_tag": "", "comments": [], "duplicate_scoring_strategy": "SUM_OF_BASE_QUALITIES", "inputFile": {"__class__": "ConnectedValue"}, "optical_duplicate_pixel_distance": "100", "read_name_regex": "", "remove_duplicates": true, "validation_stringency": "LENIENT", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1.0",type:"tool",uuid:"7f78ad5a-5250-4ced-aa7f-cf0802051c82",when:null,workflow_outputs:[{label:"BAM filtered rmDup",output_name:"outFile",uuid:"4cb5b980-39bd-40ab-ad0a-8c90beffd11c"},{label:"MarkDuplicates metrics",output_name:"metrics_file",uuid:"3cec58d5-3851-4ccb-bab5-ae3f550df1e5"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",errors:null,id:10,input_connections:{input:{id:9,output_name:"outFile"}},inputs:[],label:"convert BAM to BED to improve peak calling",name:"bedtools BAM to BED",outputs:[{name:"output",type:"bed"}],position:{left:1387,top:37},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"BED filtered rmDup"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "ed_score": false, "input": {"__class__": "ConnectedValue"}, "option": "", "split": false, "tag": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"f447290b-bd3d-403d-bc67-0765124b7a97",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:11,input_connections:{"advanced_options|spmr":{id:5,output_name:"output"},"effective_genome_size_options|gsize":{id:4,output_name:"output"},"treatment|input_treatment_file":{id:10,output_name:"output"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"advanced_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"Call Peaks with MACS2",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_summits",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"},{name:"output_extra_files",type:"html"}],position:{left:1656,top:3},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_extra_files:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_extra_files"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_control_lambda:{action_arguments:{newname:"MACS2 control coverage"},action_type:"RenameDatasetAction",output_name:"output_control_lambda"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"MACS2 narrowPeak"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_summits:{action_arguments:{newname:"MACS2 summits"},action_type:"RenameDatasetAction",output_name:"output_summits"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"MACS2 peaks xls"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"MACS2 treatment coverage"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": {"__class__": "ConnectedValue"}, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "all", "__current_case__": 2}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BED", "nomodel_type": {"nomodel_type_selector": "nomodel", "__current_case__": 1, "extsize": "200", "shift": "-100"}, "outputs": ["peaks_tabular", "summits", "bdg", "html"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"1a6316d7-3ee1-482a-9264-77bc98090d73",when:null,workflow_outputs:[{label:"MACS2 summits",output_name:"output_summits",uuid:"7bed750a-c0a6-4fda-8f10-4605db362045"},{label:"MACS2 narrowPeak",output_name:"output_narrowpeaks",uuid:"be4e6c87-fb7b-40ed-ac6b-971aeda3631f"},{label:"MACS2 peaks xls",output_name:"output_tabular",uuid:"45eb5a1f-6036-40bf-8c10-5672cb1258ab"}]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",errors:null,id:12,input_connections:{infile:{id:11,output_name:"output_tabular"}},inputs:[],label:"summary of MACS2",name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{left:1946,top:0},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"txt"},action_type:"ChangeDatatypeAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"MACS2 report"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "^#", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"c3ff2b9d-d53a-40d9-8f4c-a7a2461dd7f5",when:null,workflow_outputs:[{label:"MACS2 report",output_name:"output",uuid:"8bf8fad7-3493-4424-a5bf-278457288166"}]},13:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:13,input_connections:{input1:{id:11,output_name:"output_treat_pileup"}},inputs:[],label:"Bigwig from MACS2",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:1945,top:139},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Coverage from MACS2 (bigwig)"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"4bac5ae5-8119-4ced-92cc-b2281d6199ba",when:null,workflow_outputs:[{label:"Coverage from MACS2 (bigwig)",output_name:"out_file1",uuid:"4a8e2e9d-4896-4ffd-99b2-a3492e71053c"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:14,input_connections:{"results_0|software_cond|input":{id:6,output_name:"report"},"results_1|software_cond|input":{id:7,output_name:"mapping_stats"},"results_2|software_cond|output_0|input":{id:9,output_name:"metrics_file"},"results_3|software_cond|input":{id:11,output_name:"output_tabular"}},inputs:[],label:"MultiQC",name:"MultiQC",outputs:[{name:"plots",type:"input"},{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:1936,top:415},post_job_actions:{HideDatasetActionplots:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plots"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": true, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "cutadapt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "bowtie2", "__current_case__": 3, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "software_cond": {"software": "picard", "__current_case__": 17, "output": [{"__index__": 0, "type": "markdups", "input": {"__class__": "ConnectedValue"}}]}}, {"__index__": 3, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"0edf5e04-cc38-414c-9b57-117e919c435b",when:null,workflow_outputs:[{label:"MultiQC on input dataset(s): Stats",output_name:"stats",uuid:"59dfba75-8658-4213-8fd9-b3ce5a916f14"},{label:"MultiQC webpage",output_name:"html_report",uuid:"6d87436a-550e-4d76-a5da-d4463dfd4473"}]}},tags:["CUTnRUN"],uuid:"98e9e34b-b203-43db-9a23-5fa72963fa6d",version:1},readme:`# CUT&RUN (and CUT&TAG) Workflow ## Inputs dataset @@ -2706,6 +5018,45 @@ In all previous versions, due to an error, PCR duplicates were not removed. ## [0.1] 2022-10-06 First release. +`,diagrams:`# Workflow diagrams + +## CUTandRUN + +\`\`\`mermaid +graph LR +0["ℹ️ PE fastq input"]@{ shape: docs } +1["ℹ️ adapter_forward"]@{ shape: lean-l } +2["ℹ️ adapter_reverse"]@{ shape: lean-l } +3["ℹ️ reference_genome"]@{ shape: lean-l } +4["ℹ️ effective_genome_size"]@{ shape: lean-l } +5["ℹ️ normalize_profile"]@{ shape: lean-l } +6["Cutadapt (remove adapter + bad quality bases)"]@{ shape: process } +0 --> 6 +1 --> 6 +2 --> 6 +7["Bowtie2 map on reference"]@{ shape: process } +6 --> 7 +3 --> 7 +8["filter MAPQ30 concordant pairs"]@{ shape: process } +7 --> 8 +9["remove PCR duplicates"]@{ shape: process } +8 --> 9 +10["convert BAM to BED to improve peak calling"]@{ shape: process } +9 --> 10 +11["Call Peaks with MACS2"]@{ shape: process } +5 --> 11 +4 --> 11 +10 --> 11 +12["summary of MACS2"]@{ shape: process } +11 --> 12 +13["Bigwig from MACS2"]@{ shape: process } +11 --> 13 +14["MultiQC"]@{ shape: process } +6 --> 14 +7 --> 14 +9 --> 14 +11 --> 14 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/cutandrun/main",tests:[{doc:"Test outline for CUT&RUN (hg38 bigwig conversion fails for memory issues)",job:{"PE fastq input":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"Rep1",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/record/6823059/files/Rep1_R1.fastq",filetype:"fastqsanger"},{identifier:"reverse",class:"File",location:"https://zenodo.org/record/6823059/files/Rep1_R2.fastq",filetype:"fastqsanger"}]}]},adapter_forward:"GATCGGAAGAGCACACGTCTGAACTCCAGTCAC",adapter_reverse:"GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT",reference_genome:"hg38canon",effective_genome_size:27e8,normalize_profile:!1},outputs:{"Mapping stats":{element_tests:{Rep1:{asserts:{has_text:{text:"289103 reads; of these:"},has_text_matching:{expression:"99.39% overall alignment rate"}}}}},"BAM filtered rmDup":{element_tests:{Rep1:{asserts:{has_size:{value:8661584,delta:8e5}}}}},"MarkDuplicates metrics":{element_tests:{Rep1:{asserts:{has_text:{text:"0.33"}}}}},"MACS2 summits":{element_tests:{Rep1:{asserts:{has_n_lines:{n:5870}}}}},"MACS2 narrowPeak":{element_tests:{Rep1:{asserts:{has_n_lines:{n:5870}}}}},"MACS2 peaks xls":{element_tests:{Rep1:{asserts:{has_text:{text:"# tag size is determined as 40 bps"},has_text_matching:{expression:"# total tags in treatment: 238930"}}}}}}},{doc:"Test outline for CUT&RUN (dm6)",job:{"PE fastq input":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"Rep1",elements:[{identifier:"forward",class:"File",path:"test-data/SRR15904259_subset_forward.fastqsanger.gz",filetype:"fastqsanger"},{identifier:"reverse",class:"File",path:"test-data/SRR15904259_subset_reverse.fastqsanger.gz",filetype:"fastqsanger"}]}]},adapter_forward:"GATCGGAAGAGCACACGTCTGAACTCCAGTCAC",adapter_reverse:"GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT",reference_genome:"dm6",effective_genome_size:12e7,normalize_profile:!0},outputs:{"Mapping stats":{element_tests:{Rep1:{asserts:{has_text:{text:"343237 reads; of these:"},has_text_matching:{expression:"98.17% overall alignment rate"}}}}},"BAM filtered rmDup":{element_tests:{Rep1:{asserts:{has_size:{value:18246620,delta:1e6}}}}},"MarkDuplicates metrics":{element_tests:{Rep1:{asserts:{has_text:{text:"0.001269"}}}}},"MACS2 summits":{element_tests:{Rep1:{asserts:{has_n_lines:{n:3231}}}}},"MACS2 narrowPeak":{element_tests:{Rep1:{asserts:{has_n_lines:{n:3231}}}}},"MACS2 peaks xls":{element_tests:{Rep1:{asserts:{has_text:{text:"# tag size is determined as 36 bps"},has_text_matching:{expression:"# total tags in treatment: 489716"}}}}},"Coverage from MACS2 (bigwig)":{element_tests:{Rep1:{asserts:{has_size:{value:5087932,delta:4e5}}}}}}}]}],path:"./workflows/epigenetics/cutandrun"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/atacseq.ga",testParameterFiles:["/atacseq-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input a collection of paired fastq. It will remove bad quality and adapters with cutadapt. Map with Bowtie2 end-to-end. Will remove reads on MT and unconcordant pairs and pairs with mapping quality below 30 and PCR duplicates. Will compute the pile-up on 5' +- 100bp. Will call peaks and count the number of reads falling in the 1kb region centered on the summit. Will compute 2 normalization for coverage: normalized by million reads and normalized by million reads in peaks. Will plot the number of reads for each fragment length.",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"1.0",name:"ATACseq",steps:{0:{annotation:"Should be a paired collection with ATAC-seq fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a paired collection with ATAC-seq fastqs",name:"PE fastq input"}],label:"PE fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:579.4833374023438},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"3b1d869d-e8a9-49d9-894c-8aa500cd445d",when:null,workflow_outputs:[]},1:{annotation:"reference_genome",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"reference_genome",name:"reference_genome"}],label:"reference_genome",name:"Input parameter",outputs:[],position:{left:30.550048828125,top:684.38330078125},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"c085055c-9d18-49d7-9f87-fae61683d775",when:null,workflow_outputs:[]},2:{annotation:"Used by macs2:\\nH. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Used by macs2:\\nH. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:98,top:787.9833374023438},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"43f5c231-ed56-4cda-bd50-0495dfd77d70",when:null,workflow_outputs:[]},3:{annotation:"Bin size for normalized bigwig (usually 50bp is sufficient)",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Bin size for normalized bigwig (usually 50bp is sufficient)",name:"bin_size"}],label:"bin_size",name:"Input parameter",outputs:[],position:{left:155.54247082439377,top:898.8496207394044},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"942c77e6-f462-49ac-87ed-6e4e14589b0b",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",errors:null,id:4,input_connections:{"library|input_1":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Cutadapt",name:"library"}],label:"Cutadapt (remove adapter + bad quality bases)",name:"Cutadapt",outputs:[{name:"out_pairs",type:"input"},{name:"report",type:"txt"}],position:{left:278.16668701171875,top:492.36669921875},post_job_actions:{HideDatasetActionout_pairs:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_pairs"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"},RenameDatasetActionreport:{action_arguments:{newname:"cutadapt report"},action_type:"RenameDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",tool_shed_repository:{changeset_revision:"5eb7e84243f2",name:"cutadapt",owner:"lparsons",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adapter_options": {"action": "trim", "error_rate": "0.1", "no_indels": false, "times": "1", "overlap": "3", "match_read_wildcards": false, "no_match_adapter_wildcards": true, "revcomp": false}, "filter_options": {"discard_trimmed": false, "discard_untrimmed": false, "minimum_length": "15", "minimum_length2": null, "maximum_length": null, "maximum_length2": null, "max_n": null, "max_expected_errors": null, "max_average_error_rate": null, "discard_casava": false, "pair_filter": "any"}, "library": {"type": "paired_collection", "__current_case__": 2, "input_1": {"__class__": "ConnectedValue"}, "r1": {"adapters": [{"__index__": 0, "adapter_source": {"adapter_source_list": "user", "__current_case__": 0, "adapter_name": "Nextera R1", "adapter": "CTGTCTCTTATACACATCTCCGAGCCCACGAGAC"}, "single_noindels": false}], "front_adapters": [], "anywhere_adapters": []}, "r2": {"adapters2": [{"__index__": 0, "adapter_source": {"adapter_source_list": "user", "__current_case__": 0, "adapter_name": "Nextera R2", "adapter": "CTGTCTCTTATACACATCTGACGCTGCCGACGA"}, "single_noindels": false}], "front_adapters2": [], "anywhere_adapters2": []}, "pair_adapters": false}, "other_trimming_options": {"cut": "0", "cut2": "0", "quality_cutoff": "30", "quality_cutoff2": "", "nextseq_trim": "0", "trim_n": false, "poly_a": false, "shorten_options": {"shorten_values": "False", "__current_case__": 1}, "shorten_options_r2": {"shorten_values_r2": "False", "__current_case__": 1}}, "output_selector": ["report"], "read_mod_options": {"strip_suffix": "", "length_tag": "", "rename": "", "zero_cap": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.9+galaxy1",type:"tool",uuid:"33fa2759-9f3f-431b-b35c-b5c777d5d5b7",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",errors:null,id:5,input_connections:{"library|input_1":{id:4,output_name:"out_pairs"},"reference_genome|index":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Bowtie2",name:"library"},{description:"runtime parameter for tool Bowtie2",name:"reference_genome"}],label:"Bowtie2 map on reference",name:"Bowtie2",outputs:[{name:"output",type:"bam"},{name:"mapping_stats",type:"txt"}],position:{left:555.13330078125,top:395.6499938964844},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionmapping_stats:{action_arguments:{newname:"mapping stats"},action_type:"RenameDatasetAction",output_name:"mapping_stats"},RenameDatasetActionoutput:{action_arguments:{newname:"bowtie2 output (BAM)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",tool_shed_repository:{changeset_revision:"d5ceb9f3c25b",name:"bowtie2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"analysis_type": {"analysis_type_selector": "simple", "__current_case__": 0, "presets": "--very-sensitive"}, "library": {"type": "paired_collection", "__current_case__": 2, "input_1": {"__class__": "RuntimeValue"}, "unaligned_file": false, "aligned_file": false, "paired_options": {"paired_options_selector": "yes", "__current_case__": 0, "I": "0", "X": "1000", "fr_rf_ff": "--fr", "no_mixed": false, "no_discordant": false, "dovetail": true, "no_contain": false, "no_overlap": false}}, "reference_genome": {"source": "indexed", "__current_case__": 0, "index": {"__class__": "ConnectedValue"}}, "rg": {"rg_selector": "do_not_set", "__current_case__": 3}, "sam_options": {"sam_options_selector": "no", "__current_case__": 1}, "save_mapping_stats": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.5.3+galaxy1",type:"tool",uuid:"c32a3847-f673-487f-af98-8d50999f2d21",when:null,workflow_outputs:[{label:"mapping stats",output_name:"mapping_stats",uuid:"0a898754-6a14-4282-9269-02f5d516e49f"}]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2",errors:null,id:6,input_connections:{input_bam:{id:5,output_name:"output"}},inputs:[],label:"filter MAPQ30 concordant pairs and not mitochondrial pairs",name:"Filter BAM",outputs:[{name:"out_file2",type:"txt"},{name:"out_file1",type:"bam"}],position:{left:826.183349609375,top:318.58331298828125},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"},HideDatasetActionout_file2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file2"},RenameDatasetActionout_file1:{action_arguments:{newname:"filtered BAM"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2",tool_shed_repository:{changeset_revision:"993b19f20c76",name:"bamtools_filter",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"conditions": [{"__index__": 0, "filters": [{"__index__": 0, "bam_property": {"bam_property_selector": "mapQuality", "__current_case__": 14, "bam_property_value": ">=30"}}, {"__index__": 1, "bam_property": {"bam_property_selector": "isProperPair", "__current_case__": 11, "bam_property_value": true}}, {"__index__": 2, "bam_property": {"bam_property_selector": "reference", "__current_case__": 20, "bam_property_value": "!chrM"}}, {"__index__": 3, "bam_property": {"bam_property_selector": "mateReference", "__current_case__": 16, "bam_property_value": "!MT"}}]}], "input_bam": {"__class__": "ConnectedValue"}, "rule_configuration": {"rules_selector": "true", "__current_case__": 1, "rules": null}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.5.2+galaxy2",type:"tool",uuid:"eba4c413-30c9-4bab-a088-dc12d5956c91",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.5",errors:null,id:7,input_connections:{input:{id:5,output_name:"output"}},inputs:[],label:"Get number of reads per chromosome",name:"Samtools idxstats",outputs:[{name:"output",type:"tabular"}],position:{left:945.2166748046875,top:539.63330078125},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.5",tool_shed_repository:{changeset_revision:"fa5d3e61e429",name:"samtools_idxstats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.5",type:"tool",uuid:"024f7338-2712-4fb1-a913-dfd5bc2d4f1e",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0",errors:null,id:8,input_connections:{inputFile:{id:6,output_name:"out_file1"}},inputs:[],label:"remove PCR duplicates",name:"MarkDuplicates",outputs:[{name:"metrics_file",type:"txt"},{name:"outFile",type:"bam"}],position:{left:1163.1000061035156,top:211.4666748046875},post_job_actions:{RenameDatasetActionmetrics_file:{action_arguments:{newname:"MarkDuplicates metrics"},action_type:"RenameDatasetAction",output_name:"metrics_file"},RenameDatasetActionoutFile:{action_arguments:{newname:"BAM filtered rmDup"},action_type:"RenameDatasetAction",output_name:"outFile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0",tool_shed_repository:{changeset_revision:"3f254c5ced1d",name:"picard",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"assume_sorted": true, "barcode_tag": "", "comments": [], "duplicate_scoring_strategy": "SUM_OF_BASE_QUALITIES", "inputFile": {"__class__": "ConnectedValue"}, "optical_duplicate_pixel_distance": "100", "read_name_regex": "", "remove_duplicates": true, "validation_stringency": "LENIENT", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1.0",type:"tool",uuid:"d0a9998c-18a9-4579-8d33-f0897e1ceaeb",when:null,workflow_outputs:[{label:"MarkDuplicates metrics",output_name:"metrics_file",uuid:"144745aa-8898-45e6-a328-53e2518202b9"},{label:"BAM filtered rmDup",output_name:"outFile",uuid:"5f4d5cc5-c2f2-40f3-b941-df5dd7347d25"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:9,input_connections:{infile:{id:7,output_name:"output"}},inputs:[],label:"reads in chrM/MT for multiQC",name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:1190.1499938964844,top:618.5833129882812},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": " ($1==\\"chrM\\" || $1 == \\"MT\\"){print $1, $3}($1!=\\"chrM\\" && $1!=\\"MT\\"){SUM+=$3}END{print \\"others\\", SUM} ", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"9ae38aa6-511d-4ab4-b055-7a1dae65649f",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",errors:null,id:10,input_connections:{input:{id:8,output_name:"outFile"}},inputs:[],label:"convert BAM to BED to improve peak calling",name:"bedtools BAM to BED",outputs:[{name:"output",type:"bed"}],position:{left:1458.7166595458984,top:193.58331298828125},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"BED filtered rmDup"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "ed_score": false, "input": {"__class__": "ConnectedValue"}, "option": "", "split": false, "tag": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"12ca18f2-222b-4e9c-8ae0-b5772cd51bd7",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pe_histogram/pe_histogram/1.0.1",errors:null,id:11,input_connections:{input_bam:{id:8,output_name:"outFile"}},inputs:[],label:"Compute fragment length histogram",name:"Paired-end histogram",outputs:[{name:"output1",type:"png"},{name:"output2",type:"tabular"}],position:{left:1478.1666717529297,top:559.88330078125},post_job_actions:{HideDatasetActionoutput2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output2"},RenameDatasetActionoutput1:{action_arguments:{newname:"histogram of fragment length"},action_type:"RenameDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pe_histogram/pe_histogram/1.0.1",tool_shed_repository:{changeset_revision:"bd1416eea1f0",name:"pe_histogram",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_bam": {"__class__": "ConnectedValue"}, "lower_limit": null, "upper_limit": "500", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.1",type:"tool",uuid:"cc486ad2-0f48-4636-98b5-ea5fad9b75b3",when:null,workflow_outputs:[{label:"histogram of fragment length",output_name:"output1",uuid:"06437eef-c6fa-49f1-81fb-c48a21b87f57"}]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:12,input_connections:{input:{id:8,output_name:"outFile"}},inputs:[],label:"number of reads",name:"Samtools view",outputs:[{name:"outputcnt",type:"tabular"}],position:{left:1960.1157004761121,top:545.8157628477595},post_job_actions:{HideDatasetActionoutputcnt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputcnt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "all_reads", "__current_case__": 0, "output_options": {"reads_report_type": "count", "__current_case__": 1}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"2999f836-c74f-47ed-b1ad-81f43349fe11",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:13,input_connections:{"effective_genome_size_options|gsize":{id:2,output_name:"output"},"treatment|input_treatment_file":{id:10,output_name:"output"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"Call Peak with MACS2",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_summits",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"},{name:"output_extra_files",type:"html"}],position:{left:1741.2333374023438,top:0},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_extra_files:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_extra_files"},HideDatasetActionoutput_summits:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_summits"},HideDatasetActionoutput_tabular:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_tabular"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_control_lambda:{action_arguments:{newname:"MACS2 control coverage"},action_type:"RenameDatasetAction",output_name:"output_control_lambda"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"MACS2 narrowPeak"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_summits:{action_arguments:{newname:"MACS2 summits"},action_type:"RenameDatasetAction",output_name:"output_summits"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"MACS2 peaks xls"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"MACS2 treatment coverage"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": false, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "all", "__current_case__": 2}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BED", "nomodel_type": {"nomodel_type_selector": "nomodel", "__current_case__": 1, "extsize": "200", "shift": "-100"}, "outputs": ["peaks_tabular", "summits", "bdg", "html"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"57386f5d-96bb-4684-97dc-3b2228189c01",when:null,workflow_outputs:[{label:"MACS2 narrowPeak",output_name:"output_narrowpeaks",uuid:"02d92607-381e-41b0-b0ed-b0f89bc02967"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",errors:null,id:14,input_connections:{infile:{id:11,output_name:"output2"}},inputs:[],label:"remove comments lines",name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{left:1780,top:701.4833374023438},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "-v", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "^#", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"c06960f8-9d4e-483e-8f07-12976f8b802a",when:null,workflow_outputs:[]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1",errors:null,id:15,input_connections:{input:{id:12,output_name:"outputcnt"}},inputs:[],label:"compute 1/million reads",name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:1681.741700059967,top:1407.1751610966817},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1",tool_shed_repository:{changeset_revision:"aff5135563c6",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"avoid_scientific_notation": true, "error_handling": {"auto_col_types": true, "fail_on_non_existent_columns": true, "non_computable": {"action": "--fail-on-non-computable", "__current_case__": 0}}, "input": {"__class__": "ConnectedValue"}, "ops": {"header_lines_select": "no", "__current_case__": 0, "expressions": [{"__index__": 0, "cond": "1000000/c1", "add_column": {"mode": "R", "__current_case__": 2, "pos": "1"}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1",type:"tool",uuid:"ec62cddf-fb04-4185-b9f4-709de2ce0202",when:null,workflow_outputs:[]},16:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:16,input_connections:{input1:{id:13,output_name:"output_treat_pileup"}},inputs:[],label:"Bigwig from MACS2 (no norm)",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:1444.2833251953125,top:1510.0499877929688},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Coverage from MACS2 (bigwig)"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"4eea632c-ec31-43e7-88d2-79895b764a06",when:null,workflow_outputs:[{label:"Coverage from MACS2 (bigwig)",output_name:"out_file1",uuid:"5ffc5c02-8669-49b2-82a1-682ec3122d39"}]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_slopbed/2.31.1+galaxy0",errors:null,id:17,input_connections:{"genome_file_opts|genome":{id:1,output_name:"output"},inputA:{id:13,output_name:"output_summits"}},inputs:[{description:"runtime parameter for tool bedtools SlopBed",name:"genome_file_opts"}],label:"get summits +/-500kb",name:"bedtools SlopBed",outputs:[{name:"output",type:"bed"}],position:{left:2186.5,top:206.29998779296875},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"1kb around each summit"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_slopbed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addition": {"addition_select": "b", "__current_case__": 0, "b": "500"}, "genome_file_opts": {"genome_file_opts_selector": "loc", "__current_case__": 0, "genome": {"__class__": "ConnectedValue"}}, "header": false, "inputA": {"__class__": "ConnectedValue"}, "pct": false, "strand": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"d1c672ca-ee55-4e48-9d97-75552050534a",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",errors:null,id:18,input_connections:{infile:{id:13,output_name:"output_tabular"}},inputs:[],label:"summary of MACS2",name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{left:2198.433349609375,top:79.64999389648438},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"txt"},action_type:"ChangeDatatypeAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"MACS2 report"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "^#", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"a12ee458-2fe0-4d1e-8df9-c8fc76d7b277",when:null,workflow_outputs:[{label:"MACS2 report",output_name:"output",uuid:"2c50d266-785f-4a9d-ba31-f9fe66b703c7"}]},19:{annotation:"",content_id:"param_value_from_file",errors:null,id:19,input_connections:{input1:{id:15,output_name:"out_file1"}},inputs:[],label:"Convert 1/million reads to parameter",name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:1927.9064759856594,top:1388.3825581400483},post_job_actions:{HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"7afe5b18-2555-4f24-a1e2-348341631008",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:20,input_connections:{input:{id:16,output_name:"out_file1"}},inputs:[],label:"Isolate each bigwig do normalize not average",name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:2134.4445922218906,top:1595.328936224611},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"collapsible_value": {"__class__": "RuntimeValue"}, "columns": [0, 1], "connectable": true, "editing": false, "is_workflow": false, "type": "list_identifiers"}], "rules": [{"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier0", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"05ca058f-88e4-4e7c-9e93-66e25043883d",when:null,workflow_outputs:[]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_mergebed/2.31.1",errors:null,id:21,input_connections:{input:{id:17,output_name:"output"}},inputs:[],label:"Merge summits +/-500kb",name:"bedtools MergeBED",outputs:[{name:"output",type:"bed"}],position:{left:2501.5999755859375,top:273.75},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Summits +-500bp (merged)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_mergebed/2.31.1",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"c_and_o_argument_repeat": [], "distance": "0", "header": false, "input": {"__class__": "ConnectedValue"}, "strand": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1",type:"tool",uuid:"a74b6905-51b8-4c39-bc8c-3267b1f0a7a5",when:null,workflow_outputs:[{label:"1kb around summits",output_name:"output",uuid:"94021253-18e5-4969-9dec-ec901bcc9a3b"}]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",errors:null,id:22,input_connections:{"advancedOpt|binSize":{id:3,output_name:"output"},"advancedOpt|scaleFactors":{id:19,output_name:"text_param"},bigwigs:{id:20,output_name:"output"}},inputs:[{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"},{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"},{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"}],label:"normalize by million reads",name:"bigwigAverage",outputs:[{name:"outFileName",type:"bigwig"}],position:{left:2394.696221186954,top:1367.5056983565069},post_job_actions:{RenameDatasetActionoutFileName:{action_arguments:{newname:"bigwig normalized per million reads"},action_type:"RenameDatasetAction",output_name:"outFileName"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",tool_shed_repository:{changeset_revision:"4a53856a5b85",name:"deeptools_bigwig_average",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advancedOpt": {"showAdvancedOpt": "yes", "__current_case__": 1, "binSize": {"__class__": "ConnectedValue"}, "skipNAs": false, "scaleFactors": {"__class__": "ConnectedValue"}, "blackListFileName": {"__class__": "RuntimeValue"}}, "bigwigs": {"__class__": "ConnectedValue"}, "outFileFormat": "bigwig", "region": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.5.4+galaxy0",type:"tool",uuid:"fa2633cf-af38-43eb-8c9f-b8b656d6a631",when:null,workflow_outputs:[{label:"bigwig_norm",output_name:"outFileName",uuid:"42fb26ba-7428-43cf-8668-e865b67c12bc"}]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.31.1+galaxy0",errors:null,id:23,input_connections:{inputA:{id:21,output_name:"output"},"reduce_or_iterate|inputB":{id:8,output_name:"outFile"}},inputs:[{description:"runtime parameter for tool bedtools Compute both the depth and breadth of coverage",name:"reduce_or_iterate"}],label:"Compute coverage on summits +/-500kb",name:"bedtools Compute both the depth and breadth of coverage",outputs:[{name:"output",type:"bed"}],position:{left:2734.11669921875,top:534.88330078125},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"coverage on MACS2 peaks"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.31.1+galaxy0",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"a_or_b": false, "d": false, "hist": false, "inputA": {"__class__": "ConnectedValue"}, "mean": false, "overlap_a": null, "overlap_b": null, "reciprocal_overlap": false, "reduce_or_iterate": {"reduce_or_iterate_selector": "iterate", "__current_case__": 0, "inputB": {"__class__": "ConnectedValue"}}, "sorted": false, "split": false, "strandedness": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1+galaxy0",type:"tool",uuid:"f3681ac7-e1ba-4442-971f-8353389c5265",when:null,workflow_outputs:[]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:24,input_connections:{infile:{id:23,output_name:"output"}},inputs:[],label:"number of reads in peaks",name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:3097.2166748046875,top:460.11669921875},post_job_actions:{ChangeDatatypeActionoutfile:{action_arguments:{newtype:"tabular"},action_type:"ChangeDatatypeAction",output_name:"outfile"},RenameDatasetActionoutfile:{action_arguments:{newname:"Nb of reads in summits +-500bp"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": "{S=S+$4}END{print S}", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"f65b3936-595c-4ddb-88bc-2cc41e514e38",when:null,workflow_outputs:[{label:"Nb of reads in summits +-500bp",output_name:"outfile",uuid:"ba96198b-0b36-4b3c-a7bf-664d765eff3a"}]},25:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1",errors:null,id:25,input_connections:{input:{id:24,output_name:"outfile"}},inputs:[],label:"compute 1/million reads in peaks",name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:1660.7476485833522,top:1675.7739064754614},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1",tool_shed_repository:{changeset_revision:"aff5135563c6",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"avoid_scientific_notation": true, "error_handling": {"auto_col_types": true, "fail_on_non_existent_columns": true, "non_computable": {"action": "--fail-on-non-computable", "__current_case__": 0}}, "input": {"__class__": "ConnectedValue"}, "ops": {"header_lines_select": "no", "__current_case__": 0, "expressions": [{"__index__": 0, "cond": "1000000/c1", "add_column": {"mode": "R", "__current_case__": 2, "pos": "1"}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1",type:"tool",uuid:"5f55e258-a4fe-4b51-ab9b-2a6f0f22d910",when:null,workflow_outputs:[]},26:{annotation:"",content_id:"cat1",errors:null,id:26,input_connections:{input1:{id:24,output_name:"outfile"},"queries_0|input2":{id:12,output_name:"outputcnt"}},inputs:[],label:"Combine number of reads in peaks with total number of reads",name:"Concatenate datasets",outputs:[{name:"out_file1",type:"input"}],position:{left:3026.25,top:727.7666625976562},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"cat1",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "queries": [{"__index__": 0, "input2": {"__class__": "ConnectedValue"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"ae286273-3247-4a8f-b296-33a679fbaf7d",when:null,workflow_outputs:[]},27:{annotation:"",content_id:"param_value_from_file",errors:null,id:27,input_connections:{input1:{id:25,output_name:"out_file1"}},inputs:[],label:"Convert 1/million reads in peaks to parameter",name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:1922.9030306495047,top:1685.3491762772487},post_job_actions:{HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"f0eb1323-041b-4e29-9f07-de15427c267d",when:null,workflow_outputs:[]},28:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:28,input_connections:{infile:{id:26,output_name:"out_file1"}},inputs:[],label:"reads in peaks multiQC",name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:2870.2166748046875,top:944.800048828125},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": " NR==1{print \\"in peaks\\",$1;inp=$1}NR==2{print \\"outside peaks\\",$1 - inp}", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"7fe2bb35-31b5-4da0-83cf-38bb4af2848e",when:null,workflow_outputs:[]},29:{annotation:"Isolate each bigwig do normalize not average",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",errors:null,id:29,input_connections:{"advancedOpt|binSize":{id:3,output_name:"output"},"advancedOpt|scaleFactors":{id:27,output_name:"text_param"},bigwigs:{id:20,output_name:"output"}},inputs:[{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"},{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"},{description:"runtime parameter for tool bigwigAverage",name:"advancedOpt"}],label:"normalize by million reads in peaks",name:"bigwigAverage",outputs:[{name:"outFileName",type:"bigwig"}],position:{left:2402.456534423419,top:1734.6798994525739},post_job_actions:{RenameDatasetActionoutFileName:{action_arguments:{newname:"bigwig normalized per million reads in peaks"},action_type:"RenameDatasetAction",output_name:"outFileName"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0",tool_shed_repository:{changeset_revision:"4a53856a5b85",name:"deeptools_bigwig_average",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advancedOpt": {"showAdvancedOpt": "yes", "__current_case__": 1, "binSize": {"__class__": "ConnectedValue"}, "skipNAs": false, "scaleFactors": {"__class__": "ConnectedValue"}, "blackListFileName": {"__class__": "RuntimeValue"}}, "bigwigs": {"__class__": "ConnectedValue"}, "outFileFormat": "bigwig", "region": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.5.4+galaxy0",type:"tool",uuid:"8eab7f49-605b-462a-9806-da0c795117f3",when:null,workflow_outputs:[{label:"bigwig_norm2",output_name:"outFileName",uuid:"60031333-7419-4121-a0c7-e235b70a5cfc"}]},30:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:30,input_connections:{"results_0|software_cond|input":{id:4,output_name:"report"},"results_1|software_cond|input":{id:5,output_name:"mapping_stats"},"results_2|software_cond|input":{id:9,output_name:"outfile"},"results_3|software_cond|output_0|input":{id:8,output_name:"metrics_file"},"results_4|software_cond|input":{id:14,output_name:"output"},"results_5|software_cond|input":{id:13,output_name:"output_tabular"},"results_6|software_cond|input":{id:28,output_name:"outfile"}},inputs:[],label:null,name:"MultiQC",outputs:[{name:"plots",type:"input"},{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2612.75,top:1012.6666259765625},post_job_actions:{HideDatasetActionplots:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plots"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": true, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "cutadapt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "bowtie2", "__current_case__": 3, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "software_cond": {"software": "custom_content", "__current_case__": 32, "plot_type": "bargraph", "section_name": "chrM", "title": "reads mapping on chrM", "description": "", "xlab": "", "ylab": "", "input": {"__class__": "ConnectedValue"}}}, {"__index__": 3, "software_cond": {"software": "picard", "__current_case__": 17, "output": [{"__index__": 0, "type": "markdups", "input": {"__class__": "ConnectedValue"}}]}}, {"__index__": 4, "software_cond": {"software": "custom_content", "__current_case__": 32, "plot_type": "linegraph", "section_name": "Fragment size", "title": "Fragment size distribution", "description": "", "xlab": "", "ylab": "", "input": {"__class__": "ConnectedValue"}}}, {"__index__": 5, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 6, "software_cond": {"software": "custom_content", "__current_case__": 32, "plot_type": "bargraph", "section_name": "Reads in peaks", "title": "Number of reads in peaks", "description": "Number of reads falling 500bp from a summit", "xlab": "", "ylab": "", "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"112d720f-c747-4c92-985f-ebdb52086cc9",when:null,workflow_outputs:[{label:"MultiQC webpage",output_name:"html_report",uuid:"c22aafb2-d9f2-43c3-a6c4-cfe4a3166c07"},{label:"MultiQC on input dataset(s): Stats",output_name:"stats",uuid:"6071150d-48db-4cf8-bfed-2cbdb2635856"}]}},tags:["ATACseq"],uuid:"747f2432-7493-44b8-a5ee-82d104407cad",version:1},readme:`# ATACseq Workflow This workflow is highly concordant with the corresponding training material. @@ -2742,7 +5093,87 @@ You can have more information about ATAC-seq analysis in the [slides](https://tr ### Warning - The \`reference_genome\` parameter value is used to select references in bowtie2 and bedtools slopbed. Only references that are present in bowtie2 **and** bedtools slopbed are selectable. If your favorite reference genome is not available ask your administrator to make sure that each bowtie2 reference has a corresponding len file for use in bedtools slopbed. -`,changelog:"# Changelog\n\n## [1.0] 2024-11-28\n\n### Manual update\n\nUse the options like written in the README: in all previous versions, bowtie2 was running with `--very-sensitive` option but without allowing dovetail and without fragment length up to 1kb. Bowtie2 has been adjusted and is now running with these options: allow dovetail and fragment length up to 1kb.\n\n## [0.17] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n### Manual update\n- Add a step to remove comments lines from histogram to be compatible with new multiQC version\n\n## [0.16] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.15] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.30.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_slopbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_slopbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_mergebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_mergebed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.31.1+galaxy0`\n\n## [0.14] 2024-04-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n## [0.13] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n\n## [0.12] 2024-03-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n\n## [0.11] 2024-03-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2`\n\n## [0.10] 2024-03-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.4` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.5`\n- `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.4` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n\n## [0.9] 2023-10-23\n\nFix the normalization factor. It was coverage per reads and per reads in peaks instead of per million reads and per million reads in peaks.\n\n## [0.8] 2023-10-19\n\nFix the remove duplicate step!\nIn all previous versions, due to an error, PCR duplicates were not removed.\n\n## [0.7] 2023-10-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.7.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0`\n\n## [0.6] 2023-09-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n\n## [0.5.1] 2023-09-22\n\nFix bug in normalize profiles when used with multiple samples (in 0.5.0 it is averaging samples instead of normalizing each sample).\n\n## [0.5] 2023-03-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.3` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.4`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.30.0+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n\n### Manual update\n- add normalization steps for coverage\n\n## [0.4] 2023-01-16\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1`\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-28\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.5+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0`\n\n## [0.1] 2022-10-12\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/atacseq/main",tests:[{doc:"Test outline for ATACseq",job:{"PE fastq input":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"SRR891268_chr22_enriched",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/record/3862793/files/SRR891268_chr22_enriched_R1.fastq.gz",filetype:"fastqsanger"},{identifier:"reverse",class:"File",location:"https://zenodo.org/record/3862793/files/SRR891268_chr22_enriched_R2.fastq.gz",filetype:"fastqsanger"}]}]},reference_genome:"hg19",effective_genome_size:27e8,bin_size:1e3},outputs:{"mapping stats":{element_tests:{SRR891268_chr22_enriched:{asserts:[{that:"has_text",text:"7282 (2.59%) aligned concordantly 0 times"},{that:"has_text",text:"121059 (43.09%) aligned concordantly exactly 1 time"},{that:"has_text",text:"152623 (54.32%) aligned concordantly >1 times"}]}}},"MarkDuplicates metrics":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_text:{text:"0.02"}}}}},"BAM filtered rmDup":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_size:{value:15810403,delta:1e6}}}}},"histogram of fragment length":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_size:{value:47718,delta:4e3}}}}},"MACS2 narrowPeak":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_n_lines:{n:236}}}}},"MACS2 report":{element_tests:{SRR891268_chr22_enriched:{asserts:[{that:"has_text",text:"# tag size is determined as 47 bps"},{that:"has_text",text:"# total tags in treatment: 262080"}]}}},"Coverage from MACS2 (bigwig)":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_size:{value:2892925,delta:2e5}}}}},"1kb around summits":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_n_lines:{n:217}}}}},"Nb of reads in summits +-500bp":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_line:{line:"9548"}}}}},bigwig_norm:{element_tests:{SRR891268_chr22_enriched:{asserts:{has_size:{value:1253177,delta:1e5}}}}},bigwig_norm2:{element_tests:{SRR891268_chr22_enriched:{asserts:{has_size:{value:1248419,delta:1e5}}}}},"MultiQC on input dataset(s): Stats":{asserts:{has_line:{line:"Sample MACS2_mqc_generalstats_macs2_d MACS2_mqc_generalstats_macs2_peak_count Picard: Mark Duplicates_mqc_generalstats_picard_mark_duplicates_PERCENT_DUPLICATION Bowtie 2 / HiSAT2_mqc_generalstats_bowtie_2_hisat2_overall_alignment_rate Cutadapt_mqc_generalstats_cutadapt_percent_trimmed"},has_text_matching:{expression:"SRR891268_chr22_enriched 200.0 236 2.7[0-9]* 98.[0-9]* 4.7[0-9]*"}}},"MultiQC webpage":{asserts:[{that:"has_text",text:'Filtered Reads'},{that:"has_text",text:"% Aligned"},{that:"has_text",text:"% BP Trimmed"}]}}}]}],path:"./workflows/epigenetics/atacseq"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/chipseq-sr.ga",testParameterFiles:["/chipseq-sr-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input a collection of fastqs (single reads). Remove adapters with cutadapt, map with bowtie2. Keep MAPQ30. MACS2 for bam with fixed extension or model.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.12",name:"ChIPseq_SR",steps:{0:{annotation:"Should be a collection with ChIPseq fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a collection with ChIPseq fastqs",name:"SR fastq input"}],label:"SR fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"e09c0852-1db3-4a68-b88c-1b94c205cb6c",when:null,workflow_outputs:[]},1:{annotation:"Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC ",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC ",name:"adapter_forward"}],label:"adapter_forward",name:"Input parameter",outputs:[],position:{left:39.0333251953125,top:77.44999694824219},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"30c1d867-5e73-4348-8969-848f58d94015",when:null,workflow_outputs:[]},2:{annotation:"reference_genome",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"reference_genome",name:"reference_genome"}],label:"reference_genome",name:"Input parameter",outputs:[],position:{left:62.7833251953125,top:169.9666748046875},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"0119d669-7ce9-46fd-ba6f-3efd92dfb7f2",when:null,workflow_outputs:[]},3:{annotation:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:106.23333740234375,top:262.3999938964844},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"5bb3b3df-60ab-4ec7-88e4-476be547ffbf",when:null,workflow_outputs:[]},4:{annotation:"Whether you want to have a profile normalized as Signal to Million Reads",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Whether you want to have a profile normalized as Signal to Million Reads",name:"normalize_profile"}],label:"normalize_profile",name:"Input parameter",outputs:[],position:{left:163.95545543674132,top:359.9555974960296},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"b89b796d-df4f-416f-8bc4-4f1951efa449",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",errors:null,id:5,input_connections:{"library|input_1":{id:0,output_name:"output"},"library|r1|adapters_0|adapter_source|adapter":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Cutadapt",name:"library"}],label:"Cutadapt (remove adapter + bad quality bases)",name:"Cutadapt",outputs:[{name:"out1",type:"fastqsanger"},{name:"report",type:"txt"}],position:{left:423.31666564941406,top:80.16667175292969},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"},RenameDatasetActionreport:{action_arguments:{newname:"cutadapt report"},action_type:"RenameDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",tool_shed_repository:{changeset_revision:"5eb7e84243f2",name:"cutadapt",owner:"lparsons",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "adapter_options": {"action": "trim", "error_rate": "0.1", "no_indels": false, "times": "1", "overlap": "3", "match_read_wildcards": false, "no_match_adapter_wildcards": true, "revcomp": false}, "filter_options": {"discard_trimmed": false, "discard_untrimmed": false, "minimum_length": "15", "minimum_length2": null, "maximum_length": null, "maximum_length2": null, "max_n": null, "max_expected_errors": null, "max_average_error_rate": null, "discard_casava": false, "pair_filter": "any"}, "library": {"type": "single", "__current_case__": 0, "input_1": {"__class__": "ConnectedValue"}, "r1": {"adapters": [{"__index__": 0, "adapter_source": {"adapter_source_list": "user", "__current_case__": 0, "adapter_name": "Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC", "adapter": {"__class__": "ConnectedValue"}}, "single_noindels": false}], "front_adapters": [], "anywhere_adapters": []}}, "other_trimming_options": {"cut": "0", "cut2": "0", "quality_cutoff": "30", "quality_cutoff2": "", "nextseq_trim": "0", "trim_n": false, "poly_a": false, "shorten_options": {"shorten_values": "False", "__current_case__": 1}, "shorten_options_r2": {"shorten_values_r2": "False", "__current_case__": 1}}, "output_selector": ["report"], "read_mod_options": {"strip_suffix": "", "length_tag": "", "rename": "", "zero_cap": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.9+galaxy1",type:"tool",uuid:"c7846b4c-54fb-458e-982e-c0d8358a9f5d",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",errors:null,id:6,input_connections:{"library|input_1":{id:5,output_name:"out1"},"reference_genome|index":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Bowtie2",name:"library"},{description:"runtime parameter for tool Bowtie2",name:"reference_genome"}],label:"Bowtie2 map on reference",name:"Bowtie2",outputs:[{name:"output",type:"bam"},{name:"mapping_stats",type:"txt"}],position:{left:718.6333312988281,top:459.8500061035156},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionmapping_stats:{action_arguments:{newname:"mapping stats"},action_type:"RenameDatasetAction",output_name:"mapping_stats"},RenameDatasetActionoutput:{action_arguments:{newname:"bowtie2 output (BAM)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",tool_shed_repository:{changeset_revision:"d5ceb9f3c25b",name:"bowtie2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "analysis_type": {"analysis_type_selector": "simple", "__current_case__": 0, "presets": "no_presets"}, "library": {"type": "single", "__current_case__": 0, "input_1": {"__class__": "ConnectedValue"}, "unaligned_file": false, "aligned_file": false}, "reference_genome": {"source": "indexed", "__current_case__": 0, "index": {"__class__": "ConnectedValue"}}, "rg": {"rg_selector": "do_not_set", "__current_case__": 3}, "sam_options": {"sam_options_selector": "no", "__current_case__": 1}, "save_mapping_stats": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.5.3+galaxy1",type:"tool",uuid:"6fd8444b-f305-4daa-a33a-5cb44e063f39",when:null,workflow_outputs:[{label:"mapping stats",output_name:"mapping_stats",uuid:"75a21a1c-1a84-4e7e-8b40-2bd11310f590"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtool_filter2/samtool_filter2/1.8+galaxy1",errors:null,id:7,input_connections:{input1:{id:6,output_name:"output"}},inputs:[{description:"runtime parameter for tool Filter SAM or BAM, output SAM or BAM",name:"bed_file"}],label:"filter MAPQ30",name:"Filter SAM or BAM, output SAM or BAM",outputs:[{name:"output1",type:"sam"}],position:{left:1114.0499877929688,top:604.2999877929688},post_job_actions:{RenameDatasetActionoutput1:{action_arguments:{newname:"filtered BAM"},action_type:"RenameDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtool_filter2/samtool_filter2/1.8+galaxy1",tool_shed_repository:{changeset_revision:"649a225999a5",name:"samtool_filter2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed_file": {"__class__": "RuntimeValue"}, "flag": {"filter": "no", "__current_case__": 0}, "header": "-h", "input1": {"__class__": "ConnectedValue"}, "library": "", "mapq": "30", "outputtype": "bam", "possibly_select_inverse": false, "read_group": "", "regions": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy1",type:"tool",uuid:"bb6e3ac5-cdb0-493c-b534-264ba530a711",when:null,workflow_outputs:[{label:"filtered BAM",output_name:"output1",uuid:"053ba410-9509-42fd-9b88-0cb749e1738d"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:8,input_connections:{"advanced_options|spmr":{id:4,output_name:"output"},"effective_genome_size_options|gsize":{id:3,output_name:"output"},"treatment|input_treatment_file":{id:7,output_name:"output1"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"advanced_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"Call Peaks with MACS2",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_summits",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"},{name:"output_extra_files",type:"html"}],position:{left:1555.199951171875,top:337.98333740234375},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_extra_files:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_extra_files"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_control_lambda:{action_arguments:{newname:"MACS2 control coverage"},action_type:"RenameDatasetAction",output_name:"output_control_lambda"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"MACS2 narrowPeak"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_summits:{action_arguments:{newname:"MACS2 summits"},action_type:"RenameDatasetAction",output_name:"output_summits"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"MACS2 peaks xls"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"MACS2 treatment coverage"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": {"__class__": "ConnectedValue"}, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "1", "__current_case__": 1}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BAM", "nomodel_type": {"nomodel_type_selector": "nomodel", "__current_case__": 1, "extsize": "200", "shift": "0"}, "outputs": ["peaks_tabular", "summits", "bdg", "html"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"06ca906e-c512-4376-9ffc-8eb2b5774af1",when:null,workflow_outputs:[{label:"MACS2 peaks",output_name:"output_tabular",uuid:"1be026e2-7e00-4d96-869c-9763f87477d8"},{label:"MACS2 narrowPeak",output_name:"output_narrowpeaks",uuid:"5e4fb64b-40f1-4b07-b0c0-6a9fc6eb08b2"},{label:"MACS2 summits",output_name:"output_summits",uuid:"146bf7b5-1ecb-4099-a52f-e48bc9f45d27"}]},9:{annotation:"summary of MACS2",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",errors:null,id:9,input_connections:{infile:{id:8,output_name:"output_tabular"}},inputs:[],label:"summary of MACS2",name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{left:1965.11669921875,top:208.98333740234375},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"txt"},action_type:"ChangeDatatypeAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"MACS2 report"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "^#", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"95832fa1-e96e-4867-8162-d1e39cb1dc46",when:null,workflow_outputs:[{label:"MACS2 report",output_name:"output",uuid:"acb6f9ef-7210-4477-a8aa-ed1898e32e96"}]},10:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:10,input_connections:{input1:{id:8,output_name:"output_treat_pileup"}},inputs:[],label:"Bigwig from MACS2",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:2026.9666748046875,top:487.2833251953125},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"coverage from MACS2 (bigwig)"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"0fe57c5d-00a0-4cb6-9bac-97e6d03c6b76",when:null,workflow_outputs:[{label:"coverage from MACS2",output_name:"out_file1",uuid:"1ab01ce0-8f89-4695-9e99-4cf969ec7d1e"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:11,input_connections:{"results_0|software_cond|input":{id:5,output_name:"report"},"results_1|software_cond|input":{id:6,output_name:"mapping_stats"},"results_2|software_cond|input":{id:8,output_name:"output_tabular"}},inputs:[],label:"MultiQC",name:"MultiQC",outputs:[{name:"plots",type:"input"},{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2074.183349609375,top:866.2833251953125},post_job_actions:{HideDatasetActionplots:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plots"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": true, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "cutadapt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "bowtie2", "__current_case__": 3, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"fb066848-43df-412a-9767-9613bac7d961",when:null,workflow_outputs:[{label:"MultiQC webpage",output_name:"html_report",uuid:"2167289f-6c78-479a-8d3b-95caf11d0c4e"},{label:"MultiQC on input dataset(s): Stats",output_name:"stats",uuid:"d4c3e0a7-d5b7-4307-8669-0254a3723ce0"}]}},tags:["ChIP"],uuid:"fe6bda9f-1fc2-4a86-bf8d-e779c79466fc",version:1},readme:`# ChIP-seq single-read Workflow +`,changelog:"# Changelog\n\n## [1.0] 2024-11-28\n\n### Manual update\n\nUse the options like written in the README: in all previous versions, bowtie2 was running with `--very-sensitive` option but without allowing dovetail and without fragment length up to 1kb. Bowtie2 has been adjusted and is now running with these options: allow dovetail and fragment length up to 1kb.\n\n## [0.17] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n### Manual update\n- Add a step to remove comments lines from histogram to be compatible with new multiQC version\n\n## [0.16] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.15] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.30.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_slopbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_slopbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_mergebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_mergebed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.31.1+galaxy0`\n\n## [0.14] 2024-04-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n## [0.13] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n\n## [0.12] 2024-03-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n\n## [0.11] 2024-03-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2`\n\n## [0.10] 2024-03-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.4` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.5`\n- `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.4` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n\n## [0.9] 2023-10-23\n\nFix the normalization factor. It was coverage per reads and per reads in peaks instead of per million reads and per million reads in peaks.\n\n## [0.8] 2023-10-19\n\nFix the remove duplicate step!\nIn all previous versions, due to an error, PCR duplicates were not removed.\n\n## [0.7] 2023-10-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.7.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0`\n\n## [0.6] 2023-09-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n\n## [0.5.1] 2023-09-22\n\nFix bug in normalize profiles when used with multiple samples (in 0.5.0 it is averaging samples instead of normalizing each sample).\n\n## [0.5] 2023-03-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.3` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.4`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.30.0+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n\n### Manual update\n- add normalization steps for coverage\n\n## [0.4] 2023-01-16\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1`\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-28\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.5+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0`\n\n## [0.1] 2022-10-12\nFirst release.\n",diagrams:`# Workflow diagrams + +## ATACseq + +\`\`\`mermaid +graph LR +0["ℹ️ PE fastq input"]@{ shape: docs } +1["ℹ️ reference_genome"]@{ shape: lean-l } +2["ℹ️ effective_genome_size"]@{ shape: lean-l } +3["ℹ️ bin_size"]@{ shape: lean-l } +4["Cutadapt (remove adapter + bad quality bases)"]@{ shape: process } +0 --> 4 +5["Bowtie2 map on reference"]@{ shape: process } +4 --> 5 +1 --> 5 +6["filter MAPQ30 concordant pairs and not mitochondrial pairs"]@{ shape: process } +5 --> 6 +7["Get number of reads per chromosome"]@{ shape: process } +5 --> 7 +8["remove PCR duplicates"]@{ shape: process } +6 --> 8 +9["reads in chrM/MT for multiQC"]@{ shape: process } +7 --> 9 +10["convert BAM to BED to improve peak calling"]@{ shape: process } +8 --> 10 +11["Compute fragment length histogram"]@{ shape: process } +8 --> 11 +12["number of reads"]@{ shape: process } +8 --> 12 +13["Call Peak with MACS2"]@{ shape: process } +2 --> 13 +10 --> 13 +14["remove comments lines"]@{ shape: process } +11 --> 14 +15["compute 1/million reads"]@{ shape: process } +12 --> 15 +16["Bigwig from MACS2 (no norm)"]@{ shape: process } +13 --> 16 +17["get summits +/-500kb"]@{ shape: process } +1 --> 17 +13 --> 17 +18["summary of MACS2"]@{ shape: process } +13 --> 18 +19["Convert 1/million reads to parameter"]@{ shape: process } +15 --> 19 +20["Isolate each bigwig do normalize not average"]@{ shape: process } +16 --> 20 +21["Merge summits +/-500kb"]@{ shape: process } +17 --> 21 +22["normalize by million reads"]@{ shape: process } +3 --> 22 +19 --> 22 +20 --> 22 +23["Compute coverage on summits +/-500kb"]@{ shape: process } +21 --> 23 +8 --> 23 +24["number of reads in peaks"]@{ shape: process } +23 --> 24 +25["compute 1/million reads in peaks"]@{ shape: process } +24 --> 25 +26["Combine number of reads in peaks with total number of reads"]@{ shape: process } +24 --> 26 +12 --> 26 +27["Convert 1/million reads in peaks to parameter"]@{ shape: process } +25 --> 27 +28["reads in peaks multiQC"]@{ shape: process } +26 --> 28 +29["normalize by million reads in peaks"]@{ shape: process } +3 --> 29 +27 --> 29 +20 --> 29 +30["MultiQC"]@{ shape: process } +4 --> 30 +5 --> 30 +9 --> 30 +8 --> 30 +14 --> 30 +13 --> 30 +28 --> 30 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/atacseq/main",tests:[{doc:"Test outline for ATACseq",job:{"PE fastq input":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"SRR891268_chr22_enriched",elements:[{identifier:"forward",class:"File",location:"https://zenodo.org/record/3862793/files/SRR891268_chr22_enriched_R1.fastq.gz",filetype:"fastqsanger"},{identifier:"reverse",class:"File",location:"https://zenodo.org/record/3862793/files/SRR891268_chr22_enriched_R2.fastq.gz",filetype:"fastqsanger"}]}]},reference_genome:"hg19",effective_genome_size:27e8,bin_size:1e3},outputs:{"mapping stats":{element_tests:{SRR891268_chr22_enriched:{asserts:[{that:"has_text",text:"7282 (2.59%) aligned concordantly 0 times"},{that:"has_text",text:"121059 (43.09%) aligned concordantly exactly 1 time"},{that:"has_text",text:"152623 (54.32%) aligned concordantly >1 times"}]}}},"MarkDuplicates metrics":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_text:{text:"0.02"}}}}},"BAM filtered rmDup":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_size:{value:15810403,delta:1e6}}}}},"histogram of fragment length":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_size:{value:47718,delta:4e3}}}}},"MACS2 narrowPeak":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_n_lines:{n:236}}}}},"MACS2 report":{element_tests:{SRR891268_chr22_enriched:{asserts:[{that:"has_text",text:"# tag size is determined as 47 bps"},{that:"has_text",text:"# total tags in treatment: 262080"}]}}},"Coverage from MACS2 (bigwig)":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_size:{value:2892925,delta:2e5}}}}},"1kb around summits":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_n_lines:{n:217}}}}},"Nb of reads in summits +-500bp":{element_tests:{SRR891268_chr22_enriched:{asserts:{has_line:{line:"9548"}}}}},bigwig_norm:{element_tests:{SRR891268_chr22_enriched:{asserts:{has_size:{value:1253177,delta:1e5}}}}},bigwig_norm2:{element_tests:{SRR891268_chr22_enriched:{asserts:{has_size:{value:1248419,delta:1e5}}}}},"MultiQC on input dataset(s): Stats":{asserts:{has_line:{line:"Sample MACS2_mqc_generalstats_macs2_d MACS2_mqc_generalstats_macs2_peak_count Picard: Mark Duplicates_mqc_generalstats_picard_mark_duplicates_PERCENT_DUPLICATION Bowtie 2 / HiSAT2_mqc_generalstats_bowtie_2_hisat2_overall_alignment_rate Cutadapt_mqc_generalstats_cutadapt_percent_trimmed"},has_text_matching:{expression:"SRR891268_chr22_enriched 200.0 236 2.7[0-9]* 98.[0-9]* 4.7[0-9]*"}}},"MultiQC webpage":{asserts:[{that:"has_text",text:'Filtered Reads'},{that:"has_text",text:"% Aligned"},{that:"has_text",text:"% BP Trimmed"}]}}}]}],path:"./workflows/epigenetics/atacseq"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/chipseq-sr.ga",testParameterFiles:["/chipseq-sr-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes as input a collection of fastqs (single reads). Remove adapters with cutadapt, map with bowtie2. Keep MAPQ30. MACS2 for bam with fixed extension or model.",creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",release:"0.12",name:"ChIPseq_SR",steps:{0:{annotation:"Should be a collection with ChIPseq fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a collection with ChIPseq fastqs",name:"SR fastq input"}],label:"SR fastq input",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"e09c0852-1db3-4a68-b88c-1b94c205cb6c",when:null,workflow_outputs:[]},1:{annotation:"Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC ",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC ",name:"adapter_forward"}],label:"adapter_forward",name:"Input parameter",outputs:[],position:{left:39.0333251953125,top:77.44999694824219},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"30c1d867-5e73-4348-8969-848f58d94015",when:null,workflow_outputs:[]},2:{annotation:"reference_genome",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"reference_genome",name:"reference_genome"}],label:"reference_genome",name:"Input parameter",outputs:[],position:{left:62.7833251953125,top:169.9666748046875},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"0119d669-7ce9-46fd-ba6f-3efd92dfb7f2",when:null,workflow_outputs:[]},3:{annotation:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Used by MACS2: H. sapiens: 2700000000, M. musculus: 1870000000, D. melanogaster: 120000000, C. elegans: 90000000",name:"effective_genome_size"}],label:"effective_genome_size",name:"Input parameter",outputs:[],position:{left:106.23333740234375,top:262.3999938964844},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"5bb3b3df-60ab-4ec7-88e4-476be547ffbf",when:null,workflow_outputs:[]},4:{annotation:"Whether you want to have a profile normalized as Signal to Million Reads",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Whether you want to have a profile normalized as Signal to Million Reads",name:"normalize_profile"}],label:"normalize_profile",name:"Input parameter",outputs:[],position:{left:163.95545543674132,top:359.9555974960296},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"b89b796d-df4f-416f-8bc4-4f1951efa449",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",errors:null,id:5,input_connections:{"library|input_1":{id:0,output_name:"output"},"library|r1|adapters_0|adapter_source|adapter":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Cutadapt",name:"library"}],label:"Cutadapt (remove adapter + bad quality bases)",name:"Cutadapt",outputs:[{name:"out1",type:"fastqsanger"},{name:"report",type:"txt"}],position:{left:423.31666564941406,top:80.16667175292969},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"},HideDatasetActionreport:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report"},RenameDatasetActionreport:{action_arguments:{newname:"cutadapt report"},action_type:"RenameDatasetAction",output_name:"report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1",tool_shed_repository:{changeset_revision:"5eb7e84243f2",name:"cutadapt",owner:"lparsons",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "adapter_options": {"action": "trim", "error_rate": "0.1", "no_indels": false, "times": "1", "overlap": "3", "match_read_wildcards": false, "no_match_adapter_wildcards": true, "revcomp": false}, "filter_options": {"discard_trimmed": false, "discard_untrimmed": false, "minimum_length": "15", "minimum_length2": null, "maximum_length": null, "maximum_length2": null, "max_n": null, "max_expected_errors": null, "max_average_error_rate": null, "discard_casava": false, "pair_filter": "any"}, "library": {"type": "single", "__current_case__": 0, "input_1": {"__class__": "ConnectedValue"}, "r1": {"adapters": [{"__index__": 0, "adapter_source": {"adapter_source_list": "user", "__current_case__": 0, "adapter_name": "Please use: For R1: - For Nextera: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC - For TrueSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC", "adapter": {"__class__": "ConnectedValue"}}, "single_noindels": false}], "front_adapters": [], "anywhere_adapters": []}}, "other_trimming_options": {"cut": "0", "cut2": "0", "quality_cutoff": "30", "quality_cutoff2": "", "nextseq_trim": "0", "trim_n": false, "poly_a": false, "shorten_options": {"shorten_values": "False", "__current_case__": 1}, "shorten_options_r2": {"shorten_values_r2": "False", "__current_case__": 1}}, "output_selector": ["report"], "read_mod_options": {"strip_suffix": "", "length_tag": "", "rename": "", "zero_cap": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.9+galaxy1",type:"tool",uuid:"c7846b4c-54fb-458e-982e-c0d8358a9f5d",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",errors:null,id:6,input_connections:{"library|input_1":{id:5,output_name:"out1"},"reference_genome|index":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Bowtie2",name:"library"},{description:"runtime parameter for tool Bowtie2",name:"reference_genome"}],label:"Bowtie2 map on reference",name:"Bowtie2",outputs:[{name:"output",type:"bam"},{name:"mapping_stats",type:"txt"}],position:{left:718.6333312988281,top:459.8500061035156},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"},RenameDatasetActionmapping_stats:{action_arguments:{newname:"mapping stats"},action_type:"RenameDatasetAction",output_name:"mapping_stats"},RenameDatasetActionoutput:{action_arguments:{newname:"bowtie2 output (BAM)"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1",tool_shed_repository:{changeset_revision:"d5ceb9f3c25b",name:"bowtie2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__job_resource": {"__current_case__": 0, "__job_resource__select": "no"}, "analysis_type": {"analysis_type_selector": "simple", "__current_case__": 0, "presets": "no_presets"}, "library": {"type": "single", "__current_case__": 0, "input_1": {"__class__": "ConnectedValue"}, "unaligned_file": false, "aligned_file": false}, "reference_genome": {"source": "indexed", "__current_case__": 0, "index": {"__class__": "ConnectedValue"}}, "rg": {"rg_selector": "do_not_set", "__current_case__": 3}, "sam_options": {"sam_options_selector": "no", "__current_case__": 1}, "save_mapping_stats": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.5.3+galaxy1",type:"tool",uuid:"6fd8444b-f305-4daa-a33a-5cb44e063f39",when:null,workflow_outputs:[{label:"mapping stats",output_name:"mapping_stats",uuid:"75a21a1c-1a84-4e7e-8b40-2bd11310f590"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtool_filter2/samtool_filter2/1.8+galaxy1",errors:null,id:7,input_connections:{input1:{id:6,output_name:"output"}},inputs:[{description:"runtime parameter for tool Filter SAM or BAM, output SAM or BAM",name:"bed_file"}],label:"filter MAPQ30",name:"Filter SAM or BAM, output SAM or BAM",outputs:[{name:"output1",type:"sam"}],position:{left:1114.0499877929688,top:604.2999877929688},post_job_actions:{RenameDatasetActionoutput1:{action_arguments:{newname:"filtered BAM"},action_type:"RenameDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtool_filter2/samtool_filter2/1.8+galaxy1",tool_shed_repository:{changeset_revision:"649a225999a5",name:"samtool_filter2",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bed_file": {"__class__": "RuntimeValue"}, "flag": {"filter": "no", "__current_case__": 0}, "header": "-h", "input1": {"__class__": "ConnectedValue"}, "library": "", "mapq": "30", "outputtype": "bam", "possibly_select_inverse": false, "read_group": "", "regions": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy1",type:"tool",uuid:"bb6e3ac5-cdb0-493c-b534-264ba530a711",when:null,workflow_outputs:[{label:"filtered BAM",output_name:"output1",uuid:"053ba410-9509-42fd-9b88-0cb749e1738d"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",errors:null,id:8,input_connections:{"advanced_options|spmr":{id:4,output_name:"output"},"effective_genome_size_options|gsize":{id:3,output_name:"output"},"treatment|input_treatment_file":{id:7,output_name:"output1"}},inputs:[{description:"runtime parameter for tool MACS2 callpeak",name:"advanced_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"effective_genome_size_options"},{description:"runtime parameter for tool MACS2 callpeak",name:"treatment"}],label:"Call Peaks with MACS2",name:"MACS2 callpeak",outputs:[{name:"output_tabular",type:"tabular"},{name:"output_narrowpeaks",type:"bed"},{name:"output_summits",type:"bed"},{name:"output_treat_pileup",type:"bedgraph"},{name:"output_control_lambda",type:"bedgraph"},{name:"output_extra_files",type:"html"}],position:{left:1555.199951171875,top:337.98333740234375},post_job_actions:{HideDatasetActionoutput_control_lambda:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_control_lambda"},HideDatasetActionoutput_extra_files:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_extra_files"},HideDatasetActionoutput_treat_pileup:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_treat_pileup"},RenameDatasetActionoutput_control_lambda:{action_arguments:{newname:"MACS2 control coverage"},action_type:"RenameDatasetAction",output_name:"output_control_lambda"},RenameDatasetActionoutput_narrowpeaks:{action_arguments:{newname:"MACS2 narrowPeak"},action_type:"RenameDatasetAction",output_name:"output_narrowpeaks"},RenameDatasetActionoutput_summits:{action_arguments:{newname:"MACS2 summits"},action_type:"RenameDatasetAction",output_name:"output_summits"},RenameDatasetActionoutput_tabular:{action_arguments:{newname:"MACS2 peaks xls"},action_type:"RenameDatasetAction",output_name:"output_tabular"},RenameDatasetActionoutput_treat_pileup:{action_arguments:{newname:"MACS2 treatment coverage"},action_type:"RenameDatasetAction",output_name:"output_treat_pileup"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0",tool_shed_repository:{changeset_revision:"86e2413cf3f8",name:"macs2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"to_large": false, "nolambda": false, "spmr": {"__class__": "ConnectedValue"}, "ratio": null, "slocal": null, "llocal": null, "broad_options": {"broad_options_selector": "nobroad", "__current_case__": 1, "call_summits": true}, "keep_dup_options": {"keep_dup_options_selector": "1", "__current_case__": 1}, "d_min": "20", "buffer_size": "100000"}, "control": {"c_select": "No", "__current_case__": 1}, "cutoff_options": {"cutoff_options_selector": "qvalue", "__current_case__": 1, "qvalue": "0.05"}, "effective_genome_size_options": {"effective_genome_size_options_selector": "user_defined", "__current_case__": 4, "gsize": {"__class__": "ConnectedValue"}}, "format": "BAM", "nomodel_type": {"nomodel_type_selector": "nomodel", "__current_case__": 1, "extsize": "200", "shift": "0"}, "outputs": ["peaks_tabular", "summits", "bdg", "html"], "treatment": {"t_multi_select": "No", "__current_case__": 0, "input_treatment_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.9.1+galaxy0",type:"tool",uuid:"06ca906e-c512-4376-9ffc-8eb2b5774af1",when:null,workflow_outputs:[{label:"MACS2 peaks",output_name:"output_tabular",uuid:"1be026e2-7e00-4d96-869c-9763f87477d8"},{label:"MACS2 narrowPeak",output_name:"output_narrowpeaks",uuid:"5e4fb64b-40f1-4b07-b0c0-6a9fc6eb08b2"},{label:"MACS2 summits",output_name:"output_summits",uuid:"146bf7b5-1ecb-4099-a52f-e48bc9f45d27"}]},9:{annotation:"summary of MACS2",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",errors:null,id:9,input_connections:{infile:{id:8,output_name:"output_tabular"}},inputs:[],label:"summary of MACS2",name:"Search in textfiles",outputs:[{name:"output",type:"input"}],position:{left:1965.11669921875,top:208.98333740234375},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"txt"},action_type:"ChangeDatatypeAction",output_name:"output"},RenameDatasetActionoutput:{action_arguments:{newname:"MACS2 report"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"case_sensitive": "-i", "color": "NOCOLOR", "infile": {"__class__": "ConnectedValue"}, "invert": "", "lines_after": "0", "lines_before": "0", "regex_type": "-P", "url_paste": "^#", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"95832fa1-e96e-4867-8162-d1e39cb1dc46",when:null,workflow_outputs:[{label:"MACS2 report",output_name:"output",uuid:"acb6f9ef-7210-4477-a8aa-ed1898e32e96"}]},10:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:10,input_connections:{input1:{id:8,output_name:"output_treat_pileup"}},inputs:[],label:"Bigwig from MACS2",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:2026.9666748046875,top:487.2833251953125},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"coverage from MACS2 (bigwig)"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"0fe57c5d-00a0-4cb6-9bac-97e6d03c6b76",when:null,workflow_outputs:[{label:"coverage from MACS2",output_name:"out_file1",uuid:"1ab01ce0-8f89-4695-9e99-4cf969ec7d1e"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:11,input_connections:{"results_0|software_cond|input":{id:5,output_name:"report"},"results_1|software_cond|input":{id:6,output_name:"mapping_stats"},"results_2|software_cond|input":{id:8,output_name:"output_tabular"}},inputs:[],label:"MultiQC",name:"MultiQC",outputs:[{name:"plots",type:"input"},{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2074.183349609375,top:866.2833251953125},post_job_actions:{HideDatasetActionplots:{action_arguments:{},action_type:"HideDatasetAction",output_name:"plots"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": true, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "cutadapt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "bowtie2", "__current_case__": 3, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "software_cond": {"software": "macs2", "__current_case__": 16, "input": {"__class__": "ConnectedValue"}}}], "saveLog": "false", "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"fb066848-43df-412a-9767-9613bac7d961",when:null,workflow_outputs:[{label:"MultiQC webpage",output_name:"html_report",uuid:"2167289f-6c78-479a-8d3b-95caf11d0c4e"},{label:"MultiQC on input dataset(s): Stats",output_name:"stats",uuid:"d4c3e0a7-d5b7-4307-8669-0254a3723ce0"}]}},tags:["ChIP"],uuid:"fe6bda9f-1fc2-4a86-bf8d-e779c79466fc",version:1},readme:`# ChIP-seq single-read Workflow ## Inputs dataset @@ -2834,6 +5265,38 @@ You can have more information about ATAC-seq analysis in the [slides](https://tr ## [0.1] 2022-10-18 First release. +`,diagrams:`# Workflow diagrams + +## ChIPseq_SR + +\`\`\`mermaid +graph LR +0["ℹ️ SR fastq input"]@{ shape: docs } +1["ℹ️ adapter_forward"]@{ shape: lean-l } +2["ℹ️ reference_genome"]@{ shape: lean-l } +3["ℹ️ effective_genome_size"]@{ shape: lean-l } +4["ℹ️ normalize_profile"]@{ shape: lean-l } +5["Cutadapt (remove adapter + bad quality bases)"]@{ shape: process } +0 --> 5 +1 --> 5 +6["Bowtie2 map on reference"]@{ shape: process } +5 --> 6 +2 --> 6 +7["filter MAPQ30"]@{ shape: process } +6 --> 7 +8["Call Peaks with MACS2"]@{ shape: process } +4 --> 8 +3 --> 8 +7 --> 8 +9["summary of MACS2"]@{ shape: process } +8 --> 9 +10["Bigwig from MACS2"]@{ shape: process } +8 --> 10 +11["MultiQC"]@{ shape: process } +5 --> 11 +6 --> 11 +8 --> 11 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/chipseq-sr/main",tests:[{doc:"Test outline for ChIPseq_SR",job:{"SR fastq input":{class:"Collection",collection_type:"list",elements:[{identifier:"wt_H3K4me3",class:"File",location:"https://zenodo.org/record/1324070/files/wt_H3K4me3_read1.fastq.gz",filetype:"fastqsanger"}]},adapter_forward:"GATCGGAAGAGCACACGTCTGAACTCCAGTCAC",reference_genome:"mm10",effective_genome_size:187e7,normalize_profile:!0},outputs:{"MultiQC webpage":{asserts:[{that:"has_text",text:"wt_H3K4me3"},{that:"has_text",text:'Filtered Reads'},{that:"has_text",text:'Bowtie 2 / HiSAT2'}]},"MultiQC on input dataset(s): Stats":{asserts:{has_line:{line:"Sample MACS2_mqc_generalstats_macs2_d MACS2_mqc_generalstats_macs2_treatment_redundant_rate MACS2_mqc_generalstats_macs2_peak_count Bowtie 2 / HiSAT2_mqc_generalstats_bowtie_2_hisat2_overall_alignment_rate Cutadapt_mqc_generalstats_cutadapt_percent_trimmed"},has_text_matching:{expression:"wt_H3K4me3 200.0 0.0 4 98.[0-9]* 4.6[0-9]*"}}},"filtered BAM":{element_tests:{wt_H3K4me3:{asserts:{has_size:{value:2547967,delta:2e5}}}}},"MACS2 summits":{element_tests:{wt_H3K4me3:{asserts:{has_n_lines:{n:4}}}}},"MACS2 peaks":{element_tests:{wt_H3K4me3:{asserts:[{that:"has_text",text:"# effective genome size = 1.87e+09"},{that:"has_text",text:"# d = 200"},{that:"has_text",text:"# tags after filtering in treatment: 44038"}]}}},"MACS2 narrowPeak":{element_tests:{wt_H3K4me3:{asserts:{has_n_lines:{n:4}}}}},"MACS2 report":{element_tests:{wt_H3K4me3:{asserts:[{that:"has_text",text:"# effective genome size = 1.87e+09"},{that:"has_text",text:"# d = 200"},{that:"has_text",text:"# tags after filtering in treatment: 44038"}]}}},"coverage from MACS2":{element_tests:{wt_H3K4me3:{asserts:{has_size:{value:559925,delta:1e4}}}}},"mapping stats":{element_tests:{wt_H3K4me3:{asserts:[{that:"has_text",text:"49251 reads; of these:"},{that:"has_text",text:"43525 (88.37%) aligned exactly 1 time"},{that:"has_text",text:"98.37% overall alignment rate"}]}}}}}]}],path:"./workflows/epigenetics/chipseq-sr"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/average-bigwig-between-replicates.ga",testParameterFiles:["/average-bigwig-between-replicates-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:`We assume the identifiers of the input list are like: sample_name_replicateID. The identifiers of the output list will be: @@ -2886,6 +5349,20 @@ This workflow is very useful when you processed multiple samples in collections ## [0.1] 2023-09-22 First release. +`,diagrams:`# Workflow diagrams + +## Average Bigwig between replicates + +\`\`\`mermaid +graph LR +0["ℹ️ Bigwig to average"]@{ shape: docs } +1["ℹ️ bin_size"]@{ shape: lean-l } +2["Apply rules"]@{ shape: process } +0 --> 2 +3["average bigwigs from different replicates"]@{ shape: process } +1 --> 3 +2 --> 3 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/average-bigwig-between-replicates/main",tests:[{doc:"Test outline for average-bigwig-between-replicates.ga",job:{"Bigwig to average":{class:"Collection",collection_type:"list",elements:[{identifier:"ATAC_HH19_PT_rep1",class:"File",location:"https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSM6152756&format=file&file=GSM6152756%5FATAC%5FHH19%5FPT%5Frep1%2Ebigwig",filetype:"bigwig"},{identifier:"ATAC_HH19_PT_rep2",class:"File",location:"https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSM6152757&format=file&file=GSM6152757%5FATAC%5FHH19%5FPT%5Frep2%2Ebigwig",filetype:"bigwig"},{identifier:"ATAC_HH35_DS_rep1",class:"File",location:"https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSM6152758&format=file&file=GSM6152758%5FATAC%5FHH35%5FDS%5Frep1%2Ebigwig",filetype:"bigwig"},{identifier:"ATAC_HH35_DS_rep2",class:"File",location:"https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSM6152759&format=file&file=GSM6152759%5FATAC%5FHH35%5FDS%5Frep2%2Ebigwig",filetype:"bigwig"}]},bin_size:50},outputs:{average_bigwigs:{attributes:{collection_type:"list"},element_tests:{ATAC_HH19_PT:{asserts:{has_size:{value:140203524,delta:1e7}}},ATAC_HH35_DS:{asserts:{has_size:{value:124599299,delta:1e7}}}}}}}]}],path:"./workflows/epigenetics/average-bigwig-between-replicates"},{version:1.2,workflows:[{name:"main",primaryDescriptorPath:"/metaprosip.ga",subclass:"Galaxy",publish:!0,testParameterFiles:["/metaprosip-tests.yml"],authors:[{name:"Matthias Bernt",orcid:"0000-0003-3763-0797"}],definition:{a_galaxy_workflow:"true",annotation:"Automated inference of stable isotope incorporation rates in proteins for functional metaproteomics ",creator:[{class:"Person",identifier:"0000-0003-3763-0797",name:"Matthias Bernt"}],"format-version":"0.1",license:"MIT",release:"0.2",name:"MetaProSIP OpenMS 2.8",steps:{0:{annotation:"mgf, ms2, mzml or mzxml datasets",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"mgf, ms2, mzml or mzxml datasets",name:"Centroided LC-MS datasets"}],label:"Centroided LC-MS datasets",name:"Input dataset collection",outputs:[],position:{left:7.076599011515327,top:129.1847085591696},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"7676403b-b391-41fe-b07b-a35a13ff318f",when:null,workflow_outputs:[]},1:{annotation:"A protein sequence database in FASTA format",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"A protein sequence database in FASTA format",name:"Fasta Database"}],label:"Fasta Database",name:"Input dataset",outputs:[],position:{left:5.760014806230345,top:246.36005905656776},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"27f8d0f6-773b-4373-ad0a-b3b1ddb0b6ec",when:null,workflow_outputs:[]},2:{annotation:`passed to - MSGF+ -precursor_mass_tolerance @@ -2918,7 +5395,46 @@ First release. - FalseDiscoveryRate: Calculate FDR - IDMapper: map identified spectra to elution profiles - MetaProSIP: calculate the protein-SIP features, to perform functional grouping, and for protein inference -`,changelog:"# Changelog\n\n## [0.2] 2024-06-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_decoydatabase/DecoyDatabase/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_decoydatabase/DecoyDatabase/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_featurefindermultiplex/FeatureFinderMultiplex/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_featurefindermultiplex/FeatureFinderMultiplex/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_msgfplusadapter/MSGFPlusAdapter/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_msgfplusadapter/MSGFPlusAdapter/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_peptideindexer/PeptideIndexer/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_peptideindexer/PeptideIndexer/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_falsediscoveryrate/FalseDiscoveryRate/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_falsediscoveryrate/FalseDiscoveryRate/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmapper/IDMapper/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmapper/IDMapper/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_metaprosip/MetaProSIP/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_metaprosip/MetaProSIP/3.1+galaxy0`\n\n## [0.1] 2023-04-13\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/openms-metaprosip/main",tests:[{doc:"Test outline for MetaProSIP",job:{"Fasta Database":{class:"File",location:"https://abibuilder.cs.uni-tuebingen.de/archive/openms/galaxy-testdata/metaprosip/Zeitz_1and2_454AllContigs_HEX.fasta",filetype:"fasta"},"Centroided LC-MS datasets":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"Zeitz_SIP_13-II_020_picked.mzML",location:"https://abibuilder.cs.uni-tuebingen.de/archive/openms/galaxy-testdata/metaprosip/Zeitz_SIP_13-II_020_picked.mzML",filetype:"mzml"}]},"Precursor monoisotopic mass tolerance (ppm)":10,"Fixed modifications":"Carbamidomethyl (C)","Variable modifications":"Oxidation (M)","Labeled element":"C"},outputs:{"Peptide centric result":{element_tests:{"Zeitz_SIP_13-II_020_picked.mzML":{asserts:[{that:"has_n_lines",n:85},{that:"has_text",text:"Peptide Sequence"},{that:"has_text",text:"AATGTPSPAGSPPPIVPAPK"}]}}},"Feature fitting result":{element_tests:{"Zeitz_SIP_13-II_020_picked.mzML":{asserts:[{that:"has_n_lines",n:4091},{that:"has_text",text:"Group 1"},{that:"has_text",text:"LYSFHTLHQTYMK"}]}}}}}]}],path:"./workflows/proteomics/openms-metaprosip"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/WF5_Data_Interpretation_Worklow.ga",testParameterFiles:["/WF5_Data_Interpretation_Worklow_tests.yml"],authors:[{name:"GalaxyP",url:"https://galaxyp.org/"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow will perform taxonomic and functional annotations using Unipept and statistical analysis using MSstatsTMT.",comments:[],creator:[{class:"Organization",name:"GalaxyP"}],"format-version":"0.1",license:"CC-BY-4.0",name:"Clinical Metaproteomics Data Interpretation",release:"0.1",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Quantified peptides from MaxQuant",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Quantified peptides from MaxQuant",name:"Quantified Peptides"}],label:"Quantified Peptides",name:"Input dataset",outputs:[],position:{left:189.871337890625,top:255.26802202427945},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"cd669a99-182a-48db-a2c6-f8d24323e353",when:null,workflow_outputs:[]},1:{annotation:"MaxQuant Protein Groups",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"MaxQuant Protein Groups",name:"MaxQuant Protein Groups"}],label:"MaxQuant Protein Groups",name:"Input dataset",outputs:[],position:{left:0,top:544.9199843045528},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"2ecd2d61-5e94-4dbd-a0cc-c30c343b38b4",when:null,workflow_outputs:[]},2:{annotation:"Evidence file from MaxQuant",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Evidence file from MaxQuant",name:"MaxQuant Evidence"}],label:"MaxQuant Evidence",name:"Input dataset",outputs:[],position:{left:221.97045898437503,top:823.9836556138064},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"11afae12-7cc4-402b-a0e3-cf6e53276674",when:null,workflow_outputs:[]},3:{annotation:"Annotation file for MSstatsTMT",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Annotation file for MSstatsTMT",name:"Annotation"}],label:"Annotation",name:"Input dataset",outputs:[],position:{left:293.3940978424075,top:1107.2505582800675},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"4ed9cd3d-2473-4b69-8ac8-3404e5628f85",when:null,workflow_outputs:[]},4:{annotation:"Comparison matrix for MSstatsTMT",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Comparison matrix for MSstatsTMT",name:"Comparison Matrix"}],label:"Comparison Matrix",name:"Input dataset",outputs:[],position:{left:307.5031433105469,top:1229.2167641343142},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"6c47825f-c68c-4f0e-a99b-a961f27c7719",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/unipept/unipept/4.5.1",errors:null,id:5,input_connections:{"peptide_src|input_tsv":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Unipept",name:"peptide_src"}],label:"Unipept",name:"Unipept",outputs:[{name:"output_json",type:"d3_hierarchy"},{name:"output_ec_json",type:"d3_hierarchy"},{name:"output_tsv",type:"tabular"},{name:"output_ec_tsv",type:"tabular"},{name:"output_go_tsv",type:"tabular"},{name:"output_ipr_tsv",type:"tabular"}],position:{left:603.5423879409451,top:0},post_job_actions:{RenameDatasetActionoutput_ec_json:{action_arguments:{newname:"Microbial EC Proteins Tree"},action_type:"RenameDatasetAction",output_name:"output_ec_json"},RenameDatasetActionoutput_ec_tsv:{action_arguments:{newname:"Microbial EC Terms Output"},action_type:"RenameDatasetAction",output_name:"output_ec_tsv"},RenameDatasetActionoutput_go_tsv:{action_arguments:{newname:"Microbial GO Terms Output"},action_type:"RenameDatasetAction",output_name:"output_go_tsv"},RenameDatasetActionoutput_ipr_tsv:{action_arguments:{newname:"Microbial InterPro Outputs"},action_type:"RenameDatasetAction",output_name:"output_ipr_tsv"},RenameDatasetActionoutput_json:{action_arguments:{newname:"Microbial Taxonomy Tree"},action_type:"RenameDatasetAction",output_name:"output_json"},RenameDatasetActionoutput_tsv:{action_arguments:{newname:"Unipept peptinfo"},action_type:"RenameDatasetAction",output_name:"output_tsv"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/unipept/unipept/4.5.1",tool_shed_repository:{changeset_revision:"21a560af5913",name:"unipept",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"peptide_match": "full", "peptide_src": {"fmt": "tabular", "__current_case__": 1, "input_tsv": {"__class__": "ConnectedValue"}, "column": "1"}, "selected_outputs": ["tsv", "json", "ipr_tsv", "go_tsv", "ec_tsv", "ec_json"], "strict": false, "unipept": {"api": "peptinfo", "__current_case__": 7, "equate_il": true, "extra": true, "domains": false, "names": true, "allfields": false}, "unmatched_aa": "default", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.5.1",type:"tool",uuid:"f0385dbb-0248-4c41-a3be-29915ec0ec2b",when:null,workflow_outputs:[{label:"Microbial InterPro Outputs",output_name:"output_ipr_tsv",uuid:"83e9749c-d5b1-4ca6-84ed-a71c871be90b"},{label:"Microbial Taxonomy Tree",output_name:"output_json",uuid:"513a089a-614b-4557-9e40-30de6481b754"},{label:"Microbial EC Proteins Tree",output_name:"output_ec_json",uuid:"bed390f7-ec36-4d3e-a84e-b36572aad229"},{label:"Microbial EC Terms Output",output_name:"output_ec_tsv",uuid:"88bc0672-de66-4060-b84a-25e2f1554f49"},{label:"Microbial GO Terms Output",output_name:"output_go_tsv",uuid:"03b83b33-3936-46fe-a437-4f0acf3c604f"},{label:"Unipept peptinfo",output_name:"output_tsv",uuid:"2c471afe-49d6-4aae-87be-3594d7716049"}]},6:{annotation:"",content_id:"Grep1",errors:null,id:6,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:"Microbial Proteins",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:302.63226318359375,top:456.09629961217007},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Microbial-Proteins"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grep1",tool_state:'{"__input_ext": "input", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "invert": "-v", "keep_header": true, "pattern": "(HUMAN)|(REV)|(CON)|(con)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"1b00f695-2038-46be-891f-dcc645c6c768",when:null,workflow_outputs:[{label:"Microbial Proteins",output_name:"out_file1",uuid:"b23a9caa-826c-4dfc-8739-3a4511e00fad"}]},7:{annotation:"",content_id:"Grep1",errors:null,id:7,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:null,name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:211.46368408203125,top:662.4912123318966},post_job_actions:{},tool_id:"Grep1",tool_state:'{"__input_ext": "input", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "invert": "", "keep_header": true, "pattern": "(HUMAN)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"b7d94fff-d2f7-4678-90ef-91730e0b7fb6",when:null,workflow_outputs:[]},8:{annotation:"MSstatsTMT analysis for microbial proteins",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/msstatstmt/msstatstmt/2.0.0+galaxy1",errors:null,id:8,input_connections:{"group|use_comp_matrix|comparison_matrix":{id:4,output_name:"output"},"input|annotation":{id:3,output_name:"output"},"input|evidence":{id:2,output_name:"output"},"input|proteinGroups":{id:6,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool MSstatsTMT",name:"input"},{description:"runtime parameter for tool MSstatsTMT",name:"input"},{description:"runtime parameter for tool MSstatsTMT",name:"input"}],label:"MSstatsTMT_for_microbial_proteins",name:"MSstatsTMT",outputs:[{name:"out_msstatstmt_sum_log",type:"txt"},{name:"out_msstatstmt_sum_ms",type:"txt"},{name:"out_quant",type:"tabular"},{name:"out_group_comp",type:"tabular"},{name:"out_group_volcano_plot",type:"pdf"},{name:"out_group_comp_plot",type:"pdf"}],position:{left:986.6640958581056,top:433.7097936276964},post_job_actions:{RenameDatasetActionout_group_comp_plot:{action_arguments:{newname:"MICROBIAL_PROTEINS_COMPARISON"},action_type:"RenameDatasetAction",output_name:"out_group_comp_plot"},RenameDatasetActionout_group_volcano_plot:{action_arguments:{newname:"MICROBIAL_PROTEINS_VOLCANO_PLOT"},action_type:"RenameDatasetAction",output_name:"out_group_volcano_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/msstatstmt/msstatstmt/2.0.0+galaxy1",tool_shed_repository:{changeset_revision:"bd1535813cfe",name:"msstatstmt",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"group": {"group_comparison": "true", "__current_case__": 1, "use_comp_matrix": {"select": "true", "__current_case__": 1, "comparison_matrix": {"__class__": "ConnectedValue"}}, "moderated": false, "adj_method": "none", "remove_norm_channel": true, "remove_empty_channel": true, "selected_group_outputs": ["comparison_result", "VolcanoPlot", "ComparisonPlot"], "comparison_plots_opt": {"sig": "0.05", "FCcutoff": null, "logBase_pvalue": "10", "ylimUp": null, "ylimDown": null, "xlimUp": null, "axis_size": "10", "x_axis_size": "10", "y_axis_size": "10", "dot_size": "3", "text_size": "4", "text_angle": "90", "legend_size": "7", "ProteinName": true, "colorkey": true, "numProtein": "100", "clustering": "protein", "width": "8", "height": "5", "which_Protein": {"select": "all", "__current_case__": 0}, "which_Comparison": {"select": "all", "__current_case__": 0}}}, "input": {"input_src": "MaxQuant", "__current_case__": 1, "evidence": {"__class__": "ConnectedValue"}, "proteinGroups": {"__class__": "ConnectedValue"}, "annotation": {"__class__": "ConnectedValue"}, "proteinID": "Proteins", "input_options": {"rmProt_Onlyidentifiedbysite": false, "useUniquePeptide": true, "rmPSM_withMissing_withinRun": false, "rmPSM_withfewMea_withinRun": true, "rmProtein_with1Feature": false, "summaryforMultipleRows": "sum"}}, "out_plots_opt": {"which_Protein": {"select": "all", "__current_case__": 0}, "width": "10", "height": "10", "adv": {"ylimUp": false, "ylimDown": false, "x_axis_size": "10", "y_axis_size": "10", "text_size": "4", "text_angle": "90", "legend_size": "7", "dot_size_profile": "2", "ncol_guide": "5", "originalPlot": true, "summaryPlot": true}}, "proteinSummarization": {"method": "msstats", "global_norm": true, "reference_norm": true, "remove_norm_channel": true, "remove_empty_channel": true, "MBimpute": true, "maxQuantileforCensored": null}, "selected_outputs": ["msstatstmt_sum_log", "msstatstmt_sum_ms", "quant"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.0+galaxy1",type:"tool",uuid:"e58242d9-4047-49fa-9cc5-b383c507a70f",when:null,workflow_outputs:[{label:"Microbial Proteins Comparison Plot",output_name:"out_group_comp_plot",uuid:"c82b343d-b865-4a66-b4dd-e1f26bd8869c"},{label:"Microbial Proteins Volcano Plot",output_name:"out_group_volcano_plot",uuid:"e66969ae-d8da-43df-a88c-57f6f284f0b0"}]},9:{annotation:"",content_id:"Grep1",errors:null,id:9,input_connections:{input:{id:7,output_name:"out_file1"}},inputs:[],label:"Human Proteins",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:484.9521484375,top:632.1494154568966},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Human_Proteins"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grep1",tool_state:'{"__input_ext": "input", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "invert": "-v", "keep_header": true, "pattern": "(REV)|(con)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"898a2203-5746-465a-aa31-95837eb97a04",when:null,workflow_outputs:[{label:"Human Proteins",output_name:"out_file1",uuid:"cf77265d-e114-4d57-8e07-56378da1bc62"}]},10:{annotation:"MSstatsTMT analysis for human proteins",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/msstatstmt/msstatstmt/2.0.0+galaxy1",errors:null,id:10,input_connections:{"group|use_comp_matrix|comparison_matrix":{id:4,output_name:"output"},"input|annotation":{id:3,output_name:"output"},"input|evidence":{id:2,output_name:"output"},"input|proteinGroups":{id:9,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool MSstatsTMT",name:"input"},{description:"runtime parameter for tool MSstatsTMT",name:"input"},{description:"runtime parameter for tool MSstatsTMT",name:"input"}],label:"MSstatsTMT_for_human_proteins",name:"MSstatsTMT",outputs:[{name:"out_msstatstmt_sum_log",type:"txt"},{name:"out_msstatstmt_sum_ms",type:"txt"},{name:"out_quant",type:"tabular"},{name:"out_group_comp",type:"tabular"},{name:"out_group_volcano_plot",type:"pdf"},{name:"out_group_comp_plot",type:"pdf"}],position:{left:955.3109130859375,top:1163.6116306568422},post_job_actions:{RenameDatasetActionout_group_comp_plot:{action_arguments:{newname:"HUMAN_PROTEINS_COMPARISON"},action_type:"RenameDatasetAction",output_name:"out_group_comp_plot"},RenameDatasetActionout_group_volcano_plot:{action_arguments:{newname:"HUMAN_PROTEINS_VOLCANO_PLOT"},action_type:"RenameDatasetAction",output_name:"out_group_volcano_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/msstatstmt/msstatstmt/2.0.0+galaxy1",tool_shed_repository:{changeset_revision:"bd1535813cfe",name:"msstatstmt",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"group": {"group_comparison": "true", "__current_case__": 1, "use_comp_matrix": {"select": "true", "__current_case__": 1, "comparison_matrix": {"__class__": "ConnectedValue"}}, "moderated": false, "adj_method": "none", "remove_norm_channel": true, "remove_empty_channel": true, "selected_group_outputs": ["comparison_result", "VolcanoPlot", "ComparisonPlot"], "comparison_plots_opt": {"sig": "0.05", "FCcutoff": null, "logBase_pvalue": "10", "ylimUp": null, "ylimDown": null, "xlimUp": null, "axis_size": "10", "x_axis_size": "10", "y_axis_size": "10", "dot_size": "3", "text_size": "4", "text_angle": "90", "legend_size": "7", "ProteinName": true, "colorkey": true, "numProtein": "100", "clustering": "protein", "width": "8", "height": "5", "which_Protein": {"select": "all", "__current_case__": 0}, "which_Comparison": {"select": "all", "__current_case__": 0}}}, "input": {"input_src": "MaxQuant", "__current_case__": 1, "evidence": {"__class__": "ConnectedValue"}, "proteinGroups": {"__class__": "ConnectedValue"}, "annotation": {"__class__": "ConnectedValue"}, "proteinID": "Proteins", "input_options": {"rmProt_Onlyidentifiedbysite": false, "useUniquePeptide": true, "rmPSM_withMissing_withinRun": false, "rmPSM_withfewMea_withinRun": true, "rmProtein_with1Feature": false, "summaryforMultipleRows": "sum"}}, "out_plots_opt": {"which_Protein": {"select": "all", "__current_case__": 0}, "width": "10", "height": "10", "adv": {"ylimUp": false, "ylimDown": false, "x_axis_size": "10", "y_axis_size": "10", "text_size": "4", "text_angle": "90", "legend_size": "7", "dot_size_profile": "2", "ncol_guide": "5", "originalPlot": true, "summaryPlot": true}}, "proteinSummarization": {"method": "msstats", "global_norm": true, "reference_norm": true, "remove_norm_channel": true, "remove_empty_channel": true, "MBimpute": true, "maxQuantileforCensored": null}, "selected_outputs": ["msstatstmt_sum_log", "msstatstmt_sum_ms", "quant"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.0+galaxy1",type:"tool",uuid:"c1f844d8-487d-4060-beec-1c283abebd2a",when:null,workflow_outputs:[{label:"Human Proteins Volcano Plot",output_name:"out_group_volcano_plot",uuid:"3eb72696-b370-4407-a221-f35a74ab6aff"},{label:"Human Proteins Comparison Plot",output_name:"out_group_comp_plot",uuid:"88fd3bd3-70ce-486e-8cee-361cb9a61bda"}]}},tags:["name:clinicalMP"],uuid:"3a5d60ec-2b30-47cf-a351-7b85df8af9e3",version:4},readme:`# Clinical Metaproteomics 5: Data Interpretation +`,changelog:"# Changelog\n\n## [0.2] 2024-06-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_decoydatabase/DecoyDatabase/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_decoydatabase/DecoyDatabase/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_featurefindermultiplex/FeatureFinderMultiplex/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_featurefindermultiplex/FeatureFinderMultiplex/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_msgfplusadapter/MSGFPlusAdapter/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_msgfplusadapter/MSGFPlusAdapter/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_peptideindexer/PeptideIndexer/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_peptideindexer/PeptideIndexer/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_falsediscoveryrate/FalseDiscoveryRate/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_falsediscoveryrate/FalseDiscoveryRate/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmapper/IDMapper/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmapper/IDMapper/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_metaprosip/MetaProSIP/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_metaprosip/MetaProSIP/3.1+galaxy0`\n\n## [0.1] 2023-04-13\nFirst release.\n",diagrams:`# Workflow diagrams + +## MetaProSIP OpenMS 2.8 + +\`\`\`mermaid +graph LR +0["ℹ️ Centroided LC-MS datasets"]@{ shape: docs } +1["ℹ️ Fasta Database"]@{ shape: doc } +2["ℹ️ Precursor monoisotopic mass tolerance (ppm)"]@{ shape: lean-l } +3["ℹ️ Fixed modifications"]@{ shape: lean-l } +4["ℹ️ Variable modifications"]@{ shape: lean-l } +5["ℹ️ Labeled element"]@{ shape: lean-l } +6["Sort collection"]@{ shape: process } +0 --> 6 +7["DecoyDatabase"]@{ shape: process } +1 --> 7 +8["FeatureFinderMultiplex"]@{ shape: process } +6 --> 8 +9["MSGFPlusAdapter"]@{ shape: process } +7 --> 9 +3 --> 9 +6 --> 9 +2 --> 9 +4 --> 9 +10["PeptideIndexer"]@{ shape: process } +7 --> 10 +9 --> 10 +11["FalseDiscoveryRate"]@{ shape: process } +10 --> 11 +12["IDMapper"]@{ shape: process } +11 --> 12 +8 --> 12 +13["MetaProSIP"]@{ shape: process } +7 --> 13 +12 --> 13 +6 --> 13 +5 --> 13 +2 --> 13 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/openms-metaprosip/main",tests:[{doc:"Test outline for MetaProSIP",job:{"Fasta Database":{class:"File",location:"https://abibuilder.cs.uni-tuebingen.de/archive/openms/galaxy-testdata/metaprosip/Zeitz_1and2_454AllContigs_HEX.fasta",filetype:"fasta"},"Centroided LC-MS datasets":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"Zeitz_SIP_13-II_020_picked.mzML",location:"https://abibuilder.cs.uni-tuebingen.de/archive/openms/galaxy-testdata/metaprosip/Zeitz_SIP_13-II_020_picked.mzML",filetype:"mzml"}]},"Precursor monoisotopic mass tolerance (ppm)":10,"Fixed modifications":"Carbamidomethyl (C)","Variable modifications":"Oxidation (M)","Labeled element":"C"},outputs:{"Peptide centric result":{element_tests:{"Zeitz_SIP_13-II_020_picked.mzML":{asserts:[{that:"has_n_lines",n:85},{that:"has_text",text:"Peptide Sequence"},{that:"has_text",text:"AATGTPSPAGSPPPIVPAPK"}]}}},"Feature fitting result":{element_tests:{"Zeitz_SIP_13-II_020_picked.mzML":{asserts:[{that:"has_n_lines",n:4091},{that:"has_text",text:"Group 1"},{that:"has_text",text:"LYSFHTLHQTYMK"}]}}}}}]}],path:"./workflows/proteomics/openms-metaprosip"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/WF5_Data_Interpretation_Worklow.ga",testParameterFiles:["/WF5_Data_Interpretation_Worklow_tests.yml"],authors:[{name:"GalaxyP",url:"https://galaxyp.org/"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow will perform taxonomic and functional annotations using Unipept and statistical analysis using MSstatsTMT.",comments:[],creator:[{class:"Organization",name:"GalaxyP"}],"format-version":"0.1",license:"CC-BY-4.0",name:"Clinical Metaproteomics Data Interpretation",release:"0.1",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Quantified peptides from MaxQuant",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Quantified peptides from MaxQuant",name:"Quantified Peptides"}],label:"Quantified Peptides",name:"Input dataset",outputs:[],position:{left:189.871337890625,top:255.26802202427945},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"cd669a99-182a-48db-a2c6-f8d24323e353",when:null,workflow_outputs:[]},1:{annotation:"MaxQuant Protein Groups",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"MaxQuant Protein Groups",name:"MaxQuant Protein Groups"}],label:"MaxQuant Protein Groups",name:"Input dataset",outputs:[],position:{left:0,top:544.9199843045528},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"2ecd2d61-5e94-4dbd-a0cc-c30c343b38b4",when:null,workflow_outputs:[]},2:{annotation:"Evidence file from MaxQuant",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Evidence file from MaxQuant",name:"MaxQuant Evidence"}],label:"MaxQuant Evidence",name:"Input dataset",outputs:[],position:{left:221.97045898437503,top:823.9836556138064},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"11afae12-7cc4-402b-a0e3-cf6e53276674",when:null,workflow_outputs:[]},3:{annotation:"Annotation file for MSstatsTMT",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Annotation file for MSstatsTMT",name:"Annotation"}],label:"Annotation",name:"Input dataset",outputs:[],position:{left:293.3940978424075,top:1107.2505582800675},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"4ed9cd3d-2473-4b69-8ac8-3404e5628f85",when:null,workflow_outputs:[]},4:{annotation:"Comparison matrix for MSstatsTMT",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Comparison matrix for MSstatsTMT",name:"Comparison Matrix"}],label:"Comparison Matrix",name:"Input dataset",outputs:[],position:{left:307.5031433105469,top:1229.2167641343142},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"6c47825f-c68c-4f0e-a99b-a961f27c7719",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/unipept/unipept/4.5.1",errors:null,id:5,input_connections:{"peptide_src|input_tsv":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Unipept",name:"peptide_src"}],label:"Unipept",name:"Unipept",outputs:[{name:"output_json",type:"d3_hierarchy"},{name:"output_ec_json",type:"d3_hierarchy"},{name:"output_tsv",type:"tabular"},{name:"output_ec_tsv",type:"tabular"},{name:"output_go_tsv",type:"tabular"},{name:"output_ipr_tsv",type:"tabular"}],position:{left:603.5423879409451,top:0},post_job_actions:{RenameDatasetActionoutput_ec_json:{action_arguments:{newname:"Microbial EC Proteins Tree"},action_type:"RenameDatasetAction",output_name:"output_ec_json"},RenameDatasetActionoutput_ec_tsv:{action_arguments:{newname:"Microbial EC Terms Output"},action_type:"RenameDatasetAction",output_name:"output_ec_tsv"},RenameDatasetActionoutput_go_tsv:{action_arguments:{newname:"Microbial GO Terms Output"},action_type:"RenameDatasetAction",output_name:"output_go_tsv"},RenameDatasetActionoutput_ipr_tsv:{action_arguments:{newname:"Microbial InterPro Outputs"},action_type:"RenameDatasetAction",output_name:"output_ipr_tsv"},RenameDatasetActionoutput_json:{action_arguments:{newname:"Microbial Taxonomy Tree"},action_type:"RenameDatasetAction",output_name:"output_json"},RenameDatasetActionoutput_tsv:{action_arguments:{newname:"Unipept peptinfo"},action_type:"RenameDatasetAction",output_name:"output_tsv"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/unipept/unipept/4.5.1",tool_shed_repository:{changeset_revision:"21a560af5913",name:"unipept",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"peptide_match": "full", "peptide_src": {"fmt": "tabular", "__current_case__": 1, "input_tsv": {"__class__": "ConnectedValue"}, "column": "1"}, "selected_outputs": ["tsv", "json", "ipr_tsv", "go_tsv", "ec_tsv", "ec_json"], "strict": false, "unipept": {"api": "peptinfo", "__current_case__": 7, "equate_il": true, "extra": true, "domains": false, "names": true, "allfields": false}, "unmatched_aa": "default", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.5.1",type:"tool",uuid:"f0385dbb-0248-4c41-a3be-29915ec0ec2b",when:null,workflow_outputs:[{label:"Microbial InterPro Outputs",output_name:"output_ipr_tsv",uuid:"83e9749c-d5b1-4ca6-84ed-a71c871be90b"},{label:"Microbial Taxonomy Tree",output_name:"output_json",uuid:"513a089a-614b-4557-9e40-30de6481b754"},{label:"Microbial EC Proteins Tree",output_name:"output_ec_json",uuid:"bed390f7-ec36-4d3e-a84e-b36572aad229"},{label:"Microbial EC Terms Output",output_name:"output_ec_tsv",uuid:"88bc0672-de66-4060-b84a-25e2f1554f49"},{label:"Microbial GO Terms Output",output_name:"output_go_tsv",uuid:"03b83b33-3936-46fe-a437-4f0acf3c604f"},{label:"Unipept peptinfo",output_name:"output_tsv",uuid:"2c471afe-49d6-4aae-87be-3594d7716049"}]},6:{annotation:"",content_id:"Grep1",errors:null,id:6,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:"Microbial Proteins",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:302.63226318359375,top:456.09629961217007},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Microbial-Proteins"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grep1",tool_state:'{"__input_ext": "input", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "invert": "-v", "keep_header": true, "pattern": "(HUMAN)|(REV)|(CON)|(con)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"1b00f695-2038-46be-891f-dcc645c6c768",when:null,workflow_outputs:[{label:"Microbial Proteins",output_name:"out_file1",uuid:"b23a9caa-826c-4dfc-8739-3a4511e00fad"}]},7:{annotation:"",content_id:"Grep1",errors:null,id:7,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:null,name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:211.46368408203125,top:662.4912123318966},post_job_actions:{},tool_id:"Grep1",tool_state:'{"__input_ext": "input", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "invert": "", "keep_header": true, "pattern": "(HUMAN)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"b7d94fff-d2f7-4678-90ef-91730e0b7fb6",when:null,workflow_outputs:[]},8:{annotation:"MSstatsTMT analysis for microbial proteins",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/msstatstmt/msstatstmt/2.0.0+galaxy1",errors:null,id:8,input_connections:{"group|use_comp_matrix|comparison_matrix":{id:4,output_name:"output"},"input|annotation":{id:3,output_name:"output"},"input|evidence":{id:2,output_name:"output"},"input|proteinGroups":{id:6,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool MSstatsTMT",name:"input"},{description:"runtime parameter for tool MSstatsTMT",name:"input"},{description:"runtime parameter for tool MSstatsTMT",name:"input"}],label:"MSstatsTMT_for_microbial_proteins",name:"MSstatsTMT",outputs:[{name:"out_msstatstmt_sum_log",type:"txt"},{name:"out_msstatstmt_sum_ms",type:"txt"},{name:"out_quant",type:"tabular"},{name:"out_group_comp",type:"tabular"},{name:"out_group_volcano_plot",type:"pdf"},{name:"out_group_comp_plot",type:"pdf"}],position:{left:986.6640958581056,top:433.7097936276964},post_job_actions:{RenameDatasetActionout_group_comp_plot:{action_arguments:{newname:"MICROBIAL_PROTEINS_COMPARISON"},action_type:"RenameDatasetAction",output_name:"out_group_comp_plot"},RenameDatasetActionout_group_volcano_plot:{action_arguments:{newname:"MICROBIAL_PROTEINS_VOLCANO_PLOT"},action_type:"RenameDatasetAction",output_name:"out_group_volcano_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/msstatstmt/msstatstmt/2.0.0+galaxy1",tool_shed_repository:{changeset_revision:"bd1535813cfe",name:"msstatstmt",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"group": {"group_comparison": "true", "__current_case__": 1, "use_comp_matrix": {"select": "true", "__current_case__": 1, "comparison_matrix": {"__class__": "ConnectedValue"}}, "moderated": false, "adj_method": "none", "remove_norm_channel": true, "remove_empty_channel": true, "selected_group_outputs": ["comparison_result", "VolcanoPlot", "ComparisonPlot"], "comparison_plots_opt": {"sig": "0.05", "FCcutoff": null, "logBase_pvalue": "10", "ylimUp": null, "ylimDown": null, "xlimUp": null, "axis_size": "10", "x_axis_size": "10", "y_axis_size": "10", "dot_size": "3", "text_size": "4", "text_angle": "90", "legend_size": "7", "ProteinName": true, "colorkey": true, "numProtein": "100", "clustering": "protein", "width": "8", "height": "5", "which_Protein": {"select": "all", "__current_case__": 0}, "which_Comparison": {"select": "all", "__current_case__": 0}}}, "input": {"input_src": "MaxQuant", "__current_case__": 1, "evidence": {"__class__": "ConnectedValue"}, "proteinGroups": {"__class__": "ConnectedValue"}, "annotation": {"__class__": "ConnectedValue"}, "proteinID": "Proteins", "input_options": {"rmProt_Onlyidentifiedbysite": false, "useUniquePeptide": true, "rmPSM_withMissing_withinRun": false, "rmPSM_withfewMea_withinRun": true, "rmProtein_with1Feature": false, "summaryforMultipleRows": "sum"}}, "out_plots_opt": {"which_Protein": {"select": "all", "__current_case__": 0}, "width": "10", "height": "10", "adv": {"ylimUp": false, "ylimDown": false, "x_axis_size": "10", "y_axis_size": "10", "text_size": "4", "text_angle": "90", "legend_size": "7", "dot_size_profile": "2", "ncol_guide": "5", "originalPlot": true, "summaryPlot": true}}, "proteinSummarization": {"method": "msstats", "global_norm": true, "reference_norm": true, "remove_norm_channel": true, "remove_empty_channel": true, "MBimpute": true, "maxQuantileforCensored": null}, "selected_outputs": ["msstatstmt_sum_log", "msstatstmt_sum_ms", "quant"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.0+galaxy1",type:"tool",uuid:"e58242d9-4047-49fa-9cc5-b383c507a70f",when:null,workflow_outputs:[{label:"Microbial Proteins Comparison Plot",output_name:"out_group_comp_plot",uuid:"c82b343d-b865-4a66-b4dd-e1f26bd8869c"},{label:"Microbial Proteins Volcano Plot",output_name:"out_group_volcano_plot",uuid:"e66969ae-d8da-43df-a88c-57f6f284f0b0"}]},9:{annotation:"",content_id:"Grep1",errors:null,id:9,input_connections:{input:{id:7,output_name:"out_file1"}},inputs:[],label:"Human Proteins",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:484.9521484375,top:632.1494154568966},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Human_Proteins"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grep1",tool_state:'{"__input_ext": "input", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "invert": "-v", "keep_header": true, "pattern": "(REV)|(con)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"898a2203-5746-465a-aa31-95837eb97a04",when:null,workflow_outputs:[{label:"Human Proteins",output_name:"out_file1",uuid:"cf77265d-e114-4d57-8e07-56378da1bc62"}]},10:{annotation:"MSstatsTMT analysis for human proteins",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/msstatstmt/msstatstmt/2.0.0+galaxy1",errors:null,id:10,input_connections:{"group|use_comp_matrix|comparison_matrix":{id:4,output_name:"output"},"input|annotation":{id:3,output_name:"output"},"input|evidence":{id:2,output_name:"output"},"input|proteinGroups":{id:9,output_name:"out_file1"}},inputs:[{description:"runtime parameter for tool MSstatsTMT",name:"input"},{description:"runtime parameter for tool MSstatsTMT",name:"input"},{description:"runtime parameter for tool MSstatsTMT",name:"input"}],label:"MSstatsTMT_for_human_proteins",name:"MSstatsTMT",outputs:[{name:"out_msstatstmt_sum_log",type:"txt"},{name:"out_msstatstmt_sum_ms",type:"txt"},{name:"out_quant",type:"tabular"},{name:"out_group_comp",type:"tabular"},{name:"out_group_volcano_plot",type:"pdf"},{name:"out_group_comp_plot",type:"pdf"}],position:{left:955.3109130859375,top:1163.6116306568422},post_job_actions:{RenameDatasetActionout_group_comp_plot:{action_arguments:{newname:"HUMAN_PROTEINS_COMPARISON"},action_type:"RenameDatasetAction",output_name:"out_group_comp_plot"},RenameDatasetActionout_group_volcano_plot:{action_arguments:{newname:"HUMAN_PROTEINS_VOLCANO_PLOT"},action_type:"RenameDatasetAction",output_name:"out_group_volcano_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/msstatstmt/msstatstmt/2.0.0+galaxy1",tool_shed_repository:{changeset_revision:"bd1535813cfe",name:"msstatstmt",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"group": {"group_comparison": "true", "__current_case__": 1, "use_comp_matrix": {"select": "true", "__current_case__": 1, "comparison_matrix": {"__class__": "ConnectedValue"}}, "moderated": false, "adj_method": "none", "remove_norm_channel": true, "remove_empty_channel": true, "selected_group_outputs": ["comparison_result", "VolcanoPlot", "ComparisonPlot"], "comparison_plots_opt": {"sig": "0.05", "FCcutoff": null, "logBase_pvalue": "10", "ylimUp": null, "ylimDown": null, "xlimUp": null, "axis_size": "10", "x_axis_size": "10", "y_axis_size": "10", "dot_size": "3", "text_size": "4", "text_angle": "90", "legend_size": "7", "ProteinName": true, "colorkey": true, "numProtein": "100", "clustering": "protein", "width": "8", "height": "5", "which_Protein": {"select": "all", "__current_case__": 0}, "which_Comparison": {"select": "all", "__current_case__": 0}}}, "input": {"input_src": "MaxQuant", "__current_case__": 1, "evidence": {"__class__": "ConnectedValue"}, "proteinGroups": {"__class__": "ConnectedValue"}, "annotation": {"__class__": "ConnectedValue"}, "proteinID": "Proteins", "input_options": {"rmProt_Onlyidentifiedbysite": false, "useUniquePeptide": true, "rmPSM_withMissing_withinRun": false, "rmPSM_withfewMea_withinRun": true, "rmProtein_with1Feature": false, "summaryforMultipleRows": "sum"}}, "out_plots_opt": {"which_Protein": {"select": "all", "__current_case__": 0}, "width": "10", "height": "10", "adv": {"ylimUp": false, "ylimDown": false, "x_axis_size": "10", "y_axis_size": "10", "text_size": "4", "text_angle": "90", "legend_size": "7", "dot_size_profile": "2", "ncol_guide": "5", "originalPlot": true, "summaryPlot": true}}, "proteinSummarization": {"method": "msstats", "global_norm": true, "reference_norm": true, "remove_norm_channel": true, "remove_empty_channel": true, "MBimpute": true, "maxQuantileforCensored": null}, "selected_outputs": ["msstatstmt_sum_log", "msstatstmt_sum_ms", "quant"], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.0+galaxy1",type:"tool",uuid:"c1f844d8-487d-4060-beec-1c283abebd2a",when:null,workflow_outputs:[{label:"Human Proteins Volcano Plot",output_name:"out_group_volcano_plot",uuid:"3eb72696-b370-4407-a221-f35a74ab6aff"},{label:"Human Proteins Comparison Plot",output_name:"out_group_comp_plot",uuid:"88fd3bd3-70ce-486e-8cee-361cb9a61bda"}]}},tags:["name:clinicalMP"],uuid:"3a5d60ec-2b30-47cf-a351-7b85df8af9e3",version:4},readme:`# Clinical Metaproteomics 5: Data Interpretation Data interpretation can provide meaningful insights about quantitative proteomic data. Here, MaxQuant data will be interpreted using MSstats by applying a rigorous statistical framework to understand data distribution and variability. Systematic variations are accounted for using subsequent normalization. Users can define the experimental design used by MSstats, such as sample groups and conditions, to perform statistical analysis. The MSstats output provides valuable information about differential protein expression across various conditions, estimates of fold changes, and associated p-values, which aids in the identification of biologically significant proteins. Furthermore, MSstats enables quality control and data visualization, enhancing our ability to draw meaningful conclusions from large-scale proteomic datasets and expands our understanding of complex biological processes. In this current workflow, we perform taxonomic and functional annotations using Unipept and statistical analysis using MSstatsTMT. A GTN has been developed for this workflow. @@ -2949,6 +5465,36 @@ For MSstatsTMT: ## [0.1] 2024-11-19 First release. +`,diagrams:`# Workflow diagrams + +## Clinical Metaproteomics Data Interpretation + +\`\`\`mermaid +graph LR +0["ℹ️ Quantified Peptides"]@{ shape: doc } +1["ℹ️ MaxQuant Protein Groups"]@{ shape: doc } +2["ℹ️ MaxQuant Evidence"]@{ shape: doc } +3["ℹ️ Annotation"]@{ shape: doc } +4["ℹ️ Comparison Matrix"]@{ shape: doc } +5["Unipept"]@{ shape: process } +0 --> 5 +6["Microbial Proteins"]@{ shape: process } +1 --> 6 +7["Select"]@{ shape: process } +1 --> 7 +8["MSstatsTMT_for_microbial_proteins"]@{ shape: process } +4 --> 8 +3 --> 8 +2 --> 8 +6 --> 8 +9["Human Proteins"]@{ shape: process } +7 --> 9 +10["MSstatsTMT_for_human_proteins"]@{ shape: process } +4 --> 10 +3 --> 10 +2 --> 10 +9 --> 10 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/clinicalmp-data-interpretation/main"}],path:"./workflows/proteomics/clinicalmp/clinicalmp-data-interpretation"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/iwc-clinicalmp-database-generation.ga",testParameterFiles:["/iwc-clinicalmp-database-generation-tests.yml"],authors:[{name:"Subina Mehta",orcid:"0000-0001-9818-0537"}],definition:{a_galaxy_workflow:"true",annotation:"The workflow begins with the Database Generation process. The Galaxy-P team has developed a workflow that collects protein sequences from known disease-causing microorganisms to build a comprehensive database. This extensive database is then refined into a smaller, more relevant dataset using the Metanovo tool.",comments:[],creator:[{class:"Organization",identifier:"0000-0001-9818-0537",name:"Subina Mehta"}],"format-version":"0.1",license:"CC-BY-4.0",name:"Generate a Clinical Metaproteomics Database",release:"0.1",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Human SwissProt Protein Database",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Human SwissProt Protein Database",name:"Human SwissProt Protein Database"}],label:"Human SwissProt Protein Database",name:"Input dataset",outputs:[],position:{left:0,top:207.8446261703461},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"bb037df4-ef56-42ad-8b3e-93425bc7bdfa",when:null,workflow_outputs:[]},1:{annotation:"Tandem Mass Spectrometry (MS/MS) datasets",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Tandem Mass Spectrometry (MS/MS) datasets",name:"Tandem Mass Spectrometry (MS/MS) datasets"}],label:"Tandem Mass Spectrometry (MS/MS) datasets",name:"Input dataset collection",outputs:[],position:{left:260.96875,top:0},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"d6bb6e3e-ebf6-4c65-bcf7-ea9527cf8653",when:null,workflow_outputs:[]},2:{annotation:"Species UniProt Protein Database",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Species UniProt Protein Database",name:"Species UniProt Protein Database"}],label:"Species UniProt Protein Database",name:"Input dataset",outputs:[],position:{left:2.4375,top:373.22882080078125},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"b4b90dcd-9228-4aad-b51d-2f08b2d4cc0d",when:null,workflow_outputs:[]},3:{annotation:"Contaminants cRAP Protein Database",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Contaminants cRAP Protein Database",name:"Contaminants cRAP Protein Database"}],label:"Contaminants cRAP Protein Database",name:"Input dataset",outputs:[],position:{left:14.40625,top:471.45147705078125},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"ca7de659-6e60-4bd5-aa4c-a88f2860e8c9",when:null,workflow_outputs:[]},4:{annotation:"Merging FASTA files",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/fasta_merge_files_and_filter_unique_sequences/fasta_merge_files_and_filter_unique_sequences/1.2.0",errors:null,id:4,input_connections:{"batchmode|input_fastas_0|input_fasta":{id:0,output_name:"output"},"batchmode|input_fastas_1|input_fasta":{id:2,output_name:"output"},"batchmode|input_fastas_2|input_fasta":{id:3,output_name:"output"}},inputs:[],label:"Human UniProt Microbial Proteins cRAP for MetaNovo",name:"FASTA Merge Files and Filter Unique Sequences",outputs:[{name:"output",type:"fasta"}],position:{left:369.32421875,top:137.68359736327898},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Human UniProt Microbial Proteins cRAP for MetaNovo"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/fasta_merge_files_and_filter_unique_sequences/fasta_merge_files_and_filter_unique_sequences/1.2.0",tool_shed_repository:{changeset_revision:"f546e7278f04",name:"fasta_merge_files_and_filter_unique_sequences",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"accession_parser": "^>([^ ]+).*$", "batchmode": {"processmode": "individual", "__current_case__": 0, "input_fastas": [{"__index__": 0, "input_fasta": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input_fasta": {"__class__": "ConnectedValue"}}, {"__index__": 2, "input_fasta": {"__class__": "ConnectedValue"}}]}, "uniqueness_criterion": "sequence", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.0",type:"tool",uuid:"4c1b21ac-9ceb-49be-9c48-771a3fda8db4",when:null,workflow_outputs:[{label:"Human UniProt Microbial Proteins cRAP for MetaNovo",output_name:"output",uuid:"fbc778a5-f931-4b0c-b641-7782abfb4351"}]},5:{annotation:"Generating Customized Database",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/metanovo/metanovo/1.9.4+galaxy4",errors:null,id:5,input_connections:{input_fasta:{id:4,output_name:"output"},"input_type|input_mgf_collection":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool MetaNovo",name:"input_type"}],label:"Metanovo",name:"MetaNovo",outputs:[{name:"output_fasta",type:"fasta"},{name:"output_csv",type:"csv"}],position:{left:651.57421875,top:90.94140986327898},post_job_actions:{RenameDatasetActionoutput_csv:{action_arguments:{newname:"Metanovo Compact CSV database"},action_type:"RenameDatasetAction",output_name:"output_csv"},RenameDatasetActionoutput_fasta:{action_arguments:{newname:"Metanovo Compact database"},action_type:"RenameDatasetAction",output_name:"output_fasta"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/metanovo/metanovo/1.9.4+galaxy4",tool_shed_repository:{changeset_revision:"d6dcd3173bdf",name:"metanovo",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"directag": {"directag_tic_cutoff": "85", "directag_max_peak_count": "400", "directag_intensity_classes": "3", "directag_adjust_precursor": false, "directag_min_adjustment": "-2.5", "directag_max_adjustment": "2.5", "directag_adjustment_step": "0.1", "directag_charge_states": "3", "directag_ms_charge_state": false, "directag_duplicate_spectra": true, "directag_deisotoping": "0", "directag_isotope_tolerance": "0.25", "directag_complement_tolerance": "0.5", "directag_tag_length": "4", "directag_max_var_mods": "2", "directag_max_tag_count": "5", "directag_intensity_weight": "1.0", "directag_fidelity_weight": "1.0", "directag_complement_weight": "1.0"}, "fraction_analysis": {"protein_fraction_mw_confidence": "95.0"}, "gene_annotation": {"useGeneMapping": true, "updateGeneMapping": true}, "import_filters": {"import_peptide_length_min": "8", "import_peptide_length_max": "50", "import_precursor_mz_ppm": "0", "exclude_unknown_ptms": true}, "input_fasta": {"__class__": "ConnectedValue"}, "input_type": {"type": "collection", "__current_case__": 1, "input_mgf_collection": {"__class__": "ConnectedValue"}}, "metanovo_parameters": {"mn_specificity": "specific", "mn_enzymes": "Trypsin, no P rule", "mn_max_missed_cleavages": "2"}, "processing_control": {"CHUNKSIZE": "100000"}, "protein_inference": {"simplify_groups": true, "simplify_score": true, "simplify_enzymaticity": true, "simplify_evidence": true, "simplify_uncharacterized": true}, "ptm_localization": {"ptm_score": "1", "score_neutral_losses": false, "ptm_sequence_matching_type": "1", "ptm_alignment": true}, "sequence_matching": {"sequence_index_type": "0", "sequence_matching_type": "2", "sequence_matching_x": "0.25"}, "spectrum_annotation": {"annotation_level": "0.75", "annotation_high_resolution": true}, "spectrum_matching_parameters": {"prec_tol": "10.0", "prec_ppm": "1", "frag_tol": "0.01", "frag_ppm": "0", "digestion": "0", "enzyme": ["Trypsin (no P rule)"], "specificity": "0", "mc": "2", "fixed_mods": ["Carbamidomethylation of C", "TMT 10-plex of K", "TMT 10-plex of peptide N-term"], "variable_mods": ["Oxidation of M"], "min_charge": "2", "max_charge": "5", "fi": "b", "ri": "y", "min_isotope": "0", "max_isotope": "1"}, "validation_levels": {"psm_fdr": "1", "peptide_fdr": "1", "protein_fdr": "1", "group_psms": true, "group_peptides": true, "merge_subgroups": true}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.9.4+galaxy4",type:"tool",uuid:"07d51088-eb68-4ffd-b505-7228a21de93c",when:null,workflow_outputs:[{label:"Metanovo Compact database",output_name:"output_fasta",uuid:"02940034-f0fe-4151-acd0-c6982e77b717"},{label:"Metanovo Compact CSV database",output_name:"output_csv",uuid:"d7208cb6-a907-4a8b-b8b7-cf44c103d14a"}]},6:{annotation:"Merge all FASTA",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/fasta_merge_files_and_filter_unique_sequences/fasta_merge_files_and_filter_unique_sequences/1.2.0",errors:null,id:6,input_connections:{"batchmode|input_fastas_0|input_fasta":{id:0,output_name:"output"},"batchmode|input_fastas_1|input_fasta":{id:5,output_name:"output_fasta"},"batchmode|input_fastas_2|input_fasta":{id:3,output_name:"output"}},inputs:[],label:"Merge all FASTA",name:"FASTA Merge Files and Filter Unique Sequences",outputs:[{name:"output",type:"fasta"}],position:{left:924.9069441945012,top:322.62533209947645},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Human UniProt Microbial Proteins from MetaNovo cRAP"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/fasta_merge_files_and_filter_unique_sequences/fasta_merge_files_and_filter_unique_sequences/1.2.0",tool_shed_repository:{changeset_revision:"f546e7278f04",name:"fasta_merge_files_and_filter_unique_sequences",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "fasta", "accession_parser": "^>([^ ]+).*$", "batchmode": {"processmode": "individual", "__current_case__": 0, "input_fastas": [{"__index__": 0, "input_fasta": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input_fasta": {"__class__": "ConnectedValue"}}, {"__index__": 2, "input_fasta": {"__class__": "ConnectedValue"}}]}, "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "uniqueness_criterion": "sequence", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.0",type:"tool",uuid:"3880c712-4f3c-4edc-bda0-ee348ab1a2c4",when:null,workflow_outputs:[{label:"Human UniProt Microbial Proteins from MetaNovo cRAP",output_name:"output",uuid:"e3f490ef-1307-4892-bab1-6085cf8194ae"}]}},tags:["name:clinicalMP"],uuid:"758f86d1-b81e-438d-9666-bc7dc31b4627",version:10},readme:`# Clinical Metaproteomics 1: Database Generation Metaproteomics involves the large-scale identification and analysis of all proteins expressed by microbiota. However, analyzing clinical samples using metaproteomics is complicated by the presence of abundant human (host) proteins, which can obscure the detection of less abundant microbial proteins. @@ -2982,6 +5528,28 @@ For Metanovo ## [0.1] 2024-11-18 First release. +`,diagrams:`# Workflow diagrams + +## Generate a Clinical Metaproteomics Database + +\`\`\`mermaid +graph LR +0["ℹ️ Human SwissProt Protein Database"]@{ shape: doc } +1["ℹ️ Tandem Mass Spectrometry (MS/MS) datasets"]@{ shape: docs } +2["ℹ️ Species UniProt Protein Database"]@{ shape: doc } +3["ℹ️ Contaminants cRAP Protein Database"]@{ shape: doc } +4["Human UniProt Microbial Proteins cRAP for MetaNovo"]@{ shape: process } +0 --> 4 +2 --> 4 +3 --> 4 +5["Metanovo"]@{ shape: process } +4 --> 5 +1 --> 5 +6["Merge all FASTA"]@{ shape: process } +0 --> 6 +5 --> 6 +3 --> 6 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/clinicalmp-database-generation/main",tests:[{doc:"Test outline for iwc-clinicalmp-database-generation",job:{"Human SwissProt Protein Database":{class:"File",location:"https://zenodo.org/records/14181725/files/HUMAN-SwissProt-Protein-Database.fasta?download=1",filetype:"fasta"},"Species UniProt Protein Database":{class:"File",location:"https://zenodo.org/records/14181725/files/Species_UniProt_FASTA.fasta?download=1",filetype:"fasta"},"Contaminants cRAP Protein Database":{class:"File",location:"https://zenodo.org/records/14181725/files/Contaminants(cRAP)-Protein-Database.fasta?download=1",filetype:"fasta"},"Tandem Mass Spectrometry (MS/MS) datasets":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"PTRC_Skubitz_Plex2_F15_9Aug19_Rage_Rep-19-06-08.mgf",location:"https://zenodo.org/records/14181725/files/PTRC_Skubitz_Plex2_F15_9Aug19_Rage_Rep-19-06-08.mgf?download=1"},{class:"File",identifier:"PTRC_Skubitz_Plex2_F13_9Aug19_Rage_Rep-19-06-08.mgf",location:"https://zenodo.org/records/14181725/files/PTRC_Skubitz_Plex2_F13_9Aug19_Rage_Rep-19-06-08.mgf?download=1"},{class:"File",identifier:"PTRC_Skubitz_Plex2_F11_9Aug19_Rage_Rep-19-06-08.mgf",location:"https://zenodo.org/records/14181725/files/PTRC_Skubitz_Plex2_F11_9Aug19_Rage_Rep-19-06-08.mgf?download=1"},{class:"File",identifier:"PTRC_Skubitz_Plex2_F10_9Aug19_Rage_Rep-19-06-08.mgf",location:"https://zenodo.org/records/14181725/files/PTRC_Skubitz_Plex2_F10_9Aug19_Rage_Rep-19-06-08.mgf?download=1"}]}},outputs:{"Human UniProt Microbial Proteins cRAP for MetaNovo":{asserts:[{that:"has_text",text:">sp|"}]},"Metanovo Compact database":{asserts:[{that:"has_text",text:">sp|"}]},"Metanovo Compact CSV database":{asserts:[{that:"has_text",text:"index"}]},"Human UniProt Microbial Proteins from MetaNovo cRAP":{asserts:[{that:"has_text",text:">sp|"}]}}}]}],path:"./workflows/proteomics/clinicalmp/clinicalmp-database-generation"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/iwc-clinicalmp-quantitation.ga",testParameterFiles:["/iwc-clinicalmp-quantitation-tests.yml"],authors:[{name:"GalaxyP",url:"https://galaxyp.org/"}],definition:{a_galaxy_workflow:"true",annotation:"Clinical Metaproteomics 4: Quantitation ",comments:[],creator:[{class:"Organization",name:"GalaxyP"}],"format-version":"0.1",license:"CC-BY-4.0",name:"Clinical Metaproteomics Quantitation",release:"0.1",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Input protein database",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Input protein database",name:"Quantitation_Database-For-MaxQuant"}],label:"Quantitation_Database-For-MaxQuant",name:"Input dataset",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"c2311b55-b0c7-4237-bed1-4b25bf1a1655",when:null,workflow_outputs:[]},1:{annotation:"design file ",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"design file ",name:"Experimental-Design Discovery MaxQuant"}],label:"Experimental-Design Discovery MaxQuant",name:"Input dataset",outputs:[],position:{left:65.796875,top:168.203125},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"d957f00d-79a9-4e2e-8e15-088444ca5605",when:null,workflow_outputs:[]},2:{annotation:"MSMS data",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"MSMS data",name:"Input Raw-files"}],label:"Input Raw-files",name:"Input dataset collection",outputs:[],position:{left:41.671875,top:532.3671875},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"2864b493-6d12-4313-ad29-f3b1e2564aba",when:null,workflow_outputs:[]},3:{annotation:"Database searching",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/maxquant/maxquant/2.0.3.0+galaxy0",errors:null,id:3,input_connections:{"input_opts|fasta_files":{id:0,output_name:"output"},"paramGroups_0|files":{id:2,output_name:"output"},"search_opts|template":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool MaxQuant",name:"input_opts"},{description:"runtime parameter for tool MaxQuant",name:"search_opts"}],label:"MaxQuant",name:"MaxQuant",outputs:[{name:"proteinGroups",type:"tabular"},{name:"mqpar",type:"xml"},{name:"peptides",type:"tabular"},{name:"evidence",type:"tabular"},{name:"msms",type:"tabular"}],position:{left:427.9609375,top:170.17578125},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/maxquant/maxquant/2.0.3.0+galaxy0",tool_shed_repository:{changeset_revision:"9c52362ae7bb",name:"maxquant",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_opts": {"ftype": ".thermo.raw", "fasta_files": {"__class__": "ConnectedValue"}, "identifier_parse_rule": ">([^\\\\s]*)", "description_parse_rule": ">(.*)"}, "output_opts": {"dry_run": false, "output": ["proteinGroups", "mqpar", "peptides", "msms", "evidence"]}, "paramGroups": [{"__index__": 0, "files": {"__class__": "ConnectedValue"}, "maxMissedCleavages": "2", "fixedModifications": ["Carbamidomethyl (C)"], "variableModifications": ["Oxidation (M)"], "enzymes": ["Trypsin/P"], "digestion_mode": "0", "quant_method": {"select_quant_method": "reporter_ion_ms2", "__current_case__": 3, "iso_labels": {"labeling": "tmt11plex", "__current_case__": 4}, "filter_by_pif": {"filter_pif": "False", "__current_case__": 1}}}], "protein_quant": {"peptides_for_quantification": "1", "only_unmod_prot": {"unmod_prot": "True", "__current_case__": 0, "mods_used_prot_quant": ["Oxidation (M)"], "discard_unmod_cpart_peptides": true}, "lfq_opts": {"separateLfq": false, "lfqStabilizeLargeRatios": true, "lfqRequireMsms": true, "do_ibaq": {"ibaq": "False", "__current_case__": 1}, "advancedSiteIntensities": true}}, "qc": {"do_it": "false", "__current_case__": 1}, "search_opts": {"template": {"__class__": "ConnectedValue"}, "min_peptide_len": "8", "max_peptide_mass": "4600", "min_unique_pep": "0", "calc_peak_properties": false, "mbr": {"match_between_runs": "True", "__current_case__": 1, "matching_time_window": "0.7", "matching_ion_mobility_window": "0.05", "alignment_time_window": "20", "alignment_ion_mobility_window": "1", "match_unidentified_features": false}, "incl_contaminants": false, "decoy_mode": "revert", "psm_fdr": "0.01", "protein_fdr": "0.01", "min_pep_length": "8", "max_pep_length": "50"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.3.0+galaxy0",type:"tool",uuid:"7e8ec7d9-8fe8-4cf0-a2b3-6358b96c7af5",when:null,workflow_outputs:[]},4:{annotation:"extracting microbial Proteins",content_id:"Grep1",errors:null,id:4,input_connections:{input:{id:3,output_name:"proteinGroups"}},inputs:[],label:"extracting microbial Proteins",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:701.3374260878941,top:226.36456298828125},post_job_actions:{},tool_id:"Grep1",tool_state:'{"__input_ext": "input", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "invert": "-v", "keep_header": false, "pattern": "(_HUMAN)|(_REVERSED)|(CON)|(con)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"ee371998-9bf4-4462-abad-63d6a73b995e",when:null,workflow_outputs:[]},5:{annotation:"extracting microbial Peptides",content_id:"Grep1",errors:null,id:5,input_connections:{input:{id:3,output_name:"peptides"}},inputs:[],label:"extracting microbial Peptides",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:700.39453125,top:350.8984375},post_job_actions:{},tool_id:"Grep1",tool_state:'{"__input_ext": "input", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "invert": "-v", "keep_header": false, "pattern": "(_HUMAN)|(_REVERSED)|(CON)|(con)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"72ea8f91-5de4-43bc-a2c9-264491627eb2",when:null,workflow_outputs:[]},6:{annotation:"extract proteins",content_id:"Cut1",errors:null,id:6,input_connections:{input:{id:4,output_name:"out_file1"}},inputs:[],label:"extract proteins",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:966.0546875,top:189.30078125},post_job_actions:{},tool_id:"Cut1",tool_state:'{"__input_ext": "tabular", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "columnList": "c1", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"44654f5d-e388-4604-bd61-8eda7bd71152",when:null,workflow_outputs:[]},7:{annotation:"extract peptides",content_id:"Cut1",errors:null,id:7,input_connections:{input:{id:5,output_name:"out_file1"}},inputs:[],label:"extract peptides",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:936.2249993300816,top:350.8452453613281},post_job_actions:{},tool_id:"Cut1",tool_state:'{"__input_ext": "tabular", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "columnList": "c1", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"c8cc87cd-13ec-418a-8f95-d0d23dd37e6c",when:null,workflow_outputs:[]},8:{annotation:"Quantified-Proteins",content_id:"Grouping1",errors:null,id:8,input_connections:{input1:{id:6,output_name:"out_file1"}},inputs:[],label:"Quantified-Proteins",name:"Group",outputs:[{name:"out_file1",type:"tabular"}],position:{left:1221.822265625,top:177.025390625},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Quantified-Proteins"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grouping1",tool_state:'{"__input_ext": "tabular", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "groupcol": "1", "ignorecase": false, "ignorelines": null, "input1": {"__class__": "ConnectedValue"}, "operations": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.4",type:"tool",uuid:"d76c6369-3878-45de-9b28-45ae510ba481",when:null,workflow_outputs:[{label:"Quantified-Proteins",output_name:"out_file1",uuid:"57a2ff00-7ad2-4fbb-aafb-6b8323bd23c3"}]},9:{annotation:"Quantified-Peptides",content_id:"Grouping1",errors:null,id:9,input_connections:{input1:{id:7,output_name:"out_file1"}},inputs:[],label:"Quantified-Peptides",name:"Group",outputs:[{name:"out_file1",type:"tabular"}],position:{left:1213.8046875,top:342.296875},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Quantified-Peptides"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grouping1",tool_state:'{"__input_ext": "tabular", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "groupcol": "1", "ignorecase": false, "ignorelines": null, "input1": {"__class__": "ConnectedValue"}, "operations": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.4",type:"tool",uuid:"019fe847-4fb9-441f-9450-505f855434e7",when:null,workflow_outputs:[{label:"Quantified-Peptides",output_name:"out_file1",uuid:"41b20ef9-acef-4b1d-9a93-1df0c1447a03"}]}},tags:["name:clinicalMP"],uuid:"e21d954c-bb46-46f3-8081-0095b6b0de1f",version:1},readme:`# Clinical Metaproteomics 4: Quantitation Quantitative proteomics is crucial for many important purposes. It allows researchers to measure and compare the levels of proteins or peptides in biological samples. This provides valuable insights into biomarker discovery, comparative analysis, and differential expression studies. Quantitative proteomics also helps in understanding the functional roles of proteins, the composition of protein complexes, and the effects of drugs on protein expression in pharmacological studies. Additionally, it serves as a quality control measure by validating initial protein identifications and providing data normalization for increased accuracy. The quantitative data are essential for hypothesis testing, and systems biology, and have clinical relevance in areas such as disease diagnosis, prognosis, and therapeutic decision-making. In summary, the quantitation workflow in proteomics is essential for understanding the complexities of protein expression and regulation, and it facilitates a wide range of biological and clinical applications. @@ -3007,6 +5575,32 @@ For MaxQuant - extract microbial proteins and peptides using Select and Cut - Grouping duplicates using the Group tool +`,changelog:null,diagrams:`# Workflow diagrams + +## Clinical Metaproteomics Quantitation + +\`\`\`mermaid +graph LR +0["ℹ️ Quantitation_Database-For-MaxQuant"]@{ shape: doc } +1["ℹ️ Experimental-Design Discovery MaxQuant"]@{ shape: doc } +2["ℹ️ Input Raw-files"]@{ shape: docs } +3["MaxQuant"]@{ shape: process } +0 --> 3 +2 --> 3 +1 --> 3 +4["extracting microbial Proteins"]@{ shape: process } +3 --> 4 +5["extracting microbial Peptides"]@{ shape: process } +3 --> 5 +6["extract proteins"]@{ shape: process } +4 --> 6 +7["extract peptides"]@{ shape: process } +5 --> 7 +8["Quantified-Proteins"]@{ shape: process } +6 --> 8 +9["Quantified-Peptides"]@{ shape: process } +7 --> 9 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/clinicalmp-quantitation/main",tests:[{doc:"Test outline for iwc-clinicalmp-quantitation",job:{"Quantitation_Database-For-MaxQuant":{class:"File",location:"https://zenodo.org/records/10720030/files/Quantitation_Database_for_MaxQuant.fasta",filetype:"fasta"},"Experimental-Design Discovery MaxQuant":{class:"File",location:"https://zenodo.org/records/10720030/files/Experimental-Design_Discovery_MaxQuant.tabular",filetype:"tabular"},"Input Raw-files":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"PTRC_Skubitz_Plex2_F15_9Aug19_Rage_Rep-19-06-08.raw",location:"https://zenodo.org/records/10720030/files/PTRC_Skubitz_Plex2_F15_9Aug19_Rage_Rep-19-06-08.raw"},{class:"File",identifier:"PTRC_Skubitz_Plex2_F13_9Aug19_Rage_Rep-19-06-08.raw",location:"https://zenodo.org/records/10720030/files/PTRC_Skubitz_Plex2_F13_9Aug19_Rage_Rep-19-06-08.raw"},{class:"File",identifier:"PTRC_Skubitz_Plex2_F11_9Aug19_Rage_Rep-19-06-08.raw",location:"https://zenodo.org/records/10720030/files/PTRC_Skubitz_Plex2_F11_9Aug19_Rage_Rep-19-06-08.raw"},{class:"File",identifier:"PTRC_Skubitz_Plex2_F10_9Aug19_Rage_Rep-19-06-08.raw",location:"https://zenodo.org/records/10720030/files/PTRC_Skubitz_Plex2_F10_9Aug19_Rage_Rep-19-06-08.raw"}]}},outputs:{"Quantified-Proteins":{path:"test-data/Quantified-Proteins.tabular"},"Quantified-Peptides":{path:"test-data/Quantified-Peptides.tabular"}}}]}],path:"./workflows/proteomics/clinicalmp/clinicalmp-quantitation"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/clinicalmp-verification.ga",testParameterFiles:["/clinicalmp-verification-tests.yml"],authors:[{name:"Pratik Jagtap",orcid:"0000-0003-0984-0973"}],definition:{a_galaxy_workflow:"true",annotation:"In proteomics research, verifying detected peptides is essential for ensuring data accuracy and biological relevance. This tutorial continues from the clinical metaproteomics discovery workflow, focusing on verifying identified microbial peptides using the PepQuery tool.",comments:[],creator:[{class:"Organization",identifier:"0000-0003-0984-0973",name:"Pratik Jagtap"}],"format-version":"0.1",license:"CC-BY-4.0",name:"Clinical Metaproteomics Verification Workflow",release:"0.1",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/dbbuilder/dbbuilder/0.3.4",errors:null,id:0,input_connections:{},inputs:[],label:"Human UniProt Isoforms FASTA",name:"Protein Database Downloader",outputs:[{name:"output_database",type:"fasta"}],position:{left:0,top:0},post_job_actions:{RenameDatasetActionoutput_database:{action_arguments:{newname:"Human UniProt+Isoforms FASTA"},action_type:"RenameDatasetAction",output_name:"output_database"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/dbbuilder/dbbuilder/0.3.4",tool_shed_repository:{changeset_revision:"983bf725dfc2",name:"dbbuilder",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "data", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "source": {"from": "uniprot", "__current_case__": 0, "taxon": "9606", "taxon_id": null, "reviewed": "", "set": "keyword:KW-1185", "include_isoform": true}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.3.4",type:"tool",uuid:"5fd79188-e100-4341-bd0f-866038115166",when:null,workflow_outputs:[{label:"Human UniProt+Isoforms FASTA",output_name:"output_database",uuid:"782c5789-e1ac-4dcf-8f97-05325930ea0d"}]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/dbbuilder/dbbuilder/0.3.4",errors:null,id:1,input_connections:{},inputs:[],label:"cRAP",name:"Protein Database Downloader",outputs:[{name:"output_database",type:"fasta"}],position:{left:20.775440205938253,top:196.89138890513698},post_job_actions:{RenameDatasetActionoutput_database:{action_arguments:{newname:"cRAP"},action_type:"RenameDatasetAction",output_name:"output_database"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/dbbuilder/dbbuilder/0.3.4",tool_shed_repository:{changeset_revision:"983bf725dfc2",name:"dbbuilder",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "data", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "source": {"from": "cRAP", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.3.4",type:"tool",uuid:"27b84e7a-ad80-4852-82b5-3f35edeeff53",when:null,workflow_outputs:[{label:"cRAP",output_name:"output_database",uuid:"2ba03427-1c51-4293-b05e-e0265f3cc813"}]},2:{annotation:"The MGF files from mass spectrometry data.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"The MGF files from mass spectrometry data.",name:"Input MGFs"}],label:"Tandem Mass Spectrometry (MS/MS) datasets",name:"Input dataset collection",outputs:[],position:{left:26.467106653090468,top:441.64657624309564},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"651e8fe7-c4dc-48f0-8a8b-cb3b3e26f152",when:null,workflow_outputs:[]},3:{annotation:"The peptide report from SearchGUI/PeptideShaker.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"The peptide report from SearchGUI/PeptideShaker.",name:"SGPS peptide report"}],label:"SGPS peptide report",name:"Input dataset",outputs:[],position:{left:49.219598040314054,top:775.0615167366277},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"95e78101-a2bf-4730-bc04-275471ea0b36",when:null,workflow_outputs:[]},4:{annotation:"Microbial peptides that will be used for PepQuery2 analysis.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Microbial peptides that will be used for PepQuery2 analysis.",name:"Distinct Peptides for PepQuery"}],label:"Distinct Peptides for PepQuery",name:"Input dataset",outputs:[],position:{left:974.964669791108,top:210.36937340005647},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"2211e22a-293b-4bed-8f3d-1ad06f4b5bd6",when:null,workflow_outputs:[]},5:{annotation:"Peptide report from MaxQuant search.",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Peptide report from MaxQuant search.",name:"MaxQuant peptide report"}],label:"MaxQuant peptide report",name:"Input dataset",outputs:[],position:{left:29.12351833088178,top:1007.203580787368},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"e58dd2a2-d2b7-4d4f-b41e-8f74cafa41ad",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/fasta_merge_files_and_filter_unique_sequences/fasta_merge_files_and_filter_unique_sequences/1.2.0",errors:null,id:6,input_connections:{"batchmode|input_fastas_0|input_fasta":{id:0,output_name:"output_database"},"batchmode|input_fastas_1|input_fasta":{id:1,output_name:"output_database"}},inputs:[],label:"Human UniProt Isoforms cRAP FASTA",name:"FASTA Merge Files and Filter Unique Sequences",outputs:[{name:"output",type:"fasta"}],position:{left:497.09213191562515,top:177.90819833483664},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Human UniProt+Isoforms+cRAP FASTA"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/fasta_merge_files_and_filter_unique_sequences/fasta_merge_files_and_filter_unique_sequences/1.2.0",tool_shed_repository:{changeset_revision:"f546e7278f04",name:"fasta_merge_files_and_filter_unique_sequences",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "fasta", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "accession_parser": "^>([^ ]+).*$", "batchmode": {"processmode": "individual", "__current_case__": 0, "input_fastas": [{"__index__": 0, "input_fasta": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input_fasta": {"__class__": "ConnectedValue"}}]}, "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "uniqueness_criterion": "sequence", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.0",type:"tool",uuid:"a56471d8-efad-4acc-b4b0-f29104b03670",when:null,workflow_outputs:[{label:"Human UniProt+Isoforms+cRAP FASTA",output_name:"output",uuid:"da7f5f25-ed5e-4349-a385-34ac99e6acd8"}]},7:{annotation:"",content_id:"Cut1",errors:null,id:7,input_connections:{input:{id:3,output_name:"output"}},inputs:[],label:"SGPS Cut",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:436.9729921443104,top:787.605861962579},post_job_actions:{},tool_id:"Cut1",tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "columnList": "c6,c2", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"2bf85070-1a5f-49c8-a8ce-f273720f53dc",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"Cut1",errors:null,id:8,input_connections:{input:{id:5,output_name:"output"}},inputs:[],label:"MQ Cut",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:448.2414801728456,top:1099.886206236094},post_job_actions:{},tool_id:"Cut1",tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "columnList": "c1,c35", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"3287732b-c14d-471b-ba5a-0cfd95c9aff6",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/pepquery2/pepquery2/2.0.2+galaxy2",errors:null,id:9,input_connections:{"req_inputs|db_type|db_file":{id:6,output_name:"output"},"req_inputs|input_type|multiple|input":{id:4,output_name:"output"},"req_inputs|ms_dataset|spectrum_files":{id:2,output_name:"output"}},inputs:[],label:"PepQuery2",name:"PepQuery2",outputs:[{name:"log_txt",type:"txt"},{name:"psm_rank_txt",type:"tabular"}],position:{left:1200.1863890085322,top:479.9317148105498},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/pepquery2/pepquery2/2.0.2+galaxy2",tool_shed_repository:{changeset_revision:"c32806a80862",name:"pepquery2",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "digestion": {"enzyme": "1", "max_missed_cleavages": "2"}, "fast": false, "modifications": {"fixed_mod": ["1", "13", "14"], "var_mod": ["2"], "max_mods": null, "unmodified": true, "aa": true}, "ms_params": {"tolerance_params": {"precursor_tolerance": "10", "precursor_unit": "ppm", "tolerance": "0.6"}, "search": {"frag_method": "1", "scoring_method": "1", "extra_score_validation": false, "min_charge": "2", "max_charge": "6", "min_peaks": null, "isotope_error": "", "min_score": null, "min_length": null, "max_length": null, "num_random_peptides": null}}, "outputs_selected": "psm_rank.txt", "parameter_set": "", "req_inputs": {"input_type": {"input_type_selector": "peptide", "__current_case__": 0, "multiple": {"peptide_input_selector": "multiple", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}, "db_type": {"db_type_selector": "history", "__current_case__": 0, "db_file": {"__class__": "ConnectedValue"}}, "ms_dataset": {"ms_dataset_type": "history", "__current_case__": 0, "spectrum_files": {"__class__": "ConnectedValue"}}, "indexType": "2"}, "validation": {"task_type": "novel", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.2+galaxy2",type:"tool",uuid:"aa965340-309e-4876-bb38-1f65fe045e7c",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"Remove beginning1",errors:null,id:10,input_connections:{input:{id:7,output_name:"out_file1"}},inputs:[],label:"SGPS Remove Beginner",name:"Remove beginning",outputs:[{name:"out_file1",type:"input"}],position:{left:801.3730129932684,top:779.6493516759031},post_job_actions:{},tool_id:"Remove beginning1",tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "num_lines": "1", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"9edd4d67-68bb-46e8-a5a1-dc41caa2a798",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"Remove beginning1",errors:null,id:11,input_connections:{input:{id:8,output_name:"out_file1"}},inputs:[],label:"MQ Remove Beginner",name:"Remove beginning",outputs:[{name:"out_file1",type:"input"}],position:{left:851.7817140618107,top:920.7620488798409},post_job_actions:{},tool_id:"Remove beginning1",tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "num_lines": "1", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"dd2e96ad-4713-41de-ac42-7fe39d782f60",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:12,input_connections:{input_list:{id:9,output_name:"psm_rank_txt"}},inputs:[],label:"Collapse Collection",name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:1488.346878408912,top:364.29121937931995},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "input", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "filename": {"add_name": false, "__current_case__": 1}, "input_list": {"__class__": "ConnectedValue"}, "one_header": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"0aacd94f-278b-45d1-a674-fbd42e5f7eb0",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1",errors:null,id:13,input_connections:{inputs:[{id:10,output_name:"out_file1"},{id:11,output_name:"out_file1"}]},inputs:[],label:"Concatenate datasets",name:"Concatenate datasets",outputs:[{name:"out_file1",type:"input"}],position:{left:1271.4098936773632,top:1059.406265472264},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "inputs": {"__class__": "ConnectedValue"}, "queries": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"b6d41190-2aef-40cc-9764-324a5307aec6",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"Filter1",errors:null,id:14,input_connections:{input:{id:12,output_name:"output"}},inputs:[],label:"Filter",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1559.7817684575534,top:623.6693261138875},post_job_actions:{},tool_id:"Filter1",tool_state:`{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "cond": "c20=='Yes'", "header_lines": "1", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"1.1.1",type:"tool",uuid:"e4b875ee-a9ff-4c72-8684-0bac2232045d",when:null,workflow_outputs:[]},15:{annotation:"",content_id:"Remove beginning1",errors:null,id:15,input_connections:{input:{id:14,output_name:"out_file1"}},inputs:[],label:"Filter Remove beginning",name:"Remove beginning",outputs:[{name:"out_file1",type:"input"}],position:{left:1779.7816859216491,top:624.5489443634883},post_job_actions:{},tool_id:"Remove beginning1",tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "num_lines": "1", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"68cb09b4-f29a-480b-adc4-f3b9a957180b",when:null,workflow_outputs:[]},16:{annotation:"",content_id:"Cut1",errors:null,id:16,input_connections:{input:{id:15,output_name:"out_file1"}},inputs:[],label:"FRB Cut",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:1999.7817115852936,top:625.4286563925251},post_job_actions:{},tool_id:"Cut1",tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "columnList": "c1", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"ce9461a1-41e4-42f8-a4b5-82ab53ba0280",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/query_tabular/query_tabular/3.3.2",errors:null,id:17,input_connections:{"tables_0|table":{id:16,output_name:"out_file1"},"tables_1|table":{id:13,output_name:"out_file1"}},inputs:[],label:"Peptide and Protein from Peptide Reports",name:"Query Tabular",outputs:[{name:"output",type:"tabular"}],position:{left:2219.7817115852936,top:625.4286563925251},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Peptide and Protein from Peptide Reports"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/query_tabular/query_tabular/3.3.2",tool_shed_repository:{changeset_revision:"cf4397560712",name:"query_tabular",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "add_to_database": {"withdb": null}, "addqueries": {"queries": []}, "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "modify_database": {"sql_stmts": []}, "query_result": {"header": "yes", "__current_case__": 0, "header_prefix": ""}, "save_db": false, "sqlquery": "select pep.mpep, prot.prot\\nFROM pep\\nINNER JOIN prot on pep.mpep=prot.pep ", "tables": [{"__index__": 0, "table": {"__class__": "ConnectedValue"}, "input_opts": {"linefilters": []}, "tbl_opts": {"table_name": "pep", "column_names_from_first_line": false, "col_names": "mpep", "load_named_columns": false, "pkey_autoincr": "", "indexes": []}}, {"__index__": 1, "table": {"__class__": "ConnectedValue"}, "input_opts": {"linefilters": []}, "tbl_opts": {"table_name": "prot", "column_names_from_first_line": false, "col_names": "pep,prot", "load_named_columns": false, "pkey_autoincr": "", "indexes": []}}], "workdb": "workdb.sqlite", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.3.2",type:"tool",uuid:"d62c05c8-883c-4b12-b057-79aa1956713e",when:null,workflow_outputs:[{label:"Peptide and Protein from Peptide Reports",output_name:"output",uuid:"aaca61f9-da59-4bbd-a2e9-24e3f5abab07"}]},18:{annotation:"",content_id:"Remove beginning1",errors:null,id:18,input_connections:{input:{id:17,output_name:"output"}},inputs:[],label:"PPPR Remove beginning",name:"Remove beginning",outputs:[{name:"out_file1",type:"input"}],position:{left:2439.7817115852936,top:625.4286563925251},post_job_actions:{},tool_id:"Remove beginning1",tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "input": {"__class__": "ConnectedValue"}, "num_lines": "1", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"78d58065-2258-40d6-9b5f-7452a4c087d2",when:null,workflow_outputs:[]},19:{annotation:"",content_id:"Grouping1",errors:null,id:19,input_connections:{input1:{id:18,output_name:"out_file1"}},inputs:[],label:"Group",name:"Group",outputs:[{name:"out_file1",type:"tabular"}],position:{left:2659.7818389962604,top:624.5489443634883},post_job_actions:{},tool_id:"Grouping1",tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "groupcol": "1", "ignorecase": false, "ignorelines": null, "input1": {"__class__": "ConnectedValue"}, "operations": [{"__index__": 0, "optype": "cat_uniq", "opcol": "2", "opround": "no", "opdefault": null}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.4",type:"tool",uuid:"3597c830-1bf0-4e8a-92c3-2a8ec5a6e704",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/query_tabular/query_tabular/3.3.2",errors:null,id:20,input_connections:{"tables_0|table":{id:19,output_name:"out_file1"}},inputs:[],label:"Uniprot ID from verified Peptides",name:"Query Tabular",outputs:[{name:"output",type:"tabular"}],position:{left:2545.114966014936,top:878.0953618681222},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Uniprot ID from verified Peptides"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/query_tabular/query_tabular/3.3.2",tool_shed_repository:{changeset_revision:"cf4397560712",name:"query_tabular",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "add_to_database": {"withdb": null}, "addqueries": {"queries": []}, "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "modify_database": {"sql_stmts": []}, "query_result": {"header": "no", "__current_case__": 1}, "save_db": false, "sqlquery": "SELECT distinct(prot) AS Accession \\nfrom t1", "tables": [{"__index__": 0, "table": {"__class__": "ConnectedValue"}, "input_opts": {"linefilters": [{"__index__": 0, "filter": {"filter_type": "normalize", "__current_case__": 12, "columns": "2", "separator": ";"}}, {"__index__": 1, "filter": {"filter_type": "replace", "__current_case__": 11, "column": "2", "regex_pattern": "(tr|sp)[|]", "regex_replace": "", "add": null}}, {"__index__": 2, "filter": {"filter_type": "replace", "__current_case__": 11, "column": "2", "regex_pattern": "[ ]+", "regex_replace": "", "add": null}}, {"__index__": 3, "filter": {"filter_type": "replace", "__current_case__": 11, "column": "2", "regex_pattern": "[|].*$", "regex_replace": "", "add": null}}, {"__index__": 4, "filter": {"filter_type": "normalize", "__current_case__": 12, "columns": "2", "separator": ","}}]}, "tbl_opts": {"table_name": "t1", "column_names_from_first_line": true, "col_names": "pep,prot", "load_named_columns": false, "pkey_autoincr": "", "indexes": []}}], "workdb": "workdb.sqlite", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.3.2",type:"tool",uuid:"8e2944b5-7681-443f-a8fd-b7da28aed0bc",when:null,workflow_outputs:[{label:"Uniprot ID from verified Peptides",output_name:"output",uuid:"3f94bf2c-64a1-4064-96a6-906c8495afe7"}]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/uniprotxml_downloader/uniprotxml_downloader/2.4.0",errors:null,id:21,input_connections:{"input_method|id_file":{id:20,output_name:"output"}},inputs:[{description:"runtime parameter for tool UniProt",name:"input_method"}],label:"UniProt",name:"UniProt",outputs:[{name:"proteome",type:"uniprotxml"}],position:{left:2657.781714061811,top:1098.0954229032784},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/uniprotxml_downloader/uniprotxml_downloader/2.4.0",tool_shed_repository:{changeset_revision:"a371252a2cf6",name:"uniprotxml_downloader",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "input", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "format": "fasta", "input_method": {"input_choice": "history", "__current_case__": 2, "id_file": {"__class__": "ConnectedValue"}, "column": "1", "field": "accession"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.4.0",type:"tool",uuid:"93ad396e-e41b-4ea8-8d90-c28e0ca1d0c7",when:null,workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/fasta_merge_files_and_filter_unique_sequences/fasta_merge_files_and_filter_unique_sequences/1.2.0",errors:null,id:22,input_connections:{"batchmode|input_fastas_0|input_fasta":{id:0,output_name:"output_database"},"batchmode|input_fastas_1|input_fasta":{id:1,output_name:"output_database"},"batchmode|input_fastas_2|input_fasta":{id:21,output_name:"proteome"}},inputs:[],label:"Quantitation Database for MaxQuant",name:"FASTA Merge Files and Filter Unique Sequences",outputs:[{name:"output",type:"fasta"}],position:{left:3070.223999018992,top:1289.3686346167783},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Quantitation Database for MaxQuant"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/fasta_merge_files_and_filter_unique_sequences/fasta_merge_files_and_filter_unique_sequences/1.2.0",tool_shed_repository:{changeset_revision:"f546e7278f04",name:"fasta_merge_files_and_filter_unique_sequences",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "fasta", "__workflow_invocation_uuid__": "08a702aa736d11ee91a5001e67d2ec02", "accession_parser": "^>([^ ]+).*$", "batchmode": {"processmode": "individual", "__current_case__": 0, "input_fastas": [{"__index__": 0, "input_fasta": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input_fasta": {"__class__": "ConnectedValue"}}, {"__index__": 2, "input_fasta": {"__class__": "ConnectedValue"}}]}, "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/?.len", "uniqueness_criterion": "sequence", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.0",type:"tool",uuid:"07901f80-c71e-431e-9b18-21fb781afa29",when:null,workflow_outputs:[{label:"Quantitation Database for MaxQuant",output_name:"output",uuid:"a7ee74bc-8d8b-4f0f-a00c-01197f92ab01"}]}},tags:["name:clinicalMP"],uuid:"22302833-4954-4414-8725-d8bf74d6ffd0",version:2},readme:`# Clinical Metaproteomics 3: Verification This workflow uses the PepQuery tool to verify peptides discovered with the clinical metaproteomics discovery workflow. The PepQuery tool outputs verified peptides that can be used to generate a verified protein database that can be used for the clinical metaproteomics quantitation workflow. @@ -3040,6 +5634,60 @@ Extract protein sequences for the verified peptides. ## [0.1] 2024-11-19 First release. +`,diagrams:`# Workflow diagrams + +## Clinical Metaproteomics Verification Workflow + +\`\`\`mermaid +graph LR +0["Human UniProt Isoforms FASTA"]@{ shape: process } +1["cRAP"]@{ shape: process } +2["ℹ️ Tandem Mass Spectrometry (MS/MS) datasets"]@{ shape: docs } +3["ℹ️ SGPS peptide report"]@{ shape: doc } +4["ℹ️ Distinct Peptides for PepQuery"]@{ shape: doc } +5["ℹ️ MaxQuant peptide report"]@{ shape: doc } +6["Human UniProt Isoforms cRAP FASTA"]@{ shape: process } +0 --> 6 +1 --> 6 +7["SGPS Cut"]@{ shape: process } +3 --> 7 +8["MQ Cut"]@{ shape: process } +5 --> 8 +9["PepQuery2"]@{ shape: process } +6 --> 9 +4 --> 9 +2 --> 9 +10["SGPS Remove Beginner"]@{ shape: process } +7 --> 10 +11["MQ Remove Beginner"]@{ shape: process } +8 --> 11 +12["Collapse Collection"]@{ shape: process } +9 --> 12 +13["Concatenate datasets"]@{ shape: process } +10 --> 13 +11 --> 13 +14["Filter"]@{ shape: process } +12 --> 14 +15["Filter Remove beginning"]@{ shape: process } +14 --> 15 +16["FRB Cut"]@{ shape: process } +15 --> 16 +17["Peptide and Protein from Peptide Reports"]@{ shape: process } +16 --> 17 +13 --> 17 +18["PPPR Remove beginning"]@{ shape: process } +17 --> 18 +19["Group"]@{ shape: process } +18 --> 19 +20["Uniprot ID from verified Peptides"]@{ shape: process } +19 --> 20 +21["UniProt"]@{ shape: process } +20 --> 21 +22["Quantitation Database for MaxQuant"]@{ shape: process } +0 --> 22 +1 --> 22 +21 --> 22 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/clinicalmp-verification/main",tests:[{doc:"Test outline for Clinical Metaproteomics Verification Workflow",job:{"SGPS peptide report":{class:"File",path:"test-data/SGPS_peptide-report.tabular",filetype:"tabular"},"Distinct Peptides for PepQuery":{class:"File",path:"test-data/Distinct_Peptides_for_PepQuery.tabular",filetype:"tabular"},"MaxQuant peptide report":{class:"File",path:"test-data/MaxQuant-peptide-report.tabular",filetype:"tabular"},"Tandem Mass Spectrometry (MS/MS) datasets":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"PTRC_Skubitz_Plex2_F15_9Aug19_Rage_Rep-19-06-08.mgf",location:"https://zenodo.org/records/14181725/files/PTRC_Skubitz_Plex2_F15_9Aug19_Rage_Rep-19-06-08.mgf"},{class:"File",identifier:"PTRC_Skubitz_Plex2_F13_9Aug19_Rage_Rep-19-06-08.mgf",location:"https://zenodo.org/records/14181725/files/PTRC_Skubitz_Plex2_F13_9Aug19_Rage_Rep-19-06-08.mgf"},{class:"File",identifier:"PTRC_Skubitz_Plex2_F11_9Aug19_Rage_Rep-19-06-08.mgf",location:"https://zenodo.org/records/14181725/files/PTRC_Skubitz_Plex2_F11_9Aug19_Rage_Rep-19-06-08.mgf"},{class:"File",identifier:"PTRC_Skubitz_Plex2_F10_9Aug19_Rage_Rep-19-06-08.mgf",location:"https://zenodo.org/records/14181725/files/PTRC_Skubitz_Plex2_F10_9Aug19_Rage_Rep-19-06-08.mgf"}]}},outputs:{"Human UniProt+Isoforms FASTA":{asserts:{has_text:{text:">sp"}}},cRAP:{path:"test-data/cRAP.fasta"},"Human UniProt+Isoforms+cRAP FASTA":{asserts:{has_text:{text:">sp"}}},"Peptide and Protein from Peptide Reports":{path:"test-data/Peptide_and_Protein_from_Peptide_Reports.tabular"},"Uniprot ID from verified Peptides":{path:"test-data/Uniprot-ID_from_verified_Peptides.tabular"},"Quantitation Database for MaxQuant":{asserts:{has_text:{text:">tr"}}}}}]}],path:"./workflows/proteomics/clinicalmp/clinicalmp-verification"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/iwc-clinicalmp-discovery-workflow.ga",testParameterFiles:["/iwc-clinicalmp-discovery-workflow-tests.yml"],authors:[{name:"Subina Mehta",orcid:"0000-0001-9818-0537"}],definition:{a_galaxy_workflow:"true",annotation:"Workflow for clinical metaproteomics database searching",comments:[],creator:[{class:"Organization",identifier:"0000-0001-9818-0537",name:"Subina Mehta"}],"format-version":"0.1",license:"CC-BY-4.0",name:"Clinical Metaproteomics Discovery Workflow",release:"0.1",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Adding decoys to MetaNovo Human SwissProt cRAP to improve FDR",name:"Human UniProt Microbial Proteins from MetaNovo and cRAP"}],label:"Human UniProt Microbial Proteins from MetaNovo and cRAP",name:"Input dataset",outputs:[],position:{left:249.51593017578125,top:272.60801696777344},tool_id:null,tool_state:'{"optional": false, "format": ["fasta"], "tag": null}',tool_version:null,type:"data_input",uuid:"c0c1c1cf-e899-4b8e-b1b1-6a4f24d87ad1",when:null,workflow_outputs:[]},1:{annotation:"identification parameters for SGPS",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/peptideshaker/ident_params/4.0.41+galaxy1",errors:null,id:1,input_connections:{},inputs:[],label:"IdentificationParameters:PAR file",name:"Identification Parameters",outputs:[{name:"Identification_Parameters_File",type:"json"}],position:{left:814.9930419921875,top:0},post_job_actions:{RenameDatasetActionIdentification_Parameters_File:{action_arguments:{newname:"Identification Parameters (PAR)"},action_type:"RenameDatasetAction",output_name:"Identification_Parameters_File"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/peptideshaker/ident_params/4.0.41+galaxy1",tool_shed_repository:{changeset_revision:"3ec27b4cee7c",name:"peptideshaker",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"spectrum_annotation_options": {"annotation_level": "0.75", "annotation_mz_tolerance": "0.5", "annotation_high_resolution": true}, "sequence_matching_options": {"sequence_matching_type": "2", "sequence_matching_x": "0.25", "sequence_matching_enzymatic_tags": false, "sequence_matching_max_ptms_per_tag": "3", "sequence_matching_min_amino_acid_score": "30", "sequence_matching_min_tag_length": "3"}, "import_filters_options": {"min_peptide_length": "8", "max_peptide_length": "30", "max_precursor_error": "10.0", "max_precursor_error_type": "1", "missed_cleavages_min": null, "missed_cleavages_max": null, "exclude_unknown_ptms": true}, "ptm_localization_options": {"ptm_score": {"ptm_score_selector": "1", "__current_case__": 0, "score_neutral_losses": false, "ptm_threshold": "95.0"}, "ptm_sequence_matching_type": "1", "ptm_alignment": true}, "gene_annotation_options": {"use_gene_mapping": false, "update_gene_mapping": false}, "protein_inference_options": {"simplify_protein_groups_conditional": {"simplify_protein_groups_selector": "yes", "__current_case__": 1, "simplify_protein_groups_evidence": true, "simplify_protein_groups_confidence": true, "simplify_protein_groups_confidence_threshold": "0.05", "simplify_protein_groups_enzymaticity": true, "simplify_protein_groups_variant": true}, "simplify_protein_pi_modifications": true}, "validation_levels_options": {"protein_fdr": "1.0", "peptide_fdr": "1.0", "psm_fdr": "1.0"}, "fraction_analysis_options": {"protein_fraction_mw_confidence": "95.0"}, "database_processing_options": {"decoy_conditional": {"create_decoy_selector": "yes", "__current_case__": 1, "decoy_tag": "_REVERSED", "decoy_type": "1"}, "decoy_file_tag": "_concatenated_target_decoy"}}, "searchengines_options": {"xtandem": {"xtandem_advanced": "no", "__current_case__": 0}, "myrimatch": {"myrimatch_advanced": "no", "__current_case__": 0}, "msgf": {"msgf_advanced": "no", "__current_case__": 0}, "ms_amanda": {"ms_amanda_advanced": "no", "__current_case__": 0}, "omssa": {"omssa_advanced": "no", "__current_case__": 0}, "comet": {"comet_advanced": "no", "__current_case__": 0}, "tide": {"tide_advanced": "no", "__current_case__": 0}, "directtag": {"directtag_advanced": "no", "__current_case__": 0}, "metamorpheus": {"metamorpheus_advanced": "no", "__current_case__": 0}, "novor": {"novor_advanced": "no", "__current_case__": 0}, "pepnovo": {"pepnovo_advanced": "no", "__current_case__": 0}, "pnovo": {"pnovo_advanced": "no", "__current_case__": 0}}, "spectrum_matching_options": {"fixed_modifications": ["Carbamidomethylation of C", "TMT 11-plex of K+4", "TMT 11-plex of peptide N-term"], "variable_modifications": ["Oxidation of M"], "digestion": {"cleavage": "0", "__current_case__": 0, "digests": [{"__index__": 0, "enzyme": "Trypsin", "missed_cleavages": "2", "specificity": "0"}]}, "precursor_ion_tol_units": "1", "precursor_ion_tol": "10.0", "fragment_tol_units": "0", "fragment_tol": "0.6", "min_charge": "2", "max_charge": "6", "forward_ion": "b", "reverse_ion": "y", "min_isotope": "0", "max_isotope": "1"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.0.41+galaxy1",type:"tool",uuid:"abaf5892-7976-4526-9cf6-a0c96b9222ea",when:null,workflow_outputs:[]},2:{annotation:"Input Raw files",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Input Raw files",name:"Tandem Mass Spectrometry MSMS files"}],label:"Tandem Mass Spectrometry MSMS files",name:"Input dataset collection",outputs:[],position:{left:0,top:833.7075958251953},tool_id:null,tool_state:'{"optional": false, "format": ["thermo.raw"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"c0f85358-244a-4254-ac94-e920a6cdbe39",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/dbbuilder/dbbuilder/0.3.4",errors:null,id:3,input_connections:{},inputs:[],label:"Human SwissProt",name:"Protein Database Downloader",outputs:[{name:"output_database",type:"fasta"}],position:{left:634.640625488066,top:607.9116168878928},post_job_actions:{RenameDatasetActionoutput_database:{action_arguments:{newname:"Human SwissProt"},action_type:"RenameDatasetAction",output_name:"output_database"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/dbbuilder/dbbuilder/0.3.4",tool_shed_repository:{changeset_revision:"983bf725dfc2",name:"dbbuilder",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"source": {"from": "uniprot", "__current_case__": 0, "taxon": "9606", "taxon_id": null, "reviewed": "reviewed:true", "set": "keyword:KW-1185", "include_isoform": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.3.4",type:"tool",uuid:"5b0de886-9f18-4dd2-8e81-4b29467e727a",when:null,workflow_outputs:[{label:"Human SwissProt",output_name:"output_database",uuid:"335f3fe6-c7fb-4fd6-b04e-9f5afb3fe5a6"}]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/dbbuilder/dbbuilder/0.3.4",errors:null,id:4,input_connections:{},inputs:[],label:"Contaminants",name:"Protein Database Downloader",outputs:[{name:"output_database",type:"fasta"}],position:{left:631.7343839163847,top:789.1078163439809},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/dbbuilder/dbbuilder/0.3.4",tool_shed_repository:{changeset_revision:"983bf725dfc2",name:"dbbuilder",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"source": {"from": "cRAP", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.3.4",type:"tool",uuid:"6f0be889-015d-4be0-a997-dd63e18344eb",when:null,workflow_outputs:[]},5:{annotation:"File for experimental design containing Name, Fraction, Experiment, and PTM, where the name refers to the dataset filename, with each dataset listed on a separate line.",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Experimental Design manually created for MaxQuant",name:"Experimental Design Discovery MaxQuant"}],label:"Experimental Design Discovery MaxQuant",name:"Input dataset",outputs:[],position:{left:872.66015625,top:1088.484375},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"9652a70a-de8c-4966-b7cf-121f1b9f0b54",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/peptideshaker/fasta_cli/4.0.41+galaxy1",errors:null,id:6,input_connections:{input_database:{id:0,output_name:"output"}},inputs:[],label:"FastaCLI_ MetaNovo Human SwissProt cRAP with decoys",name:"FastaCLI",outputs:[{name:"input_database_concatenated_target_decoy",type:"fasta"}],position:{left:873.1780375305545,top:286.53022010497557},post_job_actions:{RenameDatasetActioninput_database_concatenated_target_decoy:{action_arguments:{newname:"FastaCLI_ MetaNovo Human SwissProt cRAP with decoys"},action_type:"RenameDatasetAction",output_name:"input_database_concatenated_target_decoy"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/peptideshaker/fasta_cli/4.0.41+galaxy1",tool_shed_repository:{changeset_revision:"3ec27b4cee7c",name:"peptideshaker",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"database_processing_options": {"decoy_tag": "_REVERSED", "decoy_type": "2", "decoy_file_tag": "_concatenated_target_decoy"}, "input_database": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.0.41+galaxy1",type:"tool",uuid:"7a0729f9-8827-4202-a20e-48e103efc502",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/msconvert/msconvert/3.0.20287.2",errors:null,id:7,input_connections:{input:{id:2,output_name:"output"}},inputs:[],label:null,name:"msconvert",outputs:[{name:"output",type:"mzml"}],position:{left:213.25472010132836,top:454.38506518621944},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/msconvert/msconvert/3.0.20287.2",tool_shed_repository:{changeset_revision:"6153e8ada1ee",name:"msconvert",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"data_processing": {"peak_picking": {"pick_peaks": true, "__current_case__": 1, "pick_peaks_ms_levels": "1-", "pick_peaks_algorithm": "vendor"}, "precursor_refinement": {"use_mzrefinement": false, "__current_case__": 0}, "charge_state_calculation": {"charge_state_calculation_method": "false", "__current_case__": 0}, "thresholds": [], "filter_mz_windows": {"do_mzwindow_filter": false, "__current_case__": 0}, "etd_filtering": {"do_etd_filtering": false, "__current_case__": 0}, "ms2denoise": {"denoise": false, "__current_case__": 1}, "ms2deisotope": false, "demultiplex": {"demultiplex_on": false, "__current_case__": 1}}, "filtering": {"activation": "false", "indices": [], "scan_numbers": [], "strip_it": false, "filter_ms_levels": {"do_ms_level_filter": false, "__current_case__": 0}, "polarity": "false", "analyzer": "false"}, "general_options": {"combineIonMobilitySpectra": false, "scan_summing": {"do_scan_summing": false, "__current_case__": 0}, "simAsSpectra": false, "srmAsSpectra": false, "acceptZeroLengthSpectra": false, "ignoreUnknownInstrumentError": false, "multi_run_output": {"do_multi_run_output": false, "__current_case__": 0, "runIndexSet": "0"}}, "input": {"__class__": "ConnectedValue"}, "license_agreement": true, "output_type": "mgf", "settings": {"mz_encoding": "64", "intensity_encoding": "32", "binary_compression": "zlib", "gzip_compression": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.0.20287.2",type:"tool",uuid:"83018642-2850-4df8-b328-ee1e8bdc8fcb",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/fasta_merge_files_and_filter_unique_sequences/fasta_merge_files_and_filter_unique_sequences/1.2.0",errors:null,id:8,input_connections:{"batchmode|input_fastas_0|input_fasta":{id:3,output_name:"output_database"},"batchmode|input_fastas_1|input_fasta":{id:4,output_name:"output_database"}},inputs:[],label:"Human SwissProt+cRAP",name:"FASTA Merge Files and Filter Unique Sequences",outputs:[{name:"output",type:"fasta"}],position:{left:902.4973253039605,top:577.0886700391638},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Human SwissProt+cRAP"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/fasta_merge_files_and_filter_unique_sequences/fasta_merge_files_and_filter_unique_sequences/1.2.0",tool_shed_repository:{changeset_revision:"f546e7278f04",name:"fasta_merge_files_and_filter_unique_sequences",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"accession_parser": "^>([^ ]+).*$", "batchmode": {"processmode": "individual", "__current_case__": 0, "input_fastas": [{"__index__": 0, "input_fasta": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input_fasta": {"__class__": "ConnectedValue"}}]}, "uniqueness_criterion": "sequence", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.0",type:"tool",uuid:"a35c2efa-70f2-41e8-bc46-cb2a245fdf57",when:null,workflow_outputs:[{label:"Human SwissProt+cRAP",output_name:"output",uuid:"2f14902f-b005-4c08-b6d1-6d7ee0b4b199"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/maxquant/maxquant/2.0.3.0+galaxy0",errors:null,id:9,input_connections:{"input_opts|fasta_files":{id:0,output_name:"output"},"paramGroups_0|files":{id:2,output_name:"output"},"search_opts|template":{id:5,output_name:"output"}},inputs:[{description:"runtime parameter for tool MaxQuant",name:"input_opts"},{description:"runtime parameter for tool MaxQuant",name:"search_opts"}],label:null,name:"MaxQuant",outputs:[{name:"proteinGroups",type:"tabular"},{name:"mqpar",type:"xml"},{name:"peptides",type:"tabular"},{name:"msms",type:"tabular"},{name:"msmsScans",type:"tabular"},{name:"summary",type:"tabular"},{name:"log",type:"txt"},{name:"config",type:"txt"}],position:{left:1389.0771241398825,top:778.3294605307798},post_job_actions:{TagDatasetActionpeptides:{action_arguments:{tags:"#MQ_Peptides"},action_type:"TagDatasetAction",output_name:"peptides"},TagDatasetActionproteinGroups:{action_arguments:{tags:"#MQ_ProteinGroups"},action_type:"TagDatasetAction",output_name:"proteinGroups"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/maxquant/maxquant/2.0.3.0+galaxy0",tool_shed_repository:{changeset_revision:"9c52362ae7bb",name:"maxquant",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_opts": {"ftype": ".thermo.raw", "fasta_files": {"__class__": "ConnectedValue"}, "identifier_parse_rule": ">([^\\\\s]*)", "description_parse_rule": ">(.*)"}, "output_opts": {"dry_run": false, "output": ["proteinGroups", "mqpar", "peptides", "msms", "msmsScans", "summary", "log", "config"]}, "paramGroups": [{"__index__": 0, "files": {"__class__": "ConnectedValue"}, "maxMissedCleavages": "2", "fixedModifications": ["Carbamidomethyl (C)"], "variableModifications": ["Oxidation (M)"], "enzymes": ["Trypsin/P"], "digestion_mode": "0", "quant_method": {"select_quant_method": "reporter_ion_ms2", "__current_case__": 3, "iso_labels": {"labeling": "tmt11plex", "__current_case__": 4}, "filter_by_pif": {"filter_pif": "True", "__current_case__": 0, "reporter_pif": "0.75"}}}], "protein_quant": {"peptides_for_quantification": "1", "only_unmod_prot": {"unmod_prot": "True", "__current_case__": 0, "mods_used_prot_quant": ["Oxidation (M)"], "discard_unmod_cpart_peptides": true}, "lfq_opts": {"separateLfq": false, "lfqStabilizeLargeRatios": true, "lfqRequireMsms": true, "do_ibaq": {"ibaq": "False", "__current_case__": 1}, "advancedSiteIntensities": true}}, "qc": {"do_it": "false", "__current_case__": 1}, "search_opts": {"template": {"__class__": "ConnectedValue"}, "min_peptide_len": "8", "max_peptide_mass": "4600", "min_unique_pep": "0", "calc_peak_properties": false, "mbr": {"match_between_runs": "True", "__current_case__": 1, "matching_time_window": "0.7", "matching_ion_mobility_window": "0.05", "alignment_time_window": "20", "alignment_ion_mobility_window": "1", "match_unidentified_features": false}, "incl_contaminants": false, "decoy_mode": "revert", "psm_fdr": "0.01", "protein_fdr": "0.01", "min_pep_length": "8", "max_pep_length": "50"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.3.0+galaxy0",type:"tool",uuid:"46c61a69-355c-44ac-9945-0e4d43f0b2ec",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/peptideshaker/search_gui/4.0.41+galaxy1",errors:null,id:10,input_connections:{input_fasta_file:{id:6,output_name:"input_database_concatenated_target_decoy"},input_parameters_file:{id:1,output_name:"Identification_Parameters_File"},peak_lists_files:{id:7,output_name:"output"}},inputs:[],label:null,name:"Search GUI",outputs:[{name:"searchgui_results",type:"searchgui_archive"}],position:{left:1136.7332639974097,top:127.37631486278212},post_job_actions:{TagDatasetActionsearchgui_results:{action_arguments:{tags:"#SGPS"},action_type:"TagDatasetAction",output_name:"searchgui_results"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/peptideshaker/search_gui/4.0.41+galaxy1",tool_shed_repository:{changeset_revision:"3ec27b4cee7c",name:"peptideshaker",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_fasta_file": {"__class__": "ConnectedValue"}, "input_parameters_file": {"__class__": "ConnectedValue"}, "peak_lists_files": {"__class__": "ConnectedValue"}, "search_engines_options": {"engines": ["X!Tandem", "MSGF"]}, "searchgui_advanced": {"searchgui_advanced_selector": "basic", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.0.41+galaxy1",type:"tool",uuid:"58cf1b78-91c0-4726-8697-df2504d14611",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/fasta_to_tabular/fasta2tab/1.1.0",errors:null,id:11,input_connections:{input:{id:8,output_name:"output"}},inputs:[],label:"FASTA to Tabular",name:"FASTA-to-Tabular",outputs:[{name:"output",type:"tabular"}],position:{left:1164.015625,top:614.1015625},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/fasta_to_tabular/fasta2tab/1.1.0",tool_shed_repository:{changeset_revision:"7e801ab2b70e",name:"fasta_to_tabular",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"descr_columns": "1", "input": {"__class__": "ConnectedValue"}, "keep_first": "0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"9a63693a-1b5b-4160-99da-4636a09f3fed",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"Grep1",errors:null,id:12,input_connections:{input:{id:9,output_name:"peptides"}},inputs:[],label:"Select microbial peptides MQ",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:1644.109353292642,top:809.7786537420372},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Select microbial peptides MQ"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grep1",tool_state:'{"input": {"__class__": "ConnectedValue"}, "invert": "-v", "keep_header": true, "pattern": "(_HUMAN)|(_REVERSED)|(CON)|(con)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"cb9b81ce-c86e-4b07-ba18-3d1deddeded5",when:null,workflow_outputs:[{label:"Select microbial peptides MQ",output_name:"out_file1",uuid:"aff2fb3d-58d3-4d1d-bfa2-8b68f14ec0a0"}]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/peptideshaker/peptide_shaker/2.0.33+galaxy1",errors:null,id:13,input_connections:{searchgui_input:{id:10,output_name:"searchgui_results"}},inputs:[{description:"runtime parameter for tool Peptide Shaker",name:"optional_main_parameters"},{description:"runtime parameter for tool Peptide Shaker",name:"optional_main_parameters"},{description:"runtime parameter for tool Peptide Shaker",name:"optional_main_parameters"}],label:"Peptide Shaker",name:"Peptide Shaker",outputs:[{name:"mzidentML",type:"mzid"},{name:"output_certificate",type:"txt"},{name:"output_psm",type:"tabular"},{name:"output_peptides",type:"tabular"},{name:"output_proteins",type:"tabular"}],position:{left:1376.546875,top:136.69921875},post_job_actions:{TagDatasetActionoutput_peptides:{action_arguments:{tags:"#PS_Peptides"},action_type:"TagDatasetAction",output_name:"output_peptides"},TagDatasetActionoutput_psm:{action_arguments:{tags:"#PS_PSM"},action_type:"TagDatasetAction",output_name:"output_psm"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/peptideshaker/peptide_shaker/2.0.33+galaxy1",tool_shed_repository:{changeset_revision:"a6ff76e057fd",name:"peptideshaker",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"exporting_options": {"zip_conditional": {"zip_output_boolean": false, "__current_case__": 0, "export_psdb": false}, "mzidentml_conditional": {"mzidentml_creation": true, "__current_case__": 0, "include_sequences": false, "contact_options": {"contact_options_selector": "no", "__current_case__": 0}}, "followup_conditional": {"followup_conditional_selector": "no", "__current_case__": 0}, "output_reports": ["3", "6", "9", "0"]}, "optional_main_parameters": {"input_optional_identification_parameters": {"__class__": "RuntimeValue"}, "input_fasta_file": {"__class__": "RuntimeValue"}, "input_optional_spectrum_files": {"__class__": "RuntimeValue"}}, "searchgui_input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.33+galaxy1",type:"tool",uuid:"d8293305-e003-4c82-9085-a6a6e27563f3",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/filter_tabular/filter_tabular/3.3.0",errors:null,id:14,input_connections:{input:{id:11,output_name:"output"}},inputs:[],label:"Filtering Accesions",name:"Filter Tabular",outputs:[{name:"output",type:"tabular"}],position:{left:1909.4926854592713,top:567.042966564121},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Filtering Accessions"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/filter_tabular/filter_tabular/3.3.0",tool_shed_repository:{changeset_revision:"557ec8d7087d",name:"filter_tabular",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment_char": true, "input": {"__class__": "ConnectedValue"}, "linefilters": [{"__index__": 0, "filter": {"filter_type": "select_columns", "__current_case__": 9, "columns": "1"}}, {"__index__": 1, "filter": {"filter_type": "replace", "__current_case__": 11, "column": "1", "regex_pattern": "^[^|]+[|]([^| ]+).*$", "regex_replace": "\\\\1", "add": null}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.3.0",type:"tool",uuid:"e42dd88c-5e82-400e-810f-cb34746ce438",when:null,workflow_outputs:[{label:"Filtering Accessions",output_name:"output",uuid:"94f1a6b8-0f60-4ffc-ab90-31ba68d37cdc"}]},15:{annotation:"",content_id:"Cut1",errors:null,id:15,input_connections:{input:{id:12,output_name:"out_file1"}},inputs:[],label:"MQ Peptide Sequences",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:1902.578125,top:824.57421875},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"MQ Peptide Sequences"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c1", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"d182a597-2b4f-4f60-bd76-e6cea6f9f610",when:null,workflow_outputs:[{label:"MQ Peptide Sequences",output_name:"out_file1",uuid:"26146545-0adf-43cd-a407-3981a64e2b8a"}]},16:{annotation:"",content_id:"Grep1",errors:null,id:16,input_connections:{input:{id:13,output_name:"output_peptides"}},inputs:[],label:"Select microbial peptides SGPS",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:1624.6171875,top:133.078125},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Select microbial peptides SGPS"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grep1",tool_state:'{"input": {"__class__": "ConnectedValue"}, "invert": "-v", "keep_header": true, "pattern": "(_HUMAN)|(_REVERSED)|(CON)|(con)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"088c67e2-5680-45ac-8fc6-58107304378b",when:null,workflow_outputs:[{label:"Select microbial peptides SGPS",output_name:"out_file1",uuid:"98fa521e-5f10-41f8-bbb0-0c37e36c7db8"}]},17:{annotation:"",content_id:"Grep1",errors:null,id:17,input_connections:{input:{id:13,output_name:"output_psm"}},inputs:[],label:"Select microbial PSMs SGPS",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:1633.46875,top:337.29296875},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Select microbial PSMs SGPS"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grep1",tool_state:'{"input": {"__class__": "ConnectedValue"}, "invert": "-v", "keep_header": true, "pattern": "(_HUMAN)|(_REVERSED)|(CON)|(con)", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"77835fcd-c645-48fa-bfe2-2519cebdf93c",when:null,workflow_outputs:[{label:"Select microbial PSMs SGPS",output_name:"out_file1",uuid:"2d8e7875-144c-4cb8-8278-37156df85c6e"}]},18:{annotation:"",content_id:"Remove beginning1",errors:null,id:18,input_connections:{input:{id:15,output_name:"out_file1"}},inputs:[],label:"Remove beginning from MQ Peptides",name:"Remove beginning",outputs:[{name:"out_file1",type:"input"}],position:{left:2433.9375,top:727.6328125},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Header removed MQ Peptides"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Remove beginning1",tool_state:'{"input": {"__class__": "ConnectedValue"}, "num_lines": "1", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"3eb21bbd-483c-4685-b3e8-1feec0354c47",when:null,workflow_outputs:[{label:"Header removed MQ Peptides",output_name:"out_file1",uuid:"a31d9c7f-5c8a-462a-a114-f2d9201d7f78"}]},19:{annotation:"",content_id:"Filter1",errors:null,id:19,input_connections:{input:{id:16,output_name:"out_file1"}},inputs:[],label:"Filter confident microbial Peptides",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1882.4063928456353,top:138.52877496551775},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Filter confident microbial Peptides"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:`{"cond": "c17=='Confident'", "header_lines": "1", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"1.1.1",type:"tool",uuid:"a2763f6c-4bb4-4637-b9a5-4319b8176e57",when:null,workflow_outputs:[{label:"Filter confident microbial Peptides",output_name:"out_file1",uuid:"bd070980-580f-4e1c-ba87-0e7bf097c4b9"}]},20:{annotation:"",content_id:"Filter1",errors:null,id:20,input_connections:{input:{id:17,output_name:"out_file1"}},inputs:[],label:"Filter confident microbial PSMs",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1892.8281925994486,top:347.30488486357063},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Filter confident microbial PSMs"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:`{"cond": "c24=='Confident'", "header_lines": "1", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"1.1.1",type:"tool",uuid:"2986ffd8-f797-4bdd-ba33-e3383bb3cbd1",when:null,workflow_outputs:[{label:"Filter confident microbial PSMs",output_name:"out_file1",uuid:"902234ac-5870-40fb-8b9b-2baf6e7a5786"}]},21:{annotation:"",content_id:"Grouping1",errors:null,id:21,input_connections:{input1:{id:18,output_name:"out_file1"}},inputs:[],label:"MQ Distinct Peptides",name:"Group",outputs:[{name:"out_file1",type:"tabular"}],position:{left:2692.1307728764114,top:524.4947117996797},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"MQ Distinct Peptides"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grouping1",tool_state:'{"groupcol": "1", "ignorecase": false, "ignorelines": null, "input1": {"__class__": "ConnectedValue"}, "operations": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.4",type:"tool",uuid:"eadd5e67-4653-4895-bd99-d7ec8e8514f7",when:null,workflow_outputs:[{label:"MQ Distinct Peptides",output_name:"out_file1",uuid:"635bd0b8-42da-4605-a7b5-c914f8628917"}]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/query_tabular/query_tabular/3.3.0",errors:null,id:22,input_connections:{"tables_0|table":{id:20,output_name:"out_file1"},"tables_1|table":{id:20,output_name:"out_file1"},"tables_2|table":{id:14,output_name:"output"}},inputs:[{description:"runtime parameter for tool Query Tabular",name:"add_to_database"}],label:"Extracting peptides SGPS from PSM",name:"Query Tabular",outputs:[{name:"output",type:"tabular"}],position:{left:2171.984360939529,top:230.6947040667832},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Extracting peptides SGPS from PSM"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/query_tabular/query_tabular/3.3.0",tool_shed_repository:{changeset_revision:"cf34c344508d",name:"query_tabular",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"add_to_database": {"withdb": {"__class__": "RuntimeValue"}}, "addqueries": {"queries": []}, "modify_database": {"sql_stmts": []}, "query_result": {"header": "yes", "__current_case__": 0, "header_prefix": null}, "save_db": false, "sqlquery": "SELECT id,Proteins,Sequence\\nFROM psms \\nWHERE psms.ln NOT IN\\n(SELECT distinct prots.ln\\nFROM prots JOIN Uniprot ON prots.prot = Uniprot.prot)\\nORDER BY psms.ln", "tables": [{"__index__": 0, "table": {"__class__": "ConnectedValue"}, "input_opts": {"linefilters": [{"__index__": 0, "filter": {"filter_type": "skip", "__current_case__": 0, "skip_lines": "1"}}, {"__index__": 1, "filter": {"filter_type": "prepend_line_num", "__current_case__": 2}}]}, "tbl_opts": {"table_name": "psms", "column_names_from_first_line": false, "col_names": "ln,id,Proteins,Sequence", "load_named_columns": true, "pkey_autoincr": "", "indexes": [{"__index__": 0, "unique": false, "index_columns": "ln"}]}}, {"__index__": 1, "table": {"__class__": "ConnectedValue"}, "input_opts": {"linefilters": [{"__index__": 0, "filter": {"filter_type": "skip", "__current_case__": 0, "skip_lines": "1"}}, {"__index__": 1, "filter": {"filter_type": "prepend_line_num", "__current_case__": 2}}, {"__index__": 2, "filter": {"filter_type": "normalize", "__current_case__": 12, "columns": "3", "separator": ","}}]}, "tbl_opts": {"table_name": "prots", "column_names_from_first_line": false, "col_names": "ln,id,prot", "load_named_columns": true, "pkey_autoincr": "", "indexes": [{"__index__": 0, "unique": true, "index_columns": "prot,ln"}]}}, {"__index__": 2, "table": {"__class__": "ConnectedValue"}, "input_opts": {"linefilters": []}, "tbl_opts": {"table_name": "Uniprot", "column_names_from_first_line": false, "col_names": "prot", "load_named_columns": false, "pkey_autoincr": "", "indexes": [{"__index__": 0, "unique": false, "index_columns": "prot"}]}}], "workdb": "workdb.sqlite", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.3.0",type:"tool",uuid:"6727a48b-5576-4fd9-a8d6-b998c2f25e65",when:null,workflow_outputs:[{label:"Extracting peptides SGPS from PSM",output_name:"output",uuid:"5ea51c53-b7f1-447c-8b15-6ae3b89c2246"}]},23:{annotation:"",content_id:"Cut1",errors:null,id:23,input_connections:{input:{id:22,output_name:"output"}},inputs:[],label:"Cut Peptide column",name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:2429,top:320.03125},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"SGPS Peptides"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c3", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"079cee20-8cf1-417e-9ede-9e8d3e4157e1",when:null,workflow_outputs:[{label:"SGPS Peptides",output_name:"out_file1",uuid:"6d45c71b-64ef-4786-a89d-ee43c27ee969"}]},24:{annotation:"",content_id:"Grouping1",errors:null,id:24,input_connections:{input1:{id:23,output_name:"out_file1"}},inputs:[],label:"SGPS Distinct Peptides",name:"Group",outputs:[{name:"out_file1",type:"tabular"}],position:{left:2692.21992119554,top:329.70161173161625},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"SGPS Distinct Peptides"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grouping1",tool_state:'{"groupcol": "1", "ignorecase": false, "ignorelines": null, "input1": {"__class__": "ConnectedValue"}, "operations": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.4",type:"tool",uuid:"17433c88-5d56-453f-9371-dc2943eecac2",when:null,workflow_outputs:[{label:"SGPS Distinct Peptides",output_name:"out_file1",uuid:"1eea0b81-8c35-4351-bbf3-2941561e4fcf"}]},25:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1",errors:null,id:25,input_connections:{inputs:[{id:21,output_name:"out_file1"},{id:24,output_name:"out_file1"}]},inputs:[],label:"SGPS MQ Peptides",name:"Concatenate datasets",outputs:[{name:"out_file1",type:"input"}],position:{left:3005.427930624518,top:411.55050647320707},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"SGPS MQ Peptides"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1",tool_shed_repository:{changeset_revision:"d698c222f354",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"inputs": {"__class__": "ConnectedValue"}, "queries": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"967a29c5-8ef9-45de-918a-f99e3f9a058f",when:null,workflow_outputs:[{label:"SGPS MQ Peptides",output_name:"out_file1",uuid:"df2db225-d108-4337-a684-dbca973da64e"}]},26:{annotation:"",content_id:"Grouping1",errors:null,id:26,input_connections:{input1:{id:25,output_name:"out_file1"}},inputs:[],label:"Distinct Peptides",name:"Group",outputs:[{name:"out_file1",type:"tabular"}],position:{left:3283.015625,top:419.21875},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Distinct Peptides"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grouping1",tool_state:'{"groupcol": "1", "ignorecase": false, "ignorelines": null, "input1": {"__class__": "ConnectedValue"}, "operations": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.4",type:"tool",uuid:"b5462dd0-3af9-41d4-a011-65d4244525a9",when:null,workflow_outputs:[{label:"Distinct Peptides",output_name:"out_file1",uuid:"c283b145-a685-49c4-8787-6e2e70f262b4"}]}},tags:["name:clinicalMP"],uuid:"94138387-134e-4622-96a9-fdaee428ee1b",version:2},readme:`# Clinical Metaproteomics 2: Discovery Discovery in clinical metaproteomics is greatly enhanced by using a well-curated database, particularly one generated with the **MetaNovo tool**. This tool creates a manageable and streamlined database by identifying proteins relevant to the dataset, reducing the complexity of downstream analysis. For optimal results, the MetaNovo-generated database can be merged with reviewed proteins from **Human SwissProt** and known contaminants from the **cRAP (common Repository of Adventitious Proteins)** database, resulting in a compact yet comprehensive database of approximately 21,200 protein sequences. This refined database serves as the foundation for peptide identification, where mass spectrometry (MS) data is matched against the database to identify relevant peptides efficiently and accurately. By reducing redundancy and focusing on clinically relevant sequences, this approach improves the discovery of biomarkers and key protein insights, allowing researchers to extract meaningful biological information with reduced noise and false positives. This streamlined process is particularly valuable in clinical studies, where precision and relevance are critical for advancing diagnostics and therapeutic research. @@ -3069,6 +5717,69 @@ For MaxQuant and SearchGUI/PeptideShaker ## [0.1] 2024-11-18 First release. +`,diagrams:`# Workflow diagrams + +## Clinical Metaproteomics Discovery Workflow + +\`\`\`mermaid +graph LR +0["ℹ️ Human UniProt Microbial Proteins from MetaNovo and cRAP"]@{ shape: doc } +1["IdentificationParameters:PAR file"]@{ shape: process } +2["ℹ️ Tandem Mass Spectrometry MSMS files"]@{ shape: docs } +3["Human SwissProt"]@{ shape: process } +4["Contaminants"]@{ shape: process } +5["ℹ️ Experimental Design Discovery MaxQuant"]@{ shape: doc } +6["FastaCLI_ MetaNovo Human SwissProt cRAP with decoys"]@{ shape: process } +0 --> 6 +7["msconvert"]@{ shape: process } +2 --> 7 +8["Human SwissProt+cRAP"]@{ shape: process } +3 --> 8 +4 --> 8 +9["MaxQuant"]@{ shape: process } +0 --> 9 +2 --> 9 +5 --> 9 +10["Search GUI"]@{ shape: process } +6 --> 10 +1 --> 10 +7 --> 10 +11["FASTA to Tabular"]@{ shape: process } +8 --> 11 +12["Select microbial peptides MQ"]@{ shape: process } +9 --> 12 +13["Peptide Shaker"]@{ shape: process } +10 --> 13 +14["Filtering Accesions"]@{ shape: process } +11 --> 14 +15["MQ Peptide Sequences"]@{ shape: process } +12 --> 15 +16["Select microbial peptides SGPS"]@{ shape: process } +13 --> 16 +17["Select microbial PSMs SGPS"]@{ shape: process } +13 --> 17 +18["Remove beginning from MQ Peptides"]@{ shape: process } +15 --> 18 +19["Filter confident microbial Peptides"]@{ shape: process } +16 --> 19 +20["Filter confident microbial PSMs"]@{ shape: process } +17 --> 20 +21["MQ Distinct Peptides"]@{ shape: process } +18 --> 21 +22["Extracting peptides SGPS from PSM"]@{ shape: process } +20 --> 22 +20 --> 22 +14 --> 22 +23["Cut Peptide column"]@{ shape: process } +22 --> 23 +24["SGPS Distinct Peptides"]@{ shape: process } +23 --> 24 +25["SGPS MQ Peptides"]@{ shape: process } +21 --> 25 +24 --> 25 +26["Distinct Peptides"]@{ shape: process } +25 --> 26 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/clinicalmp-discovery/main",tests:[{doc:"Test outline for iwc-clinicalmp-discovery-workflow",job:{"Human UniProt Microbial Proteins from MetaNovo and cRAP":{class:"File",location:"https://zenodo.org/records/10720030/files/Human_UniProt_Microbial_Proteins_(from_MetaNovo)_and_cRAP.fasta",filetype:"fasta"},"Experimental Design Discovery MaxQuant":{class:"File",path:"test-data/Experimental Design Discovery MaxQuant.tabular",filetype:"tabular"},"Tandem Mass Spectrometry MSMS files":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"PTRC_Skubitz_Plex2_F10_9Aug19_Rage_Rep-19-06-08.raw",location:"https://zenodo.org/records/14182981/files/PTRC_Skubitz_Plex2_F10_9Aug19_Rage_Rep-19-06-08.raw"}]}},outputs:{"SGPS MQ Peptides":{asserts:[{has_n_columns:{n:1}},{has_text:{text:"AAFPNVTAMNITTNNGK"}}]}}}]}],path:"./workflows/proteomics/clinicalmp/clinicalmp-discovery"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/goseq-go-kegg-enrichment-analsis.ga",testParameterFiles:["/goseq-go-kegg-enrichment-analsis-tests.yml"],authors:[{name:"Amirhossein Naghsh Nilchi",orcid:"0000-0003-1329-3044"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow is used for GO and KEGG enrichment analysis using GOseq tools.",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0003-1329-3044",name:"Amirhossein Naghsh Nilchi"}],"format-version":"0.1",license:"MIT",release:"0.1",name:"Goseq GO-KEGG Enrichment Analysis",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Select which genome your data is from",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Select which genome your data is from",name:"Select genome to use"}],label:"Select genome to use",name:"Input parameter",outputs:[],position:{left:1.3275521636144472,top:485.4318730139212},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"621e1d7b-7884-4adb-911e-cdd249855486",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"c5c1a856-ae08-4281-816b-d0e70a3d3373"}]},1:{annotation:"input1: table with two columns. 1 gene 2 T/F based on Differential Expression Analysis",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"input1: table with two columns. 1 gene 2 T/F based on Differential Expression Analysis",name:"Differential expression result"}],label:"Differential expression result",name:"Input dataset",outputs:[],position:{left:337.51186934168175,top:496.3229330319098},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"52bf21e0-e1d7-41dd-87c2-ba4808a77b5d",when:null,workflow_outputs:[]},2:{annotation:"Select the format of your genes",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Select the format of your genes",name:"Select gene ID format"}],label:"Select gene ID format",name:"Input parameter",outputs:[],position:{left:0,top:603.4685835542876},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"03c15189-4a0c-44fa-b4bc-717db6650797",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"61021ac9-ae04-486a-bb69-583314324551"}]},3:{annotation:"input2: table with two columns. 1 gene 2 gene length",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"input2: table with two columns. 1 gene 2 gene length",name:"gene length"}],label:"gene length",name:"Input dataset",outputs:[],position:{left:346.07461300595065,top:583.8602444483994},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"def1d40a-71dc-4c0b-bd8d-cb0cd00b1ffa",when:null,workflow_outputs:[]},4:{annotation:`a table with two columns: 1. Pathway ID 2. Pathway name @@ -3134,7 +5845,42 @@ All notable changes to this workflow will be documented in this file. ### Added -Initial workflow`,trsID:"#workflow/github.com/iwc-workflows/goseq/main",tests:[{doc:"Test outline for goseq-go-kegg-enrichment-analsis",job:{"Differential expression result":{class:"File",location:"https://zenodo.org/records/14033254/files/de-result.tabular",filetype:"tabular"},"gene length":{class:"File",location:"https://zenodo.org/records/14033254/files/gene-length.tabular",filetype:"tabular"},"KEGG pathways":{class:"File",location:"https://zenodo.org/records/14033254/files/kegg-pathways.tabular",filetype:"tabular"},"Select genome to use":"mm10","Select gene ID format":"ensGene"},outputs:{"goseq Enrichment Table (Cellular Component)":{asserts:[{that:"has_text_matching",expression:"category over_represented_pvalue under_represented_pvalue numDEInCat numInCat term ontology p_adjust_over_represented p_adjust_under_represented"},{that:"has_text_matching",expression:"GO:0005737 4.79[0-9]+e-08 1 4810 8312 cytoplasm CC 9.31[0-9]+e-05 1"},{that:"has_text_matching",expression:"over_represented_pvalue"},{that:"has_text_matching",expression:"under_represented_pvalue"}]},"goseq Top Categories plot (Cellular Component)":{asserts:[{that:"has_size",size:7078}]},"goseq Differential Genes in each Category (Cellular Component)":{asserts:[{that:"has_text_matching",expression:"category de_genes"},{that:"has_text_matching",expression:"GO:0005737 ENSMUSG00000045545,ENSMUSG00000029802,ENSMUSG00000058056"}]},"goseq Differential Genes in each Category (Biological Process)":{asserts:[{that:"has_text_matching",expression:"category de_genes"},{that:"has_text_matching",expression:"GO:0043254 ENSMUSG00000023951,ENSMUSG00000032060,ENSMUSG00000031284,"}]},"goseq Top Categories plot (Biological Process)":{asserts:[{that:"has_size",size:7092}]},"goseq Enrichment Table (Biological Process)":{asserts:[{that:"has_text_matching",expression:"category over_represented_pvalue under_represented_pvalue numDEInCat numInCat term ontology p_adjust_over_represented p_adjust_under_represented"},{that:"has_text_matching",expression:"GO:0043254 3.41[0-9]+e-07 1 239 345 regulation of protein-containing complex assembly BP 0.0034[0-9]+ 1"},{that:"has_text_matching",expression:"over_represented_pvalue"},{that:"has_text_matching",expression:"under_represented_pvalue"}]},"goseq Differential Genes in each Category (KEGG)":{asserts:[{that:"has_text_matching",expression:"category de_genes"},{that:"has_text_matching",expression:"04540 ENSMUSG00000063358,ENSMUSG00000045136,ENSMUSG00000025856,ENSMUSG00000028019"}]},"goseq Top Categories plot (Molecular Function)":{asserts:[{that:"has_size",size:7166}]},"goseq Enrichment Table (Molecular Function)":{asserts:[{that:"has_text_matching",expression:"category over_represented_pvalue under_represented_pvalue numDEInCat numInCat term ontology p_adjust_over_represented p_adjust_under_represented"},{that:"has_text_matching",expression:"GO:0005515 1.4094[0-9]+e-07 1 3758 6415 protein binding MF 0.0006[0-9]+ 1"},{that:"has_text_matching",expression:"over_represented_pvalue"},{that:"has_text_matching",expression:"under_represented_pvalue"}]},"goseq Differential Genes in each Category (Molecular Function)":{asserts:[{that:"has_text_matching",expression:"category de_genes"},{that:"has_text_matching",expression:"GO:0005515 ENSMUSG00000045545,ENSMUSG00000029802,ENSMUSG00000058056,ENSMUSG00000004044,"}]},"goseq Enrichment Table (KEGG)":{asserts:[{that:"has_text_matching",expression:"category over_represented_pvalue under_represented_pvalue numDEInCat numInCat p_adjust_over_represented p_adjust_under_represented ID Name"},{that:"has_text_matching",expression:"04540 0.0031[0-9]+ 0.99[0-9]+ 47 61 0.46[0-9]+ 1 04540 Gap junction - mmus"}]}}}]}],path:"./workflows/transcriptomics/goseq"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/rnaseq-de-filtering-plotting.ga",testParameterFiles:["/rnaseq-de-filtering-plotting-tests.yml"],authors:[{name:"Pavankumar Videm",orcid:"0000-0002-5192-126X"}],definition:{a_galaxy_workflow:"true",annotation:`This workflow can only work on an experimental setup with exactly 2 conditions. It takes two collections of count tables as input and performs differential expression analysis. Additionally it filters for DE genes based on adjusted p-value and log2 fold changes thresholds. It also generates informative plots. +Initial workflow`,diagrams:`# Workflow diagrams + +## Goseq GO-KEGG Enrichment Analysis + +\`\`\`mermaid +graph LR +0["ℹ️ Select genome to use"]@{ shape: lean-l } +1["ℹ️ Differential expression result"]@{ shape: doc } +2["ℹ️ Select gene ID format"]@{ shape: lean-l } +3["ℹ️ gene length"]@{ shape: doc } +4["ℹ️ KEGG pathways"]@{ shape: doc } +5["goseq - Cellular Component"]@{ shape: process } +2 --> 5 +0 --> 5 +1 --> 5 +3 --> 5 +6["goseq - Biological Process"]@{ shape: process } +2 --> 6 +0 --> 6 +1 --> 6 +3 --> 6 +7["goseq - Molecular Function"]@{ shape: process } +2 --> 7 +0 --> 7 +1 --> 7 +3 --> 7 +8["goseq - KEGG"]@{ shape: process } +2 --> 8 +0 --> 8 +1 --> 8 +3 --> 8 +9["Join two Datasets"]@{ shape: process } +8 --> 9 +4 --> 9 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/goseq/main",tests:[{doc:"Test outline for goseq-go-kegg-enrichment-analsis",job:{"Differential expression result":{class:"File",location:"https://zenodo.org/records/14033254/files/de-result.tabular",filetype:"tabular"},"gene length":{class:"File",location:"https://zenodo.org/records/14033254/files/gene-length.tabular",filetype:"tabular"},"KEGG pathways":{class:"File",location:"https://zenodo.org/records/14033254/files/kegg-pathways.tabular",filetype:"tabular"},"Select genome to use":"mm10","Select gene ID format":"ensGene"},outputs:{"goseq Enrichment Table (Cellular Component)":{asserts:[{that:"has_text_matching",expression:"category over_represented_pvalue under_represented_pvalue numDEInCat numInCat term ontology p_adjust_over_represented p_adjust_under_represented"},{that:"has_text_matching",expression:"GO:0005737 4.79[0-9]+e-08 1 4810 8312 cytoplasm CC 9.31[0-9]+e-05 1"},{that:"has_text_matching",expression:"over_represented_pvalue"},{that:"has_text_matching",expression:"under_represented_pvalue"}]},"goseq Top Categories plot (Cellular Component)":{asserts:[{that:"has_size",size:7078}]},"goseq Differential Genes in each Category (Cellular Component)":{asserts:[{that:"has_text_matching",expression:"category de_genes"},{that:"has_text_matching",expression:"GO:0005737 ENSMUSG00000045545,ENSMUSG00000029802,ENSMUSG00000058056"}]},"goseq Differential Genes in each Category (Biological Process)":{asserts:[{that:"has_text_matching",expression:"category de_genes"},{that:"has_text_matching",expression:"GO:0043254 ENSMUSG00000023951,ENSMUSG00000032060,ENSMUSG00000031284,"}]},"goseq Top Categories plot (Biological Process)":{asserts:[{that:"has_size",size:7092}]},"goseq Enrichment Table (Biological Process)":{asserts:[{that:"has_text_matching",expression:"category over_represented_pvalue under_represented_pvalue numDEInCat numInCat term ontology p_adjust_over_represented p_adjust_under_represented"},{that:"has_text_matching",expression:"GO:0043254 3.41[0-9]+e-07 1 239 345 regulation of protein-containing complex assembly BP 0.0034[0-9]+ 1"},{that:"has_text_matching",expression:"over_represented_pvalue"},{that:"has_text_matching",expression:"under_represented_pvalue"}]},"goseq Differential Genes in each Category (KEGG)":{asserts:[{that:"has_text_matching",expression:"category de_genes"},{that:"has_text_matching",expression:"04540 ENSMUSG00000063358,ENSMUSG00000045136,ENSMUSG00000025856,ENSMUSG00000028019"}]},"goseq Top Categories plot (Molecular Function)":{asserts:[{that:"has_size",size:7166}]},"goseq Enrichment Table (Molecular Function)":{asserts:[{that:"has_text_matching",expression:"category over_represented_pvalue under_represented_pvalue numDEInCat numInCat term ontology p_adjust_over_represented p_adjust_under_represented"},{that:"has_text_matching",expression:"GO:0005515 1.4094[0-9]+e-07 1 3758 6415 protein binding MF 0.0006[0-9]+ 1"},{that:"has_text_matching",expression:"over_represented_pvalue"},{that:"has_text_matching",expression:"under_represented_pvalue"}]},"goseq Differential Genes in each Category (Molecular Function)":{asserts:[{that:"has_text_matching",expression:"category de_genes"},{that:"has_text_matching",expression:"GO:0005515 ENSMUSG00000045545,ENSMUSG00000029802,ENSMUSG00000058056,ENSMUSG00000004044,"}]},"goseq Enrichment Table (KEGG)":{asserts:[{that:"has_text_matching",expression:"category over_represented_pvalue under_represented_pvalue numDEInCat numInCat p_adjust_over_represented p_adjust_under_represented ID Name"},{that:"has_text_matching",expression:"04540 0.0031[0-9]+ 0.99[0-9]+ 47 61 0.46[0-9]+ 1 04540 Gap junction - mmus"}]}}}]}],path:"./workflows/transcriptomics/goseq"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/rnaseq-de-filtering-plotting.ga",testParameterFiles:["/rnaseq-de-filtering-plotting-tests.yml"],authors:[{name:"Pavankumar Videm",orcid:"0000-0002-5192-126X"}],definition:{a_galaxy_workflow:"true",annotation:`This workflow can only work on an experimental setup with exactly 2 conditions. It takes two collections of count tables as input and performs differential expression analysis. Additionally it filters for DE genes based on adjusted p-value and log2 fold changes thresholds. It also generates informative plots. `,comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-5192-126X",name:"Pavankumar Videm"}],"format-version":"0.1",license:"MIT",release:"0.2",name:"RNAseq_DE_filtering_plotting",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Counts from experimental condition or changed condition. For eg. counts from treatment or knockdown samples.",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Counts from experimental condition or changed condition. For eg. counts from treatment or knockdown samples.",name:"Counts from changed condition"}],label:"Counts from changed condition",name:"Input dataset collection",outputs:[],position:{left:0,top:231.6810606846659},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"7e7436a6-e408-4941-81c2-7a86c0c9235a",when:null,workflow_outputs:[]},1:{annotation:"Counts from reference condition or base condition. For eg. counts from untreated or wildtype samples.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Counts from reference condition or base condition. For eg. counts from untreated or wildtype samples.",name:"Counts from reference condition"}],label:"Counts from reference condition",name:"Input dataset collection",outputs:[],position:{left:47.54331804667683,top:344.2691910956221},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"2f811a41-c4af-4661-b17b-76ee244f3b27",when:null,workflow_outputs:[]},2:{annotation:"Usually, count files generated from featureCounts tool have a header line whereas count files from RNA-STAR do not have.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Usually, count files generated from featureCounts tool have a header line whereas count files from RNA-STAR do not have.",name:"Count files have header"}],label:"Count files have header",name:"Input parameter",outputs:[],position:{left:110.4753923836675,top:456.18541400369907},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"7eeb1fbf-cacd-4395-a22f-cceaeab27079",when:null,workflow_outputs:[]},3:{annotation:"The same annotation GTF used for mapping and counting",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"The same annotation GTF used for mapping and counting",name:"Gene Annotaton"}],label:"Gene Annotaton",name:"Input dataset",outputs:[],position:{left:153.82812224613164,top:585.5486767979796},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"4f6df6ae-39ac-4a5e-98df-a0cb082a44fe",when:null,workflow_outputs:[]},4:{annotation:"Adjusted p-value threshold to call genes as differentially expressed. If not set, default 0.05 is used.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Adjusted p-value threshold to call genes as differentially expressed. If not set, default 0.05 is used.",name:"Adjusted p-value threshold"}],label:"Adjusted p-value threshold",name:"Input parameter",outputs:[],position:{left:184.15025210412472,top:735.8477989364526},tool_id:null,tool_state:'{"default": 0.05, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"43754055-ab65-475e-ae75-b84be92f9a06",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:5,input_connections:{},inputs:[],label:null,name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:812.5163140349712,top:0},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": "GeneID\\tBase mean\\tlog2(FC)\\tStdErr\\tWald-Stats\\tP-value\\tP-adj\\tChromosome\\tStart\\tEnd\\tStrand\\tFeature\\tGene name", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": "1"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"afef7b5d-f329-4792-bc41-a8bb705e6ccc",when:null,workflow_outputs:[]},6:{annotation:"log2 fold change threshold to filter for highly regulated genes. If not set, default 1.0 is used.",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"log2 fold change threshold to filter for highly regulated genes. If not set, default 1.0 is used.",name:"log2 fold change threshold"}],label:"log2 fold change threshold",name:"Input parameter",outputs:[],position:{left:211.7099474957992,top:880.615777567409},tool_id:null,tool_state:'{"default": 1.0, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"bb8bb582-3f12-4dfd-b973-2e24bf6aea07",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",errors:null,id:7,input_connections:{"style_cond|type_cond|pick_from_0|value":{id:4,output_name:"output"}},inputs:[],label:null,name:"Pick parameter value",outputs:[{name:"float_param",type:"expression.json"}],position:{left:450.98839299501634,top:659.5669461166157},post_job_actions:{HideDatasetActionfloat_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"float_param"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",tool_shed_repository:{changeset_revision:"b19e21af9c52",name:"pick_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"style_cond": {"pick_style": "first_or_default", "__current_case__": 1, "type_cond": {"param_type": "float", "__current_case__": 2, "pick_from": [{"__index__": 0, "value": {"__class__": "ConnectedValue"}}], "default_value": "0.05"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"82ade695-5064-4c41-8f17-113a91571438",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",errors:null,id:8,input_connections:{infile:{id:5,output_name:"outfile"}},inputs:[],label:null,name:"Text transformation",outputs:[{name:"output",type:"input"}],position:{left:1065.0285936858018,top:27.545761768432413},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "code": "s/__tc__/\\\\t/g", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"c06fbbc6-6875-439c-ad0a-823c41339bdd",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",errors:null,id:9,input_connections:{"style_cond|type_cond|pick_from_0|value":{id:6,output_name:"output"}},inputs:[],label:null,name:"Pick parameter value",outputs:[{name:"float_param",type:"expression.json"}],position:{left:497.8587064818947,top:824.4797977763942},post_job_actions:{HideDatasetActionfloat_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"float_param"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",tool_shed_repository:{changeset_revision:"b19e21af9c52",name:"pick_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"style_cond": {"pick_style": "first_or_default", "__current_case__": 1, "type_cond": {"param_type": "float", "__current_case__": 2, "pick_from": [{"__index__": 0, "value": {"__class__": "ConnectedValue"}}], "default_value": "1.0"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"9fb45a2f-63d2-48c2-b2cb-295bc323a14c",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/deseq2/deseq2/2.11.40.8+galaxy0",errors:null,id:10,input_connections:{header:{id:2,output_name:"output"},"output_options|alpha_ma":{id:7,output_name:"float_param"},"select_data|rep_factorName_0|rep_factorLevel_0|countsFile":{id:0,output_name:"output"},"select_data|rep_factorName_0|rep_factorLevel_1|countsFile":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool DESeq2",name:"batch_factors"},{description:"runtime parameter for tool DESeq2",name:"output_options"}],label:"Differential Analysis",name:"DESeq2",outputs:[{name:"deseq_out",type:"tabular"},{name:"plots",type:"pdf"},{name:"counts_out",type:"tabular"}],position:{left:741.3738148942634,top:199.67185694924424},post_job_actions:{HideDatasetActiondeseq_out:{action_arguments:{},action_type:"HideDatasetAction",output_name:"deseq_out"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/deseq2/deseq2/2.11.40.8+galaxy0",tool_shed_repository:{changeset_revision:"9a882d108833",name:"deseq2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"esf_cond": {"esf": "", "__current_case__": 0}, "fit_type": "1", "outlier_replace_off": false, "outlier_filter_off": false, "auto_mean_filter_off": false, "prefilter_conditional": {"prefilter": "", "__current_case__": 1}, "use_beta_priors": false}, "batch_factors": {"__class__": "RuntimeValue"}, "header": {"__class__": "ConnectedValue"}, "output_options": {"output_selector": ["pdf", "normCounts"], "alpha_ma": {"__class__": "ConnectedValue"}}, "select_data": {"how": "datasets_per_level", "__current_case__": 1, "rep_factorName": [{"__index__": 0, "factorName": "DEFactor", "rep_factorLevel": [{"__index__": 0, "factorLevel": "MainFactor", "countsFile": {"__class__": "ConnectedValue"}}, {"__index__": 1, "factorLevel": "BaseFactor", "countsFile": {"__class__": "ConnectedValue"}}]}]}, "tximport": {"tximport_selector": "count", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.11.40.8+galaxy0",type:"tool",uuid:"45883538-b692-4e35-8dee-d08974682a9c",when:null,workflow_outputs:[{label:"DESeq2 Plots",output_name:"plots",uuid:"82fc30c6-1af6-415c-98dd-4ac28671dc63"},{label:"DESeq2 Normalized Counts",output_name:"counts_out",uuid:"d7768a86-18fe-4752-946f-1b54e468d11e"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:11,input_connections:{"components_1|param_type|component_value":{id:7,output_name:"float_param"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:1030.3831032381008,top:646.2395043126207},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "c7<"}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"346c524e-98f0-4b7e-8531-eb9dc6d697c8",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:12,input_connections:{"components_1|param_type|component_value":{id:9,output_name:"float_param"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:1037.5832128440811,top:834.4804304279605},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "abs(c3)>"}}, {"__index__": 1, "param_type": {"select_param_type": "float", "__current_case__": 2, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"b802f520-01d7-4a42-9138-eaccb948d624",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/deg_annotate/deg_annotate/1.1.0",errors:null,id:13,input_connections:{annotation:{id:3,output_name:"output"},input_table:{id:10,output_name:"deseq_out"}},inputs:[],label:null,name:"Annotate DESeq2/DEXSeq output tables",outputs:[{name:"output",type:"tabular"}],position:{left:1053.2118356859382,top:253.53181990473982},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/deg_annotate/deg_annotate/1.1.0",tool_shed_repository:{changeset_revision:"e98d4ab5b5bc",name:"deg_annotate",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "advanced_parameters": {"gff_feature_type": "exon", "gff_feature_attribute": "gene_id", "gff_transcript_attribute": "transcript_id", "gff_attributes": "gene_biotype, gene_name"}, "annotation": {"__class__": "ConnectedValue"}, "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/dm6.len", "input_table": {"__class__": "ConnectedValue"}, "mode": "degseq", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"8c9667ec-283d-40d8-9fe0-a2c36d875d2b",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:14,input_connections:{infile:{id:10,output_name:"counts_out"}},inputs:[],label:null,name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:1444.0049932961922,top:643.7692280168025},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": "END{print NF}", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"e99d5d73-f738-4977-9740-1159a3291a5c",when:null,workflow_outputs:[]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1",errors:null,id:15,input_connections:{inputs:{id:8,output_name:"output"},"queries_0|inputs2":{id:13,output_name:"output"}},inputs:[],label:"Annotate DESeq2 table",name:"Concatenate datasets",outputs:[{name:"out_file1",type:"input"}],position:{left:1353.5294001633204,top:147.05412728617347},post_job_actions:{ChangeDatatypeActionout_file1:{action_arguments:{newtype:"tabular"},action_type:"ChangeDatatypeAction",output_name:"out_file1"},RenameDatasetActionout_file1:{action_arguments:{newname:"Annotated DESeq2 results"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"inputs": {"__class__": "ConnectedValue"}, "queries": [{"__index__": 0, "inputs2": {"__class__": "ConnectedValue"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"5aca8071-b7e2-48b6-ba2e-ef258852578c",when:null,workflow_outputs:[{label:"Annotated DESeq2 results table",output_name:"out_file1",uuid:"15fc04aa-406f-40a7-8b85-f99467590be5"}]},16:{annotation:"",content_id:"param_value_from_file",errors:null,id:16,input_connections:{input1:{id:14,output_name:"outfile"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:1795.8106940526452,top:744.1580154160025},post_job_actions:{HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"55b39be6-635d-491a-afd9-c8341f9932b4",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"Filter1",errors:null,id:17,input_connections:{cond:{id:11,output_name:"out1"},input:{id:15,output_name:"out_file1"}},inputs:[],label:"Filter with p-adj threshold",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1605.546743310479,top:371.3592826475832},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"},RenameDatasetActionout_file1:{action_arguments:{newname:"Genes filtered with adj p-value threshold"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "1", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"9cf4c012-7a52-4b47-bbec-4ad8275542ea",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/volcanoplot/volcanoplot/0.0.6",errors:null,id:18,input_connections:{input:{id:15,output_name:"out_file1"},lfc_thresh:{id:9,output_name:"float_param"},signif_thresh:{id:7,output_name:"float_param"}},inputs:[],label:"Generate Valcanot plot of DE genes",name:"Volcano Plot",outputs:[{name:"plot",type:"pdf"}],position:{left:2610.2086912391,top:957.2308087191843},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/volcanoplot/volcanoplot/0.0.6",tool_shed_repository:{changeset_revision:"2f557f6abbfb",name:"volcanoplot",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"fdr_col": "7", "header": "yes", "input": {"__class__": "ConnectedValue"}, "label_col": "13", "labels": {"label_select": "signif", "__current_case__": 0, "top_num": "10"}, "lfc_col": "3", "lfc_thresh": {"__class__": "ConnectedValue"}, "out_options": {"rscript_out": false}, "plot_options": {"boxes": false, "title": null, "xlab": null, "ylab": null, "xmin": null, "xmax": null, "ymax": null, "legend": null, "legend_labs": "Down,Not Sig,Up"}, "pval_col": "6", "signif_thresh": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.6",type:"tool",uuid:"cb314a3d-0b05-4d45-a961-591d59b3852b",when:null,workflow_outputs:[{label:"Volcano Plot of DE genes",output_name:"plot",uuid:"9c1cd777-caa5-4477-8a24-9708480bd693"}]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:19,input_connections:{"components_1|param_type|component_value":{id:16,output_name:"text_param"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:2144.7794821932416,top:725.294415795629},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "c1-c"}}, {"__index__": 1, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"34f60b08-6d52-4cc0-8a91-dedaff1ca499",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"Filter1",errors:null,id:20,input_connections:{cond:{id:12,output_name:"out1"},input:{id:17,output_name:"out_file1"}},inputs:[],label:"Filter with log2 FC threshold",name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:1910.07823962931,top:474.9743920452724},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Genes filtered with adj p-value and log2(FC) thresholds"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:'{"cond": {"__class__": "ConnectedValue"}, "header_lines": "1", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"1f787252-7a94-43b6-bb66-9624923ed05c",when:null,workflow_outputs:[{label:"Significantly differentially expressed genes",output_name:"out_file1",uuid:"ca9ba83d-00e7-4778-a670-9a5605606cfc"}]},21:{annotation:"",content_id:"join1",errors:null,id:21,input_connections:{input1:{id:10,output_name:"counts_out"},input2:{id:20,output_name:"out_file1"}},inputs:[],label:null,name:"Join two Datasets",outputs:[{name:"out_file1",type:"tabular"}],position:{left:2271.404780182028,top:406.30668475687355},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"join1",tool_state:'{"__input_ext": "tabular", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/dm6.len", "field1": "1", "field2": "1", "fill_empty_columns": {"fill_empty_columns_switch": "no_fill", "__current_case__": 0}, "header": "-H", "input1": {"__class__": "ConnectedValue"}, "input2": {"__class__": "ConnectedValue"}, "partial": "", "unmatched": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.3",type:"tool",uuid:"672e150d-ae77-41ae-9b66-2c3bf55bc701",when:null,workflow_outputs:[]},22:{annotation:"",content_id:"Cut1",errors:null,id:22,input_connections:{columnList:{id:19,output_name:"out1"},input:{id:21,output_name:"out_file1"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:2560.320455929024,top:649.1552708097212},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"},RenameDatasetActionout_file1:{action_arguments:{newname:"Normalized counts for the most differentially expressed genes"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": {"__class__": "ConnectedValue"}, "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"699a7dd8-e3d0-42b9-bf2d-02e92d208c14",when:null,workflow_outputs:[]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatmap2/3.2.0+galaxy1",errors:null,id:23,input_connections:{input1:{id:22,output_name:"out_file1"}},inputs:[],label:"Generate Heatmap of counts",name:"heatmap2",outputs:[{name:"output1",type:"pdf"}],position:{left:2874.905386062883,top:454.7381454908998},post_job_actions:{RenameDatasetActionoutput1:{action_arguments:{newname:"Normalized counts Heatmap"},action_type:"RenameDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatmap2/3.2.0+galaxy1",tool_shed_repository:{changeset_revision:"48b42ee61bc5",name:"ggplot2_heatmap2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/dm6.len", "cluster_cond": {"cluster": "yes", "__current_case__": 0, "cluster_cols_rows": "both", "distance": "euclidean", "clustering": "complete"}, "colorchoice": {"type": "two", "__current_case__": 1, "color1": "#ffffff", "color2": "#ff0000"}, "image_file_format": "pdf", "input1": {"__class__": "ConnectedValue"}, "key": "", "labels": "columns", "title": "", "transform": "log2plus1", "zscore_cond": {"zscore": "none", "__current_case__": 0, "scale": "none"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.2.0+galaxy1",type:"tool",uuid:"b8b1d4c3-d8bf-41e1-93ab-00c021d2896f",when:null,workflow_outputs:[{label:"Heatmap of log transformed normalized counts",output_name:"output1",uuid:"7361cd0a-4247-4274-b10e-d208c3465fdb"}]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatmap2/3.2.0+galaxy1",errors:null,id:24,input_connections:{input1:{id:22,output_name:"out_file1"}},inputs:[],label:"Generate Heatmap of Z-scores",name:"heatmap2",outputs:[{name:"output1",type:"pdf"}],position:{left:2899.706231952903,top:852.4572467969889},post_job_actions:{RenameDatasetActionoutput1:{action_arguments:{newname:"Z-scores Heatmap"},action_type:"RenameDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatmap2/3.2.0+galaxy1",tool_shed_repository:{changeset_revision:"48b42ee61bc5",name:"ggplot2_heatmap2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "tabular", "chromInfo": "/opt/galaxy/tool-data/shared/ucsc/chrom/dm6.len", "cluster_cond": {"cluster": "yes", "__current_case__": 0, "cluster_cols_rows": "both", "distance": "euclidean", "clustering": "complete"}, "colorchoice": {"type": "three", "__current_case__": 2, "color1": "#0000ff", "color2": "#ffffff", "color3": "#ff0000"}, "image_file_format": "pdf", "input1": {"__class__": "ConnectedValue"}, "key": "", "labels": "columns", "title": "", "transform": "none", "zscore_cond": {"zscore": "rows", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.2.0+galaxy1",type:"tool",uuid:"f4f25636-3963-4624-8047-cc5aa286ca0e",when:null,workflow_outputs:[{label:"Heatmap of Z-scores",output_name:"output1",uuid:"03b9a2ff-1520-41c1-8a53-0ada7b883e3f"}]}},tags:["transcriptomics","RNAseq"],uuid:"15d188a7-b028-4cf7-bb5d-13858e1f6e78",version:15},readme:`# RNA-seq Differential expression and filtering workflow This workflow works only with an experimental setup containing exactly 2 conditions with at least 2 replicates per condition. @@ -3169,6 +5915,67 @@ This workflow works only with an experimental setup containing exactly 2 conditi ## [0.1] 2024-10-25 First release. +`,diagrams:`# Workflow diagrams + +## RNAseq_DE_filtering_plotting + +\`\`\`mermaid +graph LR +0["ℹ️ Counts from changed condition"]@{ shape: docs } +1["ℹ️ Counts from reference condition"]@{ shape: docs } +2["ℹ️ Count files have header"]@{ shape: lean-l } +3["ℹ️ Gene Annotaton"]@{ shape: doc } +4["ℹ️ Adjusted p-value threshold"]@{ shape: lean-l } +5["Create text file"]@{ shape: process } +6["ℹ️ log2 fold change threshold"]@{ shape: lean-l } +7["Pick parameter value"]@{ shape: process } +4 --> 7 +8["Text transformation"]@{ shape: process } +5 --> 8 +9["Pick parameter value"]@{ shape: process } +6 --> 9 +10["Differential Analysis"]@{ shape: process } +2 --> 10 +7 --> 10 +0 --> 10 +1 --> 10 +11["Compose text parameter value"]@{ shape: process } +7 --> 11 +12["Compose text parameter value"]@{ shape: process } +9 --> 12 +13["Annotate DESeq2/DEXSeq output tables"]@{ shape: process } +3 --> 13 +10 --> 13 +14["Text reformatting"]@{ shape: process } +10 --> 14 +15["Annotate DESeq2 table"]@{ shape: process } +8 --> 15 +13 --> 15 +16["Parse parameter value"]@{ shape: process } +14 --> 16 +17["Filter with p-adj threshold"]@{ shape: process } +11 --> 17 +15 --> 17 +18["Generate Valcanot plot of DE genes"]@{ shape: process } +15 --> 18 +9 --> 18 +7 --> 18 +19["Compose text parameter value"]@{ shape: process } +16 --> 19 +20["Filter with log2 FC threshold"]@{ shape: process } +12 --> 20 +17 --> 20 +21["Join two Datasets"]@{ shape: process } +10 --> 21 +20 --> 21 +22["Cut"]@{ shape: process } +19 --> 22 +21 --> 22 +23["Generate Heatmap of counts"]@{ shape: process } +22 --> 23 +24["Generate Heatmap of Z-scores"]@{ shape: process } +22 --> 24 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/rnaseq-de/main",tests:[{doc:"Test outline for RNAseq_DE_filtering_plotting",job:{"Gene Annotaton":{class:"File",location:"https://zenodo.org/records/14056162/files/Saccharomyces_cerevisiae.R64-1-1.113.gtf",filetype:"gtf"},"Counts from changed condition":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"SRR5085169 Counts Table",location:"https://zenodo.org/records/14056162/files/SRR5085169.tabular"},{class:"File",identifier:"SRR5085170 Counts Table",location:"https://zenodo.org/records/14056162/files/SRR5085170.tabular"}]},"Counts from reference condition":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"SRR5085167 Counts Table",location:"https://zenodo.org/records/14056162/files/SRR5085167.tabular"},{class:"File",identifier:"SRR5085168 Counts Table",location:"https://zenodo.org/records/14056162/files/SRR5085168.tabular"}]},"Count files have header":!0,"Adjusted p-value threshold":.1,"log2 fold change threshold":.5},outputs:{"Annotated DESeq2 results table":{has_text_matching:{expression:"YKL081W 264.71[0-9]* -0.54[0-9]* 0.15[0-9]* -3.46[0-9]* 0.00[0-9]* 0.09[0-9]* chrXI 282890 284455 + protein_coding TEF4"}},"Heatmap of Z-scores":{has_size:{value:19510,delta:1e3}},"DESeq2 Normalized Counts":{has_text_matching:{expression:"YKL081W 313.76[0-9]* 322.37[0-9]* 223.48[0-9]* 199.24[0-9]*"}},"DESeq2 Plots":{has_size:{value:1193021,delta:6e4}},"Volcano Plot of DE genes":{has_size:{value:301346,delta:15e3}},"Heatmap of log transformed normalized counts":{has_size:{value:19501,delta:1e3}}}}]}],path:"./workflows/transcriptomics/rnaseq-de"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/BREW3R.ga",testParameterFiles:["/BREW3R-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"}],definition:{a_galaxy_workflow:"true",annotation:"This workflow takes a collection of BAM (output of STAR) and a gtf. It extends the input gtf using de novo annotation.",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"GPL-3.0-or-later",name:"BREW3R",release:"0.2",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"",name:"Input gtf"}],label:"Input gtf",name:"Input dataset",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["gtf"], "tag": null}',tool_version:null,type:"data_input",uuid:"c59ff317-5e58-4823-bd62-6474555f40a7",when:null,workflow_outputs:[]},1:{annotation:"BAM collection for example output of STAR",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"BAM collection for example output of STAR",name:"BAM collection"}],label:"BAM collection",name:"Input dataset collection",outputs:[],position:{left:52,top:92.84911999999173},tool_id:null,tool_state:'{"optional": false, "format": ["bam"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"14322b26-f7e5-415d-ab99-74b11036d9d8",when:null,workflow_outputs:[]},2:{annotation:"",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"",name:"strandedness"}],label:"strandedness",name:"Input parameter",outputs:[],position:{left:122,top:186.84911999999173},tool_id:null,tool_state:'{"restrictions": ["stranded - forward", "stranded - reverse", "unstranded"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"ee38bb19-c158-4a54-82b1-a2eeb195e5f0",when:null,workflow_outputs:[]},3:{annotation:"",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"",name:"minimum coverage"}],label:"minimum coverage",name:"Input parameter",outputs:[],position:{left:229,top:269.84911999999173},tool_id:null,tool_state:'{"default": 10, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"912d8e34-2782-4375-a683-1f71ec0cabb7",when:null,workflow_outputs:[]},4:{annotation:"",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"",name:"minimum FPKM for merge"}],label:"minimum FPKM for merge",name:"Input parameter",outputs:[],position:{left:278,top:383.34911999999173},tool_id:null,tool_state:'{"default": 1.0, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"b71eaaf4-31b8-47e9-a5dd-27c48faaa0c6",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:5,input_connections:{"input_param_type|input_param":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:null,name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:437,top:150.5},post_job_actions:{HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "--fr"}, {"__index__": 1, "from": "stranded - reverse", "to": "--rf"}, {"__index__": 2, "from": "unstranded", "to": ""}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"41e690b0-597b-4a3a-9289-5fc22fc6644b",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:6,input_connections:{"input_param_type|input_param":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Unstranded",name:"Map parameter value",outputs:[{name:"output_param_boolean",type:"expression.json"}],position:{left:882,top:394.3499755859375},post_job_actions:{HideDatasetActionoutput_param_boolean:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_boolean"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "unstranded", "to": "true"}]}, "output_param_type": "boolean", "unmapped": {"on_unmapped": "default", "__current_case__": 2, "default_value": "false"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"62529fa0-d1b5-40c2-a1c4-69976ace92ce",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0",errors:null,id:7,input_connections:{"adv|min_anchor_cov":{id:3,output_name:"output"},"adv|min_bundle_cov":{id:3,output_name:"output"},"input_options|input_bam":{id:1,output_name:"output"},rna_strandness:{id:5,output_name:"output_param_text"}},inputs:[{description:"runtime parameter for tool StringTie",name:"adv"},{description:"runtime parameter for tool StringTie",name:"adv"},{description:"runtime parameter for tool StringTie",name:"adv"},{description:"runtime parameter for tool StringTie",name:"input_options"}],label:"assembl with StringTie",name:"StringTie",outputs:[{name:"output_gtf",type:"gtf"}],position:{left:692,top:38.850006103515625},post_job_actions:{HideDatasetActionoutput_gtf:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_gtf"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0",tool_shed_repository:{changeset_revision:"cbf488da3b2c",name:"stringtie",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"abundance_estimation": false, "omit_sequences": "", "name_prefix": "", "fraction": "0.01", "min_tlen": "200", "min_anchor_len": "10", "min_anchor_cov": {"__class__": "ConnectedValue"}, "min_bundle_cov": {"__class__": "ConnectedValue"}, "bdist": "50", "bundle_fraction": "1.0", "disable_trimming": false, "multi_mapping": false, "point_features": {"__class__": "RuntimeValue"}}, "guide": {"use_guide": "no", "__current_case__": 0}, "input_options": {"input_mode": "short_reads", "__current_case__": 0, "input_bam": {"__class__": "ConnectedValue"}}, "rna_strandness": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.3+galaxy0",type:"tool",uuid:"dd55ed02-93cf-4341-927b-d68879ac94c2",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie_merge/2.2.3+galaxy0",errors:null,id:8,input_connections:{input_gtf:{id:7,output_name:"output_gtf"},min_fpkm:{id:4,output_name:"output"}},inputs:[{description:"runtime parameter for tool StringTie merge",name:"guide_gff"}],label:"merge assembled transcripts",name:"StringTie merge",outputs:[{name:"out_gtf",type:"gtf"}],position:{left:936,top:108.85000610351562},post_job_actions:{HideDatasetActionout_gtf:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_gtf"},RenameDatasetActionout_gtf:{action_arguments:{newname:"merged StringTie gtf"},action_type:"RenameDatasetAction",output_name:"out_gtf"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie_merge/2.2.3+galaxy0",tool_shed_repository:{changeset_revision:"cbf488da3b2c",name:"stringtie",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"gap_len": "0", "guide_gff": {"__class__": "RuntimeValue"}, "input_gtf": {"__class__": "ConnectedValue"}, "keep_introns": false, "min_cov": "0", "min_fpkm": {"__class__": "ConnectedValue"}, "min_iso": "0.01", "min_len": "50", "min_tpm": "1.0", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.3+galaxy0",type:"tool",uuid:"d93e48b1-da4c-4eaa-bd1c-c12aca790c05",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/brew3r_r/brew3r_r/1.0.2+galaxy1",errors:null,id:9,input_connections:{filter_unstranded:{id:6,output_name:"output_param_boolean"},gtf_to_extend:{id:0,output_name:"output"},gtf_to_overlap:{id:8,output_name:"out_gtf"}},inputs:[],label:"BREW3R.r",name:"BREW3R.r",outputs:[{name:"output",type:"gtf"}],position:{left:1243,top:115.3499755859375},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"#{gtf_to_extend} BREW3R extended"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/brew3r_r/brew3r_r/1.0.2+galaxy1",tool_shed_repository:{changeset_revision:"d3b0390f325f",name:"brew3r_r",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"exclude_pattern": "", "filter_unstranded": {"__class__": "ConnectedValue"}, "gtf_to_extend": {"__class__": "ConnectedValue"}, "gtf_to_overlap": {"__class__": "ConnectedValue"}, "no_add": false, "sup_output": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2+galaxy1",type:"tool",uuid:"c6a1e810-55f4-4c0e-9f19-d162503edbf0",when:null,workflow_outputs:[{label:"extended_gtf",output_name:"output",uuid:"fddb2278-64af-422b-88da-1c8889a175be"}]}},tags:[],uuid:"ac8ef6cb-1621-4b73-9362-8a460ef3c3a2",version:1},readme:`# BREW3R ![BREW3R logo](https://raw.githubusercontent.com/lldelisle/BREW3R/main/images/logo.png) @@ -3205,6 +6012,34 @@ BREW3R highly relies on a R package called BREW3R.r available on [bioconductor]( ## [0.1] 2024-06-17 First release. +`,diagrams:`# Workflow diagrams + +## BREW3R + +\`\`\`mermaid +graph LR +0["ℹ️ Input gtf"]@{ shape: doc } +1["ℹ️ BAM collection"]@{ shape: docs } +2["ℹ️ strandedness"]@{ shape: lean-l } +3["ℹ️ minimum coverage"]@{ shape: lean-l } +4["ℹ️ minimum FPKM for merge"]@{ shape: lean-l } +5["Map parameter value"]@{ shape: process } +2 --> 5 +6["Unstranded"]@{ shape: process } +2 --> 6 +7["assembl with StringTie"]@{ shape: process } +3 --> 7 +3 --> 7 +1 --> 7 +5 --> 7 +8["merge assembled transcripts"]@{ shape: process } +7 --> 8 +4 --> 8 +9["BREW3R.r"]@{ shape: process } +6 --> 9 +0 --> 9 +8 --> 9 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/brew3r/main",tests:[{doc:"Test outline for BREW3R",job:{"Input gtf":{class:"File",path:"test-data/input.gtf",filetype:"gtf"},"BAM collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"GSM4196550",path:"test-data/GSM4196550_subset.bam"},{class:"File",identifier:"GSM4196551",path:"test-data/GSM4196551_subset.bam"},{class:"File",identifier:"GSM4196552",path:"test-data/GSM4196552_subset.bam"}]},strandedness:"stranded - reverse","minimum coverage":10,"minimum FPKM for merge":1},outputs:{extended_gtf:{asserts:{has_line:{line:'chr12 HAVANA exon 11206402 11208972 . - . gene_id "ENSMUSG00000047002.2"; gene_type "protein_coding"; gene_name "Msgn1"; level "2"; mgi_id "MGI:1860483"; havana_gene "OTTMUSG00000065713.1"; transcript_id "ENSMUST00000049877.2"; transcript_type "protein_coding"; transcript_name "Msgn1-201"; protein_id "ENSMUSP00000055001.1"; transcript_support_level "NA"; tag "CCDS"; ccdsid "CCDS25814.1"; havana_transcript "OTTMUST00000159929.1"; exon_number "1"; exon_id "ENSMUSE00000372682.2.ext"'},has_text:{text:"CDS"}}}}}]}],path:"./workflows/transcriptomics/brew3r"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/rnaseq-sr.ga",testParameterFiles:["/rnaseq-sr-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"},{name:"Pavankumar Videm",orcid:"0000-0002-5192-126X"}],definition:{a_galaxy_workflow:"true",annotation:`This workflow takes as input a list of single-end fastqs. Adapters and bad quality bases are removed with fastp. Reads are mapped with STAR with ENCODE parameters and genes are counted simultaneously as well as normalized coverage (per million mapped reads) on uniquely mapped reads. The counts are reprocessed to be similar to HTSeq-count output. Alternatively, featureCounts can be used to count the reads/fragments per gene. FPKM are computed with cufflinks and/or with StringTie. The unstranded normalized coverage is computed with bedtools. `,comments:[{child_steps:[12,20,21],color:"yellow",data:{title:"Additional quantification"},id:2,position:[1391.2086321940171,1073.6999999999998],size:[860,716],type:"frame"},{child_steps:[17,18],color:"red",data:{title:"Coverage Files"},id:1,position:[1603.68749985966,0],size:[375,538],type:"frame"},{child_steps:[13,14,15],color:"lime",data:{title:"Map Strandedness parameter"},id:0,position:[855.5086321940169,1252.5],size:[251,558],type:"frame"}],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"},{class:"Person",identifier:"https://orcid.org/0000-0002-5192-126X",name:"Pavankumar Videm"}],"format-version":"0.1",license:"MIT",release:"1.1",name:"RNA-seq for Single-read fastqs",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Should be a list of single-read RNA-seq fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a list of single-read RNA-seq fastqs",name:"Collection of FASTQ files"}],label:"Collection of FASTQ files",name:"Input dataset collection",outputs:[],position:{left:0,top:462.87500890145213},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"020f7580-f647-471f-b210-dbf9dfcf80bf",when:null,workflow_outputs:[]},1:{annotation:"This is optional. If not provided, fastp will try to guess the sequence. If you want to specify, for Nextera use: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC, for TruSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"This is optional. If not provided, fastp will try to guess the sequence. If you want to specify, for Nextera use: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC, for TruSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC",name:"Forward adapter"}],label:"Forward adapter",name:"Input parameter",outputs:[],position:{left:35.17186494140515,top:567.328103383874},tool_id:null,tool_state:'{"parameter_type": "text", "optional": true}',tool_version:null,type:"parameter_input",uuid:"6d1de206-97c4-41ba-8702-a980f748a689",when:null,workflow_outputs:[]},2:{annotation:"Whether to compute additional QC like fastQC, gene body coverage etc...",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Whether to compute additional QC like fastQC, gene body coverage etc...",name:"Generate additional QC reports"}],label:"Generate additional QC reports",name:"Input parameter",outputs:[],position:{left:114.671875,top:764.5781339014521},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"bea331ce-d6fa-4312-8dce-a8b13bc4e77b",when:null,workflow_outputs:[]},3:{annotation:"Select the reference genome",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Select the reference genome",name:"Reference genome"}],label:"Reference genome",name:"Input parameter",outputs:[],position:{left:157.109375,top:870.218728383874},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a72b29ae-65a7-4e4d-a996-2943ab5b02aa",when:null,workflow_outputs:[]},4:{annotation:"GTF compatible with the reference genome. Mind the UCSC/Ensembl differences in chromosome naming.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"GTF compatible with the reference genome. Mind the UCSC/Ensembl differences in chromosome naming.",name:"GTF file of annotation"}],label:"GTF file of annotation",name:"Input dataset",outputs:[],position:{left:199.671875,top:977.3906033838739},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"4987fd01-b72c-4bc0-9d49-a840a0d04b8e",when:null,workflow_outputs:[]},5:{annotation:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",name:"Strandedness"}],label:"Strandedness",name:"Input parameter",outputs:[],position:{left:251.890625,top:1073.781228383874},tool_id:null,tool_state:'{"restrictions": ["stranded - forward", "stranded - reverse", "unstranded"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"2ccf2242-dddd-45b6-8cea-746d9b5d49bc",when:null,workflow_outputs:[]},6:{annotation:"Use featureCounts tool instead of RNA STAR?",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"Use featureCounts tool instead of RNA STAR?",name:"Use featureCounts for generating count tables"}],label:"Use featureCounts for generating count tables",name:"Input parameter",outputs:[],position:{left:291.34375,top:1173.124978383874},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"f43d45e6-5692-41cb-8cfc-205dbeab1bd0",when:null,workflow_outputs:[]},7:{annotation:"Whether FPKM values should be computed with Cufflinks",content_id:null,errors:null,id:7,input_connections:{},inputs:[{description:"Whether FPKM values should be computed with Cufflinks",name:"Compute Cufflinks FPKM"}],label:"Compute Cufflinks FPKM",name:"Input parameter",outputs:[],position:{left:346.83340121591186,top:1309.3879390873915},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"78868cdb-baff-4388-a41a-a700259da1ed",when:null,workflow_outputs:[]},8:{annotation:"It could be a GTF with for example one entry for the chrM forward and one entry for the chrM reverse",content_id:null,errors:null,id:8,input_connections:{},inputs:[{description:"It could be a GTF with for example one entry for the chrM forward and one entry for the chrM reverse",name:"GTF with regions to exclude from FPKM normalization with Cufflinks"}],label:"GTF with regions to exclude from FPKM normalization with Cufflinks",name:"Input dataset",outputs:[],position:{left:380.53912206977975,top:1425.307227138327},tool_id:null,tool_state:'{"optional": true, "tag": ""}',tool_version:null,type:"data_input",uuid:"0d4e1623-adc9-4ff3-8156-7e1322b1e278",when:null,workflow_outputs:[]},9:{annotation:"Whether FPKM values should be computed with StringTie",content_id:null,errors:null,id:9,input_connections:{},inputs:[{description:"Whether FPKM values should be computed with StringTie",name:"Compute StringTie FPKM"}],label:"Compute StringTie FPKM",name:"Input parameter",outputs:[],position:{left:406.9259176995931,top:1559.4856968335116},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"056f11f4-bdd9-4361-b037-2c0822320cc2",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3",errors:null,id:10,input_connections:{"single_paired|adapter_trimming_options|adapter_sequence1":{id:1,output_name:"output"},"single_paired|in1":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool fastp",name:"single_paired"}],label:"remove adapters + bad quality bases",name:"fastp",outputs:[{name:"out1",type:"input"},{name:"report_json",type:"json"}],position:{left:377,top:106.21400000000001},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"},HideDatasetActionreport_json:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3",tool_shed_repository:{changeset_revision:"a626e8c0e1ba",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": false, "qualified_quality_phred": "30", "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": false, "length_required": "15", "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": false, "complexity_threshold": null}}, "output_options": {"report_html": false, "report_json": true}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": false, "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": false, "umi_loc": null, "umi_len": null, "umi_prefix": null}, "cutting_by_quality_options": {"cut_by_quality5": false, "cut_by_quality3": false, "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": false}}, "single_paired": {"single_paired_selector": "single", "__current_case__": 0, "in1": {"__class__": "ConnectedValue"}, "adapter_trimming_options": {"disable_adapter_trimming": false, "adapter_sequence1": {"__class__": "ConnectedValue"}}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.24.0+galaxy3",type:"tool",uuid:"e31141cc-c8a5-4dde-882f-72c1b8aabe97",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:11,input_connections:{"input_param_type|input_param":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"no additional QC",name:"Map parameter value",outputs:[{name:"output_param_boolean",type:"expression.json"}],position:{left:2139.879611894974,top:184.34956182248365},post_job_actions:{HideDatasetActionoutput_param_boolean:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_boolean"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "boolean", "__current_case__": 3, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": false, "to": "true"}, {"__index__": 1, "from": true, "to": "false"}]}, "output_param_type": "boolean", "unmapped": {"on_unmapped": "input", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"68188ffa-f288-4da4-8d29-1f3d3b689937",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:12,input_connections:{"components_0|param_type|component_value":{id:3,output_name:"output"}},inputs:[],label:"get reference_genome as text parameter",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:1497.7951400347756,top:1173.104961480357},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"bcceb886-0592-4b3f-8b39-26fe79caeb62",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:13,input_connections:{"input_param_type|input_param":{id:5,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Get featureCounts strandedness parameter",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:880.1168847150709,top:1303.1637555172579},post_job_actions:{HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "1"}, {"__index__": 1, "from": "stranded - reverse", "to": "2"}, {"__index__": 2, "from": "unstranded", "to": "0"}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"72d7d4d1-d1be-481c-b2a1-1e85192b2661",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:14,input_connections:{"input_param_type|input_param":{id:5,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Get cufflinks strandedness parameter",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:880.334534933914,top:1483.3515528952898},post_job_actions:{HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "fr-secondstrand"}, {"__index__": 1, "from": "stranded - reverse", "to": "fr-firststrand"}, {"__index__": 2, "from": "unstranded", "to": "fr-unstranded"}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"f027f3d5-3b91-4061-b5cd-78553509ce5e",when:null,workflow_outputs:[]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:15,input_connections:{"input_param_type|input_param":{id:5,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Get Stringtie strandedness parameter",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:875.5945006269037,top:1653.5777444451405},post_job_actions:{HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "--fr"}, {"__index__": 1, "from": "stranded - reverse", "to": "--rf"}, {"__index__": 2, "from": "unstranded", "to": ""}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"63e6501b-e1de-4184-af42-720cc9a6dfb0",when:null,workflow_outputs:[]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy1",errors:null,id:16,input_connections:{"refGenomeSource|GTFconditional|genomeDir":{id:3,output_name:"output"},"refGenomeSource|GTFconditional|sjdbGTFfile":{id:4,output_name:"output"},"singlePaired|input1":{id:10,output_name:"out1"}},inputs:[{description:"runtime parameter for tool RNA STAR",name:"singlePaired"}],label:"STAR: map and count and coverage splitted",name:"RNA STAR",outputs:[{name:"output_log",type:"txt"},{name:"splice_junctions",type:"interval"},{name:"mapped_reads",type:"bam"},{name:"reads_per_gene",type:"tabular"},{name:"signal_unique_str1",type:"bedgraph"},{name:"signal_uniquemultiple_str1",type:"bedgraph"},{name:"signal_unique_str2",type:"bedgraph"},{name:"signal_uniquemultiple_str2",type:"bedgraph"}],position:{left:732.1609477893844,top:246.8799136582777},post_job_actions:{HideDatasetActionoutput_log:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_log"},HideDatasetActionreads_per_gene:{action_arguments:{},action_type:"HideDatasetAction",output_name:"reads_per_gene"},HideDatasetActionsignal_unique_str1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"signal_unique_str1"},HideDatasetActionsignal_unique_str2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"signal_unique_str2"},HideDatasetActionsignal_uniquemultiple_str1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"signal_uniquemultiple_str1"},HideDatasetActionsignal_uniquemultiple_str2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"signal_uniquemultiple_str2"},HideDatasetActionsplice_junctions:{action_arguments:{},action_type:"HideDatasetAction",output_name:"splice_junctions"},RenameDatasetActionmapped_reads:{action_arguments:{newname:"Mapped Reads"},action_type:"RenameDatasetAction",output_name:"mapped_reads"},RenameDatasetActionreads_per_gene:{action_arguments:{newname:"Reads per gene from STAR"},action_type:"RenameDatasetAction",output_name:"reads_per_gene"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy1",tool_shed_repository:{changeset_revision:"4014de1b6daf",name:"rgrnastar",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"algo": {"params": {"settingsType": "full", "__current_case__": 3, "seed": {"seedSearchStartLmax": "50", "seedSearchStartLmaxOverLread": "1.0", "seedSearchLmax": "0", "seedMultimapNmax": "10000", "seedPerReadNmax": "1000", "seedPerWindowNmax": "50", "seedNoneLociPerWindow": "10"}, "align": {"alignIntronMin": "20", "alignIntronMax": "1000000", "alignMatesGapMax": "1000000", "alignSJoverhangMin": "8", "alignSJstitchMismatchNmax": {"alignSJstitchMismatchNmax1": "0", "alignSJstitchMismatchNmax2": "-1", "alignSJstitchMismatchNmax3": "0", "alignSJstitchMismatchNmax4": "0"}, "alignSJDBoverhangMin": "1", "alignSplicedMateMapLmin": "0", "alignSplicedMateMapLminOverLmate": "0.66", "alignWindowsPerReadNmax": "10000", "alignTranscriptsPerWindowNmax": "100", "alignTranscriptsPerReadNmax": "10000", "alignEndsType": "Local", "peOverlapNbasesMin": "0", "peOverlapMMp": "0.01"}, "chim_settings": {"chimSegmentMin": "12", "chimScoreMin": "0", "chimScoreDropMax": "20", "chimScoreSeparation": "10", "chimScoreJunctionNonGTAG": "-1", "chimJunctionOverhangMin": "20", "chimSegmentReadGapMax": "0", "chimFilter": true, "chimMainSegmentMultNmax": "10", "chimMultimapNmax": "1", "chimMultimapScoreRange": "1"}, "junction_limits": {"limitOutSJoneRead": "1000", "limitOutSJcollapsed": "1000000", "limitSjdbInsertNsj": "1000000"}}}, "chimOutType": "", "filter": {"basic_filters": ["exclude_unmapped"], "output_params2": {"output_select2": "yes", "__current_case__": 0, "outFilterType": true, "outFilterMultimapScoreRange": "1", "outFilterMultimapNmax": "20", "outFilterMismatchNmax": "999", "outFilterMismatchNoverLmax": "0.3", "outFilterMismatchNoverReadLmax": "0.04", "outFilterScoreMin": "0", "outFilterScoreMinOverLread": "0.66", "outFilterMatchNmin": "0", "outFilterMatchNminOverLread": "0.66", "outSAMmultNmax": "-1", "outSAMtlen": "1"}}, "oformat": {"outSAMattributes": ["NH", "HI", "AS", "nM"], "HI_offset": "1", "outSAMprimaryFlag": "OneBestScore", "outSAMmapqUnique": "255", "wasp_conditional": {"waspOutputMode": "", "__current_case__": 1}}, "outWig": {"outWigType": "bedGraph", "__current_case__": 1, "outWigTypeSecondWord": "", "outWigStrand": true, "outWigReferencesPrefix": "-", "outWigNorm": true}, "perf": {"outBAMsortingBinsN": "50", "winAnchorMultimapNmax": "50"}, "refGenomeSource": {"geneSource": "indexed", "__current_case__": 0, "GTFconditional": {"GTFselect": "without-gtf-with-gtf", "__current_case__": 1, "genomeDir": {"__class__": "ConnectedValue"}, "sjdbGTFfile": {"__class__": "ConnectedValue"}, "sjdbGTFfeatureExon": "exon", "sjdbOverhang": "100", "quantmode_output": {"quantMode": "GeneCounts", "__current_case__": 1}}}, "singlePaired": {"sPaired": "single", "__current_case__": 0, "input1": {"__class__": "ConnectedValue"}}, "twopass": {"twopassMode": "None", "__current_case__": 0, "twopass_read_subset": "", "sj_precalculated": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.7.11a+galaxy1",type:"tool",uuid:"be1a277d-6d0d-4aaf-acea-9735426932b0",when:null,workflow_outputs:[{label:"Mapped Reads",output_name:"mapped_reads",uuid:"f5722954-fd5c-4e66-aed0-4cd099dd9b1c"}]},17:{annotation:"",id:17,input_connections:{"STAR BAM":{id:16,input_subworkflow_step_id:1,output_name:"mapped_reads"},"STAR log":{id:16,input_subworkflow_step_id:0,output_name:"output_log"}},inputs:[{description:"",name:"Generate Unstranded Coverage"}],label:"Generate Unstranded Coverage",name:"Get Uniquely mapped unstranded coverage",outputs:[],position:{left:1683.2031849964808,top:86.70584740647254},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Get Uniquely mapped unstranded coverage",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"RNA STAR log files",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"RNA STAR log files",name:"STAR log"}],label:"STAR log",name:"Input dataset collection",outputs:[],position:{left:0,top:46},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"3e3f7463-a635-44a2-a1f4-7e12aae3d25b",when:null,workflow_outputs:[]},1:{annotation:"Mapped BAM files generate from RNA STAR",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Mapped BAM files generate from RNA STAR",name:"STAR BAM"}],label:"STAR BAM",name:"Input dataset collection",outputs:[],position:{left:280,top:209},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"10dddc85-d3fc-4cba-a637-0c40153d284f",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:2,input_connections:{infile:{id:0,output_name:"output"}},inputs:[],label:"get scaling factor",name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:280,top:20},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": "$0~\\"Uniquely mapped reads number\\"{print 1000000/$NF}", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"77cf2304-36bf-4337-bc2d-bc4d8b831668",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2",errors:null,id:3,input_connections:{input_bam:{id:1,output_name:"output"}},inputs:[],label:"keep uniquely mapped reads",name:"Filter BAM",outputs:[{name:"out_file2",type:"txt"},{name:"out_file1",type:"bam"}],position:{left:560,top:195},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"},HideDatasetActionout_file2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file2"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2",tool_shed_repository:{changeset_revision:"993b19f20c76",name:"bamtools_filter",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"conditions": [{"__index__": 0, "filters": [{"__index__": 0, "bam_property": {"bam_property_selector": "tag", "__current_case__": 21, "bam_property_value": "NH=1"}}]}], "input_bam": {"__class__": "ConnectedValue"}, "rule_configuration": {"rules_selector": "false", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.5.2+galaxy2",type:"tool",uuid:"59db7088-85bf-42ba-9dcd-76836f9d6310",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"param_value_from_file",errors:null,id:4,input_connections:{input1:{id:2,output_name:"outfile"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"float_param",type:"expression.json"}],position:{left:560,top:0},post_job_actions:{HideDatasetActionfloat_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"float_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "float", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"83e6d856-5809-419a-b4bc-639662a95751",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.31.1",errors:null,id:5,input_connections:{"input_type|input":{id:3,output_name:"out_file1"},"report|scale":{id:4,output_name:"float_param"}},inputs:[{description:"runtime parameter for tool bedtools Genome Coverage",name:"input_type"},{description:"runtime parameter for tool bedtools Genome Coverage",name:"report"}],label:"Scaled Coverage both strands combined",name:"bedtools Genome Coverage",outputs:[{name:"output",type:"bedgraph"}],position:{left:840,top:12},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.31.1",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"d": false, "dz": false, "five": false, "input_type": {"input_type_select": "bam", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}, "report": {"report_select": "bg", "__current_case__": 0, "zero_regions": false, "scale": {"__class__": "ConnectedValue"}}, "split": true, "strand": "", "three": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1",type:"tool",uuid:"df53e789-be2d-4b09-be8d-a07a35c14913",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:6,input_connections:{input1:{id:5,output_name:"output"}},inputs:[],label:"convert both strands coverage to bigwig",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:1120,top:67},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Both Strands Coverage"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"62d76728-f614-48c0-9560-3abd05b8366d",when:null,workflow_outputs:[{label:"Both Strands Coverage",output_name:"out_file1",uuid:"73763ad9-c132-4764-ada6-eece0c30e74f"}]}},tags:[],uuid:"71d32e61-70bd-4571-b3a4-79cc4d726233"},tool_id:null,type:"subworkflow",uuid:"6ce6314b-d339-40bf-9f0e-53ca525204be",when:null,workflow_outputs:[{label:"Unstranded Coverage",output_name:"Both Strands Coverage",uuid:"f90cc885-438b-49ee-b1d1-8ed45f7dea5c"}]},18:{annotation:"",id:18,input_connections:{"Bedgraph strand 1":{id:16,input_subworkflow_step_id:1,output_name:"signal_unique_str1"},"Bedgraph strand 2":{id:16,input_subworkflow_step_id:2,output_name:"signal_unique_str2"},strandedness:{id:5,input_subworkflow_step_id:0,output_name:"output"}},inputs:[{description:"",name:"Generate Stranded Coverage"}],label:"Generate Stranded Coverage",name:"Re-arrange Stranded RNA-seq coverage",outputs:[],position:{left:1692.210489743303,top:282.0471550654421},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Re-arrange Stranded RNA-seq coverage",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",name:"strandedness"}],label:"strandedness",name:"Input parameter",outputs:[],position:{left:0,top:370},tool_id:null,tool_state:'{"restrictions": ["stranded - forward", "stranded - reverse", "unstranded"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"56955f25-7e9e-4201-a056-b61f47359c84",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"d363c181-7f37-45ef-9732-86aaf879478a"}]},1:{annotation:"From STAR strand 1",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"From STAR strand 1",name:"Bedgraph strand 1"}],label:"Bedgraph strand 1",name:"Input dataset collection",outputs:[],position:{left:0,top:472},tool_id:null,tool_state:'{"optional": false, "format": ["bedgraph"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"7919f2ed-554a-4e08-93eb-6896a2195293",when:null,workflow_outputs:[]},2:{annotation:"From STAR strand 2",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"From STAR strand 2",name:"Bedgraph strand 2"}],label:"Bedgraph strand 2",name:"Input dataset collection",outputs:[],position:{left:569.999952609169,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["bedgraph"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"9318223c-4443-4341-8448-11df606ccfdf",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:3,input_connections:{"input_param_type|input_param":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Get replacement for strand2",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:289.9999763045845,top:51},post_job_actions:{HideDatasetActionoutput_param_boolean:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_boolean"},HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "$1_reverse"}, {"__index__": 1, "from": "stranded - reverse", "to": "$1_forward"}, {"__index__": 2, "from": "unstranded", "to": "$1_reverse"}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"2ec50fce-ef76-4f56-9fc6-5c6b34c6593e",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:4,input_connections:{"input_param_type|input_param":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Get replacement for strand1",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:289.9999763045845,top:359},post_job_actions:{HideDatasetActionoutput_param_boolean:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_boolean"},HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "$1_forward"}, {"__index__": 1, "from": "stranded - reverse", "to": "$1_reverse"}, {"__index__": 2, "from": "unstranded", "to": "$1_forward"}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"b7e2cedf-e846-4553-9e48-4aa9a93d40b2",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:5,input_connections:{input_collection:{id:1,output_name:"output"}},inputs:[],label:"get identifiers",name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:289.9999763045845,top:225},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"7d866aad-dd6c-4d17-bf6d-8f0026652265",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",errors:null,id:6,input_connections:{"find_and_replace_0|replace_pattern":{id:3,output_name:"output_param_text"},infile:{id:5,output_name:"output"}},inputs:[],label:"New labels strand 2",name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:569.999952609169,top:123},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"find_and_replace": [{"__index__": 0, "find_pattern": "^(.+)$", "replace_pattern": {"__class__": "ConnectedValue"}, "is_regex": true, "global": true, "caseinsensitive": false, "wholewords": false, "skip_first_line": false, "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}}], "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"ec10a98b-adb9-4037-9137-1717068d7157",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",errors:null,id:7,input_connections:{"find_and_replace_0|replace_pattern":{id:4,output_name:"output_param_text"},infile:{id:5,output_name:"output"}},inputs:[],label:"New labels strand 1",name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:569.999952609169,top:328},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"find_and_replace": [{"__index__": 0, "find_pattern": "^(.+)$", "replace_pattern": {"__class__": "ConnectedValue"}, "is_regex": true, "global": true, "caseinsensitive": false, "wholewords": false, "skip_first_line": false, "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}}], "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"4eb0d67c-f53c-4f84-90fc-3db41e4f0aa7",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:8,input_connections:{"how|labels":{id:6,output_name:"outfile"},input:{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:"Relabelled strand 2",name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:849.9998437853558,top:106},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"147ccbb0-b951-4851-9bf5-2c6b439ac1b6",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:9,input_connections:{"how|labels":{id:7,output_name:"outfile"},input:{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:"Relabelled strand 1",name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:849.9999005376209,top:365},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"e9dcd2df-2834-4e9a-bef2-7666de012b8a",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"__MERGE_COLLECTION__",errors:null,id:10,input_connections:{"inputs_0|input":{id:9,output_name:"output"},"inputs_1|input":{id:8,output_name:"output"}},inputs:[],label:null,name:"Merge collections",outputs:[{name:"output",type:"input"}],position:{left:1129.9999903467356,top:120},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__MERGE_COLLECTION__",tool_state:'{"advanced": {"conflict": {"duplicate_options": "keep_first", "__current_case__": 3}}, "inputs": [{"__index__": 0, "input": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input": {"__class__": "ConnectedValue"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"f47d7381-13b2-4615-b947-17a0ac2ad500",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:11,input_connections:{input1:{id:10,output_name:"output"}},inputs:[],label:"convert to bigwig",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:1410.000136908115,top:171},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"uniquely mapped stranded coverage"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"852f2d23-b48e-44d0-aaf2-aed33532d98a",when:null,workflow_outputs:[{label:"Uniquely Mapped Stranded Coverage",output_name:"out_file1",uuid:"0a31ff80-b3d1-4959-869f-1a6a3c627dde"}]}},tags:[],uuid:"5626e8b4-2709-4f0f-9dd9-bc05f8b35222"},tool_id:null,type:"subworkflow",uuid:"bf990b24-1ec8-4e67-acec-fecf26a3d49f",when:null,workflow_outputs:[{label:"Stranded Coverage",output_name:"Uniquely Mapped Stranded Coverage",uuid:"9161f772-6904-4479-aff4-566295f5b3b2"}]},19:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.6+galaxy0",errors:null,id:19,input_connections:{alignment:{id:16,output_name:"mapped_reads"},"anno|reference_gene_sets":{id:4,output_name:"output"},strand_specificity:{id:13,output_name:"output_param_text"},when:{id:6,output_name:"output"}},inputs:[{description:"runtime parameter for tool featureCounts",name:"anno"}],label:null,name:"featureCounts",outputs:[{name:"output_short",type:"tabular"},{name:"output_summary",type:"tabular"}],position:{left:1713.913195680125,top:672.9994811085061},post_job_actions:{HideDatasetActionoutput_short:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_short"},HideDatasetActionoutput_summary:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_summary"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.6+galaxy0",tool_shed_repository:{changeset_revision:"1b851f87fbe0",name:"featurecounts",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"alignment": {"__class__": "ConnectedValue"}, "anno": {"anno_select": "history", "__current_case__": 2, "reference_gene_sets": {"__class__": "ConnectedValue"}, "gff_feature_type": "exon", "gff_feature_attribute": "gene_id", "summarization_level": false}, "extended_parameters": {"multifeatures": {"multifeat": "", "__current_case__": 0}, "exon_exon_junction_read_counting_enabled": {"count_exon_exon_junction_reads": "", "__current_case__": 1}, "long_reads": false, "by_read_group": false, "largest_overlap": false, "min_overlap": "1", "frac_overlap": "0", "frac_overlap_feature": "0", "read_extension_5p": "0", "read_extension_3p": "0", "read_reduction": "", "R": false}, "format": "tabdel_short", "include_feature_length_file": false, "pe_parameters": {"paired_end_status": "single_end", "__current_case__": 0}, "read_filtering_parameters": {"mapping_quality": "0", "splitonly": "", "primary": false, "ignore_dup": false}, "strand_specificity": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.6+galaxy0",type:"tool",uuid:"5a03b546-eb3f-4e99-b845-24c8f54ed183",when:"$(inputs.when)",workflow_outputs:[]},20:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0",errors:null,id:20,input_connections:{"guide|guide_source|ref_hist":{id:4,output_name:"output"},"input_options|input_bam":{id:16,output_name:"mapped_reads"},rna_strandness:{id:15,output_name:"output_param_text"},when:{id:9,output_name:"output"}},inputs:[{description:"runtime parameter for tool StringTie",name:"adv"},{description:"runtime parameter for tool StringTie",name:"input_options"}],label:"Compute FPKM with StringTie",name:"StringTie",outputs:[{name:"output_gtf",type:"gtf"},{name:"gene_abundance_estimation",type:"tabular"}],position:{left:1731.7359886400766,top:1424.2142641508385},post_job_actions:{HideDatasetActionoutput_gtf:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_gtf"},RenameDatasetActiongene_abundance_estimation:{action_arguments:{newname:"Gene abundance estimates from StringTie"},action_type:"RenameDatasetAction",output_name:"gene_abundance_estimation"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0",tool_shed_repository:{changeset_revision:"cbf488da3b2c",name:"stringtie",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"abundance_estimation": true, "omit_sequences": "", "name_prefix": null, "fraction": "0.01", "min_tlen": "200", "min_anchor_len": "10", "min_anchor_cov": "1", "min_bundle_cov": "1", "bdist": "50", "bundle_fraction": "1.0", "disable_trimming": false, "multi_mapping": false, "point_features": {"__class__": "RuntimeValue"}}, "guide": {"use_guide": "yes", "__current_case__": 1, "guide_source": {"guide_gff_select": "history", "__current_case__": 1, "ref_hist": {"__class__": "ConnectedValue"}}, "input_estimation": true, "special_outputs": {"special_outputs_select": "no", "__current_case__": 2}, "coverage_file": false}, "input_options": {"input_mode": "short_reads", "__current_case__": 0, "input_bam": {"__class__": "ConnectedValue"}}, "rna_strandness": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.3+galaxy0",type:"tool",uuid:"5a796064-9c52-4b5c-b5da-02c43f6c742f",when:"$(inputs.when)",workflow_outputs:[{label:"Gene Abundance Estimates from StringTie",output_name:"gene_abundance_estimation",uuid:"9bcb277a-bb4d-4629-8c71-4cac7cee4c63"}]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.4",errors:null,id:21,input_connections:{"advanced_settings|library_type":{id:14,output_name:"output_param_text"},"advanced_settings|mask_file":{id:8,output_name:"output"},"bias_correction|seq_source|index":{id:12,output_name:"out1"},input:{id:16,output_name:"mapped_reads"},"reference_annotation|reference_annotation_file":{id:4,output_name:"output"},when:{id:7,output_name:"output"}},inputs:[{description:"runtime parameter for tool Cufflinks",name:"advanced_settings"},{description:"runtime parameter for tool Cufflinks",name:"advanced_settings"},{description:"runtime parameter for tool Cufflinks",name:"reference_annotation"}],label:"Compute FPKM with cufflinks",name:"Cufflinks",outputs:[{name:"genes_expression",type:"tabular"},{name:"transcripts_expression",type:"tabular"},{name:"assembled_isoforms",type:"gtf"},{name:"total_map_mass",type:"txt"},{name:"skipped",type:"gtf"}],position:{left:1998.2812719123385,top:1150.343757982693},post_job_actions:{HideDatasetActionassembled_isoforms:{action_arguments:{},action_type:"HideDatasetAction",output_name:"assembled_isoforms"},HideDatasetActionskipped:{action_arguments:{},action_type:"HideDatasetAction",output_name:"skipped"},HideDatasetActiontotal_map_mass:{action_arguments:{},action_type:"HideDatasetAction",output_name:"total_map_mass"},RenameDatasetActiongenes_expression:{action_arguments:{newname:"Genes Expression from Cufflinks"},action_type:"RenameDatasetAction",output_name:"genes_expression"},RenameDatasetActiontranscripts_expression:{action_arguments:{newname:"Transcripts Expression from Cufflinks"},action_type:"RenameDatasetAction",output_name:"transcripts_expression"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.4",tool_shed_repository:{changeset_revision:"6926716bbfb5",name:"cufflinks",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_settings": {"use_advanced_settings": "Yes", "__current_case__": 1, "library_type": {"__class__": "ConnectedValue"}, "mask_file": {"__class__": "ConnectedValue"}, "inner_mean_dist": "200", "inner_dist_std_dev": "80", "max_mle_iterations": "5000", "junc_alpha": "0.001", "small_anchor_fraction": "0.09", "overhang_tolerance": "8", "max_bundle_length": "10000000", "max_bundle_frags": "1000000", "min_intron_length": "50", "trim_three_avgcov_thresh": "10", "trim_three_dropoff_frac": "0.1"}, "bias_correction": {"do_bias_correction": "Yes", "__current_case__": 0, "seq_source": {"index_source": "cached", "__current_case__": 0, "index": {"__class__": "ConnectedValue"}}}, "global_model": null, "input": {"__class__": "ConnectedValue"}, "length_correction": "--no-effective-length-correction", "max_intron_len": "300000", "min_isoform_fraction": "0.1", "multiread_correct": true, "pre_mrna_fraction": "0.15", "reference_annotation": {"use_ref": "Use reference annotation", "__current_case__": 1, "reference_annotation_file": {"__class__": "ConnectedValue"}, "compatible_hits_norm": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.1.4",type:"tool",uuid:"af5419b7-ae6b-498c-8123-f609b8fcd8b4",when:"$(inputs.when)",workflow_outputs:[{label:"Transcripts Expression from Cufflinks",output_name:"transcripts_expression",uuid:"2c13ef79-948c-4f5f-8516-a769550128fd"},{label:"Genes Expression from Cufflinks",output_name:"genes_expression",uuid:"3bd4fbda-f241-4ebd-b7a5-dea7271c521e"}]},22:{annotation:"",id:22,input_connections:{"RNA STAR count tables":{id:16,input_subworkflow_step_id:3,output_name:"reads_per_gene"},"Strandness param":{id:5,input_subworkflow_step_id:2,output_name:"output"},"featureCounts count table":{id:19,input_subworkflow_step_id:4,output_name:"output_short"},"featureCounts summaries collection":{id:19,input_subworkflow_step_id:1,output_name:"output_summary"}},inputs:[],label:null,name:"Process Count files",outputs:[],position:{left:2161.105895746449,top:665.1799212422835},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"},{class:"Person",identifier:"https://orcid.org/0000-0002-5192-126X",name:"Pavankumar Videm"}],"format-version":"0.1",license:"MIT",name:"Process Count files",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"This file will be used in MultiQC if the user opts out of featureCounts to generate count files. ",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:0,input_connections:{},inputs:[],label:"A dummy featureCounts summary file",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:0,top:16},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": "Status\\tFeaturecounts_was_not_used", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": "1"}}, {"__index__": 1, "line": "Assigned\\t0", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": "1"}}, {"__index__": 2, "line": "Unassigned_Unmapped\\t0", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": "1"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"be0268be-a3ec-4d75-854b-d8eecf4b4521",when:null,workflow_outputs:[]},1:{annotation:"Collection from featureCounts summaries",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Collection from featureCounts summaries",name:"featureCounts summaries collection"}],label:"featureCounts summaries collection",name:"Input dataset collection",outputs:[],position:{left:2.3481338306177992,top:215.26828327443155},tool_id:null,tool_state:'{"optional": true, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"9ca62bd8-0272-41e2-9e4b-e8f45c4e0c19",when:null,workflow_outputs:[]},2:{annotation:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",name:"Strandness param"}],label:"Strandness param",name:"Input parameter",outputs:[],position:{left:17190473798223138e-21,top:433.85391433745605},tool_id:null,tool_state:'{"restrictions": ["stranded - forward", "stranded - reverse", "unstranded"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"180fc8bd-b8f4-486b-b300-e503bf379373",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"d0e53d5e-1b5f-40d7-80e6-f15c5e2ffbc8"}]},3:{annotation:"Count tables collection from RNA STAR",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Count tables collection from RNA STAR",name:"RNA STAR count tables"}],label:"RNA STAR count tables",name:"Input dataset collection",outputs:[],position:{left:5.368903743075304,top:589.5341644488473},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"d94c5c03-7bad-493f-9f5d-c5b6f33157ae",when:null,workflow_outputs:[]},4:{annotation:"Count tables collection from featureCounts",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Count tables collection from featureCounts",name:"featureCounts count table"}],label:"featureCounts count table",name:"Input dataset collection",outputs:[],position:{left:7.4993932207943,top:704.0194730841151},tool_id:null,tool_state:'{"optional": true, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"12f710b8-757e-4c25-90be-4cfca673f54b",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",errors:null,id:5,input_connections:{infile:{id:0,output_name:"outfile"}},inputs:[],label:null,name:"Text transformation",outputs:[{name:"output",type:"input"}],position:{left:279.9999490094584,top:0},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"tabular"},action_type:"ChangeDatatypeAction",output_name:"output"},HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "code": "s/__tc__/\\\\t/g", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"3588c02b-15b7-487b-8970-bc76ddf8348a",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:6,input_connections:{"input_param_type|input_param":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"awk command from strand for STAR counts",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:279.9999833196541,top:401.33828843669767},post_job_actions:{HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "NR>4{print $1\\"\\\\t\\"$3}"}, {"__index__": 1, "from": "stranded - reverse", "to": "NR>4{print $1\\"\\\\t\\"$4}"}, {"__index__": 2, "from": "unstranded", "to": "NR>4{print $1\\"\\\\t\\"$2}"}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"2b9a5ca1-e974-450b-99b3-3fcce531154b",when:null,workflow_outputs:[]},7:{annotation:"featureCounts summaries",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",errors:null,id:7,input_connections:{"style_cond|type_cond|pick_from_0|value":{id:1,output_name:"output"},"style_cond|type_cond|pick_from_1|value":{id:5,output_name:"output"}},inputs:[],label:"featureCounts summaries",name:"Pick parameter value",outputs:[{name:"data_param",type:"input"}],position:{left:840.0000391186242,top:16},post_job_actions:{RenameDatasetActiondata_param:{action_arguments:{newname:"FeatureCounts Summary Table"},action_type:"RenameDatasetAction",output_name:"data_param"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",tool_shed_repository:{changeset_revision:"b19e21af9c52",name:"pick_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"style_cond": {"pick_style": "first", "__current_case__": 0, "type_cond": {"param_type": "data", "__current_case__": 4, "pick_from": [{"__index__": 0, "value": {"__class__": "ConnectedValue"}}, {"__index__": 1, "value": {"__class__": "ConnectedValue"}}]}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"26eca035-e403-4392-9ba9-08cd471154dd",when:null,workflow_outputs:[{label:"FeatureCounts Summary Table",output_name:"data_param",uuid:"8c15f8aa-f2eb-41bf-bbaa-947263f3bfec"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:8,input_connections:{code:{id:6,output_name:"output_param_text"},infile:{id:3,output_name:"output"}},inputs:[],label:"Extract gene counts",name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:560.0000901091657,top:386.17188642026633},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"},RenameDatasetActionoutfile:{action_arguments:{newname:"HTS count like output"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": {"__class__": "ConnectedValue"}, "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"34922bd3-4676-4f7d-8e05-af0ef0c1efa4",when:null,workflow_outputs:[]},9:{annotation:"Counts Table ",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",errors:null,id:9,input_connections:{"style_cond|type_cond|pick_from_0|value":{id:4,output_name:"output"},"style_cond|type_cond|pick_from_1|value":{id:8,output_name:"outfile"}},inputs:[],label:"Counts table",name:"Pick parameter value",outputs:[{name:"data_param",type:"input"}],position:{left:837.0001537846339,top:413.1722363660909},post_job_actions:{RenameDatasetActiondata_param:{action_arguments:{newname:"Counts Table"},action_type:"RenameDatasetAction",output_name:"data_param"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",tool_shed_repository:{changeset_revision:"b19e21af9c52",name:"pick_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"style_cond": {"pick_style": "first", "__current_case__": 0, "type_cond": {"param_type": "data", "__current_case__": 4, "pick_from": [{"__index__": 0, "value": {"__class__": "ConnectedValue"}}, {"__index__": 1, "value": {"__class__": "ConnectedValue"}}]}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"d87cdd15-8b7c-4498-a818-7369ee4e006a",when:null,workflow_outputs:[{label:"Counts Table",output_name:"data_param",uuid:"bb7b60bf-81b1-4d58-9724-9814e9284ab3"}]}},tags:[],uuid:"aead7b4c-1b24-43d4-a44d-fc51b143e669"},tool_id:null,type:"subworkflow",uuid:"6957fcb0-4312-4764-9d80-c5306759f914",when:null,workflow_outputs:[{label:"Counts Table",output_name:"Counts Table",uuid:"dfe40af6-1361-4953-aac7-fbca6cfdb47a"}]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:23,input_connections:{"results_0|software_cond|input":{id:10,output_name:"report_json"},"results_1|software_cond|output_0|type|input":{id:16,output_name:"output_log"},"results_1|software_cond|output_1|type|input":{id:16,output_name:"reads_per_gene"},"results_2|software_cond|input":{id:22,output_name:"FeatureCounts Summary Table"},when:{id:11,output_name:"output_param_boolean"}},inputs:[],label:"Combined MultiQC without additional QC",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2423.9455325643053,top:32.99591513431855},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "star", "__current_case__": 28, "output": [{"__index__": 0, "type": {"type": "log", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "type": {"type": "genecounts", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 2, "software_cond": {"software": "featureCounts", "__current_case__": 9, "input": {"__class__": "ConnectedValue"}}}], "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"e5335a24-fec9-422c-b93c-c172ad7e1b8c",when:"$(inputs.when)",workflow_outputs:[{label:"Small MultiQC stats",output_name:"stats",uuid:"f9eecf9b-d360-4d97-962f-24efc44d5b99"},{label:"Small MultiQC HTML report",output_name:"html_report",uuid:"24cf626f-6539-4123-85d6-214b88e2c4b7"}]},24:{annotation:"",id:24,input_connections:{"FASTQ collection":{id:0,input_subworkflow_step_id:0,output_name:"output"},"STAR BAM":{id:16,input_subworkflow_step_id:6,output_name:"mapped_reads"},"STAR counts":{id:16,input_subworkflow_step_id:3,output_name:"reads_per_gene"},"STAR logs":{id:16,input_subworkflow_step_id:2,output_name:"output_log"},"fastp Reports":{id:10,input_subworkflow_step_id:1,output_name:"report_json"},"featureCounts summaries":{id:22,input_subworkflow_step_id:4,output_name:"FeatureCounts Summary Table"},reference_annotation_gtf:{id:4,input_subworkflow_step_id:5,output_name:"output"},when:{id:2,output_name:"output"}},inputs:[{description:"",name:"Combined MultiQC Quality Report"}],label:"Combined MultiQC Quality Report",name:"RNA-seq-QC",outputs:[],position:{left:2465.503860179348,top:451.63585583919314},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-5192-126X",name:"Pavankumar Videm"}],"format-version":"0.1",license:"MIT",name:"RNA-seq-QC",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"RNA-seq paired FASTQ collection",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"RNA-seq paired FASTQ collection",name:"FASTQ collection"}],label:"FASTQ collection",name:"Input dataset collection",outputs:[],position:{left:0,top:13.596214101155162},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"1bb12b7e-2ee1-4d8a-80d6-4259bea1efae",when:null,workflow_outputs:[]},1:{annotation:"fastp Reports",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"fastp Reports",name:"fastp Reports"}],label:"fastp Reports",name:"Input dataset collection",outputs:[],position:{left:61.11669921875,top:134.59621410115517},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"43c69a53-b1dc-4089-9801-18e980088a2e",when:null,workflow_outputs:[]},2:{annotation:"STAR log files",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"STAR log files",name:"STAR logs"}],label:"STAR logs",name:"Input dataset collection",outputs:[],position:{left:103.183349609375,top:232.67952708943642},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"5ae91949-4ffe-4aef-81fa-fa3cb4e86f5a",when:null,workflow_outputs:[]},3:{annotation:"",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"",name:"STAR counts"}],label:"STAR counts",name:"Input dataset collection",outputs:[],position:{left:135,top:311.09621410115517},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"57b8e456-2987-42aa-8ee3-3d25a0d5fecf",when:null,workflow_outputs:[]},4:{annotation:"featureCounts Summaries file",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"featureCounts Summaries file",name:"featureCounts summaries"}],label:"featureCounts summaries",name:"Input dataset collection",outputs:[],position:{left:168.6500244140625,top:397.7962263081864},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"5a5cb076-92cb-48bd-80e0-d7bfa19fe969",when:null,workflow_outputs:[]},5:{annotation:"Reference annotation",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Reference annotation",name:"reference_annotation_gtf"}],label:"reference_annotation_gtf",name:"Input dataset",outputs:[],position:{left:236.05178147043327,top:521.1329885056177},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"9657bd5f-5510-412b-9128-0bb903e2f572",when:null,workflow_outputs:[]},6:{annotation:"Mapped BAM files from STAR",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"Mapped BAM files from STAR",name:"STAR BAM"}],label:"STAR BAM",name:"Input dataset collection",outputs:[],position:{left:287.0148354755526,top:645.9144573009889},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"b3a7345d-49fa-4b34-bd56-565f250f6d97",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.74+galaxy1",errors:null,id:7,input_connections:{input_file:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool FastQC",name:"adapters"},{description:"runtime parameter for tool FastQC",name:"contaminants"},{description:"runtime parameter for tool FastQC",name:"limits"}],label:"FastQC check read qualities",name:"FastQC",outputs:[{name:"html_file",type:"html"},{name:"text_file",type:"txt"}],position:{left:709.0902620065212,top:0},post_job_actions:{HideDatasetActionhtml_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"html_file"},HideDatasetActiontext_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.74+galaxy1",tool_shed_repository:{changeset_revision:"2c64fded1286",name:"fastqc",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adapters": {"__class__": "RuntimeValue"}, "contaminants": {"__class__": "RuntimeValue"}, "input_file": {"__class__": "ConnectedValue"}, "kmers": "7", "limits": {"__class__": "RuntimeValue"}, "min_length": null, "nogroup": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.74+galaxy1",type:"tool",uuid:"d4f16966-836e-49cd-8987-18b6e68205b8",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/gtftobed12/gtftobed12/357",errors:null,id:8,input_connections:{gtf_file:{id:5,output_name:"output"}},inputs:[],label:"convert gtf to bed12",name:"Convert GTF to BED12",outputs:[{name:"bed_file",type:"bed12"}],position:{left:650.1095703232029,top:767.5962172140157},post_job_actions:{HideDatasetActionbed_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"bed_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/gtftobed12/gtftobed12/357",tool_shed_repository:{changeset_revision:"b026dae67fba",name:"gtftobed12",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"advanced_options_selector": "default", "__current_case__": 0}, "gtf_file": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"357",type:"tool",uuid:"ed8685b7-7904-4f28-8ea9-2faffb05bacf",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:9,input_connections:{input:{id:6,output_name:"output"}},inputs:[],label:"Subsample 200k reads",name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:650.1093443590796,top:919.946789222449},post_job_actions:{HideDatasetActionoutputsam:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "cond_expr": {"select_expr": "no", "__current_case__": 0}, "quality": null, "library": "", "cigarcons": null, "inclusive_filter": null, "exclusive_filter": null, "exclusive_filter_all": null, "tag": "", "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "target", "__current_case__": 1, "target": "200000", "seed": "1"}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"fa918b19-c767-43dd-afb6-fcdb3cd20fa7",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.5",errors:null,id:10,input_connections:{input:{id:6,output_name:"output"}},inputs:[],label:"Get reads number per chromosome",name:"Samtools idxstats",outputs:[{name:"output",type:"tabular"}],position:{left:650.1095878752642,top:1126.5962172140155},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.5",tool_shed_repository:{changeset_revision:"fa5d3e61e429",name:"samtools_idxstats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.5",type:"tool",uuid:"0c0789f8-21d9-4fdc-80c6-488aded24611",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0",errors:null,id:11,input_connections:{inputFile:{id:6,output_name:"output"}},inputs:[],label:"Remove duplicates",name:"MarkDuplicates",outputs:[{name:"metrics_file",type:"txt"},{name:"outFile",type:"bam"}],position:{left:648.4598772618594,top:1276.9345984373845},post_job_actions:{HideDatasetActionmetrics_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"metrics_file"},HideDatasetActionoutFile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outFile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0",tool_shed_repository:{changeset_revision:"3f254c5ced1d",name:"picard",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"assume_sorted": true, "barcode_tag": "", "comments": [], "duplicate_scoring_strategy": "SUM_OF_BASE_QUALITIES", "inputFile": {"__class__": "ConnectedValue"}, "optical_duplicate_pixel_distance": "100", "read_name_regex": "", "remove_duplicates": false, "validation_stringency": "LENIENT", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1.0",type:"tool",uuid:"c8d04f50-da21-4f5b-9d64-2dc652b71d77",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_read_distribution/5.0.3+galaxy0",errors:null,id:12,input_connections:{input:{id:6,output_name:"output"},refgene:{id:8,output_name:"bed_file"}},inputs:[],label:"Read distribution over genomic features",name:"Read Distribution",outputs:[{name:"output",type:"txt"}],position:{left:920.1095706393493,top:658.5962172140157},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_read_distribution/5.0.3+galaxy0",tool_shed_repository:{changeset_revision:"27e16a30667a",name:"rseqc",owner:"nilesh",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "ConnectedValue"}, "refgene": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.0.3+galaxy0",type:"tool",uuid:"4ecf1a7a-8648-4224-9c04-ab5d33614d63",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_geneBody_coverage/5.0.3+galaxy0",errors:null,id:13,input_connections:{"batch_mode|input":{id:9,output_name:"outputsam"},refgene:{id:8,output_name:"bed_file"}},inputs:[{description:"runtime parameter for tool Gene Body Coverage (BAM)",name:"batch_mode"}],label:"Get gene body coverage",name:"Gene Body Coverage (BAM)",outputs:[{name:"outputcurvespdf",type:"pdf"},{name:"outputtxt",type:"txt"}],position:{left:919.109375,top:868.5962141011552},post_job_actions:{HideDatasetActionoutputcurvespdf:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputcurvespdf"},HideDatasetActionoutputtxt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputtxt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_geneBody_coverage/5.0.3+galaxy0",tool_shed_repository:{changeset_revision:"27e16a30667a",name:"rseqc",owner:"nilesh",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"batch_mode": {"batch_mode_selector": "batch", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}, "minimum_length": "100", "refgene": {"__class__": "ConnectedValue"}, "rscript_output": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.0.3+galaxy0",type:"tool",uuid:"c996512e-789b-422c-833c-de854e30674f",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:14,input_connections:{"results_0|software_cond|output_0|input":{id:7,output_name:"text_file"},"results_1|software_cond|input":{id:1,output_name:"output"},"results_2|software_cond|output_0|type|input":{id:2,output_name:"output"},"results_2|software_cond|output_1|type|input":{id:3,output_name:"output"},"results_3|software_cond|input":{id:4,output_name:"output"},"results_4|software_cond|output_0|type|input":{id:12,output_name:"output"},"results_4|software_cond|output_1|type|input":{id:13,output_name:"outputtxt"},"results_5|software_cond|output_0|type|input":{id:10,output_name:"output"},"results_6|software_cond|output_0|input":{id:11,output_name:"metrics_file"}},inputs:[],label:"Combined Quality Report",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:1240.1096398991554,top:428.5962172140157},post_job_actions:{RenameDatasetActionhtml_report:{action_arguments:{newname:"MultiQC HTML report"},action_type:"RenameDatasetAction",output_name:"html_report"},RenameDatasetActionstats:{action_arguments:{newname:"MultiQC Stats table"},action_type:"RenameDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "fastqc", "__current_case__": 8, "output": [{"__index__": 0, "type": "data", "input": {"__class__": "ConnectedValue"}}]}}, {"__index__": 1, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "software_cond": {"software": "star", "__current_case__": 28, "output": [{"__index__": 0, "type": {"type": "log", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "type": {"type": "genecounts", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 3, "software_cond": {"software": "featureCounts", "__current_case__": 9, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "software_cond": {"software": "rseqc", "__current_case__": 22, "output": [{"__index__": 0, "type": {"type": "read_distribution", "__current_case__": 6, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "type": {"type": "gene_body_coverage", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 5, "software_cond": {"software": "samtools", "__current_case__": 24, "output": [{"__index__": 0, "type": {"type": "idxstats", "__current_case__": 2, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 6, "software_cond": {"software": "picard", "__current_case__": 17, "output": [{"__index__": 0, "type": "markdups", "input": {"__class__": "ConnectedValue"}}]}}], "title": "Combined Quality Report ", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"b5e9c0d2-62f4-41b2-a1c7-5677d8555fd4",when:null,workflow_outputs:[{label:"MultiQC stats",output_name:"stats",uuid:"cbf99516-9349-4f2a-ad1f-05c732cb5263"},{label:"MultiQC HTML report",output_name:"html_report",uuid:"7306cd4b-1017-4542-bf57-81d2d83d6a97"}]}},tags:[],uuid:"4a006f05-4ee3-4bbe-ab82-7d9489c378c0"},tool_id:null,type:"subworkflow",uuid:"c0aaa16c-8a9b-4fe1-8c3d-9e77f64da413",when:"$(inputs.when)",workflow_outputs:[{label:"MultiQC HTML report",output_name:"MultiQC HTML report",uuid:"717627ed-188d-4cb5-9a03-b1eec15f7922"},{label:"MultiQC stats",output_name:"MultiQC stats",uuid:"43ed1ffc-7df8-42a6-95f7-dc2b2060a910"}]}},tags:["RNAseq","transcriptomics"],uuid:"885ec907-9f61-4a11-9d23-2243389e7335",version:1},readme:`# RNA-seq single-read Workflow @@ -3260,7 +6095,199 @@ chrM chrM_gene exon 0 16299 . - . gene_id "chrM_gene_minus"; transcript_id "chrM ### Version 1.0 @pavanvidem added the new features (featurecount + additional QC) and found a smaller test dataset. -`,changelog:"# Changelog\n\n## [1.1] 2024-11-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.6+galaxy0`\n\n## [1.0] 2024-10-22\n\n### Changes in workflows\n- Add an optional subworkflow with more QC: FastQC, Picard, Read distribution on genomic features, gene body coverage, reads per chromosomes.\n- Add featureCounts as an alternative way to generate count files\n- Use fastp instead of cutadapt which uses pair overlap and allows to have optional adapter sequences\n\n### Tool update\n- `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.3` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.4`\n\n### Test dataset\n- Using a new subsampled Yeast test data from Zenodo record https://zenodo.org/records/13987631\n\n## [0.9] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.8] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.7] 2024-06-25\n\n### Automatic update (triggered manually)\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0`\n\n## [0.6] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0`\n\n## [0.5] 2023-09-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n\n### Manual update\n- Use STAR to compute normalized strand-specific coverage\n- Add an option to use StringTie to compute FPKM\n- Make cufflinks step optional\n\n## [0.4.1] 2023-09-14\n- add author in dockstore file\n\n## [0.4] 2023-01-16\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1`\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-02\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1`\n\n## [0.1] 2022-10-12\n\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/rnaseq-sr/main",tests:[{doc:"Test outline for RNAseq_SR",job:{"GTF file of annotation":{class:"File",location:"https://zenodo.org/records/13987631/files/Saccharomyces_cerevisiae.R64-1-1.113.gtf",filetype:"gtf"},"Collection of FASTQ files":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"SRR5085167",location:"https://zenodo.org/records/13987631/files/SRR5085167_forward.fastqsanger.gz"}]},"Forward adapter":"AGATCGGAAGAG","Generate additional QC reports":!0,"Reference genome":"sacCer3",Strandedness:"stranded - forward","Use featureCounts for generating count tables":!0,"Compute Cufflinks FPKM":!0,"GTF with regions to exclude from FPKM normalization with Cufflinks":null,"Compute StringTie FPKM":!0},outputs:{"MultiQC stats":{asserts:{has_text_matching:{expression:"SRR5085167 0.11[0-9]* 18.3[0-9]* 69.6[0-9]* 0.3[0-9]* 0.3[0-9]* 94.62 0.12[0-9]* 34.43 0.2[0-9]* 28.[0-9]* 90.[0-9]* 16.[0-9]* 0.36[0-9]* 43.[0-9]* 91.[0-9]* 70.[0-9]* 36.[0-9]* 46.0 75.0 75 27.27[0-9]* 0.39[0-9]*"}}},"Counts Table":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W 1775"}}}}},"Mapped Reads":{element_tests:{SRR5085167:{asserts:{has_size:{value:31570787,delta:3e6}}}}},"Gene Abundance Estimates from StringTie":{element_tests:{SRR5085167:{asserts:{has_text_matching:{expression:"YAL038W CDC19 chrI \\+ 71786 73288 57.[0-9]* 3575.[0-9]* 3084.[0-9]*"}}}}},"Genes Expression from Cufflinks":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W - - YAL038W CDC19 - chrI:71785-73288 - - 3375.85 3161.36 3590.33 OK"}}}}},"Transcripts Expression from Cufflinks":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W_mRNA - - YAL038W CDC19 - chrI:71785-73288 1503 57.5601 3375.85 3161.36 3590.33 OK"}}}}},"Stranded Coverage":{element_tests:{SRR5085167_forward:{asserts:{has_size:{value:555489,delta:5e4}}},SRR5085167_reverse:{asserts:{has_size:{value:526952,delta:5e4}}}}},"Unstranded Coverage":{element_tests:{SRR5085167:{asserts:{has_size:{value:978542,delta:9e4}}}}}}}]}],path:"./workflows/transcriptomics/rnaseq-sr"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/rnaseq-pe.ga",testParameterFiles:["/rnaseq-pe-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"},{name:"Pavankumar Videm",orcid:"0000-0002-5192-126X"}],definition:{a_galaxy_workflow:"true",annotation:`This workflow takes as input a list of paired-end fastqs. Adapters and bad quality bases are removed with fastp. Reads are mapped with STAR with ENCODE parameters and genes are counted simultaneously as well as normalized coverage (per million mapped reads) on uniquely mapped reads. The counts are reprocessed to be similar to HTSeq-count output. Alternatively, featureCounts can be used to count the reads/fragments per gene. FPKM are computed with cufflinks and/or with StringTie. The unstranded normalized coverage is computed with bedtools. +`,changelog:"# Changelog\n\n## [1.1] 2024-11-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.6+galaxy0`\n\n## [1.0] 2024-10-22\n\n### Changes in workflows\n- Add an optional subworkflow with more QC: FastQC, Picard, Read distribution on genomic features, gene body coverage, reads per chromosomes.\n- Add featureCounts as an alternative way to generate count files\n- Use fastp instead of cutadapt which uses pair overlap and allows to have optional adapter sequences\n\n### Tool update\n- `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.3` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.4`\n\n### Test dataset\n- Using a new subsampled Yeast test data from Zenodo record https://zenodo.org/records/13987631\n\n## [0.9] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.8] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.7] 2024-06-25\n\n### Automatic update (triggered manually)\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0`\n\n## [0.6] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0`\n\n## [0.5] 2023-09-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n\n### Manual update\n- Use STAR to compute normalized strand-specific coverage\n- Add an option to use StringTie to compute FPKM\n- Make cufflinks step optional\n\n## [0.4.1] 2023-09-14\n- add author in dockstore file\n\n## [0.4] 2023-01-16\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1`\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-02\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1`\n\n## [0.1] 2022-10-12\n\nFirst release.\n",diagrams:`# Workflow diagrams + +## RNA-seq for Single-read fastqs + +\`\`\`mermaid +graph LR +0["ℹ️ Collection of FASTQ files"]@{ shape: docs } +1["ℹ️ Forward adapter"]@{ shape: lean-l } +2["ℹ️ Generate additional QC reports"]@{ shape: lean-l } +3["ℹ️ Reference genome"]@{ shape: lean-l } +4["ℹ️ GTF file of annotation"]@{ shape: doc } +5["ℹ️ Strandedness"]@{ shape: lean-l } +6["ℹ️ Use featureCounts for generating count tables"]@{ shape: lean-l } +7["ℹ️ Compute Cufflinks FPKM"]@{ shape: lean-l } +8["ℹ️ GTF with regions to exclude from FPKM normalization with Cufflinks"]@{ shape: doc } +9["ℹ️ Compute StringTie FPKM"]@{ shape: lean-l } +10["remove adapters + bad quality bases"]@{ shape: process } +1 --> 10 +0 --> 10 +11["no additional QC"]@{ shape: process } +2 --> 11 +12["get reference_genome as text parameter"]@{ shape: process } +3 --> 12 +13["Get featureCounts strandedness parameter"]@{ shape: process } +5 --> 13 +14["Get cufflinks strandedness parameter"]@{ shape: process } +5 --> 14 +15["Get Stringtie strandedness parameter"]@{ shape: process } +5 --> 15 +16["STAR: map and count and coverage splitted"]@{ shape: process } +3 --> 16 +4 --> 16 +10 --> 16 +17["🛠️ Generate Unstranded Coverage"]@{ shape: subprocess } +16 --> 17 +16 --> 17 +18["🛠️ Generate Stranded Coverage"]@{ shape: subprocess } +16 --> 18 +16 --> 18 +5 --> 18 +19["featureCounts"]@{ shape: process } +16 --> 19 +4 --> 19 +13 --> 19 +6 --> 19 +20["Compute FPKM with StringTie"]@{ shape: process } +4 --> 20 +16 --> 20 +15 --> 20 +9 --> 20 +21["Compute FPKM with cufflinks"]@{ shape: process } +14 --> 21 +8 --> 21 +12 --> 21 +16 --> 21 +4 --> 21 +7 --> 21 +22["🛠️ Process Count files"]@{ shape: subprocess } +16 --> 22 +5 --> 22 +19 --> 22 +19 --> 22 +23["Combined MultiQC without additional QC"]@{ shape: process } +10 --> 23 +16 --> 23 +16 --> 23 +22 --> 23 +11 --> 23 +24["🛠️ Combined MultiQC Quality Report"]@{ shape: subprocess } +0 --> 24 +16 --> 24 +16 --> 24 +16 --> 24 +10 --> 24 +22 --> 24 +4 --> 24 +2 --> 24 +\`\`\` + +## RNA-seq-QC + +\`\`\`mermaid +graph LR +0["ℹ️ FASTQ collection"]@{ shape: docs } +1["ℹ️ fastp Reports"]@{ shape: docs } +2["ℹ️ STAR logs"]@{ shape: docs } +3["ℹ️ STAR counts"]@{ shape: docs } +4["ℹ️ featureCounts summaries"]@{ shape: docs } +5["ℹ️ reference_annotation_gtf"]@{ shape: doc } +6["ℹ️ STAR BAM"]@{ shape: docs } +7["FastQC check read qualities"]@{ shape: process } +0 --> 7 +8["convert gtf to bed12"]@{ shape: process } +5 --> 8 +9["Subsample 200k reads"]@{ shape: process } +6 --> 9 +10["Get reads number per chromosome"]@{ shape: process } +6 --> 10 +11["Remove duplicates"]@{ shape: process } +6 --> 11 +12["Read distribution over genomic features"]@{ shape: process } +6 --> 12 +8 --> 12 +13["Get gene body coverage"]@{ shape: process } +9 --> 13 +8 --> 13 +14["Combined Quality Report"]@{ shape: process } +7 --> 14 +1 --> 14 +2 --> 14 +3 --> 14 +4 --> 14 +12 --> 14 +13 --> 14 +10 --> 14 +11 --> 14 +\`\`\` + +## Process Count files + +\`\`\`mermaid +graph LR +0["A dummy featureCounts summary file"]@{ shape: process } +1["ℹ️ featureCounts summaries collection"]@{ shape: docs } +2["ℹ️ Strandness param"]@{ shape: lean-l } +3["ℹ️ RNA STAR count tables"]@{ shape: docs } +4["ℹ️ featureCounts count table"]@{ shape: docs } +5["Text transformation"]@{ shape: process } +0 --> 5 +6["awk command from strand for STAR counts"]@{ shape: process } +2 --> 6 +7["featureCounts summaries"]@{ shape: process } +1 --> 7 +5 --> 7 +8["Extract gene counts"]@{ shape: process } +6 --> 8 +3 --> 8 +9["Counts table"]@{ shape: process } +4 --> 9 +8 --> 9 +\`\`\` + +## Re-arrange Stranded RNA-seq coverage + +\`\`\`mermaid +graph LR +0["ℹ️ strandedness"]@{ shape: lean-l } +1["ℹ️ Bedgraph strand 1"]@{ shape: docs } +2["ℹ️ Bedgraph strand 2"]@{ shape: docs } +3["Get replacement for strand2"]@{ shape: process } +0 --> 3 +4["Get replacement for strand1"]@{ shape: process } +0 --> 4 +5["get identifiers"]@{ shape: process } +1 --> 5 +6["New labels strand 2"]@{ shape: process } +3 --> 6 +5 --> 6 +7["New labels strand 1"]@{ shape: process } +4 --> 7 +5 --> 7 +8["Relabelled strand 2"]@{ shape: process } +6 --> 8 +2 --> 8 +9["Relabelled strand 1"]@{ shape: process } +7 --> 9 +1 --> 9 +10["Merge collections"]@{ shape: process } +9 --> 10 +8 --> 10 +11["convert to bigwig"]@{ shape: process } +10 --> 11 +\`\`\` + +## Get Uniquely mapped unstranded coverage + +\`\`\`mermaid +graph LR +0["ℹ️ STAR log"]@{ shape: docs } +1["ℹ️ STAR BAM"]@{ shape: docs } +2["get scaling factor"]@{ shape: process } +0 --> 2 +3["keep uniquely mapped reads"]@{ shape: process } +1 --> 3 +4["Parse parameter value"]@{ shape: process } +2 --> 4 +5["Scaled Coverage both strands combined"]@{ shape: process } +3 --> 5 +4 --> 5 +6["convert both strands coverage to bigwig"]@{ shape: process } +5 --> 6 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/rnaseq-sr/main",tests:[{doc:"Test outline for RNAseq_SR",job:{"GTF file of annotation":{class:"File",location:"https://zenodo.org/records/13987631/files/Saccharomyces_cerevisiae.R64-1-1.113.gtf",filetype:"gtf"},"Collection of FASTQ files":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"SRR5085167",location:"https://zenodo.org/records/13987631/files/SRR5085167_forward.fastqsanger.gz"}]},"Forward adapter":"AGATCGGAAGAG","Generate additional QC reports":!0,"Reference genome":"sacCer3",Strandedness:"stranded - forward","Use featureCounts for generating count tables":!0,"Compute Cufflinks FPKM":!0,"GTF with regions to exclude from FPKM normalization with Cufflinks":null,"Compute StringTie FPKM":!0},outputs:{"MultiQC stats":{asserts:{has_text_matching:{expression:"SRR5085167 0.11[0-9]* 18.3[0-9]* 69.6[0-9]* 0.3[0-9]* 0.3[0-9]* 94.62 0.12[0-9]* 34.43 0.2[0-9]* 28.[0-9]* 90.[0-9]* 16.[0-9]* 0.36[0-9]* 43.[0-9]* 91.[0-9]* 70.[0-9]* 36.[0-9]* 46.0 75.0 75 27.27[0-9]* 0.39[0-9]*"}}},"Counts Table":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W 1775"}}}}},"Mapped Reads":{element_tests:{SRR5085167:{asserts:{has_size:{value:31570787,delta:3e6}}}}},"Gene Abundance Estimates from StringTie":{element_tests:{SRR5085167:{asserts:{has_text_matching:{expression:"YAL038W CDC19 chrI \\+ 71786 73288 57.[0-9]* 3575.[0-9]* 3084.[0-9]*"}}}}},"Genes Expression from Cufflinks":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W - - YAL038W CDC19 - chrI:71785-73288 - - 3375.85 3161.36 3590.33 OK"}}}}},"Transcripts Expression from Cufflinks":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W_mRNA - - YAL038W CDC19 - chrI:71785-73288 1503 57.5601 3375.85 3161.36 3590.33 OK"}}}}},"Stranded Coverage":{element_tests:{SRR5085167_forward:{asserts:{has_size:{value:555489,delta:5e4}}},SRR5085167_reverse:{asserts:{has_size:{value:526952,delta:5e4}}}}},"Unstranded Coverage":{element_tests:{SRR5085167:{asserts:{has_size:{value:978542,delta:9e4}}}}}}}]}],path:"./workflows/transcriptomics/rnaseq-sr"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/rnaseq-pe.ga",testParameterFiles:["/rnaseq-pe-tests.yml"],authors:[{name:"Lucille Delisle",orcid:"0000-0002-1964-4960"},{name:"Pavankumar Videm",orcid:"0000-0002-5192-126X"}],definition:{a_galaxy_workflow:"true",annotation:`This workflow takes as input a list of paired-end fastqs. Adapters and bad quality bases are removed with fastp. Reads are mapped with STAR with ENCODE parameters and genes are counted simultaneously as well as normalized coverage (per million mapped reads) on uniquely mapped reads. The counts are reprocessed to be similar to HTSeq-count output. Alternatively, featureCounts can be used to count the reads/fragments per gene. FPKM are computed with cufflinks and/or with StringTie. The unstranded normalized coverage is computed with bedtools. `,comments:[{child_steps:[15,16,17],color:"lime",data:{title:"Map Strandedness parameter"},id:0,position:[855.5086321940169,1252.5],size:[251,558],type:"frame"},{child_steps:[19,20],color:"red",data:{title:"Coverage Files"},id:1,position:[1603.68749985966,0],size:[375,538],type:"frame"},{child_steps:[14,22,23],color:"yellow",data:{title:"Additional quantification"},id:2,position:[1391.2086321940171,1073.6999999999998],size:[860,716],type:"frame"}],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"},{class:"Person",identifier:"https://orcid.org/0000-0002-5192-126X",name:"Pavankumar Videm"}],"format-version":"0.1",license:"MIT",release:"1.1",name:"RNA-seq for Paired-end fastqs",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"Should be a list of paired-end RNA-seq fastqs",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Should be a list of paired-end RNA-seq fastqs",name:"Collection paired FASTQ files"}],label:"Collection paired FASTQ files",name:"Input dataset collection",outputs:[],position:{left:0,top:462.87500890145213},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"020f7580-f647-471f-b210-dbf9dfcf80bf",when:null,workflow_outputs:[]},1:{annotation:"This is optional. Fastp will use overlapping. If you want to specify, for Nextera use: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC, for TruSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"This is optional. Fastp will use overlapping. If you want to specify, for Nextera use: CTGTCTCTTATACACATCTCCGAGCCCACGAGAC, for TruSeq: GATCGGAAGAGCACACGTCTGAACTCCAGTCAC or AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC",name:"Forward adapter"}],label:"Forward adapter",name:"Input parameter",outputs:[],position:{left:35.17186494140515,top:567.328103383874},tool_id:null,tool_state:'{"parameter_type": "text", "optional": true}',tool_version:null,type:"parameter_input",uuid:"6d1de206-97c4-41ba-8702-a980f748a689",when:null,workflow_outputs:[]},2:{annotation:"This is optional. Fastp will use overlapping. If you want to specify, for Nextera use: CTGTCTCTTATACACATCTGACGCTGCCGACGA, for TruSeq: GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"This is optional. Fastp will use overlapping. If you want to specify, for Nextera use: CTGTCTCTTATACACATCTGACGCTGCCGACGA, for TruSeq: GATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT or AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT",name:"Reverse adapter"}],label:"Reverse adapter",name:"Input parameter",outputs:[],position:{left:77.546875,top:667.4062589014521},tool_id:null,tool_state:'{"parameter_type": "text", "optional": true}',tool_version:null,type:"parameter_input",uuid:"7aae38b8-39a8-4fba-bc6b-bda8c1ea9162",when:null,workflow_outputs:[]},3:{annotation:"Whether to compute additional QC like fastQC, gene body coverage etc...",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Whether to compute additional QC like fastQC, gene body coverage etc...",name:"Generate additional QC reports"}],label:"Generate additional QC reports",name:"Input parameter",outputs:[],position:{left:114.671875,top:764.5781339014521},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"bea331ce-d6fa-4312-8dce-a8b13bc4e77b",when:null,workflow_outputs:[]},4:{annotation:"Select the reference genome",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Select the reference genome",name:"Reference genome"}],label:"Reference genome",name:"Input parameter",outputs:[],position:{left:157.109375,top:870.218728383874},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a72b29ae-65a7-4e4d-a996-2943ab5b02aa",when:null,workflow_outputs:[]},5:{annotation:"GTF compatible with the reference genome. Mind the UCSC/Ensembl differences in chromosome naming.",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"GTF compatible with the reference genome. Mind the UCSC/Ensembl differences in chromosome naming.",name:"GTF file of annotation"}],label:"GTF file of annotation",name:"Input dataset",outputs:[],position:{left:199.671875,top:977.3906033838739},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"4987fd01-b72c-4bc0-9d49-a840a0d04b8e",when:null,workflow_outputs:[]},6:{annotation:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",name:"Strandedness"}],label:"Strandedness",name:"Input parameter",outputs:[],position:{left:251.890625,top:1073.781228383874},tool_id:null,tool_state:'{"restrictions": ["stranded - forward", "stranded - reverse", "unstranded"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"2ccf2242-dddd-45b6-8cea-746d9b5d49bc",when:null,workflow_outputs:[]},7:{annotation:"Use featureCounts tool instead of RNA STAR?",content_id:null,errors:null,id:7,input_connections:{},inputs:[{description:"Use featureCounts tool instead of RNA STAR?",name:"Use featureCounts for generating count tables"}],label:"Use featureCounts for generating count tables",name:"Input parameter",outputs:[],position:{left:291.34375,top:1173.124978383874},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"f43d45e6-5692-41cb-8cfc-205dbeab1bd0",when:null,workflow_outputs:[]},8:{annotation:"Whether FPKM values should be computed with Cufflinks",content_id:null,errors:null,id:8,input_connections:{},inputs:[{description:"Whether FPKM values should be computed with Cufflinks",name:"Compute Cufflinks FPKM"}],label:"Compute Cufflinks FPKM",name:"Input parameter",outputs:[],position:{left:346.83340121591186,top:1309.3879390873915},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"78868cdb-baff-4388-a41a-a700259da1ed",when:null,workflow_outputs:[]},9:{annotation:"It could be a GTF with for example one entry for the chrM forward and one entry for the chrM reverse",content_id:null,errors:null,id:9,input_connections:{},inputs:[{description:"It could be a GTF with for example one entry for the chrM forward and one entry for the chrM reverse",name:"GTF with regions to exclude from FPKM normalization with Cufflinks"}],label:"GTF with regions to exclude from FPKM normalization with Cufflinks",name:"Input dataset",outputs:[],position:{left:380.53912206977975,top:1425.307227138327},tool_id:null,tool_state:'{"optional": true, "tag": ""}',tool_version:null,type:"data_input",uuid:"0d4e1623-adc9-4ff3-8156-7e1322b1e278",when:null,workflow_outputs:[]},10:{annotation:"Whether FPKM values should be computed with StringTie",content_id:null,errors:null,id:10,input_connections:{},inputs:[{description:"Whether FPKM values should be computed with StringTie",name:"Compute StringTie FPKM"}],label:"Compute StringTie FPKM",name:"Input parameter",outputs:[],position:{left:406.9259176995931,top:1559.4856968335116},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"056f11f4-bdd9-4361-b037-2c0822320cc2",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"__FLATTEN__",errors:null,id:11,input_connections:{input:{id:0,output_name:"output"}},inputs:[],label:null,name:"Flatten collection",outputs:[{name:"output",type:"input"}],position:{left:430.77112544776327,top:623.8873433527641},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__FLATTEN__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "join_identifier": "_", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"dddbd652-fe4f-42c8-a2ff-bdc259d4928c",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3",errors:null,id:12,input_connections:{"single_paired|adapter_trimming_options|adapter_sequence1":{id:1,output_name:"output"},"single_paired|adapter_trimming_options|adapter_sequence2":{id:2,output_name:"output"},"single_paired|paired_input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool fastp",name:"single_paired"}],label:"remove adapters + bad quality bases",name:"fastp",outputs:[{name:"output_paired_coll",type:"input"},{name:"report_json",type:"json"}],position:{left:392.6147686047791,top:201.9284685268642},post_job_actions:{HideDatasetActionoutput_paired_coll:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_paired_coll"},HideDatasetActionreport_json:{action_arguments:{},action_type:"HideDatasetAction",output_name:"report_json"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3",tool_shed_repository:{changeset_revision:"a626e8c0e1ba",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": false, "qualified_quality_phred": "30", "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": false, "length_required": "15", "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": false, "complexity_threshold": null}}, "output_options": {"report_html": false, "report_json": true}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": false, "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": false, "umi_loc": null, "umi_len": null, "umi_prefix": null}, "cutting_by_quality_options": {"cut_by_quality5": false, "cut_by_quality3": false, "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": false}}, "single_paired": {"single_paired_selector": "paired_collection", "__current_case__": 2, "paired_input": {"__class__": "ConnectedValue"}, "merge_reads": {"merge": "", "__current_case__": 1}, "adapter_trimming_options": {"disable_adapter_trimming": false, "adapter_sequence1": {"__class__": "ConnectedValue"}, "adapter_sequence2": {"__class__": "ConnectedValue"}, "detect_adapter_for_pe": false}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null, "trim_front2": null, "trim_tail2": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.24.0+galaxy3",type:"tool",uuid:"80d855a6-7a77-46e9-9124-9dd3d9d72cc1",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:13,input_connections:{"input_param_type|input_param":{id:3,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"no additional QC",name:"Map parameter value",outputs:[{name:"output_param_boolean",type:"expression.json"}],position:{left:2159.2104562234385,top:23.726446900364408},post_job_actions:{HideDatasetActionoutput_param_boolean:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_boolean"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "boolean", "__current_case__": 3, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": false, "to": "true"}, {"__index__": 1, "from": true, "to": "false"}]}, "output_param_type": "boolean", "unmapped": {"on_unmapped": "input", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"fd5cb0a4-a2a4-4677-8a1d-e81e1043533b",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:14,input_connections:{"components_0|param_type|component_value":{id:4,output_name:"output"}},inputs:[],label:"get reference_genome as text parameter",name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:1497.7951400347756,top:1173.104961480357},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"bcceb886-0592-4b3f-8b39-26fe79caeb62",when:null,workflow_outputs:[]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:15,input_connections:{"input_param_type|input_param":{id:6,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Get featureCounts strandedness parameter",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:880.1168847150709,top:1303.1637555172579},post_job_actions:{HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "1"}, {"__index__": 1, "from": "stranded - reverse", "to": "2"}, {"__index__": 2, "from": "unstranded", "to": "0"}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"72d7d4d1-d1be-481c-b2a1-1e85192b2661",when:null,workflow_outputs:[]},16:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:16,input_connections:{"input_param_type|input_param":{id:6,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Get cufflinks strandedness parameter",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:880.334534933914,top:1483.3515528952898},post_job_actions:{HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "fr-secondstrand"}, {"__index__": 1, "from": "stranded - reverse", "to": "fr-firststrand"}, {"__index__": 2, "from": "unstranded", "to": "fr-unstranded"}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"f027f3d5-3b91-4061-b5cd-78553509ce5e",when:null,workflow_outputs:[]},17:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:17,input_connections:{"input_param_type|input_param":{id:6,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Get Stringtie strandedness parameter",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:875.5945006269037,top:1653.5777444451405},post_job_actions:{HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "--fr"}, {"__index__": 1, "from": "stranded - reverse", "to": "--rf"}, {"__index__": 2, "from": "unstranded", "to": ""}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"63e6501b-e1de-4184-af42-720cc9a6dfb0",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy1",errors:null,id:18,input_connections:{"refGenomeSource|GTFconditional|genomeDir":{id:4,output_name:"output"},"refGenomeSource|GTFconditional|sjdbGTFfile":{id:5,output_name:"output"},"singlePaired|input":{id:12,output_name:"output_paired_coll"}},inputs:[{description:"runtime parameter for tool RNA STAR",name:"singlePaired"}],label:"STAR: map and count and coverage splitted",name:"RNA STAR",outputs:[{name:"output_log",type:"txt"},{name:"splice_junctions",type:"interval"},{name:"mapped_reads",type:"bam"},{name:"reads_per_gene",type:"tabular"},{name:"signal_unique_str1",type:"bedgraph"},{name:"signal_uniquemultiple_str1",type:"bedgraph"},{name:"signal_unique_str2",type:"bedgraph"},{name:"signal_uniquemultiple_str2",type:"bedgraph"}],position:{left:732.1609477893844,top:246.8799136582777},post_job_actions:{HideDatasetActionoutput_log:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_log"},HideDatasetActionreads_per_gene:{action_arguments:{},action_type:"HideDatasetAction",output_name:"reads_per_gene"},HideDatasetActionsignal_unique_str1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"signal_unique_str1"},HideDatasetActionsignal_unique_str2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"signal_unique_str2"},HideDatasetActionsignal_uniquemultiple_str1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"signal_uniquemultiple_str1"},HideDatasetActionsignal_uniquemultiple_str2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"signal_uniquemultiple_str2"},HideDatasetActionsplice_junctions:{action_arguments:{},action_type:"HideDatasetAction",output_name:"splice_junctions"},RenameDatasetActionmapped_reads:{action_arguments:{newname:"Mapped Reads"},action_type:"RenameDatasetAction",output_name:"mapped_reads"},RenameDatasetActionreads_per_gene:{action_arguments:{newname:"Reads per gene from STAR"},action_type:"RenameDatasetAction",output_name:"reads_per_gene"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy1",tool_shed_repository:{changeset_revision:"4014de1b6daf",name:"rgrnastar",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"algo": {"params": {"settingsType": "full", "__current_case__": 3, "seed": {"seedSearchStartLmax": "50", "seedSearchStartLmaxOverLread": "1.0", "seedSearchLmax": "0", "seedMultimapNmax": "10000", "seedPerReadNmax": "1000", "seedPerWindowNmax": "50", "seedNoneLociPerWindow": "10"}, "align": {"alignIntronMin": "20", "alignIntronMax": "1000000", "alignMatesGapMax": "1000000", "alignSJoverhangMin": "8", "alignSJstitchMismatchNmax": {"alignSJstitchMismatchNmax1": "0", "alignSJstitchMismatchNmax2": "-1", "alignSJstitchMismatchNmax3": "0", "alignSJstitchMismatchNmax4": "0"}, "alignSJDBoverhangMin": "1", "alignSplicedMateMapLmin": "0", "alignSplicedMateMapLminOverLmate": "0.66", "alignWindowsPerReadNmax": "10000", "alignTranscriptsPerWindowNmax": "100", "alignTranscriptsPerReadNmax": "10000", "alignEndsType": "Local", "peOverlapNbasesMin": "0", "peOverlapMMp": "0.01"}, "chim_settings": {"chimSegmentMin": "12", "chimScoreMin": "0", "chimScoreDropMax": "20", "chimScoreSeparation": "10", "chimScoreJunctionNonGTAG": "-1", "chimJunctionOverhangMin": "20", "chimSegmentReadGapMax": "0", "chimFilter": true, "chimMainSegmentMultNmax": "10", "chimMultimapNmax": "1", "chimMultimapScoreRange": "1"}, "junction_limits": {"limitOutSJoneRead": "1000", "limitOutSJcollapsed": "1000000", "limitSjdbInsertNsj": "1000000"}}}, "chimOutType": "", "filter": {"basic_filters": ["exclude_unmapped"], "output_params2": {"output_select2": "yes", "__current_case__": 0, "outFilterType": true, "outFilterMultimapScoreRange": "1", "outFilterMultimapNmax": "20", "outFilterMismatchNmax": "999", "outFilterMismatchNoverLmax": "0.3", "outFilterMismatchNoverReadLmax": "0.04", "outFilterScoreMin": "0", "outFilterScoreMinOverLread": "0.66", "outFilterMatchNmin": "0", "outFilterMatchNminOverLread": "0.66", "outSAMmultNmax": "-1", "outSAMtlen": "1"}}, "oformat": {"outSAMattributes": ["NH", "HI", "AS", "nM"], "HI_offset": "1", "outSAMprimaryFlag": "OneBestScore", "outSAMmapqUnique": "255", "wasp_conditional": {"waspOutputMode": "", "__current_case__": 1}}, "outWig": {"outWigType": "bedGraph", "__current_case__": 1, "outWigTypeSecondWord": "", "outWigStrand": true, "outWigReferencesPrefix": "-", "outWigNorm": true}, "perf": {"outBAMsortingBinsN": "50", "winAnchorMultimapNmax": "50"}, "refGenomeSource": {"geneSource": "indexed", "__current_case__": 0, "GTFconditional": {"GTFselect": "without-gtf-with-gtf", "__current_case__": 1, "genomeDir": {"__class__": "ConnectedValue"}, "sjdbGTFfile": {"__class__": "ConnectedValue"}, "sjdbGTFfeatureExon": "exon", "sjdbOverhang": "100", "quantmode_output": {"quantMode": "GeneCounts", "__current_case__": 1}}}, "singlePaired": {"sPaired": "paired_collection", "__current_case__": 2, "input": {"__class__": "ConnectedValue"}}, "twopass": {"twopassMode": "None", "__current_case__": 0, "twopass_read_subset": "", "sj_precalculated": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.7.11a+galaxy1",type:"tool",uuid:"be1a277d-6d0d-4aaf-acea-9735426932b0",when:null,workflow_outputs:[{label:"Mapped Reads",output_name:"mapped_reads",uuid:"f5722954-fd5c-4e66-aed0-4cd099dd9b1c"}]},19:{annotation:"",id:19,input_connections:{"STAR BAM":{id:18,input_subworkflow_step_id:1,output_name:"mapped_reads"},"STAR log":{id:18,input_subworkflow_step_id:0,output_name:"output_log"}},inputs:[{description:"",name:"Generate Unstranded Coverage"}],label:"Generate Unstranded Coverage",name:"Get Uniquely mapped unstranded coverage",outputs:[],position:{left:1683.2031849964808,top:86.70584740647254},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Get Uniquely mapped unstranded coverage",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"RNA STAR log files",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"RNA STAR log files",name:"STAR log"}],label:"STAR log",name:"Input dataset collection",outputs:[],position:{left:0,top:46},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"3e3f7463-a635-44a2-a1f4-7e12aae3d25b",when:null,workflow_outputs:[]},1:{annotation:"Mapped BAM files generate from RNA STAR",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Mapped BAM files generate from RNA STAR",name:"STAR BAM"}],label:"STAR BAM",name:"Input dataset collection",outputs:[],position:{left:280,top:209},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"10dddc85-d3fc-4cba-a637-0c40153d284f",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:2,input_connections:{infile:{id:0,output_name:"output"}},inputs:[],label:"get scaling factor",name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:280,top:20},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": "$0~\\"Uniquely mapped reads number\\"{print 1000000/$NF}", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"77cf2304-36bf-4337-bc2d-bc4d8b831668",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2",errors:null,id:3,input_connections:{input_bam:{id:1,output_name:"output"}},inputs:[],label:"keep uniquely mapped reads",name:"Filter BAM",outputs:[{name:"out_file2",type:"txt"},{name:"out_file1",type:"bam"}],position:{left:560,top:195},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"},HideDatasetActionout_file2:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file2"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2",tool_shed_repository:{changeset_revision:"993b19f20c76",name:"bamtools_filter",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"conditions": [{"__index__": 0, "filters": [{"__index__": 0, "bam_property": {"bam_property_selector": "tag", "__current_case__": 21, "bam_property_value": "NH=1"}}]}], "input_bam": {"__class__": "ConnectedValue"}, "rule_configuration": {"rules_selector": "false", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.5.2+galaxy2",type:"tool",uuid:"59db7088-85bf-42ba-9dcd-76836f9d6310",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"param_value_from_file",errors:null,id:4,input_connections:{input1:{id:2,output_name:"outfile"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"float_param",type:"expression.json"}],position:{left:560,top:0},post_job_actions:{HideDatasetActionfloat_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"float_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "float", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"83e6d856-5809-419a-b4bc-639662a95751",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.31.1",errors:null,id:5,input_connections:{"input_type|input":{id:3,output_name:"out_file1"},"report|scale":{id:4,output_name:"float_param"}},inputs:[{description:"runtime parameter for tool bedtools Genome Coverage",name:"input_type"},{description:"runtime parameter for tool bedtools Genome Coverage",name:"report"}],label:"Scaled Coverage both strands combined",name:"bedtools Genome Coverage",outputs:[{name:"output",type:"bedgraph"}],position:{left:840,top:12},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.31.1",tool_shed_repository:{changeset_revision:"64e2edfe7a2c",name:"bedtools",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"d": false, "dz": false, "five": false, "input_type": {"input_type_select": "bam", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}, "report": {"report_select": "bg", "__current_case__": 0, "zero_regions": false, "scale": {"__class__": "ConnectedValue"}}, "split": true, "strand": "", "three": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.31.1",type:"tool",uuid:"df53e789-be2d-4b09-be8d-a07a35c14913",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:6,input_connections:{input1:{id:5,output_name:"output"}},inputs:[],label:"convert both strands coverage to bigwig",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:1120,top:67},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Both Strands Coverage"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"62d76728-f614-48c0-9560-3abd05b8366d",when:null,workflow_outputs:[{label:"Both Strands Coverage",output_name:"out_file1",uuid:"73763ad9-c132-4764-ada6-eece0c30e74f"}]}},tags:[],uuid:"7abe9e86-1aea-4cc5-bbc3-8a98e09f0bc6"},tool_id:null,type:"subworkflow",uuid:"6ce6314b-d339-40bf-9f0e-53ca525204be",when:null,workflow_outputs:[{label:"Unstranded Coverage",output_name:"Both Strands Coverage",uuid:"f90cc885-438b-49ee-b1d1-8ed45f7dea5c"}]},20:{annotation:"",id:20,input_connections:{"Bedgraph strand 1":{id:18,input_subworkflow_step_id:1,output_name:"signal_unique_str1"},"Bedgraph strand 2":{id:18,input_subworkflow_step_id:2,output_name:"signal_unique_str2"},strandedness:{id:6,input_subworkflow_step_id:0,output_name:"output"}},inputs:[{description:"",name:"Generate Stranded Coverage"}],label:"Generate Stranded Coverage",name:"Re-arrange Stranded RNA-seq coverage",outputs:[],position:{left:1692.210489743303,top:282.0471550654421},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"}],"format-version":"0.1",license:"MIT",name:"Re-arrange Stranded RNA-seq coverage",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",name:"strandedness"}],label:"strandedness",name:"Input parameter",outputs:[],position:{left:0,top:370},tool_id:null,tool_state:'{"restrictions": ["stranded - forward", "stranded - reverse", "unstranded"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"56955f25-7e9e-4201-a056-b61f47359c84",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"d363c181-7f37-45ef-9732-86aaf879478a"}]},1:{annotation:"From STAR strand 1",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"From STAR strand 1",name:"Bedgraph strand 1"}],label:"Bedgraph strand 1",name:"Input dataset collection",outputs:[],position:{left:0,top:472},tool_id:null,tool_state:'{"optional": false, "format": ["bedgraph"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"7919f2ed-554a-4e08-93eb-6896a2195293",when:null,workflow_outputs:[]},2:{annotation:"From STAR strand 2",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"From STAR strand 2",name:"Bedgraph strand 2"}],label:"Bedgraph strand 2",name:"Input dataset collection",outputs:[],position:{left:569.999952609169,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["bedgraph"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"9318223c-4443-4341-8448-11df606ccfdf",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:3,input_connections:{"input_param_type|input_param":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Get replacement for strand2",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:289.9999763045845,top:51},post_job_actions:{HideDatasetActionoutput_param_boolean:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_boolean"},HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "$1_reverse"}, {"__index__": 1, "from": "stranded - reverse", "to": "$1_forward"}, {"__index__": 2, "from": "unstranded", "to": "$1_reverse"}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"2ec50fce-ef76-4f56-9fc6-5c6b34c6593e",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:4,input_connections:{"input_param_type|input_param":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"Get replacement for strand1",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:289.9999763045845,top:359},post_job_actions:{HideDatasetActionoutput_param_boolean:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_boolean"},HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "$1_forward"}, {"__index__": 1, "from": "stranded - reverse", "to": "$1_reverse"}, {"__index__": 2, "from": "unstranded", "to": "$1_forward"}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"b7e2cedf-e846-4553-9e48-4aa9a93d40b2",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:5,input_connections:{input_collection:{id:1,output_name:"output"}},inputs:[],label:"get identifiers",name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:289.9999763045845,top:225},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"7d866aad-dd6c-4d17-bf6d-8f0026652265",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",errors:null,id:6,input_connections:{"find_and_replace_0|replace_pattern":{id:3,output_name:"output_param_text"},infile:{id:5,output_name:"output"}},inputs:[],label:"New labels strand 2",name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:569.999952609169,top:123},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"find_and_replace": [{"__index__": 0, "find_pattern": "^(.+)$", "replace_pattern": {"__class__": "ConnectedValue"}, "is_regex": true, "global": true, "caseinsensitive": false, "wholewords": false, "skip_first_line": false, "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}}], "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"ec10a98b-adb9-4037-9137-1717068d7157",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",errors:null,id:7,input_connections:{"find_and_replace_0|replace_pattern":{id:4,output_name:"output_param_text"},infile:{id:5,output_name:"output"}},inputs:[],label:"New labels strand 1",name:"Replace",outputs:[{name:"outfile",type:"input"}],position:{left:569.999952609169,top:328},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"find_and_replace": [{"__index__": 0, "find_pattern": "^(.+)$", "replace_pattern": {"__class__": "ConnectedValue"}, "is_regex": true, "global": true, "caseinsensitive": false, "wholewords": false, "skip_first_line": false, "searchwhere": {"searchwhere_select": "line", "__current_case__": 0}}], "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"4eb0d67c-f53c-4f84-90fc-3db41e4f0aa7",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:8,input_connections:{"how|labels":{id:6,output_name:"outfile"},input:{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:"Relabelled strand 2",name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:849.9998437853558,top:106},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"147ccbb0-b951-4851-9bf5-2c6b439ac1b6",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"__RELABEL_FROM_FILE__",errors:null,id:9,input_connections:{"how|labels":{id:7,output_name:"outfile"},input:{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:"Relabelled strand 1",name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:849.9999005376209,top:365},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"e9dcd2df-2834-4e9a-bef2-7666de012b8a",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"__MERGE_COLLECTION__",errors:null,id:10,input_connections:{"inputs_0|input":{id:9,output_name:"output"},"inputs_1|input":{id:8,output_name:"output"}},inputs:[],label:null,name:"Merge collections",outputs:[{name:"output",type:"input"}],position:{left:1129.9999903467356,top:120},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__MERGE_COLLECTION__",tool_state:'{"advanced": {"conflict": {"duplicate_options": "keep_first", "__current_case__": 3}}, "inputs": [{"__index__": 0, "input": {"__class__": "ConnectedValue"}}, {"__index__": 1, "input": {"__class__": "ConnectedValue"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"f47d7381-13b2-4615-b947-17a0ac2ad500",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"wig_to_bigWig",errors:null,id:11,input_connections:{input1:{id:10,output_name:"output"}},inputs:[],label:"convert to bigwig",name:"Wig/BedGraph-to-bigWig",outputs:[{name:"out_file1",type:"bigwig"}],position:{left:1410.000136908115,top:171},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"uniquely mapped stranded coverage"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"wig_to_bigWig",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "settings": {"settingsType": "preset", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.1",type:"tool",uuid:"852f2d23-b48e-44d0-aaf2-aed33532d98a",when:null,workflow_outputs:[{label:"Uniquely Mapped Stranded Coverage",output_name:"out_file1",uuid:"0a31ff80-b3d1-4959-869f-1a6a3c627dde"}]}},tags:[],uuid:"d2af388a-2469-44c1-ad24-ef9511546b8e"},tool_id:null,type:"subworkflow",uuid:"bf990b24-1ec8-4e67-acec-fecf26a3d49f",when:null,workflow_outputs:[{label:"Stranded Coverage",output_name:"Uniquely Mapped Stranded Coverage",uuid:"9161f772-6904-4479-aff4-566295f5b3b2"}]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.6+galaxy0",errors:null,id:21,input_connections:{alignment:{id:18,output_name:"mapped_reads"},"anno|reference_gene_sets":{id:5,output_name:"output"},strand_specificity:{id:15,output_name:"output_param_text"},when:{id:7,output_name:"output"}},inputs:[{description:"runtime parameter for tool featureCounts",name:"anno"}],label:null,name:"featureCounts",outputs:[{name:"output_short",type:"tabular"},{name:"output_summary",type:"tabular"}],position:{left:1713.913195680125,top:672.9994811085061},post_job_actions:{HideDatasetActionoutput_short:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_short"},HideDatasetActionoutput_summary:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_summary"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.6+galaxy0",tool_shed_repository:{changeset_revision:"1b851f87fbe0",name:"featurecounts",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"alignment": {"__class__": "ConnectedValue"}, "anno": {"anno_select": "history", "__current_case__": 2, "reference_gene_sets": {"__class__": "ConnectedValue"}, "gff_feature_type": "exon", "gff_feature_attribute": "gene_id", "summarization_level": false}, "extended_parameters": {"multifeatures": {"multifeat": "", "__current_case__": 0}, "exon_exon_junction_read_counting_enabled": {"count_exon_exon_junction_reads": "", "__current_case__": 1}, "long_reads": false, "by_read_group": false, "largest_overlap": false, "min_overlap": "1", "frac_overlap": "0", "frac_overlap_feature": "0", "read_extension_5p": "0", "read_extension_3p": "0", "read_reduction": "", "R": false}, "format": "tabdel_short", "include_feature_length_file": false, "pe_parameters": {"paired_end_status": "PE_fragments", "__current_case__": 2, "check_distance_enabled": {"checkFragLength": "false", "__current_case__": 1}, "only_both_ends": false, "exclude_chimerics": true}, "read_filtering_parameters": {"mapping_quality": "0", "splitonly": "", "primary": false, "ignore_dup": false}, "strand_specificity": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.6+galaxy0",type:"tool",uuid:"5a03b546-eb3f-4e99-b845-24c8f54ed183",when:"$(inputs.when)",workflow_outputs:[]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0",errors:null,id:22,input_connections:{"guide|guide_source|ref_hist":{id:5,output_name:"output"},"input_options|input_bam":{id:18,output_name:"mapped_reads"},rna_strandness:{id:17,output_name:"output_param_text"},when:{id:10,output_name:"output"}},inputs:[{description:"runtime parameter for tool StringTie",name:"adv"},{description:"runtime parameter for tool StringTie",name:"input_options"}],label:"Compute FPKM with StringTie",name:"StringTie",outputs:[{name:"output_gtf",type:"gtf"},{name:"gene_abundance_estimation",type:"tabular"}],position:{left:1731.7359886400766,top:1424.2142641508385},post_job_actions:{HideDatasetActionoutput_gtf:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_gtf"},RenameDatasetActiongene_abundance_estimation:{action_arguments:{newname:"Gene abundance estimates from StringTie"},action_type:"RenameDatasetAction",output_name:"gene_abundance_estimation"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0",tool_shed_repository:{changeset_revision:"cbf488da3b2c",name:"stringtie",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"abundance_estimation": true, "omit_sequences": "", "name_prefix": null, "fraction": "0.01", "min_tlen": "200", "min_anchor_len": "10", "min_anchor_cov": "1", "min_bundle_cov": "1", "bdist": "50", "bundle_fraction": "1.0", "disable_trimming": false, "multi_mapping": false, "point_features": {"__class__": "RuntimeValue"}}, "guide": {"use_guide": "yes", "__current_case__": 1, "guide_source": {"guide_gff_select": "history", "__current_case__": 1, "ref_hist": {"__class__": "ConnectedValue"}}, "input_estimation": true, "special_outputs": {"special_outputs_select": "no", "__current_case__": 2}, "coverage_file": false}, "input_options": {"input_mode": "short_reads", "__current_case__": 0, "input_bam": {"__class__": "ConnectedValue"}}, "rna_strandness": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.3+galaxy0",type:"tool",uuid:"5a796064-9c52-4b5c-b5da-02c43f6c742f",when:"$(inputs.when)",workflow_outputs:[{label:"Gene Abundance Estimates from StringTie",output_name:"gene_abundance_estimation",uuid:"9bcb277a-bb4d-4629-8c71-4cac7cee4c63"}]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.4",errors:null,id:23,input_connections:{"advanced_settings|library_type":{id:16,output_name:"output_param_text"},"advanced_settings|mask_file":{id:9,output_name:"output"},"bias_correction|seq_source|index":{id:14,output_name:"out1"},input:{id:18,output_name:"mapped_reads"},"reference_annotation|reference_annotation_file":{id:5,output_name:"output"},when:{id:8,output_name:"output"}},inputs:[{description:"runtime parameter for tool Cufflinks",name:"advanced_settings"},{description:"runtime parameter for tool Cufflinks",name:"advanced_settings"},{description:"runtime parameter for tool Cufflinks",name:"reference_annotation"}],label:"Compute FPKM with cufflinks",name:"Cufflinks",outputs:[{name:"genes_expression",type:"tabular"},{name:"transcripts_expression",type:"tabular"},{name:"assembled_isoforms",type:"gtf"},{name:"total_map_mass",type:"txt"},{name:"skipped",type:"gtf"}],position:{left:1998.2812719123385,top:1150.343757982693},post_job_actions:{HideDatasetActionassembled_isoforms:{action_arguments:{},action_type:"HideDatasetAction",output_name:"assembled_isoforms"},HideDatasetActionskipped:{action_arguments:{},action_type:"HideDatasetAction",output_name:"skipped"},HideDatasetActiontotal_map_mass:{action_arguments:{},action_type:"HideDatasetAction",output_name:"total_map_mass"},RenameDatasetActiongenes_expression:{action_arguments:{newname:"Genes Expression from Cufflinks"},action_type:"RenameDatasetAction",output_name:"genes_expression"},RenameDatasetActiontranscripts_expression:{action_arguments:{newname:"Transcripts Expression from Cufflinks"},action_type:"RenameDatasetAction",output_name:"transcripts_expression"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.4",tool_shed_repository:{changeset_revision:"6926716bbfb5",name:"cufflinks",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_settings": {"use_advanced_settings": "Yes", "__current_case__": 1, "library_type": {"__class__": "ConnectedValue"}, "mask_file": {"__class__": "ConnectedValue"}, "inner_mean_dist": "200", "inner_dist_std_dev": "80", "max_mle_iterations": "5000", "junc_alpha": "0.001", "small_anchor_fraction": "0.09", "overhang_tolerance": "8", "max_bundle_length": "10000000", "max_bundle_frags": "1000000", "min_intron_length": "50", "trim_three_avgcov_thresh": "10", "trim_three_dropoff_frac": "0.1"}, "bias_correction": {"do_bias_correction": "Yes", "__current_case__": 0, "seq_source": {"index_source": "cached", "__current_case__": 0, "index": {"__class__": "ConnectedValue"}}}, "global_model": null, "input": {"__class__": "ConnectedValue"}, "length_correction": "--no-effective-length-correction", "max_intron_len": "300000", "min_isoform_fraction": "0.1", "multiread_correct": true, "pre_mrna_fraction": "0.15", "reference_annotation": {"use_ref": "Use reference annotation", "__current_case__": 1, "reference_annotation_file": {"__class__": "ConnectedValue"}, "compatible_hits_norm": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.1.4",type:"tool",uuid:"af5419b7-ae6b-498c-8123-f609b8fcd8b4",when:"$(inputs.when)",workflow_outputs:[{label:"Genes Expression from Cufflinks",output_name:"genes_expression",uuid:"3bd4fbda-f241-4ebd-b7a5-dea7271c521e"},{label:"Transcripts Expression from Cufflinks",output_name:"transcripts_expression",uuid:"2c13ef79-948c-4f5f-8516-a769550128fd"}]},24:{annotation:"",id:24,input_connections:{"RNA STAR count tables":{id:18,input_subworkflow_step_id:3,output_name:"reads_per_gene"},"Strandness param":{id:6,input_subworkflow_step_id:2,output_name:"output"},"featureCounts count table":{id:21,input_subworkflow_step_id:4,output_name:"output_short"},"featureCounts summaries collection":{id:21,input_subworkflow_step_id:1,output_name:"output_summary"}},inputs:[],label:null,name:"Process Count files",outputs:[],position:{left:2161.105895746449,top:665.1799212422835},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-1964-4960",name:"Lucille Delisle"},{class:"Person",identifier:"https://orcid.org/0000-0002-5192-126X",name:"Pavankumar Videm"}],"format-version":"0.1",license:"MIT",name:"Process Count files",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"This file will be used in MultiQC if the user opts out of featureCounts to generate count files. ",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",errors:null,id:0,input_connections:{},inputs:[],label:"A dummy featureCounts summary file",name:"Create text file",outputs:[{name:"outfile",type:"txt"}],position:{left:0,top:16},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"token_set": [{"__index__": 0, "line": "Status\\tFeaturecounts_was_not_used", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": "1"}}, {"__index__": 1, "line": "Assigned\\t0", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": "1"}}, {"__index__": 2, "line": "Unassigned_Unmapped\\t0", "repeat_select": {"repeat_select_opts": "user", "__current_case__": 0, "times": "1"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"be0268be-a3ec-4d75-854b-d8eecf4b4521",when:null,workflow_outputs:[]},1:{annotation:"Collection from featureCounts summaries",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Collection from featureCounts summaries",name:"featureCounts summaries collection"}],label:"featureCounts summaries collection",name:"Input dataset collection",outputs:[],position:{left:2.3481338306177992,top:215.26828327443155},tool_id:null,tool_state:'{"optional": true, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"9ca62bd8-0272-41e2-9e4b-e8f45c4e0c19",when:null,workflow_outputs:[]},2:{annotation:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence",name:"Strandness param"}],label:"Strandness param",name:"Input parameter",outputs:[],position:{left:17190473798223138e-21,top:433.85391433745605},tool_id:null,tool_state:'{"restrictions": ["stranded - forward", "stranded - reverse", "unstranded"], "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"180fc8bd-b8f4-486b-b300-e503bf379373",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"d0e53d5e-1b5f-40d7-80e6-f15c5e2ffbc8"}]},3:{annotation:"Count tables collection from RNA STAR",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Count tables collection from RNA STAR",name:"RNA STAR count tables"}],label:"RNA STAR count tables",name:"Input dataset collection",outputs:[],position:{left:5.368903743075304,top:589.5341644488473},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"d94c5c03-7bad-493f-9f5d-c5b6f33157ae",when:null,workflow_outputs:[]},4:{annotation:"Count tables collection from featureCounts",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Count tables collection from featureCounts",name:"featureCounts count table"}],label:"featureCounts count table",name:"Input dataset collection",outputs:[],position:{left:7.4993932207943,top:704.0194730841151},tool_id:null,tool_state:'{"optional": true, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"12f710b8-757e-4c25-90be-4cfca673f54b",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",errors:null,id:5,input_connections:{infile:{id:0,output_name:"outfile"}},inputs:[],label:null,name:"Text transformation",outputs:[{name:"output",type:"input"}],position:{left:279.9999490094584,top:0},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"tabular"},action_type:"ChangeDatatypeAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "code": "s/__tc__/\\\\t/g", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"3588c02b-15b7-487b-8970-bc76ddf8348a",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",errors:null,id:6,input_connections:{"input_param_type|input_param":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool Map parameter value",name:"input_param_type"}],label:"awk command from strand for STAR counts",name:"Map parameter value",outputs:[{name:"output_param_text",type:"expression.json"}],position:{left:279.9999833196541,top:401.33828843669767},post_job_actions:{HideDatasetActionoutput_param_text:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output_param_text"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0",tool_shed_repository:{changeset_revision:"5ac8a4bf7a8d",name:"map_param_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_param_type": {"type": "text", "__current_case__": 0, "input_param": {"__class__": "ConnectedValue"}, "mappings": [{"__index__": 0, "from": "stranded - forward", "to": "NR>4{print $1\\"\\\\t\\"$3}"}, {"__index__": 1, "from": "stranded - reverse", "to": "NR>4{print $1\\"\\\\t\\"$4}"}, {"__index__": 2, "from": "unstranded", "to": "NR>4{print $1\\"\\\\t\\"$2}"}]}, "output_param_type": "text", "unmapped": {"on_unmapped": "fail", "__current_case__": 1}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"2b9a5ca1-e974-450b-99b3-3fcce531154b",when:null,workflow_outputs:[]},7:{annotation:"featureCounts summaries",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",errors:null,id:7,input_connections:{"style_cond|type_cond|pick_from_0|value":{id:1,output_name:"output"},"style_cond|type_cond|pick_from_1|value":{id:5,output_name:"output"}},inputs:[],label:"featureCounts summaries",name:"Pick parameter value",outputs:[{name:"data_param",type:"input"}],position:{left:840.0000391186242,top:16},post_job_actions:{RenameDatasetActiondata_param:{action_arguments:{newname:"FeatureCounts Summary Table"},action_type:"RenameDatasetAction",output_name:"data_param"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",tool_shed_repository:{changeset_revision:"b19e21af9c52",name:"pick_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"style_cond": {"pick_style": "first", "__current_case__": 0, "type_cond": {"param_type": "data", "__current_case__": 4, "pick_from": [{"__index__": 0, "value": {"__class__": "ConnectedValue"}}, {"__index__": 1, "value": {"__class__": "ConnectedValue"}}]}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"26eca035-e403-4392-9ba9-08cd471154dd",when:null,workflow_outputs:[{label:"FeatureCounts Summary Table",output_name:"data_param",uuid:"8c15f8aa-f2eb-41bf-bbaa-947263f3bfec"}]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:8,input_connections:{code:{id:6,output_name:"output_param_text"},infile:{id:3,output_name:"output"}},inputs:[],label:"Extract gene counts",name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:560.0000901091657,top:386.17188642026633},post_job_actions:{RenameDatasetActionoutfile:{action_arguments:{newname:"HTS count like output"},action_type:"RenameDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": {"__class__": "ConnectedValue"}, "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"34922bd3-4676-4f7d-8e05-af0ef0c1efa4",when:null,workflow_outputs:[]},9:{annotation:"Counts Table ",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",errors:null,id:9,input_connections:{"style_cond|type_cond|pick_from_0|value":{id:4,output_name:"output"},"style_cond|type_cond|pick_from_1|value":{id:8,output_name:"outfile"}},inputs:[],label:"Counts table",name:"Pick parameter value",outputs:[{name:"data_param",type:"input"}],position:{left:837.0001537846339,top:413.1722363660909},post_job_actions:{RenameDatasetActiondata_param:{action_arguments:{newname:"Counts Table"},action_type:"RenameDatasetAction",output_name:"data_param"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0",tool_shed_repository:{changeset_revision:"b19e21af9c52",name:"pick_value",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"style_cond": {"pick_style": "first", "__current_case__": 0, "type_cond": {"param_type": "data", "__current_case__": 4, "pick_from": [{"__index__": 0, "value": {"__class__": "ConnectedValue"}}, {"__index__": 1, "value": {"__class__": "ConnectedValue"}}]}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"d87cdd15-8b7c-4498-a818-7369ee4e006a",when:null,workflow_outputs:[{label:"Counts Table",output_name:"data_param",uuid:"bb7b60bf-81b1-4d58-9724-9814e9284ab3"}]}},tags:[],uuid:"de2ecd60-7f89-4062-8db5-60406bc79148"},tool_id:null,type:"subworkflow",uuid:"6957fcb0-4312-4764-9d80-c5306759f914",when:null,workflow_outputs:[{label:"Counts Table",output_name:"Counts Table",uuid:"dfe40af6-1361-4953-aac7-fbca6cfdb47a"}]},25:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:25,input_connections:{"results_0|software_cond|input":{id:12,output_name:"report_json"},"results_1|software_cond|output_0|type|input":{id:18,output_name:"output_log"},"results_1|software_cond|output_1|type|input":{id:18,output_name:"reads_per_gene"},"results_2|software_cond|input":{id:24,output_name:"FeatureCounts Summary Table"},when:{id:13,output_name:"output_param_boolean"}},inputs:[],label:"Combined MultiQC without additional QC",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:2405.2752524038633,top:15.83131975019036},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "star", "__current_case__": 28, "output": [{"__index__": 0, "type": {"type": "log", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "type": {"type": "genecounts", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 2, "software_cond": {"software": "featureCounts", "__current_case__": 9, "input": {"__class__": "ConnectedValue"}}}], "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"8ad489c5-92b6-4e73-99a4-543923bea427",when:"$(inputs.when)",workflow_outputs:[{label:"Small MultiQC HTML report",output_name:"html_report",uuid:"91f6fe1c-d957-4e0e-83a7-757d879ffec3"},{label:"Small MultiQC stats",output_name:"stats",uuid:"db8e150d-c55c-4554-a790-c031a35f8b45"}]},26:{annotation:"",id:26,input_connections:{"FASTQ collection":{id:11,input_subworkflow_step_id:0,output_name:"output"},"STAR gene counts":{id:18,input_subworkflow_step_id:3,output_name:"reads_per_gene"},"STAR logs":{id:18,input_subworkflow_step_id:2,output_name:"output_log"},"STAR paired-end BAM":{id:18,input_subworkflow_step_id:6,output_name:"mapped_reads"},"fastp Reports":{id:12,input_subworkflow_step_id:1,output_name:"report_json"},"featureCounts summaries":{id:24,input_subworkflow_step_id:4,output_name:"FeatureCounts Summary Table"},reference_annotation_gtf:{id:5,input_subworkflow_step_id:5,output_name:"output"},when:{id:3,output_name:"output"}},inputs:[{description:"",name:"Combined MultiQC Quality Report with additional QC"}],label:"Combined MultiQC Quality Report with additional QC",name:"RNA-seq-Paired-QC",outputs:[],position:{left:2465.503860179348,top:451.63585583919314},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0002-5192-126X",name:"Pavankumar Videm"}],"format-version":"0.1",license:"MIT",name:"RNA-seq-Paired-QC",report:{markdown:"\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"},steps:{0:{annotation:"RNA-seq paired FASTQ collection",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"RNA-seq paired FASTQ collection",name:"FASTQ collection"}],label:"FASTQ collection",name:"Input dataset collection",outputs:[],position:{left:0,top:50.38988268780724},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"1bb12b7e-2ee1-4d8a-80d6-4259bea1efae",when:null,workflow_outputs:[]},1:{annotation:"fastp Reports",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"fastp Reports",name:"fastp Reports"}],label:"fastp Reports",name:"Input dataset collection",outputs:[],position:{left:134.80355171857803,top:181.47189808543578},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"43c69a53-b1dc-4089-9801-18e980088a2e",when:null,workflow_outputs:[]},2:{annotation:"STAR log files",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"STAR log files",name:"STAR logs"}],label:"STAR logs",name:"Input dataset collection",outputs:[],position:{left:218.26764632413384,top:291.7068715859467},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"5ae91949-4ffe-4aef-81fa-fa3cb4e86f5a",when:null,workflow_outputs:[]},3:{annotation:"",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"",name:"STAR gene counts"}],label:"STAR gene counts",name:"Input dataset collection",outputs:[],position:{left:282.5174775510844,top:388.3856046156558},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"65ca0df2-1764-4605-8485-56633366ed5d",when:null,workflow_outputs:[]},4:{annotation:"featureCounts Summaries file",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"featureCounts Summaries file",name:"featureCounts summaries"}],label:"featureCounts summaries",name:"Input dataset collection",outputs:[],position:{left:351.6280284762066,top:524.3280615905143},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"5a5cb076-92cb-48bd-80e0-d7bfa19fe969",when:null,workflow_outputs:[]},5:{annotation:"Reference annotation",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Reference annotation",name:"reference_annotation_gtf"}],label:"reference_annotation_gtf",name:"Input dataset",outputs:[],position:{left:414.3587638558393,top:727.1586541357461},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"9657bd5f-5510-412b-9128-0bb903e2f572",when:null,workflow_outputs:[]},6:{annotation:"Mapped BAM files from STAR",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"Mapped BAM files from STAR",name:"STAR paired-end BAM"}],label:"STAR paired-end BAM",name:"Input dataset collection",outputs:[],position:{left:413.35877588481725,top:876.1586721395935},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"b3a7345d-49fa-4b34-bd56-565f250f6d97",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.74+galaxy1",errors:null,id:7,input_connections:{input_file:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool FastQC",name:"adapters"},{description:"runtime parameter for tool FastQC",name:"contaminants"},{description:"runtime parameter for tool FastQC",name:"limits"}],label:"FastQC check read qualities",name:"FastQC",outputs:[{name:"html_file",type:"html"},{name:"text_file",type:"txt"}],position:{left:639.7276714482445,top:0},post_job_actions:{HideDatasetActionhtml_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"html_file"},HideDatasetActiontext_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.74+galaxy1",tool_shed_repository:{changeset_revision:"2c64fded1286",name:"fastqc",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adapters": {"__class__": "RuntimeValue"}, "contaminants": {"__class__": "RuntimeValue"}, "input_file": {"__class__": "ConnectedValue"}, "kmers": "7", "limits": {"__class__": "RuntimeValue"}, "min_length": null, "nogroup": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.74+galaxy1",type:"tool",uuid:"d4f16966-836e-49cd-8987-18b6e68205b8",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/gtftobed12/gtftobed12/357",errors:null,id:8,input_connections:{gtf_file:{id:5,output_name:"output"}},inputs:[],label:"convert gtf to bed12",name:"Convert GTF to BED12",outputs:[{name:"bed_file",type:"bed12"}],position:{left:693.3587755686708,top:712.1586721395935},post_job_actions:{HideDatasetActionbed_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"bed_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/gtftobed12/gtftobed12/357",tool_shed_repository:{changeset_revision:"b026dae67fba",name:"gtftobed12",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"advanced_options_selector": "default", "__current_case__": 0}, "gtf_file": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"357",type:"tool",uuid:"ed8685b7-7904-4f28-8ea9-2faffb05bacf",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",errors:null,id:9,input_connections:{input:{id:6,output_name:"output"}},inputs:[],label:"Subsample 200k reads",name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:693.3585496045475,top:864.5092441480267},post_job_actions:{HideDatasetActionoutputsam:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3",tool_shed_repository:{changeset_revision:"32dc5f781059",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "cond_expr": {"select_expr": "no", "__current_case__": 0}, "quality": null, "library": "", "cigarcons": null, "inclusive_filter": null, "exclusive_filter": null, "exclusive_filter_all": null, "tag": "", "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "target", "__current_case__": 1, "target": "200000", "seed": "1"}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.20+galaxy3",type:"tool",uuid:"fa918b19-c767-43dd-afb6-fcdb3cd20fa7",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.5",errors:null,id:10,input_connections:{input:{id:6,output_name:"output"}},inputs:[],label:"Get reads number per chromosome",name:"Samtools idxstats",outputs:[{name:"output",type:"tabular"}],position:{left:693.3587931207321,top:1071.1586721395934},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.5",tool_shed_repository:{changeset_revision:"fa5d3e61e429",name:"samtools_idxstats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.5",type:"tool",uuid:"0c0789f8-21d9-4fdc-80c6-488aded24611",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0",errors:null,id:11,input_connections:{inputFile:{id:6,output_name:"output"}},inputs:[],label:"Remove duplicates",name:"MarkDuplicates",outputs:[{name:"metrics_file",type:"txt"},{name:"outFile",type:"bam"}],position:{left:691.7090825073274,top:1221.4970533629626},post_job_actions:{HideDatasetActionmetrics_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"metrics_file"},HideDatasetActionoutFile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outFile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0",tool_shed_repository:{changeset_revision:"3f254c5ced1d",name:"picard",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"assume_sorted": true, "barcode_tag": "", "comments": [], "duplicate_scoring_strategy": "SUM_OF_BASE_QUALITIES", "inputFile": {"__class__": "ConnectedValue"}, "optical_duplicate_pixel_distance": "100", "read_name_regex": "", "remove_duplicates": false, "validation_stringency": "LENIENT", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.1.1.0",type:"tool",uuid:"c8d04f50-da21-4f5b-9d64-2dc652b71d77",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_read_distribution/5.0.3+galaxy0",errors:null,id:12,input_connections:{input:{id:6,output_name:"output"},refgene:{id:8,output_name:"bed_file"}},inputs:[],label:"Read distribution over genomic features",name:"Read Distribution",outputs:[{name:"output",type:"txt"}],position:{left:963.3587758848173,top:603.1586721395935},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_read_distribution/5.0.3+galaxy0",tool_shed_repository:{changeset_revision:"27e16a30667a",name:"rseqc",owner:"nilesh",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "ConnectedValue"}, "refgene": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.0.3+galaxy0",type:"tool",uuid:"4ecf1a7a-8648-4224-9c04-ab5d33614d63",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_geneBody_coverage/5.0.3+galaxy0",errors:null,id:13,input_connections:{"batch_mode|input":{id:9,output_name:"outputsam"},refgene:{id:8,output_name:"bed_file"}},inputs:[{description:"runtime parameter for tool Gene Body Coverage (BAM)",name:"batch_mode"}],label:"Get gene body coverage",name:"Gene Body Coverage (BAM)",outputs:[{name:"outputcurvespdf",type:"pdf"},{name:"outputtxt",type:"txt"}],position:{left:962.3585802454679,top:813.1586690267329},post_job_actions:{HideDatasetActionoutputcurvespdf:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputcurvespdf"},HideDatasetActionoutputtxt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outputtxt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_geneBody_coverage/5.0.3+galaxy0",tool_shed_repository:{changeset_revision:"27e16a30667a",name:"rseqc",owner:"nilesh",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"batch_mode": {"batch_mode_selector": "batch", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}, "minimum_length": "100", "refgene": {"__class__": "ConnectedValue"}, "rscript_output": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.0.3+galaxy0",type:"tool",uuid:"c996512e-789b-422c-833c-de854e30674f",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",errors:null,id:14,input_connections:{"results_0|software_cond|output_0|input":{id:7,output_name:"text_file"},"results_1|software_cond|input":{id:1,output_name:"output"},"results_2|software_cond|output_0|type|input":{id:2,output_name:"output"},"results_2|software_cond|output_1|type|input":{id:3,output_name:"output"},"results_3|software_cond|input":{id:4,output_name:"output"},"results_4|software_cond|output_0|type|input":{id:12,output_name:"output"},"results_4|software_cond|output_1|type|input":{id:13,output_name:"outputtxt"},"results_5|software_cond|output_0|type|input":{id:10,output_name:"output"},"results_6|software_cond|output_0|input":{id:11,output_name:"metrics_file"}},inputs:[],label:"Combined Quality Report",name:"MultiQC",outputs:[{name:"html_report",type:"html"},{name:"stats",type:"tabular"}],position:{left:1326.7698466852496,top:452.11475989525854},post_job_actions:{RenameDatasetActionhtml_report:{action_arguments:{newname:"MultiQC HTML report"},action_type:"RenameDatasetAction",output_name:"html_report"},RenameDatasetActionstats:{action_arguments:{newname:"MultiQC Stats table"},action_type:"RenameDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0",tool_shed_repository:{changeset_revision:"f7e2f1eb3a16",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "fastqc", "__current_case__": 8, "output": [{"__index__": 0, "type": "data", "input": {"__class__": "ConnectedValue"}}]}}, {"__index__": 1, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 2, "software_cond": {"software": "star", "__current_case__": 28, "output": [{"__index__": 0, "type": {"type": "log", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "type": {"type": "genecounts", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 3, "software_cond": {"software": "featureCounts", "__current_case__": 9, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 4, "software_cond": {"software": "rseqc", "__current_case__": 22, "output": [{"__index__": 0, "type": {"type": "read_distribution", "__current_case__": 6, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "type": {"type": "gene_body_coverage", "__current_case__": 1, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 5, "software_cond": {"software": "samtools", "__current_case__": 24, "output": [{"__index__": 0, "type": {"type": "idxstats", "__current_case__": 2, "input": {"__class__": "ConnectedValue"}}}]}}, {"__index__": 6, "software_cond": {"software": "picard", "__current_case__": 17, "output": [{"__index__": 0, "type": "markdups", "input": {"__class__": "ConnectedValue"}}]}}], "title": "Combined Quality Report ", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.24.1+galaxy0",type:"tool",uuid:"b5e9c0d2-62f4-41b2-a1c7-5677d8555fd4",when:null,workflow_outputs:[{label:"MultiQC stats",output_name:"stats",uuid:"cbf99516-9349-4f2a-ad1f-05c732cb5263"},{label:"MultiQC HTML report",output_name:"html_report",uuid:"7306cd4b-1017-4542-bf57-81d2d83d6a97"}]}},tags:[],uuid:"4e0fb735-1e3f-4948-8991-001ef7d7e7c0"},tool_id:null,type:"subworkflow",uuid:"c0aaa16c-8a9b-4fe1-8c3d-9e77f64da413",when:"$(inputs.when)",workflow_outputs:[{label:"MultiQC HTML report",output_name:"MultiQC HTML report",uuid:"717627ed-188d-4cb5-9a03-b1eec15f7922"},{label:"MultiQC stats",output_name:"MultiQC stats",uuid:"43ed1ffc-7df8-42a6-95f7-dc2b2060a910"}]}},tags:["RNAseq","transcriptomics"],uuid:"5ab1d724-01d4-4673-a3c3-ae2bc944458f",version:1},readme:`# RNA-seq paired-end Workflow ## Inputs dataset @@ -3305,7 +6332,203 @@ chrM chrM_gene exon 0 16299 . - . gene_id "chrM_gene_minus"; transcript_id "chrM - If you have an unstranded library, stranded coverages are useless - If you have a forward stranded library, the label matches the orientation of the first read in pairs. - If you have a reverse stranded library, the label matches the orientation of the second read in pairs. -`,changelog:"# Changelog\n\n## [1.1] 2024-11-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.6+galaxy0`\n\n## [1.0] 2024-09-23\n\n### Changes in workflows\n- Add an optional subworkflow with more QC: FastQC, Picard, Read distribution on genomic features, gene body coverage, reads per chromosomes.\n- Add featureCounts as an alternative way to generate count files\n- Use fastp instead of cutadapt which uses pair overlap and allows to have optional adapter sequences\n\n### Tool update\n- `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.3` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.4`\n\n### Test dataset\n- Using a new subsampled Yeast test data from Zenodo record https://zenodo.org/records/13987631\n\n## [0.9] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.8] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.7] 2024-06-25\n\n### Automatic update (triggered manually)\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0`\n\n## [0.6] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0`\n\n## [0.5] 2023-09-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n\n### Manual update\n- Use STAR to compute normalized strand-specific coverage\n- Add an option to use StringTie to compute FPKM\n- Make cufflinks step optional\n\n## [0.4.1] 2023-09-14\n- add author in dockstore file\n\n## [0.4] 2023-01-16\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1`\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-02\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1`\n\n## [0.1] 2022-10-21\n\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/rnaseq-pe/main",tests:[{doc:"Test outline for RNAseq_PE",job:{"GTF file of annotation":{class:"File",location:"https://zenodo.org/records/13987631/files/Saccharomyces_cerevisiae.R64-1-1.113.gtf",filetype:"gtf"},"Collection paired FASTQ files":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"SRR5085167",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/records/13987631/files/SRR5085167_forward.fastqsanger.gz"},{class:"File",identifier:"reverse",location:"https://zenodo.org/records/13987631/files/SRR5085167_reverse.fastqsanger.gz"}]}]},"Forward adapter":"AGATCGGAAGAG","Reverse adapter":"GATCGTCGGACT","Generate additional QC reports":!0,"Reference genome":"sacCer3","Use featureCounts for generating count tables":!0,Strandedness:"stranded - forward","Compute Cufflinks FPKM":!0,"GTF with regions to exclude from FPKM normalization with Cufflinks":null,"Compute StringTie FPKM":!0},outputs:{"MultiQC stats":{asserts:[{that:"has_text_matching",expression:"SRR5085167 0.10[0-9]* 16.45[0-9]* 43.38[0-9]* 0.32[0-9]* 0.30[0-9]* 93.75 0.11[0-9]* 34.29 0.19[0-9]* 17.6[0-9]* 91.8[0-9]* 30.0[0-9]* 0.64[0-9]* 43.5[0-9]* 81.0[0-9]* 72.6[0-9]* "},{that:"has_text_matching",expression:"SRR5085167_forward *36.33[0-9]* 46.0 75.0 75 27.27[0-9]* 0.39[0-9]*"},{that:"has_text_matching",expression:"SRR5085167_reverse *35.31[0-9]* 46.0 75.0 75 45.45[0-9]* 0.39[0-9]*"}]},"Stranded Coverage":{element_tests:{SRR5085167_forward:{asserts:{has_size:{value:635210,delta:3e4}}},SRR5085167_reverse:{asserts:{has_size:{value:618578,delta:3e4}}}}},"Gene Abundance Estimates from StringTie":{element_tests:{SRR5085167:{asserts:{has_text_matching:{expression:"YAL038W CDC19 chrI \\+ 71786 73288 92.5[0-9]* 3273.9[0-9]* 3900.[0-9]*"}}}}},"Unstranded Coverage":{element_tests:{SRR5085167:{asserts:{has_size:{value:1140004,delta:5e4}}}}},"Mapped Reads":{element_tests:{SRR5085167:{asserts:{has_size:{value:56913572,delta:25e5}}}}},"Genes Expression from Cufflinks":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W - - YAL038W CDC19 - chrI:71785-73288 - - 3437.1 3211.44 3662.76 OK"}}}}},"Transcripts Expression from Cufflinks":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W_mRNA - - YAL038W CDC19 - chrI:71785-73288 1503 102.837 3437.1 3211.44 3662.76 OK"}}}}},"Counts Table":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W 1591"}}}}}}}]}],path:"./workflows/transcriptomics/rnaseq-pe"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/dada2_paired.ga",testParameterFiles:["/dada2_paired-tests.yml"],authors:[{name:"Matthias Bernt",orcid:"0000-0003-3763-0797"},{name:"UFZ Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:`dada2 amplicon analysis for paired end data +`,changelog:"# Changelog\n\n## [1.1] 2024-11-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.6+galaxy0`\n\n## [1.0] 2024-09-23\n\n### Changes in workflows\n- Add an optional subworkflow with more QC: FastQC, Picard, Read distribution on genomic features, gene body coverage, reads per chromosomes.\n- Add featureCounts as an alternative way to generate count files\n- Use fastp instead of cutadapt which uses pair overlap and allows to have optional adapter sequences\n\n### Tool update\n- `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.3` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.4`\n\n### Test dataset\n- Using a new subsampled Yeast test data from Zenodo record https://zenodo.org/records/13987631\n\n## [0.9] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.8] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.7] 2024-06-25\n\n### Automatic update (triggered manually)\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0`\n\n## [0.6] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0`\n\n## [0.5] 2023-09-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n\n### Manual update\n- Use STAR to compute normalized strand-specific coverage\n- Add an option to use StringTie to compute FPKM\n- Make cufflinks step optional\n\n## [0.4.1] 2023-09-14\n- add author in dockstore file\n\n## [0.4] 2023-01-16\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1`\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-02\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1`\n\n## [0.1] 2022-10-21\n\nFirst release.\n",diagrams:`# Workflow diagrams + +## RNA-seq for Paired-end fastqs + +\`\`\`mermaid +graph LR +0["ℹ️ Collection paired FASTQ files"]@{ shape: docs } +1["ℹ️ Forward adapter"]@{ shape: lean-l } +2["ℹ️ Reverse adapter"]@{ shape: lean-l } +3["ℹ️ Generate additional QC reports"]@{ shape: lean-l } +4["ℹ️ Reference genome"]@{ shape: lean-l } +5["ℹ️ GTF file of annotation"]@{ shape: doc } +6["ℹ️ Strandedness"]@{ shape: lean-l } +7["ℹ️ Use featureCounts for generating count tables"]@{ shape: lean-l } +8["ℹ️ Compute Cufflinks FPKM"]@{ shape: lean-l } +9["ℹ️ GTF with regions to exclude from FPKM normalization with Cufflinks"]@{ shape: doc } +10["ℹ️ Compute StringTie FPKM"]@{ shape: lean-l } +11["Flatten collection"]@{ shape: process } +0 --> 11 +12["remove adapters + bad quality bases"]@{ shape: process } +1 --> 12 +2 --> 12 +0 --> 12 +13["no additional QC"]@{ shape: process } +3 --> 13 +14["get reference_genome as text parameter"]@{ shape: process } +4 --> 14 +15["Get featureCounts strandedness parameter"]@{ shape: process } +6 --> 15 +16["Get cufflinks strandedness parameter"]@{ shape: process } +6 --> 16 +17["Get Stringtie strandedness parameter"]@{ shape: process } +6 --> 17 +18["STAR: map and count and coverage splitted"]@{ shape: process } +4 --> 18 +5 --> 18 +12 --> 18 +19["🛠️ Generate Unstranded Coverage"]@{ shape: subprocess } +18 --> 19 +18 --> 19 +20["🛠️ Generate Stranded Coverage"]@{ shape: subprocess } +18 --> 20 +18 --> 20 +6 --> 20 +21["featureCounts"]@{ shape: process } +18 --> 21 +5 --> 21 +15 --> 21 +7 --> 21 +22["Compute FPKM with StringTie"]@{ shape: process } +5 --> 22 +18 --> 22 +17 --> 22 +10 --> 22 +23["Compute FPKM with cufflinks"]@{ shape: process } +16 --> 23 +9 --> 23 +14 --> 23 +18 --> 23 +5 --> 23 +8 --> 23 +24["🛠️ Process Count files"]@{ shape: subprocess } +18 --> 24 +6 --> 24 +21 --> 24 +21 --> 24 +25["Combined MultiQC without additional QC"]@{ shape: process } +12 --> 25 +18 --> 25 +18 --> 25 +24 --> 25 +13 --> 25 +26["🛠️ Combined MultiQC Quality Report with additional QC"]@{ shape: subprocess } +11 --> 26 +18 --> 26 +18 --> 26 +18 --> 26 +12 --> 26 +24 --> 26 +5 --> 26 +3 --> 26 +\`\`\` + +## RNA-seq-Paired-QC + +\`\`\`mermaid +graph LR +0["ℹ️ FASTQ collection"]@{ shape: docs } +1["ℹ️ fastp Reports"]@{ shape: docs } +2["ℹ️ STAR logs"]@{ shape: docs } +3["ℹ️ STAR gene counts"]@{ shape: docs } +4["ℹ️ featureCounts summaries"]@{ shape: docs } +5["ℹ️ reference_annotation_gtf"]@{ shape: doc } +6["ℹ️ STAR paired-end BAM"]@{ shape: docs } +7["FastQC check read qualities"]@{ shape: process } +0 --> 7 +8["convert gtf to bed12"]@{ shape: process } +5 --> 8 +9["Subsample 200k reads"]@{ shape: process } +6 --> 9 +10["Get reads number per chromosome"]@{ shape: process } +6 --> 10 +11["Remove duplicates"]@{ shape: process } +6 --> 11 +12["Read distribution over genomic features"]@{ shape: process } +6 --> 12 +8 --> 12 +13["Get gene body coverage"]@{ shape: process } +9 --> 13 +8 --> 13 +14["Combined Quality Report"]@{ shape: process } +7 --> 14 +1 --> 14 +2 --> 14 +3 --> 14 +4 --> 14 +12 --> 14 +13 --> 14 +10 --> 14 +11 --> 14 +\`\`\` + +## Process Count files + +\`\`\`mermaid +graph LR +0["A dummy featureCounts summary file"]@{ shape: process } +1["ℹ️ featureCounts summaries collection"]@{ shape: docs } +2["ℹ️ Strandness param"]@{ shape: lean-l } +3["ℹ️ RNA STAR count tables"]@{ shape: docs } +4["ℹ️ featureCounts count table"]@{ shape: docs } +5["Text transformation"]@{ shape: process } +0 --> 5 +6["awk command from strand for STAR counts"]@{ shape: process } +2 --> 6 +7["featureCounts summaries"]@{ shape: process } +1 --> 7 +5 --> 7 +8["Extract gene counts"]@{ shape: process } +6 --> 8 +3 --> 8 +9["Counts table"]@{ shape: process } +4 --> 9 +8 --> 9 +\`\`\` + +## Re-arrange Stranded RNA-seq coverage + +\`\`\`mermaid +graph LR +0["ℹ️ strandedness"]@{ shape: lean-l } +1["ℹ️ Bedgraph strand 1"]@{ shape: docs } +2["ℹ️ Bedgraph strand 2"]@{ shape: docs } +3["Get replacement for strand2"]@{ shape: process } +0 --> 3 +4["Get replacement for strand1"]@{ shape: process } +0 --> 4 +5["get identifiers"]@{ shape: process } +1 --> 5 +6["New labels strand 2"]@{ shape: process } +3 --> 6 +5 --> 6 +7["New labels strand 1"]@{ shape: process } +4 --> 7 +5 --> 7 +8["Relabelled strand 2"]@{ shape: process } +6 --> 8 +2 --> 8 +9["Relabelled strand 1"]@{ shape: process } +7 --> 9 +1 --> 9 +10["Merge collections"]@{ shape: process } +9 --> 10 +8 --> 10 +11["convert to bigwig"]@{ shape: process } +10 --> 11 +\`\`\` + +## Get Uniquely mapped unstranded coverage + +\`\`\`mermaid +graph LR +0["ℹ️ STAR log"]@{ shape: docs } +1["ℹ️ STAR BAM"]@{ shape: docs } +2["get scaling factor"]@{ shape: process } +0 --> 2 +3["keep uniquely mapped reads"]@{ shape: process } +1 --> 3 +4["Parse parameter value"]@{ shape: process } +2 --> 4 +5["Scaled Coverage both strands combined"]@{ shape: process } +3 --> 5 +4 --> 5 +6["convert both strands coverage to bigwig"]@{ shape: process } +5 --> 6 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/rnaseq-pe/main",tests:[{doc:"Test outline for RNAseq_PE",job:{"GTF file of annotation":{class:"File",location:"https://zenodo.org/records/13987631/files/Saccharomyces_cerevisiae.R64-1-1.113.gtf",filetype:"gtf"},"Collection paired FASTQ files":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"SRR5085167",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/records/13987631/files/SRR5085167_forward.fastqsanger.gz"},{class:"File",identifier:"reverse",location:"https://zenodo.org/records/13987631/files/SRR5085167_reverse.fastqsanger.gz"}]}]},"Forward adapter":"AGATCGGAAGAG","Reverse adapter":"GATCGTCGGACT","Generate additional QC reports":!0,"Reference genome":"sacCer3","Use featureCounts for generating count tables":!0,Strandedness:"stranded - forward","Compute Cufflinks FPKM":!0,"GTF with regions to exclude from FPKM normalization with Cufflinks":null,"Compute StringTie FPKM":!0},outputs:{"MultiQC stats":{asserts:[{that:"has_text_matching",expression:"SRR5085167 0.10[0-9]* 16.45[0-9]* 43.38[0-9]* 0.32[0-9]* 0.30[0-9]* 93.75 0.11[0-9]* 34.29 0.19[0-9]* 17.6[0-9]* 91.8[0-9]* 30.0[0-9]* 0.64[0-9]* 43.5[0-9]* 81.0[0-9]* 72.6[0-9]* "},{that:"has_text_matching",expression:"SRR5085167_forward *36.33[0-9]* 46.0 75.0 75 27.27[0-9]* 0.39[0-9]*"},{that:"has_text_matching",expression:"SRR5085167_reverse *35.31[0-9]* 46.0 75.0 75 45.45[0-9]* 0.39[0-9]*"}]},"Stranded Coverage":{element_tests:{SRR5085167_forward:{asserts:{has_size:{value:635210,delta:3e4}}},SRR5085167_reverse:{asserts:{has_size:{value:618578,delta:3e4}}}}},"Gene Abundance Estimates from StringTie":{element_tests:{SRR5085167:{asserts:{has_text_matching:{expression:"YAL038W CDC19 chrI \\+ 71786 73288 92.5[0-9]* 3273.9[0-9]* 3900.[0-9]*"}}}}},"Unstranded Coverage":{element_tests:{SRR5085167:{asserts:{has_size:{value:1140004,delta:5e4}}}}},"Mapped Reads":{element_tests:{SRR5085167:{asserts:{has_size:{value:56913572,delta:25e5}}}}},"Genes Expression from Cufflinks":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W - - YAL038W CDC19 - chrI:71785-73288 - - 3437.1 3211.44 3662.76 OK"}}}}},"Transcripts Expression from Cufflinks":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W_mRNA - - YAL038W CDC19 - chrI:71785-73288 1503 102.837 3437.1 3211.44 3662.76 OK"}}}}},"Counts Table":{element_tests:{SRR5085167:{asserts:{has_line:{line:"YAL038W 1591"}}}}}}}]}],path:"./workflows/transcriptomics/rnaseq-pe"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/dada2_paired.ga",testParameterFiles:["/dada2_paired-tests.yml"],authors:[{name:"Matthias Bernt",orcid:"0000-0003-3763-0797"},{name:"UFZ Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:`dada2 amplicon analysis for paired end data The workflow has three main outputs: - the sequence table (output of makeSequenceTable) @@ -3347,7 +6570,62 @@ Some possibilities to extend/improve the workflow - output BIOM - use ASV1, ... in sequence table and taxonomy output, and output additional fasta - allow to use custom taxonomy / make it optional -`,changelog:"# Changelog\n\n## [0.2] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_plotqualityprofile/dada2_plotQualityProfile/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_plotqualityprofile/dada2_plotQualityProfile/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_filterandtrim/dada2_filterAndTrim/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_filterandtrim/dada2_filterAndTrim/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_learnerrors/dada2_learnErrors/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_learnerrors/dada2_learnErrors/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_dada/dada2_dada/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_dada/dada2_dada/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_mergepairs/dada2_mergePairs/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_mergepairs/dada2_mergePairs/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_makesequencetable/dada2_makeSequenceTable/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_makesequencetable/dada2_makeSequenceTable/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_removebimeradenovo/dada2_removeBimeraDenovo/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_removebimeradenovo/dada2_removeBimeraDenovo/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_seqcounts/dada2_seqCounts/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_seqcounts/dada2_seqCounts/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_assigntaxonomyaddspecies/dada2_assignTaxonomyAddspecies/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_assigntaxonomyaddspecies/dada2_assignTaxonomyAddspecies/1.30.0+galaxy0`\n\n## [0.1] 2024-01-09\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/dada2/main",tests:[{doc:"Test outline for dada---paired",job:{"Paired input data":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"F3D0",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/800651/files/F3D0_R1.fastq"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/800651/files/F3D0_R2.fastq"}]},{class:"Collection",type:"paired",identifier:"F3D5",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/800651/files/F3D5_R1.fastq"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/800651/files/F3D5_R2.fastq"}]},{class:"Collection",type:"paired",identifier:"F3D145",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/800651/files/F3D145_R1.fastq"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/800651/files/F3D145_R2.fastq"}]},{class:"Collection",type:"paired",identifier:"F3D150",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/800651/files/F3D150_R1.fastq"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/800651/files/F3D150_R2.fastq"}]},{class:"Collection",type:"paired",identifier:"Mock",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/800651/files/Mock_R1.fastq"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/800651/files/Mock_R2.fastq"}]}]},"Read length forward read":240,"Read length reverse read":160,"Pool samples":"FALSE","Cached reference database":"silva_132"},outputs:{"Sequence Table":{path:"test-data/Sequence Table.dada2_sequencetable",asserts:[{has_n_columns:{n:6}},{has_n_lines:{n:171}}]},Counts:{path:"test-data/Counts.tabular",asserts:[{has_n_columns:{n:8}},{has_n_lines:{n:6}}]},Taxonomy:{ftype:"tabular",sorted:!0,asserts:[{has_text:{text:"Firmicutes",n:131}},{has_n_columns:{n:7}},{has_n_lines:{n:171}}]}}}]}],path:"./workflows/amplicon/dada2"},{version:1.2,workflows:[{name:"Ia-import-multiplexed-se",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-Ia-multiplexed-data-single-end.ga",testParameterFiles:["/QIIME2-Ia-multiplexed-data-single-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Importing single-end multiplexed data (not demultiplexed yet)",creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"QIIME2 Ia: multiplexed data (single-end)",steps:{0:{annotation:"Single-end sequences",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Single-end sequences",name:"Sequences"}],label:"Sequences",name:"Input dataset",outputs:[],position:{left:2.349740917339593,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"2789d643-0609-420d-848b-cc63959f796c",when:null,workflow_outputs:[]},1:{annotation:"Barcode sequences",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Barcode sequences",name:"Barcodes"}],label:"Barcodes",name:"Input dataset",outputs:[],position:{left:.5855346656953526,top:97.72533948535487},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"a4cddcc4-c1c9-4ae2-a726-762b01b46cbf",when:null,workflow_outputs:[]},2:{annotation:"A tab separated metadata file",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"A tab separated metadata file",name:"Metadata"}],label:"Metadata",name:"Input dataset",outputs:[],position:{left:.5183062535642966,top:204.0675768088665},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"c8103f12-e7ab-4850-bd54-a2e7fffefdb1",when:null,workflow_outputs:[]},3:{annotation:"Column name of the metadata to be used for demultiplexing",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Column name of the metadata to be used for demultiplexing",name:"Metadata parameter"}],label:"Metadata parameter",name:"Input parameter",outputs:[],position:{left:0,top:310.7679254201888},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"336f8551-d936-4c2c-ad92-323b2ffd2c68",when:null,workflow_outputs:[]},4:{annotation:"If reverse complement of barcodes is necessary for the analysis, choose Yes.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"If reverse complement of barcodes is necessary for the analysis, choose Yes.",name:"Reverse complement barcodes"}],label:"Reverse complement barcodes",name:"Input parameter",outputs:[],position:{left:2.073822021484375,top:430.05810546875},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"75545228-5faf-4a46-b5a2-9ca52a85e86b",when:null,workflow_outputs:[]},5:{annotation:`qiime2 tools input +`,changelog:"# Changelog\n\n## [0.2] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_plotqualityprofile/dada2_plotQualityProfile/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_plotqualityprofile/dada2_plotQualityProfile/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_filterandtrim/dada2_filterAndTrim/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_filterandtrim/dada2_filterAndTrim/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_learnerrors/dada2_learnErrors/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_learnerrors/dada2_learnErrors/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_dada/dada2_dada/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_dada/dada2_dada/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_mergepairs/dada2_mergePairs/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_mergepairs/dada2_mergePairs/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_makesequencetable/dada2_makeSequenceTable/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_makesequencetable/dada2_makeSequenceTable/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_removebimeradenovo/dada2_removeBimeraDenovo/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_removebimeradenovo/dada2_removeBimeraDenovo/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_seqcounts/dada2_seqCounts/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_seqcounts/dada2_seqCounts/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_assigntaxonomyaddspecies/dada2_assignTaxonomyAddspecies/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_assigntaxonomyaddspecies/dada2_assignTaxonomyAddspecies/1.30.0+galaxy0`\n\n## [0.1] 2024-01-09\nFirst release.\n",diagrams:`# Workflow diagrams + +## dada2 amplicon analysis pipeline - for paired end data + +\`\`\`mermaid +graph LR +0["ℹ️ Paired input data"]@{ shape: docs } +1["ℹ️ Read length forward read"]@{ shape: lean-l } +2["ℹ️ Read length reverse read"]@{ shape: lean-l } +3["ℹ️ Pool samples"]@{ shape: lean-l } +4["ℹ️ Cached reference database"]@{ shape: lean-l } +5["Sort samples"]@{ shape: process } +0 --> 5 +6["QualityProfile before filterAndTrim"]@{ shape: process } +5 --> 6 +7["dada2: filterAndTrim"]@{ shape: process } +5 --> 7 +2 --> 7 +1 --> 7 +8["QualityProfile after filterAndTrim"]@{ shape: process } +7 --> 8 +9["Unzip collection"]@{ shape: process } +7 --> 9 +10["dada2: learnErrors"]@{ shape: process } +9 --> 10 +11["dada2: learnErrors"]@{ shape: process } +9 --> 11 +12["dada2: dada"]@{ shape: process } +9 --> 12 +3 --> 12 +10 --> 12 +13["dada2: dada"]@{ shape: process } +9 --> 13 +3 --> 13 +11 --> 13 +14["dada2: mergePairs"]@{ shape: process } +12 --> 14 +13 --> 14 +9 --> 14 +9 --> 14 +15["dada2: makeSequenceTable"]@{ shape: process } +14 --> 15 +16["dada2: removeBimeraDenovo"]@{ shape: process } +15 --> 16 +17["dada2: sequence counts"]@{ shape: process } +7 --> 17 +12 --> 17 +13 --> 17 +14 --> 17 +15 --> 17 +16 --> 17 +18["dada2: assignTaxonomy"]@{ shape: process } +4 --> 18 +16 --> 18 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/dada2/main",tests:[{doc:"Test outline for dada---paired",job:{"Paired input data":{class:"Collection",collection_type:"list:paired",elements:[{class:"Collection",type:"paired",identifier:"F3D0",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/800651/files/F3D0_R1.fastq"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/800651/files/F3D0_R2.fastq"}]},{class:"Collection",type:"paired",identifier:"F3D5",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/800651/files/F3D5_R1.fastq"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/800651/files/F3D5_R2.fastq"}]},{class:"Collection",type:"paired",identifier:"F3D145",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/800651/files/F3D145_R1.fastq"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/800651/files/F3D145_R2.fastq"}]},{class:"Collection",type:"paired",identifier:"F3D150",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/800651/files/F3D150_R1.fastq"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/800651/files/F3D150_R2.fastq"}]},{class:"Collection",type:"paired",identifier:"Mock",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/800651/files/Mock_R1.fastq"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/800651/files/Mock_R2.fastq"}]}]},"Read length forward read":240,"Read length reverse read":160,"Pool samples":"FALSE","Cached reference database":"silva_132"},outputs:{"Sequence Table":{path:"test-data/Sequence Table.dada2_sequencetable",asserts:[{has_n_columns:{n:6}},{has_n_lines:{n:171}}]},Counts:{path:"test-data/Counts.tabular",asserts:[{has_n_columns:{n:8}},{has_n_lines:{n:6}}]},Taxonomy:{ftype:"tabular",sorted:!0,asserts:[{has_text:{text:"Firmicutes",n:131}},{has_n_columns:{n:7}},{has_n_lines:{n:171}}]}}}]}],path:"./workflows/amplicon/dada2"},{version:1.2,workflows:[{name:"Ia-import-multiplexed-se",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-Ia-multiplexed-data-single-end.ga",testParameterFiles:["/QIIME2-Ia-multiplexed-data-single-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Importing single-end multiplexed data (not demultiplexed yet)",creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"QIIME2 Ia: multiplexed data (single-end)",steps:{0:{annotation:"Single-end sequences",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Single-end sequences",name:"Sequences"}],label:"Sequences",name:"Input dataset",outputs:[],position:{left:2.349740917339593,top:0},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"2789d643-0609-420d-848b-cc63959f796c",when:null,workflow_outputs:[]},1:{annotation:"Barcode sequences",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Barcode sequences",name:"Barcodes"}],label:"Barcodes",name:"Input dataset",outputs:[],position:{left:.5855346656953526,top:97.72533948535487},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"a4cddcc4-c1c9-4ae2-a726-762b01b46cbf",when:null,workflow_outputs:[]},2:{annotation:"A tab separated metadata file",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"A tab separated metadata file",name:"Metadata"}],label:"Metadata",name:"Input dataset",outputs:[],position:{left:.5183062535642966,top:204.0675768088665},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"c8103f12-e7ab-4850-bd54-a2e7fffefdb1",when:null,workflow_outputs:[]},3:{annotation:"Column name of the metadata to be used for demultiplexing",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Column name of the metadata to be used for demultiplexing",name:"Metadata parameter"}],label:"Metadata parameter",name:"Input parameter",outputs:[],position:{left:0,top:310.7679254201888},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"336f8551-d936-4c2c-ad92-323b2ffd2c68",when:null,workflow_outputs:[]},4:{annotation:"If reverse complement of barcodes is necessary for the analysis, choose Yes.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"If reverse complement of barcodes is necessary for the analysis, choose Yes.",name:"Reverse complement barcodes"}],label:"Reverse complement barcodes",name:"Input parameter",outputs:[],position:{left:2.073822021484375,top:430.05810546875},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"75545228-5faf-4a46-b5a2-9ca52a85e86b",when:null,workflow_outputs:[]},5:{annotation:`qiime2 tools input This step allows the input of the files to be analysed and then generate a qza output, necessary for the QIIME2 pipeline.`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",errors:null,id:5,input_connections:{"import_root|__q2galaxy__GUI__cond__format__|import_barcodes|data":{id:1,output_name:"output"},"import_root|__q2galaxy__GUI__cond__format__|import_sequences|data":{id:0,output_name:"output"}},inputs:[],label:"Input files",name:"qiime2 tools import",outputs:[{name:"imported_data",type:"qza"}],position:{left:296.96873815702213,top:157.00082696025927},post_job_actions:{HideDatasetActionimported_data:{action_arguments:{},action_type:"HideDatasetAction",output_name:"imported_data"},RenameDatasetActionimported_data:{action_arguments:{newname:"input-data-single-end"},action_type:"RenameDatasetAction",output_name:"imported_data"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",tool_shed_repository:{changeset_revision:"8a0db69428c7",name:"qiime2_core__tools__import",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"import_root": {"type": "EMPSingleEndSequences", "__current_case__": 17, "__q2galaxy__GUI__cond__format__": {"format": "EMPSingleEndDirFmt", "__current_case__": 1, "import_sequences": {"name": "sequences.fastq.gz", "data": {"__class__": "ConnectedValue"}}, "import_barcodes": {"name": "barcodes.fastq.gz", "data": {"__class__": "ConnectedValue"}}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+dist.h3d8a7e27",type:"tool",uuid:"b39f05da-9f23-47ff-9695-b21bb61f18a2",when:null,workflow_outputs:[]},6:{annotation:"Import the metadata as artifact",content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",errors:null,id:6,input_connections:{"import_root|__q2galaxy__GUI__cond__format__|import|data":{id:2,output_name:"output"}},inputs:[],label:"Metadata as artifact",name:"qiime2 tools import",outputs:[{name:"imported_data",type:"qza"}],position:{left:297.4600499643163,top:3.3186015520126793},post_job_actions:{HideDatasetActionimported_data:{action_arguments:{},action_type:"HideDatasetAction",output_name:"imported_data"},RenameDatasetActionimported_data:{action_arguments:{newname:"input-metadata"},action_type:"RenameDatasetAction",output_name:"imported_data"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",tool_shed_repository:{changeset_revision:"8a0db69428c7",name:"qiime2_core__tools__import",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"import_root": {"type": "ImmutableMetadata", "__current_case__": 58, "__q2galaxy__GUI__cond__format__": {"format": "ImmutableMetadataFormat", "__current_case__": 0, "import": {"name": "__q2galaxy__::literal::None", "data": {"__class__": "ConnectedValue"}}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+dist.h3d8a7e27",type:"tool",uuid:"9caaabce-3a1a-4bf9-9fa0-d6fbe24a4bb4",when:null,workflow_outputs:[]},7:{annotation:`qiime2 demux emp-single Demultiplex sequence data generated with the EMP protocol.`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0",errors:null,id:7,input_connections:{"__q2galaxy__GUI__section__extra_opts__|rev_comp_mapping_barcodes":{id:4,output_name:"output"},"barcodes|column":{id:3,output_name:"output"},"barcodes|source":{id:6,output_name:"imported_data"},seqs:{id:5,output_name:"imported_data"}},inputs:[{description:"runtime parameter for tool qiime2 demux emp-single",name:"__q2galaxy__GUI__section__extra_opts__"},{description:"runtime parameter for tool qiime2 demux emp-single",name:"barcodes"},{description:"runtime parameter for tool qiime2 demux emp-single",name:"barcodes"}],label:"Demultiplex single-end data",name:"qiime2 demux emp-single",outputs:[{name:"per_sample_sequences",type:"qza"},{name:"error_correction_details",type:"qza"}],position:{left:588.0871883326284,top:1.7404776473888466},post_job_actions:{HideDatasetActionerror_correction_details:{action_arguments:{},action_type:"HideDatasetAction",output_name:"error_correction_details"},RenameDatasetActionerror_correction_details:{action_arguments:{newname:"error-correction-demux"},action_type:"RenameDatasetAction",output_name:"error_correction_details"},RenameDatasetActionper_sample_sequences:{action_arguments:{newname:"demux-single-end"},action_type:"RenameDatasetAction",output_name:"per_sample_sequences"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0",tool_shed_repository:{changeset_revision:"8e01d149bcdb",name:"qiime2__demux__emp_single",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__q2galaxy__GUI__section__extra_opts__": {"golay_error_correction": true, "rev_comp_barcodes": false, "rev_comp_mapping_barcodes": {"__class__": "ConnectedValue"}, "ignore_description_mismatch": false}, "barcodes": {"type": "qza", "__current_case__": 1, "source": {"__class__": "ConnectedValue"}, "column": {"__class__": "ConnectedValue"}}, "seqs": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+q2galaxy.2024.10.0",type:"tool",uuid:"23dd9199-b8aa-4daf-893f-1ca504ee0292",when:null,workflow_outputs:[{label:"Demultiplexed single-end data",output_name:"per_sample_sequences",uuid:"9cdc6089-1547-403c-a790-d2070d111e08"}]},8:{annotation:`qiime2 demux summarize Summarize counts per sample. @@ -3406,7 +6684,31 @@ For multiplexed data ## TODOs -- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/qiime2-I-import/Ia-import-multiplexed-se",tests:[{doc:"Test outline for QIIME2-Ia:-Demultiplexing-(single-end)",job:{Sequences:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/moving-pictures/emp-single-end-sequences/sequences.fastq.gz",filetype:"fastqsanger.gz"},Barcodes:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/moving-pictures/emp-single-end-sequences/barcodes.fastq.gz",filetype:"fastqsanger.gz"},Metadata:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/moving-pictures/sample_metadata.tsv",filetype:"tabular"},"Metadata parameter":"barcode-sequence","Reverse complement barcodes":!1},outputs:{"Demultiplexed single-end data":{asserts:[{has_size:{value:"20M",delta:"1M"}},{has_archive_member:{path:".*data/L[0-9]S[0-9]{1,3}_[0-9]{1,2}_L001_R1_001\\.fastq\\.gz",n:34}},{has_archive_member:{path:".*/data/metadata.yml",asserts:[{has_text:{text:"phred-offset: 33"}}]}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_text:{text:"uuid:"}},{has_text:{text:"type: SampleData[SequencesWithQuality]"}},{has_text:{text:"format: SingleLanePerSampleSingleEndFastqDirFmt"}}]}}]}}}]},{name:"Ib-import-multiplexed-pe",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-Ib-multiplexed-data-paired-end.ga",testParameterFiles:["/QIIME2-Ib-multiplexed-data-paired-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Importing paired-end multiplexed data (not demultiplexed yet)",creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"QIIME2 Ib: multiplexed data (paired-end)",steps:{0:{annotation:"All the forward-directed FASTQ sequences",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"All the forward-directed FASTQ sequences",name:"Forward sequences"}],label:"Forward sequences",name:"Input dataset",outputs:[],position:{left:1.551926327108045,top:5.8683936952556905},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"5d5aa3bf-a1d1-4df4-ac95-a33d09990a08",when:null,workflow_outputs:[]},1:{annotation:"All the reverse-directed FASTQ sequences",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"All the reverse-directed FASTQ sequences",name:"Reverse sequences"}],label:"Reverse sequences",name:"Input dataset",outputs:[],position:{left:.384033203125,top:131.51597595214844},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"229c1d1d-f1be-4565-b2ab-c99cdaf32d13",when:null,workflow_outputs:[]},2:{annotation:"Barcode sequences",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Barcode sequences",name:"Barcodes"}],label:"Barcodes",name:"Input dataset",outputs:[],position:{left:0,top:259.2206573486328},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"0f49dd68-9962-40b5-bedc-ef31d3c0388e",when:null,workflow_outputs:[]},3:{annotation:"The tab separated file for the metadata",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"The tab separated file for the metadata",name:"Metadata"}],label:"Metadata",name:"Input dataset",outputs:[],position:{left:.727783203125,top:389.2863006591797},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"1c2abb24-f3b0-4401-8801-5b22551f8ad0",when:null,workflow_outputs:[]},4:{annotation:"Type in the name of the parameter which would be used as a demultiplexing reference",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Type in the name of the parameter which would be used as a demultiplexing reference",name:"Metadata parameter"}],label:"Metadata parameter",name:"Input parameter",outputs:[],position:{left:299.46905517578125,top:368.38479653625535},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"3e62bbaf-435d-4d2a-85d7-3194ef82d6c8",when:null,workflow_outputs:[]},5:{annotation:"If reverse complement of barcodes is necessary for the analysis, choose Yes.",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"If reverse complement of barcodes is necessary for the analysis, choose Yes.",name:"Reverse complement of barcodes needed?"}],label:"Reverse complement of barcodes needed?",name:"Input parameter",outputs:[],position:{left:1.358734130859375,top:487.51402282714844},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"c111c91e-170b-4097-b804-c58b963b7d29",when:null,workflow_outputs:[]},6:{annotation:`qiime2 tools import +- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n",diagrams:`# Workflow diagrams + +## QIIME2 Ia: multiplexed data (single-end) + +\`\`\`mermaid +graph LR +0["ℹ️ Sequences"]@{ shape: doc } +1["ℹ️ Barcodes"]@{ shape: doc } +2["ℹ️ Metadata"]@{ shape: doc } +3["ℹ️ Metadata parameter"]@{ shape: lean-l } +4["ℹ️ Reverse complement barcodes"]@{ shape: lean-l } +5["Input files"]@{ shape: process } +1 --> 5 +0 --> 5 +6["Metadata as artifact"]@{ shape: process } +2 --> 6 +7["Demultiplex single-end data"]@{ shape: process } +4 --> 7 +3 --> 7 +6 --> 7 +5 --> 7 +8["Summarize demultiplexed output"]@{ shape: process } +7 --> 8 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/qiime2-I-import/Ia-import-multiplexed-se",tests:[{doc:"Test outline for QIIME2-Ia:-Demultiplexing-(single-end)",job:{Sequences:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/moving-pictures/emp-single-end-sequences/sequences.fastq.gz",filetype:"fastqsanger.gz"},Barcodes:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/moving-pictures/emp-single-end-sequences/barcodes.fastq.gz",filetype:"fastqsanger.gz"},Metadata:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/moving-pictures/sample_metadata.tsv",filetype:"tabular"},"Metadata parameter":"barcode-sequence","Reverse complement barcodes":!1},outputs:{"Demultiplexed single-end data":{asserts:[{has_size:{value:"20M",delta:"1M"}},{has_archive_member:{path:".*data/L[0-9]S[0-9]{1,3}_[0-9]{1,2}_L001_R1_001\\.fastq\\.gz",n:34}},{has_archive_member:{path:".*/data/metadata.yml",asserts:[{has_text:{text:"phred-offset: 33"}}]}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_text:{text:"uuid:"}},{has_text:{text:"type: SampleData[SequencesWithQuality]"}},{has_text:{text:"format: SingleLanePerSampleSingleEndFastqDirFmt"}}]}}]}}}]},{name:"Ib-import-multiplexed-pe",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-Ib-multiplexed-data-paired-end.ga",testParameterFiles:["/QIIME2-Ib-multiplexed-data-paired-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Importing paired-end multiplexed data (not demultiplexed yet)",creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"QIIME2 Ib: multiplexed data (paired-end)",steps:{0:{annotation:"All the forward-directed FASTQ sequences",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"All the forward-directed FASTQ sequences",name:"Forward sequences"}],label:"Forward sequences",name:"Input dataset",outputs:[],position:{left:1.551926327108045,top:5.8683936952556905},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"5d5aa3bf-a1d1-4df4-ac95-a33d09990a08",when:null,workflow_outputs:[]},1:{annotation:"All the reverse-directed FASTQ sequences",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"All the reverse-directed FASTQ sequences",name:"Reverse sequences"}],label:"Reverse sequences",name:"Input dataset",outputs:[],position:{left:.384033203125,top:131.51597595214844},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"229c1d1d-f1be-4565-b2ab-c99cdaf32d13",when:null,workflow_outputs:[]},2:{annotation:"Barcode sequences",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Barcode sequences",name:"Barcodes"}],label:"Barcodes",name:"Input dataset",outputs:[],position:{left:0,top:259.2206573486328},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null}',tool_version:null,type:"data_input",uuid:"0f49dd68-9962-40b5-bedc-ef31d3c0388e",when:null,workflow_outputs:[]},3:{annotation:"The tab separated file for the metadata",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"The tab separated file for the metadata",name:"Metadata"}],label:"Metadata",name:"Input dataset",outputs:[],position:{left:.727783203125,top:389.2863006591797},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"1c2abb24-f3b0-4401-8801-5b22551f8ad0",when:null,workflow_outputs:[]},4:{annotation:"Type in the name of the parameter which would be used as a demultiplexing reference",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Type in the name of the parameter which would be used as a demultiplexing reference",name:"Metadata parameter"}],label:"Metadata parameter",name:"Input parameter",outputs:[],position:{left:299.46905517578125,top:368.38479653625535},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"3e62bbaf-435d-4d2a-85d7-3194ef82d6c8",when:null,workflow_outputs:[]},5:{annotation:"If reverse complement of barcodes is necessary for the analysis, choose Yes.",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"If reverse complement of barcodes is necessary for the analysis, choose Yes.",name:"Reverse complement of barcodes needed?"}],label:"Reverse complement of barcodes needed?",name:"Input parameter",outputs:[],position:{left:1.358734130859375,top:487.51402282714844},tool_id:null,tool_state:'{"parameter_type": "boolean", "optional": false}',tool_version:null,type:"parameter_input",uuid:"c111c91e-170b-4097-b804-c58b963b7d29",when:null,workflow_outputs:[]},6:{annotation:`qiime2 tools import Import data into a QIIME 2 artifact`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",errors:null,id:6,input_connections:{"import_root|__q2galaxy__GUI__cond__format__|import_barcodes|data":{id:2,output_name:"output"},"import_root|__q2galaxy__GUI__cond__format__|import_forward|data":{id:0,output_name:"output"},"import_root|__q2galaxy__GUI__cond__format__|import_reverse|data":{id:1,output_name:"output"}},inputs:[],label:"Import data into the pipeline",name:"qiime2 tools import",outputs:[{name:"imported_data",type:"qza"}],position:{left:299.16656494140625,top:151.00979653625532},post_job_actions:{HideDatasetActionimported_data:{action_arguments:{},action_type:"HideDatasetAction",output_name:"imported_data"},RenameDatasetActionimported_data:{action_arguments:{newname:"input-data-paired-end"},action_type:"RenameDatasetAction",output_name:"imported_data"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",tool_shed_repository:{changeset_revision:"8a0db69428c7",name:"qiime2_core__tools__import",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"import_root": {"type": "EMPPairedEndSequences", "__current_case__": 16, "__q2galaxy__GUI__cond__format__": {"format": "EMPPairedEndDirFmt", "__current_case__": 1, "import_forward": {"name": "forward.fastq.gz", "data": {"__class__": "ConnectedValue"}}, "import_reverse": {"name": "reverse.fastq.gz", "data": {"__class__": "ConnectedValue"}}, "import_barcodes": {"name": "barcodes.fastq.gz", "data": {"__class__": "ConnectedValue"}}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+dist.h3d8a7e27",type:"tool",uuid:"6a264e2d-ac11-498f-bdcf-c115221bbc91",when:null,workflow_outputs:[]},7:{annotation:"Import metadata into a QIIME 2 artifact",content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",errors:null,id:7,input_connections:{"import_root|__q2galaxy__GUI__cond__format__|import|data":{id:3,output_name:"output"}},inputs:[],label:"Metadata as artifact",name:"qiime2 tools import",outputs:[{name:"imported_data",type:"qza"}],position:{left:301.67230224609375,top:3.8492282989506634},post_job_actions:{HideDatasetActionimported_data:{action_arguments:{},action_type:"HideDatasetAction",output_name:"imported_data"},RenameDatasetActionimported_data:{action_arguments:{newname:"input-metadata"},action_type:"RenameDatasetAction",output_name:"imported_data"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",tool_shed_repository:{changeset_revision:"8a0db69428c7",name:"qiime2_core__tools__import",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"import_root": {"type": "ImmutableMetadata", "__current_case__": 58, "__q2galaxy__GUI__cond__format__": {"format": "ImmutableMetadataFormat", "__current_case__": 0, "import": {"name": "__q2galaxy__::literal::None", "data": {"__class__": "ConnectedValue"}}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+dist.h3d8a7e27",type:"tool",uuid:"b2974890-9277-4369-81af-4fa0ff80c5fe",when:null,workflow_outputs:[]},8:{annotation:`qiime2 demux emp-paired Demultiplex paired-end sequence data generated with the EMP protocol.`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0",errors:null,id:8,input_connections:{"__q2galaxy__GUI__section__extra_opts__|rev_comp_mapping_barcodes":{id:5,output_name:"output"},"barcodes|column":{id:4,output_name:"output"},"barcodes|source":{id:7,output_name:"imported_data"},seqs:{id:6,output_name:"imported_data"}},inputs:[{description:"runtime parameter for tool qiime2 demux emp-paired",name:"__q2galaxy__GUI__section__extra_opts__"},{description:"runtime parameter for tool qiime2 demux emp-paired",name:"barcodes"},{description:"runtime parameter for tool qiime2 demux emp-paired",name:"barcodes"}],label:"Demultiplex paired-end sequences",name:"qiime2 demux emp-paired",outputs:[{name:"per_sample_sequences",type:"qza"},{name:"error_correction_details",type:"qza"}],position:{left:592.7421875,top:0},post_job_actions:{HideDatasetActionerror_correction_details:{action_arguments:{},action_type:"HideDatasetAction",output_name:"error_correction_details"},RenameDatasetActionerror_correction_details:{action_arguments:{newname:"error-correction-demux-paired-end"},action_type:"RenameDatasetAction",output_name:"error_correction_details"},RenameDatasetActionper_sample_sequences:{action_arguments:{newname:"demux-paired-end"},action_type:"RenameDatasetAction",output_name:"per_sample_sequences"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0",tool_shed_repository:{changeset_revision:"8edb4dc16d6e",name:"qiime2__demux__emp_paired",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__q2galaxy__GUI__section__extra_opts__": {"golay_error_correction": true, "rev_comp_barcodes": false, "rev_comp_mapping_barcodes": {"__class__": "ConnectedValue"}, "ignore_description_mismatch": false}, "barcodes": {"type": "qza", "__current_case__": 1, "source": {"__class__": "ConnectedValue"}, "column": {"__class__": "ConnectedValue"}}, "seqs": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+q2galaxy.2024.10.0",type:"tool",uuid:"e3395c76-e4fc-44f4-a944-2fb25f5d99fb",when:null,workflow_outputs:[{label:"Demultiplexed paired-end output",output_name:"per_sample_sequences",uuid:"d582d835-3dfd-43d5-b31f-79ddcc04ff70"}]},9:{annotation:`qiime2 demux summarize Summarize counts per sample. @@ -3465,7 +6767,33 @@ For multiplexed data ## TODOs -- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/qiime2-I-import/Ib-import-multiplexed-pe",tests:[{doc:"Test outline for QIIME2-Ib:-Demultiplexing-(paired-end)",job:{"Forward sequences":{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/atacama-soils/10p/forward.fastq.gz",filetype:"fastqsanger.gz"},"Reverse sequences":{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/atacama-soils/10p/reverse.fastq.gz",filetype:"fastqsanger.gz"},Barcodes:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/atacama-soils/10p/barcodes.fastq.gz",filetype:"fastqsanger.gz"},Metadata:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/atacama-soils/sample_metadata.tsv",filetype:"tabular"},"Metadata parameter":"barcode-sequence","Reverse complement of barcodes needed?":!0},outputs:{"Demultiplexed paired-end output":{asserts:[{has_size:{value:"95M",delta:"4M"}},{has_archive_member:{path:".*data/[A-Z]{3}[0-9]+(\\.[0-9])?\\.[0-9]_[0-9]{1,2}_L001_R[12]_001\\.fastq\\.gz",n:150}},{has_archive_member:{path:".*/data/metadata.yml",asserts:[{has_text:{text:"phred-offset: 33"}}]}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_text:{text:"uuid:"}},{has_text:{text:"SampleData[PairedEndSequencesWithQuality]"}},{has_text:{text:"format: SingleLanePerSamplePairedEndFastqDirFmt"}}]}}]}}}]},{name:"Ic-import-demultiplexed-se",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-Ic-demultiplexed-data-single-end.ga",testParameterFiles:["/QIIME2-Ic-demultiplexed-data-single-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Importing demultiplexed data (single-end)",creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"QIIME2 Ic: Demultiplexed data (single-end)",steps:{0:{annotation:"A collection of single-end demultiplexed sequences",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"A collection of single-end demultiplexed sequences",name:"Sequence collection"}],label:"Sequence collection",name:"Input dataset collection",outputs:[],position:{left:0,top:9.339782603705014},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"35c1a1b1-daeb-4cd1-bd91-e5f0016ec79a",when:null,workflow_outputs:[]},1:{annotation:"Extract a list of the names of sequence files",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:1,input_connections:{input_collection:{id:0,output_name:"output"}},inputs:[],label:"Extract element identifiers",name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:262.551090424436,top:137.8447786862222},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"08cc79e2-3fad-483f-aebd-4f444c978d84",when:null,workflow_outputs:[]},2:{annotation:"This is mainly to clean out lane parameters to continue import in laneless format",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/regex_find_replace/regex1/1.0.3",errors:null,id:2,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:"Screening laneless and single-lane",name:"Regex Find And Replace",outputs:[{name:"out_file1",type:"input"}],position:{left:505.17041015625,top:135.84155315653058},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/regex_find_replace/regex1/1.0.3",tool_shed_repository:{changeset_revision:"503bcd6ebe4b",name:"regex_find_replace",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"checks": [{"__index__": 0, "pattern": "_L[0-9][0-9][0-9]_", "replacement": "_"}], "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.3",type:"tool",uuid:"3e2bbefc-5452-4320-b258-140f892d69af",when:null,workflow_outputs:[]},3:{annotation:"Renaming of sequence files to fit into laneless format",content_id:"__RELABEL_FROM_FILE__",errors:null,id:3,input_connections:{"how|labels":{id:2,output_name:"out_file1"},input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:"Relabel sequence files",name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:804.3797337280766,top:0},post_job_actions:{},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"c7dcacd6-1f62-4764-a984-ae47e88c94ec",when:null,workflow_outputs:[]},4:{annotation:`qiime2 tools import +- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n",diagrams:`# Workflow diagrams + +## QIIME2 Ib: multiplexed data (paired-end) + +\`\`\`mermaid +graph LR +0["ℹ️ Forward sequences"]@{ shape: doc } +1["ℹ️ Reverse sequences"]@{ shape: doc } +2["ℹ️ Barcodes"]@{ shape: doc } +3["ℹ️ Metadata"]@{ shape: doc } +4["ℹ️ Metadata parameter"]@{ shape: lean-l } +5["ℹ️ Reverse complement of barcodes needed?"]@{ shape: lean-l } +6["Import data into the pipeline"]@{ shape: process } +2 --> 6 +0 --> 6 +1 --> 6 +7["Metadata as artifact"]@{ shape: process } +3 --> 7 +8["Demultiplex paired-end sequences"]@{ shape: process } +5 --> 8 +4 --> 8 +7 --> 8 +6 --> 8 +9["Summarising the demultiplexed output"]@{ shape: process } +8 --> 9 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/qiime2-I-import/Ib-import-multiplexed-pe",tests:[{doc:"Test outline for QIIME2-Ib:-Demultiplexing-(paired-end)",job:{"Forward sequences":{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/atacama-soils/10p/forward.fastq.gz",filetype:"fastqsanger.gz"},"Reverse sequences":{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/atacama-soils/10p/reverse.fastq.gz",filetype:"fastqsanger.gz"},Barcodes:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/atacama-soils/10p/barcodes.fastq.gz",filetype:"fastqsanger.gz"},Metadata:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/atacama-soils/sample_metadata.tsv",filetype:"tabular"},"Metadata parameter":"barcode-sequence","Reverse complement of barcodes needed?":!0},outputs:{"Demultiplexed paired-end output":{asserts:[{has_size:{value:"95M",delta:"4M"}},{has_archive_member:{path:".*data/[A-Z]{3}[0-9]+(\\.[0-9])?\\.[0-9]_[0-9]{1,2}_L001_R[12]_001\\.fastq\\.gz",n:150}},{has_archive_member:{path:".*/data/metadata.yml",asserts:[{has_text:{text:"phred-offset: 33"}}]}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_text:{text:"uuid:"}},{has_text:{text:"SampleData[PairedEndSequencesWithQuality]"}},{has_text:{text:"format: SingleLanePerSamplePairedEndFastqDirFmt"}}]}}]}}}]},{name:"Ic-import-demultiplexed-se",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-Ic-demultiplexed-data-single-end.ga",testParameterFiles:["/QIIME2-Ic-demultiplexed-data-single-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Importing demultiplexed data (single-end)",creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",license:"MIT",release:"0.3",name:"QIIME2 Ic: Demultiplexed data (single-end)",steps:{0:{annotation:"A collection of single-end demultiplexed sequences",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"A collection of single-end demultiplexed sequences",name:"Sequence collection"}],label:"Sequence collection",name:"Input dataset collection",outputs:[],position:{left:0,top:9.339782603705014},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"35c1a1b1-daeb-4cd1-bd91-e5f0016ec79a",when:null,workflow_outputs:[]},1:{annotation:"Extract a list of the names of sequence files",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:1,input_connections:{input_collection:{id:0,output_name:"output"}},inputs:[],label:"Extract element identifiers",name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:262.551090424436,top:137.8447786862222},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"08cc79e2-3fad-483f-aebd-4f444c978d84",when:null,workflow_outputs:[]},2:{annotation:"This is mainly to clean out lane parameters to continue import in laneless format",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/regex_find_replace/regex1/1.0.3",errors:null,id:2,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:"Screening laneless and single-lane",name:"Regex Find And Replace",outputs:[{name:"out_file1",type:"input"}],position:{left:505.17041015625,top:135.84155315653058},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/regex_find_replace/regex1/1.0.3",tool_shed_repository:{changeset_revision:"503bcd6ebe4b",name:"regex_find_replace",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"checks": [{"__index__": 0, "pattern": "_L[0-9][0-9][0-9]_", "replacement": "_"}], "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.3",type:"tool",uuid:"3e2bbefc-5452-4320-b258-140f892d69af",when:null,workflow_outputs:[]},3:{annotation:"Renaming of sequence files to fit into laneless format",content_id:"__RELABEL_FROM_FILE__",errors:null,id:3,input_connections:{"how|labels":{id:2,output_name:"out_file1"},input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:"Relabel sequence files",name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:804.3797337280766,top:0},post_job_actions:{},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"c7dcacd6-1f62-4764-a984-ae47e88c94ec",when:null,workflow_outputs:[]},4:{annotation:`qiime2 tools import Import data into a QIIME 2 artifact`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",errors:null,id:4,input_connections:{"import_root|__q2galaxy__GUI__cond__format__|import_sequences|__q2galaxy__GUI__cond__sequences__|elements":{id:3,output_name:"output"}},inputs:[],label:"Import data into the pipeline",name:"qiime2 tools import",outputs:[{name:"imported_data",type:"qza"}],position:{left:1079.0168624775688,top:1.637809220122261},post_job_actions:{RenameDatasetActionimported_data:{action_arguments:{newname:"input-data-demultiplexed"},action_type:"RenameDatasetAction",output_name:"imported_data"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",tool_shed_repository:{changeset_revision:"8a0db69428c7",name:"qiime2_core__tools__import",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"import_root": {"type": "SampleData__ob__SequencesWithQuality__cb__", "__current_case__": 103, "__q2galaxy__GUI__cond__format__": {"format": "CasavaOneEightLanelessPerSampleDirFmt", "__current_case__": 0, "import_sequences": {"__q2galaxy__GUI__cond__sequences__": {"__q2galaxy__GUI__select__picker__": "collection", "__current_case__": 0, "elements": {"__class__": "ConnectedValue"}, "__q2galaxy__GUI__cond__add_ext__": {"__q2galaxy__GUI__select__ext_pick__": "no", "__current_case__": 1}}}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+dist.h3d8a7e27",type:"tool",uuid:"6a264e2d-ac11-498f-bdcf-c115221bbc91",when:null,workflow_outputs:[{label:"Demultiplexed data",output_name:"imported_data",uuid:"0015293e-bcd7-433b-8b98-e05fda148602"}]},5:{annotation:`qiime2 demux summarize Summarize counts per sample. (Galaxy Version 2023.5.0+q2galaxy.2023.5.0.2)`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0",errors:null,id:5,input_connections:{data:{id:4,output_name:"imported_data"}},inputs:[],label:"Summarising the demultiplexed output",name:"qiime2 demux summarize",outputs:[{name:"visualization",type:"qzv"}],position:{left:1339.6939711359755,top:5.9268220678864205},post_job_actions:{RenameDatasetActionvisualization:{action_arguments:{newname:"demux-visualization"},action_type:"RenameDatasetAction",output_name:"visualization"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0",tool_shed_repository:{changeset_revision:"1a13e87462a0",name:"qiime2__demux__summarize",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__q2galaxy__GUI__section__extra_opts__": {"n": "10000"}, "data": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+q2galaxy.2024.10.0",type:"tool",uuid:"cf48f270-6c6c-4fad-8c1d-2b02bb73ae49",when:null,workflow_outputs:[{label:"Visualization",output_name:"visualization",uuid:"5c67b911-b178-4f6f-8ef8-0071d72d3a25"}]}},tags:[],uuid:"5a57f873-52f8-4c51-9e8d-e747d32d183a",version:1},readme:`# QIIME2 import workflows @@ -3523,7 +6851,26 @@ For multiplexed data ## TODOs -- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/qiime2-I-import/Ic-import-demultiplexed-se",tests:[{doc:"Test outline for QIIME2-Ic-demultiplexed-data-single-end",job:{"Sequence collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"FMT.0093C_5_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093C_5_L001_R1_001.fastq.gz"},{class:"File",identifier:"FMT.0093D_2_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093D_2_L001_R1_001.fastq.gz"},{class:"File",identifier:"FMT.0093E_25_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093E_25_L001_R1_001.fastq.gz"}]}},outputs:{"Demultiplexed data":{asserts:[{has_size:{value:"12M",delta:"1M"}},{has_archive_member:{path:".*fastq.gz",n:3}},{has_archive_member:{path:".*/data/metadata.yml",asserts:[{has_text:{text:"phred-offset: 33"}}]}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_text:{text:"uuid:"}},{has_text:{text:"type: SampleData[SequencesWithQuality]"}},{has_text:{text:"format: SingleLanePerSampleSingleEndFastqDirFmt"}}]}}]}}}]},{name:"Id-import-demultiplexed-pe",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-Id-demultiplexed-data-paired-end.ga",testParameterFiles:["/QIIME2-Id-demultiplexed-data-paired-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Importing demultiplexed data (paired-end)",creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",release:"0.3",license:"MIT",name:"QIIME2 Id: Demultiplexed data (paired-end)",steps:{0:{annotation:"Import of the paired-end demultiplexed sequences",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Import of the paired-end demultiplexed sequences",name:"Sequence collection"}],label:"Sequence collection",name:"Input dataset collection",outputs:[],position:{left:0,top:59.91667175292969},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"35c1a1b1-daeb-4cd1-bd91-e5f0016ec79a",when:null,workflow_outputs:[]},1:{annotation:"Extract a list of the names of sequence files",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:1,input_connections:{input_collection:{id:0,output_name:"output"}},inputs:[],label:"Extract element identifiers",name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:304.79388003144334,top:263.4010896400516},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"5570c46c-5a48-43aa-9e5c-5f7c05c057d8",when:null,workflow_outputs:[]},2:{annotation:"This is mainly to clean out lane parameters to continue import in laneless format ",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/regex_find_replace/regex1/1.0.3",errors:null,id:2,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:"Screening laneless and single-lane",name:"Regex Find And Replace",outputs:[{name:"out_file1",type:"input"}],position:{left:571.1741505024197,top:264.71925121294674},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/regex_find_replace/regex1/1.0.3",tool_shed_repository:{changeset_revision:"503bcd6ebe4b",name:"regex_find_replace",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"checks": [{"__index__": 0, "pattern": "_L[0-9][0-9][0-9]_", "replacement": "_"}], "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.3",type:"tool",uuid:"bde7f68d-6c55-4431-92bf-bcf61539ff8f",when:null,workflow_outputs:[]},3:{annotation:"Renaming of sequence files to fit into laneless format",content_id:"__RELABEL_FROM_FILE__",errors:null,id:3,input_connections:{"how|labels":{id:2,output_name:"out_file1"},input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:"Relabel sequence files",name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:803.9640223409692,top:32.109518819964116},post_job_actions:{},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"7347626e-4600-48c1-9ab1-dc989ccebc65",when:null,workflow_outputs:[]},4:{annotation:`qiime2 tools import +- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n",diagrams:`# Workflow diagrams + +## QIIME2 Ic: Demultiplexed data (single-end) + +\`\`\`mermaid +graph LR +0["ℹ️ Sequence collection"]@{ shape: docs } +1["Extract element identifiers"]@{ shape: process } +0 --> 1 +2["Screening laneless and single-lane"]@{ shape: process } +1 --> 2 +3["Relabel sequence files"]@{ shape: process } +2 --> 3 +0 --> 3 +4["Import data into the pipeline"]@{ shape: process } +3 --> 4 +5["Summarising the demultiplexed output"]@{ shape: process } +4 --> 5 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/qiime2-I-import/Ic-import-demultiplexed-se",tests:[{doc:"Test outline for QIIME2-Ic-demultiplexed-data-single-end",job:{"Sequence collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"FMT.0093C_5_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093C_5_L001_R1_001.fastq.gz"},{class:"File",identifier:"FMT.0093D_2_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093D_2_L001_R1_001.fastq.gz"},{class:"File",identifier:"FMT.0093E_25_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093E_25_L001_R1_001.fastq.gz"}]}},outputs:{"Demultiplexed data":{asserts:[{has_size:{value:"12M",delta:"1M"}},{has_archive_member:{path:".*fastq.gz",n:3}},{has_archive_member:{path:".*/data/metadata.yml",asserts:[{has_text:{text:"phred-offset: 33"}}]}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_text:{text:"uuid:"}},{has_text:{text:"type: SampleData[SequencesWithQuality]"}},{has_text:{text:"format: SingleLanePerSampleSingleEndFastqDirFmt"}}]}}]}}}]},{name:"Id-import-demultiplexed-pe",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-Id-demultiplexed-data-paired-end.ga",testParameterFiles:["/QIIME2-Id-demultiplexed-data-paired-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Importing demultiplexed data (paired-end)",creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",release:"0.3",license:"MIT",name:"QIIME2 Id: Demultiplexed data (paired-end)",steps:{0:{annotation:"Import of the paired-end demultiplexed sequences",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Import of the paired-end demultiplexed sequences",name:"Sequence collection"}],label:"Sequence collection",name:"Input dataset collection",outputs:[],position:{left:0,top:59.91667175292969},tool_id:null,tool_state:'{"optional": false, "format": ["fastqsanger.gz", "fastqillumina.gz"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"35c1a1b1-daeb-4cd1-bd91-e5f0016ec79a",when:null,workflow_outputs:[]},1:{annotation:"Extract a list of the names of sequence files",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:1,input_connections:{input_collection:{id:0,output_name:"output"}},inputs:[],label:"Extract element identifiers",name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:304.79388003144334,top:263.4010896400516},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"5570c46c-5a48-43aa-9e5c-5f7c05c057d8",when:null,workflow_outputs:[]},2:{annotation:"This is mainly to clean out lane parameters to continue import in laneless format ",content_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/regex_find_replace/regex1/1.0.3",errors:null,id:2,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:"Screening laneless and single-lane",name:"Regex Find And Replace",outputs:[{name:"out_file1",type:"input"}],position:{left:571.1741505024197,top:264.71925121294674},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/galaxyp/regex_find_replace/regex1/1.0.3",tool_shed_repository:{changeset_revision:"503bcd6ebe4b",name:"regex_find_replace",owner:"galaxyp",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"checks": [{"__index__": 0, "pattern": "_L[0-9][0-9][0-9]_", "replacement": "_"}], "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.3",type:"tool",uuid:"bde7f68d-6c55-4431-92bf-bcf61539ff8f",when:null,workflow_outputs:[]},3:{annotation:"Renaming of sequence files to fit into laneless format",content_id:"__RELABEL_FROM_FILE__",errors:null,id:3,input_connections:{"how|labels":{id:2,output_name:"out_file1"},input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Relabel identifiers",name:"how"}],label:"Relabel sequence files",name:"Relabel identifiers",outputs:[{name:"output",type:"input"}],position:{left:803.9640223409692,top:32.109518819964116},post_job_actions:{},tool_id:"__RELABEL_FROM_FILE__",tool_state:'{"how": {"how_select": "txt", "__current_case__": 0, "labels": {"__class__": "ConnectedValue"}, "strict": false}, "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"7347626e-4600-48c1-9ab1-dc989ccebc65",when:null,workflow_outputs:[]},4:{annotation:`qiime2 tools import Import data into a QIIME 2 artifact`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",errors:null,id:4,input_connections:{"import_root|__q2galaxy__GUI__cond__format__|import_sequences|__q2galaxy__GUI__cond__sequences__|elements":{id:3,output_name:"output"}},inputs:[],label:"Import data into the pipeline",name:"qiime2 tools import",outputs:[{name:"imported_data",type:"qza"}],position:{left:1078.219667111558,top:27.908915490176845},post_job_actions:{RenameDatasetActionimported_data:{action_arguments:{newname:"input-data-demultiplexed"},action_type:"RenameDatasetAction",output_name:"imported_data"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",tool_shed_repository:{changeset_revision:"8a0db69428c7",name:"qiime2_core__tools__import",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"import_root": {"type": "SampleData__ob__PairedEndSequencesWithQuality__cb__", "__current_case__": 100, "__q2galaxy__GUI__cond__format__": {"format": "CasavaOneEightLanelessPerSampleDirFmt", "__current_case__": 0, "import_sequences": {"__q2galaxy__GUI__cond__sequences__": {"__q2galaxy__GUI__select__picker__": "collection", "__current_case__": 0, "elements": {"__class__": "ConnectedValue"}, "__q2galaxy__GUI__cond__add_ext__": {"__q2galaxy__GUI__select__ext_pick__": "no", "__current_case__": 1}}}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+dist.h3d8a7e27",type:"tool",uuid:"6a264e2d-ac11-498f-bdcf-c115221bbc91",when:null,workflow_outputs:[{label:"Demultiplexed data",output_name:"imported_data",uuid:"7cb96ead-ed0f-4874-9fa4-0c766f78b123"}]},5:{annotation:`qiime2 demux summarize Summarize counts per sample. (Galaxy Version 2023.5.0+q2galaxy.2023.5.0.2)`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0",errors:null,id:5,input_connections:{data:{id:4,output_name:"imported_data"}},inputs:[],label:"Summarising the demultiplexed output",name:"qiime2 demux summarize",outputs:[{name:"visualization",type:"qzv"}],position:{left:1358.9000244140625,top:0},post_job_actions:{RenameDatasetActionvisualization:{action_arguments:{newname:"demux-visualization"},action_type:"RenameDatasetAction",output_name:"visualization"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0",tool_shed_repository:{changeset_revision:"1a13e87462a0",name:"qiime2__demux__summarize",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__q2galaxy__GUI__section__extra_opts__": {"n": "10000"}, "data": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+q2galaxy.2024.10.0",type:"tool",uuid:"cf48f270-6c6c-4fad-8c1d-2b02bb73ae49",when:null,workflow_outputs:[{label:"visualization",output_name:"visualization",uuid:"e7d259fd-ffa7-4d18-af74-343cedca4d8f"}]}},tags:[],uuid:"f4887024-6f68-4d53-a889-5635366dd18d",version:2},readme:`# QIIME2 import workflows @@ -3581,7 +6928,26 @@ For multiplexed data ## TODOs -- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/qiime2-I-import/Id-import-demultiplexed-pe",tests:[{doc:"Test outline for QIIME2-Id:-Demultiplexed-data-(paired-end)",job:{"Sequence collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"FMT.0093C_46_L001_R2_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093C_46_L001_R2_001.fastq.gz"},{class:"File",identifier:"FMT.0093C_5_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093C_5_L001_R1_001.fastq.gz"},{class:"File",identifier:"FMT.0093D_2_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093D_2_L001_R1_001.fastq.gz"},{class:"File",identifier:"FMT.0093D_43_L001_R2_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093D_43_L001_R2_001.fastq.gz"},{class:"File",identifier:"FMT.0093E_25_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093E_25_L001_R1_001.fastq.gz"},{class:"File",identifier:"FMT.0093E_66_L001_R2_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093E_66_L001_R2_001.fastq.gz"}]}},outputs:{"Demultiplexed data":{asserts:[{has_size:{value:"24M",delta:"1M"}},{has_archive_member:{path:".*fastq.gz",n:6}},{has_archive_member:{path:".*/data/metadata.yml",asserts:[{has_text:{text:"phred-offset: 33"}}]}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_text:{text:"uuid:"}},{has_text:{text:"type: SampleData[PairedEndSequencesWithQuality]"}},{has_text:{text:"format: SingleLanePerSamplePairedEndFastqDirFmt"}}]}}]}}}]}],path:"./workflows/amplicon/qiime2/qiime2-I-import"},{version:1.2,workflows:[{name:"QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis.ga",testParameterFiles:["/QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:`This workflow +- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n",diagrams:`# Workflow diagrams + +## QIIME2 Id: Demultiplexed data (paired-end) + +\`\`\`mermaid +graph LR +0["ℹ️ Sequence collection"]@{ shape: docs } +1["Extract element identifiers"]@{ shape: process } +0 --> 1 +2["Screening laneless and single-lane"]@{ shape: process } +1 --> 2 +3["Relabel sequence files"]@{ shape: process } +2 --> 3 +0 --> 3 +4["Import data into the pipeline"]@{ shape: process } +3 --> 4 +5["Summarising the demultiplexed output"]@{ shape: process } +4 --> 5 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/qiime2-I-import/Id-import-demultiplexed-pe",tests:[{doc:"Test outline for QIIME2-Id:-Demultiplexed-data-(paired-end)",job:{"Sequence collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"FMT.0093C_46_L001_R2_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093C_46_L001_R2_001.fastq.gz"},{class:"File",identifier:"FMT.0093C_5_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093C_5_L001_R1_001.fastq.gz"},{class:"File",identifier:"FMT.0093D_2_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093D_2_L001_R1_001.fastq.gz"},{class:"File",identifier:"FMT.0093D_43_L001_R2_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093D_43_L001_R2_001.fastq.gz"},{class:"File",identifier:"FMT.0093E_25_L001_R1_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093E_25_L001_R1_001.fastq.gz"},{class:"File",identifier:"FMT.0093E_66_L001_R2_001.fastq.gz",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/data_to_import/FMT.0093E_66_L001_R2_001.fastq.gz"}]}},outputs:{"Demultiplexed data":{asserts:[{has_size:{value:"24M",delta:"1M"}},{has_archive_member:{path:".*fastq.gz",n:6}},{has_archive_member:{path:".*/data/metadata.yml",asserts:[{has_text:{text:"phred-offset: 33"}}]}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_text:{text:"uuid:"}},{has_text:{text:"type: SampleData[PairedEndSequencesWithQuality]"}},{has_text:{text:"format: SingleLanePerSamplePairedEndFastqDirFmt"}}]}}]}}}]}],path:"./workflows/amplicon/qiime2/qiime2-I-import"},{version:1.2,workflows:[{name:"QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis.ga",testParameterFiles:["/QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:`This workflow - Reconstruct phylogeny (insert fragments in a reference) - Alpha rarefaction analysis - Taxonomic analysis`,comments:[],creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",license:"MIT",name:"QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis",release:"0.2",steps:{0:{annotation:"Representative sequences, e.g. from DADA2",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Representative sequences, e.g. from DADA2",name:"Representative sequences"}],label:"Representative sequences",name:"Input dataset",outputs:[],position:{left:1.1907255852393628,top:32.84463293555338},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"ffb9d0c7-787e-4b70-9ed4-73624641b185",when:null,workflow_outputs:[]},1:{annotation:"Feature table. e.g. from DADA2",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Feature table. e.g. from DADA2",name:"Feature table"}],label:"Feature table",name:"Input dataset",outputs:[],position:{left:0,top:141.5833282470703},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"388c0b1a-4e14-44e3-83d5-97a5052f5d26",when:null,workflow_outputs:[]},2:{annotation:"Tab separated metadata file",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Tab separated metadata file",name:"Metadata"}],label:"Metadata",name:"Input dataset",outputs:[],position:{left:3.298961099430351,top:256.6628878437186},tool_id:null,tool_state:'{"optional": false, "format": ["tsv"], "tag": null}',tool_version:null,type:"data_input",uuid:"64e30001-38ae-4d19-a93c-6d0572d10252",when:null,workflow_outputs:[]},3:{annotation:"Minimum depth used for the rarefaction analysis (minimum value : 1)",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Minimum depth used for the rarefaction analysis (minimum value : 1)",name:"Minimum depth"}],label:"Minimum depth",name:"Input parameter",outputs:[],position:{left:5.446155936666033,top:345.49918723766496},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"93c5a1ed-7222-4e61-bfde-7c2ee74bb1fe",when:null,workflow_outputs:[]},4:{annotation:"Maximum depth used for the rarefaction analysis (minimum value : 1)",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Maximum depth used for the rarefaction analysis (minimum value : 1)",name:"Maximum depth"}],label:"Maximum depth",name:"Input parameter",outputs:[],position:{left:6.523874261050689,top:444.34720870793564},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"37b64f9f-e47a-4f70-aec2-ef2f3e005c4c",when:null,workflow_outputs:[]},5:{annotation:"Reference data for the SEPP fragmentation insertion phylogenetic tree generation",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"Reference data for the SEPP fragmentation insertion phylogenetic tree generation",name:"SEPP fragment insertion reference"}],label:"SEPP fragment insertion reference",name:"Input dataset",outputs:[],position:{left:14.95001220703125,top:634.2999877929688},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"3cb0a84c-dc8c-4325-929b-2d3915e7738a",when:null,workflow_outputs:[]},6:{annotation:"Taxonomic classifier (e.g. Greengenes or SILVA)",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"Taxonomic classifier (e.g. Greengenes or SILVA)",name:"Taxonomic classifier"}],label:"Taxonomic classifier",name:"Input dataset",outputs:[],position:{left:13.29724891100554,top:751.0166625976562},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"8c477a8c-f360-4a8a-95ef-c4c9b8168ae8",when:null,workflow_outputs:[]},7:{annotation:"Phylogenetic tree for diversity analysis",id:7,input_connections:{"DADA2 representative sequences":{id:0,input_subworkflow_step_id:0,output_name:"output"},"SEPP fragment insertion source file":{id:5,input_subworkflow_step_id:1,output_name:"output"}},inputs:[{description:"Phylogenetic tree for diversity analysis",name:"Phylogenetic tree for diversity analysis"}],label:"Phylogenetic tree for diversity analysis",name:"QIIME2 III: Phylogenetic tree for diversity analysis",outputs:[],position:{left:457.7998825174995,top:0},subworkflow:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",license:"MIT",name:"QIIME2 III: Phylogenetic tree for diversity analysis",steps:{0:{annotation:"DADA2 representative sequences",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"DADA2 representative sequences",name:"DADA2 representative sequences"}],label:"DADA2 representative sequences",name:"Input dataset",outputs:[],position:{left:0,top:19.497570176200952},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"71e6440a-8aa6-4899-bd11-901dffae36a5",when:null,workflow_outputs:[]},1:{annotation:"Reference data for the SEPP fragmentation insertion phylogenetic tree generation",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Reference data for the SEPP fragmentation insertion phylogenetic tree generation",name:"SEPP fragment insertion source file"}],label:"SEPP fragment insertion source file",name:"Input dataset",outputs:[],position:{left:.34857177734375,top:144.6569787455369},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"2bf4a3e7-51d9-4323-ab9a-f6a85c3b0cd7",when:null,workflow_outputs:[]},2:{annotation:`qiime2 fragment-insertion sepp @@ -3659,7 +7025,82 @@ VI: - Four collections containing: distance matrix, PCoA, Emperor plots, Richness and evenness - Visualization for alpha diversity: Pielou's eveness, Observed features, Shannons diversity index -- Visualization for beta diversity: Jaccard, Bray curtis, Unifrac`,changelog:"# Changelog\n\n## [0.2] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.1] 2024-06-22\nFirst release.",trsID:"#workflow/github.com/iwc-workflows/qiime2-III-VI-downsteam/QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis",tests:[{doc:"Test outline for QIIME2-III:-Phylogenetic-tree-for-diversity-analysis",job:{Metadata:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/pd-mice/sample_metadata.tsv",filetype:"tabular"},"Representative sequences":{class:"File",location:"https://docs.qiime2.org/2024.2/data/tutorials/pd-mice/dada2_rep_set.qza",filetype:"qza"},"Feature table":{class:"File",location:"https://docs.qiime2.org/2024.2/data/tutorials/pd-mice/dada2_table.qza",filetype:"qza"},"Minimum depth":1,"Maximum depth":2019,"Taxonomic classifier":{class:"File",location:"https://docs.qiime2.org/2024.10/data/tutorials/pd-mice/gg-13-8-99-515-806-nb-classifier.qza",filetype:"qza"},"SEPP fragment insertion reference":{class:"File",location:"https://data.qiime2.org/2024.2/common/sepp-refs-gg-13-8.qza",filetype:"qza"}},outputs:{"Rooted tree":{ftype:"qza",asserts:[{has_size:{min:"2M",max:"3M"}},{has_archive_member:{path:"^[^/]*/data/tree.nwk",n:1,asserts:[{has_text_matching:{expression:"k__Bacteria"}}]}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_line:{line:"type: Phylogeny[Rooted]"}},{has_line:{line:"format: NewickDirectoryFormat"}}]}}]},"Rarefaction curve":{ftype:"qzv",asserts:[{has_size:{min:"400k",max:"500k"}},{has_archive_member:{path:"^[^/]*/data/index.html",n:1}},{has_archive_member:{path:"^[^/]*/data/.*\\.csv",n:3}},{has_archive_member:{path:"^[^/]*/data/.*\\.jsonp",n:21}}]},"Taxonomy classification":{ftype:"qza",asserts:[{has_size:{min:"40k",max:"80k"}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_line:{line:"type: FeatureData[Taxonomy]"}},{has_line:{line:"format: TSVTaxonomyDirectoryFormat"}}]}},{has_archive_member:{path:"^[^/]*/data/taxonomy.tsv",n:1,asserts:[{has_n_lines:{n:288}}]}}]},"Taxa barplot":{ftype:"qzv",asserts:[{has_size:{min:"400k",max:"500k"}},{has_archive_member:{path:"^[^/]*/data/.*\\.csv",n:7}},{has_archive_member:{path:"^[^/]*/data/.*\\.jsonp",n:7}}]},"Taxonomy classification table":{ftype:"qza",asserts:[{has_size:{min:"1M",max:"2M"}},{has_archive_member:{path:"^[^/]*/data/metadata.tsv",n:1,asserts:[{has_n_lines:{n:289}}]}}]}}}]},{name:"QIIME2-VI-diversity-metrics-and-estimations",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-VI-diversity-metrics-and-estimations.ga",testParameterFiles:["/QIIME2-VI-diversity-metrics-and-estimations-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"The first step in hypothesis testing in microbial ecology is typically to look at within- (alpha) and between-sample (beta) diversity. We can calculate diversity metrics, apply appropriate statistical tests, and visualize the data using the q2-diversity plugin.",comments:[{color:"none",data:{size:1,text:"From DADA2 table output or rarefaction"},id:1,position:[0,221.8],size:[152,76],type:"text"},{color:"none",data:{text:"Input files"},id:0,position:[136.6,3.8000000000000114],size:[101,40],type:"markdown"},{color:"none",data:{text:"Alpha diversity"},id:3,position:[844.9,.7000000000000028],size:[134,40],type:"markdown"},{color:"none",data:{text:"Diversity metrics"},id:2,position:[513,1.8000000000000114],size:[139,39],type:"markdown"},{color:"none",data:{text:"Beta diversity"},id:4,position:[1184.8999999999999,0],size:[120,39],type:"markdown"},{child_steps:[12,14,15,16],color:"none",data:{title:"Collections"},id:5,position:[794.4,1062.3],size:[1263,352],type:"frame"}],creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",license:"MIT",name:"QIIME2 VI: Diversity metrics and estimations",release:"0.2",steps:{0:{annotation:`This value is based on the DADA2 table features. +- Visualization for beta diversity: Jaccard, Bray curtis, Unifrac`,changelog:"# Changelog\n\n## [0.2] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.1] 2024-06-22\nFirst release.",diagrams:`# Workflow diagrams + +## QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis + +\`\`\`mermaid +graph LR +0["ℹ️ Representative sequences"]@{ shape: doc } +1["ℹ️ Feature table"]@{ shape: doc } +2["ℹ️ Metadata"]@{ shape: doc } +3["ℹ️ Minimum depth"]@{ shape: lean-l } +4["ℹ️ Maximum depth"]@{ shape: lean-l } +5["ℹ️ SEPP fragment insertion reference"]@{ shape: doc } +6["ℹ️ Taxonomic classifier"]@{ shape: doc } +7["🛠️ Phylogenetic tree for diversity analysis"]@{ shape: subprocess } +0 --> 7 +5 --> 7 +8["🛠️ Taxonomic analysis"]@{ shape: subprocess } +1 --> 8 +0 --> 8 +2 --> 8 +6 --> 8 +9["🛠️ Rarefaction"]@{ shape: subprocess } +1 --> 9 +4 --> 9 +2 --> 9 +3 --> 9 +7 --> 9 +\`\`\` + +## QIIME2 IV: Rarefaction + +\`\`\`mermaid +graph LR +0["ℹ️ Metadata"]@{ shape: doc } +1["ℹ️ DADA2 feature table"]@{ shape: doc } +2["ℹ️ Rooted tree"]@{ shape: doc } +3["ℹ️ Minimum depth"]@{ shape: lean-l } +4["ℹ️ Maximum depth"]@{ shape: lean-l } +5["Alpha rarefaction"]@{ shape: process } +0 --> 5 +3 --> 5 +2 --> 5 +4 --> 5 +1 --> 5 +\`\`\` + +## QIIME2 V: Taxonomic analysis + +\`\`\`mermaid +graph LR +0["ℹ️ Metadata"]@{ shape: doc } +1["ℹ️ DADA2 representative sequences"]@{ shape: doc } +2["ℹ️ Taxonomic classifier"]@{ shape: doc } +3["ℹ️ DADA2 feature table"]@{ shape: doc } +4["Taxonomy classification"]@{ shape: process } +2 --> 4 +1 --> 4 +5["Taxonomy barplot"]@{ shape: process } +0 --> 5 +4 --> 5 +3 --> 5 +6["Tabulate taxonomy classification"]@{ shape: process } +4 --> 6 +\`\`\` + +## QIIME2 III: Phylogenetic tree for diversity analysis + +\`\`\`mermaid +graph LR +0["ℹ️ DADA2 representative sequences"]@{ shape: doc } +1["ℹ️ SEPP fragment insertion source file"]@{ shape: doc } +2["Phylogenetic tree generation"]@{ shape: process } +1 --> 2 +0 --> 2 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/qiime2-III-VI-downsteam/QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis",tests:[{doc:"Test outline for QIIME2-III:-Phylogenetic-tree-for-diversity-analysis",job:{Metadata:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/pd-mice/sample_metadata.tsv",filetype:"tabular"},"Representative sequences":{class:"File",location:"https://docs.qiime2.org/2024.2/data/tutorials/pd-mice/dada2_rep_set.qza",filetype:"qza"},"Feature table":{class:"File",location:"https://docs.qiime2.org/2024.2/data/tutorials/pd-mice/dada2_table.qza",filetype:"qza"},"Minimum depth":1,"Maximum depth":2019,"Taxonomic classifier":{class:"File",location:"https://docs.qiime2.org/2024.10/data/tutorials/pd-mice/gg-13-8-99-515-806-nb-classifier.qza",filetype:"qza"},"SEPP fragment insertion reference":{class:"File",location:"https://data.qiime2.org/2024.2/common/sepp-refs-gg-13-8.qza",filetype:"qza"}},outputs:{"Rooted tree":{ftype:"qza",asserts:[{has_size:{min:"2M",max:"3M"}},{has_archive_member:{path:"^[^/]*/data/tree.nwk",n:1,asserts:[{has_text_matching:{expression:"k__Bacteria"}}]}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_line:{line:"type: Phylogeny[Rooted]"}},{has_line:{line:"format: NewickDirectoryFormat"}}]}}]},"Rarefaction curve":{ftype:"qzv",asserts:[{has_size:{min:"400k",max:"500k"}},{has_archive_member:{path:"^[^/]*/data/index.html",n:1}},{has_archive_member:{path:"^[^/]*/data/.*\\.csv",n:3}},{has_archive_member:{path:"^[^/]*/data/.*\\.jsonp",n:21}}]},"Taxonomy classification":{ftype:"qza",asserts:[{has_size:{min:"40k",max:"80k"}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1,asserts:[{has_line:{line:"type: FeatureData[Taxonomy]"}},{has_line:{line:"format: TSVTaxonomyDirectoryFormat"}}]}},{has_archive_member:{path:"^[^/]*/data/taxonomy.tsv",n:1,asserts:[{has_n_lines:{n:288}}]}}]},"Taxa barplot":{ftype:"qzv",asserts:[{has_size:{min:"400k",max:"500k"}},{has_archive_member:{path:"^[^/]*/data/.*\\.csv",n:7}},{has_archive_member:{path:"^[^/]*/data/.*\\.jsonp",n:7}}]},"Taxonomy classification table":{ftype:"qza",asserts:[{has_size:{min:"1M",max:"2M"}},{has_archive_member:{path:"^[^/]*/data/metadata.tsv",n:1,asserts:[{has_n_lines:{n:289}}]}}]}}}]},{name:"QIIME2-VI-diversity-metrics-and-estimations",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-VI-diversity-metrics-and-estimations.ga",testParameterFiles:["/QIIME2-VI-diversity-metrics-and-estimations-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"The first step in hypothesis testing in microbial ecology is typically to look at within- (alpha) and between-sample (beta) diversity. We can calculate diversity metrics, apply appropriate statistical tests, and visualize the data using the q2-diversity plugin.",comments:[{color:"none",data:{size:1,text:"From DADA2 table output or rarefaction"},id:1,position:[0,221.8],size:[152,76],type:"text"},{color:"none",data:{text:"Input files"},id:0,position:[136.6,3.8000000000000114],size:[101,40],type:"markdown"},{color:"none",data:{text:"Alpha diversity"},id:3,position:[844.9,.7000000000000028],size:[134,40],type:"markdown"},{color:"none",data:{text:"Diversity metrics"},id:2,position:[513,1.8000000000000114],size:[139,39],type:"markdown"},{color:"none",data:{text:"Beta diversity"},id:4,position:[1184.8999999999999,0],size:[120,39],type:"markdown"},{child_steps:[12,14,15,16],color:"none",data:{title:"Collections"},id:5,position:[794.4,1062.3],size:[1263,352],type:"frame"}],creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",license:"MIT",name:"QIIME2 VI: Diversity metrics and estimations",release:"0.2",steps:{0:{annotation:`This value is based on the DADA2 table features. Note: the choice of the value is prioritising either the inclusion of all the samples or a higher feature retention.`,content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:`This value is based on the DADA2 table features. Note: the choice of the value is prioritising either the inclusion of all the samples or a higher feature retention.`,name:"Sampling depth"}],label:"Sampling depth",name:"Input parameter",outputs:[],position:{left:134.6,top:224.1206788736988},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"a926d4ba-b238-4499-a12b-a95840970cef",when:null,workflow_outputs:[]},1:{annotation:"The tab separated file for the metadata",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"The tab separated file for the metadata",name:"Metadata"}],label:"Metadata",name:"Input dataset",outputs:[],position:{left:125.04715373257632,top:312.2417148460719},tool_id:null,tool_state:'{"optional": false, "format": ["qiime2.tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"8546caa2-9723-4c36-b693-988d43717ccf",when:null,workflow_outputs:[]},2:{annotation:"For instance the dada2_table from DADA2",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"For instance the dada2_table from DADA2",name:"Feature table"}],label:"Feature table",name:"Input dataset",outputs:[],position:{left:131.65948794697385,top:519.9723458836958},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"f8b970d0-8396-4793-8131-36cc24fcc630",when:null,workflow_outputs:[]},3:{annotation:"Rooted phylogenetic tree",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Rooted phylogenetic tree",name:"Rooted tree"}],label:"Rooted tree",name:"Input dataset",outputs:[],position:{left:131.88431251326813,top:637.5877672262973},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"0bbab7fb-adb4-45b1-926e-3183f6708658",when:null,workflow_outputs:[]},4:{annotation:"Type in the name of the parameter which would be used for beta diversity estimation",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Type in the name of the parameter which would be used for beta diversity estimation",name:"Target metadata parameter (for beta diversity)"}],label:"Target metadata parameter (for beta diversity)",name:"Input parameter",outputs:[],position:{left:132.27305627796053,top:773.5167861361558},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"63ee0d89-71cd-4488-8c14-776f44470aba",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",errors:null,id:5,input_connections:{"import_root|__q2galaxy__GUI__cond__format__|import|data":{id:1,output_name:"output"}},inputs:[],label:null,name:"qiime2 tools import",outputs:[{name:"imported_data",type:"qza"}],position:{left:183.95541284754188,top:384.72561308872656},post_job_actions:{HideDatasetActionimported_data:{action_arguments:{},action_type:"HideDatasetAction",output_name:"imported_data"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27",tool_shed_repository:{changeset_revision:"8a0db69428c7",name:"qiime2_core__tools__import",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"import_root": {"type": "ImmutableMetadata", "__current_case__": 58, "__q2galaxy__GUI__cond__format__": {"format": "ImmutableMetadataFormat", "__current_case__": 0, "import": {"name": "__q2galaxy__::literal::None", "data": {"__class__": "ConnectedValue"}}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+dist.h3d8a7e27",type:"tool",uuid:"be1fae33-1b8d-4756-854f-a0587934da09",when:null,workflow_outputs:[]},6:{annotation:"QIIME 2’s diversity analyses are available through the q2-diversity plugin, which supports computing alpha and beta diversity metrics, applying related statistical tests, and generating interactive visualizations. We’ll first apply the core-metrics-phylogenetic method, which rarefies a FeatureTable[Frequency] to a user-specified depth, computes several alpha and beta diversity metrics, and generates principle coordinates analysis (PCoA) plots using Emperor for each of the beta diversity metrics.",content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2024.10.0+q2galaxy.2024.10.0",errors:null,id:6,input_connections:{"metadata_0|__q2galaxy__GUI__conditional__metadata__|source":{id:1,output_name:"output"},phylogeny:{id:3,output_name:"output"},sampling_depth:{id:0,output_name:"output"},table:{id:2,output_name:"output"}},inputs:[],label:"Diversity metrics",name:"qiime2 diversity core-metrics-phylogenetic",outputs:[{name:"rarefied_table",type:"qza"},{name:"faith_pd_vector",type:"qza"},{name:"observed_features_vector",type:"qza"},{name:"shannon_vector",type:"qza"},{name:"evenness_vector",type:"qza"},{name:"unweighted_unifrac_distance_matrix",type:"qza"},{name:"weighted_unifrac_distance_matrix",type:"qza"},{name:"jaccard_distance_matrix",type:"qza"},{name:"bray_curtis_distance_matrix",type:"qza"},{name:"unweighted_unifrac_pcoa_results",type:"qza"},{name:"weighted_unifrac_pcoa_results",type:"qza"},{name:"jaccard_pcoa_results",type:"qza"},{name:"bray_curtis_pcoa_results",type:"qza"},{name:"unweighted_unifrac_emperor",type:"qzv"},{name:"weighted_unifrac_emperor",type:"qzv"},{name:"jaccard_emperor",type:"qzv"},{name:"bray_curtis_emperor",type:"qzv"}],position:{left:512.5765871918118,top:81.4},post_job_actions:{HideDatasetActionbray_curtis_distance_matrix:{action_arguments:{},action_type:"HideDatasetAction",output_name:"bray_curtis_distance_matrix"},HideDatasetActionbray_curtis_emperor:{action_arguments:{},action_type:"HideDatasetAction",output_name:"bray_curtis_emperor"},HideDatasetActionbray_curtis_pcoa_results:{action_arguments:{},action_type:"HideDatasetAction",output_name:"bray_curtis_pcoa_results"},HideDatasetActionevenness_vector:{action_arguments:{},action_type:"HideDatasetAction",output_name:"evenness_vector"},HideDatasetActionfaith_pd_vector:{action_arguments:{},action_type:"HideDatasetAction",output_name:"faith_pd_vector"},HideDatasetActionjaccard_distance_matrix:{action_arguments:{},action_type:"HideDatasetAction",output_name:"jaccard_distance_matrix"},HideDatasetActionjaccard_emperor:{action_arguments:{},action_type:"HideDatasetAction",output_name:"jaccard_emperor"},HideDatasetActionjaccard_pcoa_results:{action_arguments:{},action_type:"HideDatasetAction",output_name:"jaccard_pcoa_results"},HideDatasetActionobserved_features_vector:{action_arguments:{},action_type:"HideDatasetAction",output_name:"observed_features_vector"},HideDatasetActionrarefied_table:{action_arguments:{},action_type:"HideDatasetAction",output_name:"rarefied_table"},HideDatasetActionshannon_vector:{action_arguments:{},action_type:"HideDatasetAction",output_name:"shannon_vector"},HideDatasetActionunweighted_unifrac_distance_matrix:{action_arguments:{},action_type:"HideDatasetAction",output_name:"unweighted_unifrac_distance_matrix"},HideDatasetActionunweighted_unifrac_emperor:{action_arguments:{},action_type:"HideDatasetAction",output_name:"unweighted_unifrac_emperor"},HideDatasetActionunweighted_unifrac_pcoa_results:{action_arguments:{},action_type:"HideDatasetAction",output_name:"unweighted_unifrac_pcoa_results"},HideDatasetActionweighted_unifrac_distance_matrix:{action_arguments:{},action_type:"HideDatasetAction",output_name:"weighted_unifrac_distance_matrix"},HideDatasetActionweighted_unifrac_emperor:{action_arguments:{},action_type:"HideDatasetAction",output_name:"weighted_unifrac_emperor"},HideDatasetActionweighted_unifrac_pcoa_results:{action_arguments:{},action_type:"HideDatasetAction",output_name:"weighted_unifrac_pcoa_results"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2024.10.0+q2galaxy.2024.10.0",tool_shed_repository:{changeset_revision:"7fc930fc43cf",name:"qiime2__diversity__core_metrics_phylogenetic",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__q2galaxy__GUI__section__extra_opts__": {"with_replacement": false, "ignore_missing_samples": false}, "metadata": [{"__index__": 0, "__q2galaxy__GUI__conditional__metadata__": {"type": "tsv", "__current_case__": 0, "source": {"__class__": "ConnectedValue"}}}], "phylogeny": {"__class__": "ConnectedValue"}, "sampling_depth": {"__class__": "ConnectedValue"}, "table": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+q2galaxy.2024.10.0",type:"tool",uuid:"cd47d601-3186-40c0-bd1a-1564728a776d",when:null,workflow_outputs:[]},7:{annotation:`qiime2 diversity alpha-group-significance Alpha diversity comparisons`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2024.10.0+q2galaxy.2024.10.0",errors:null,id:7,input_connections:{alpha_diversity:{id:6,output_name:"evenness_vector"},"metadata_0|__q2galaxy__GUI__conditional__metadata__|source":{id:1,output_name:"output"}},inputs:[],label:"Alpha diversity metrics - Pielou's evenness",name:"qiime2 diversity alpha-group-significance",outputs:[{name:"visualization",type:"qzv"}],position:{left:846.7461791992188,top:80.1315673828125},post_job_actions:{RenameDatasetActionvisualization:{action_arguments:{newname:"alpha_diversity_pielou"},action_type:"RenameDatasetAction",output_name:"visualization"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2024.10.0+q2galaxy.2024.10.0",tool_shed_repository:{changeset_revision:"96988c25ca01",name:"qiime2__diversity__alpha_group_significance",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"alpha_diversity": {"__class__": "ConnectedValue"}, "metadata": [{"__index__": 0, "__q2galaxy__GUI__conditional__metadata__": {"type": "tsv", "__current_case__": 0, "source": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+q2galaxy.2024.10.0",type:"tool",uuid:"b1e9c678-9093-4e47-a860-89a0ce54e658",when:null,workflow_outputs:[{label:"Alpha diversity - Pielou's evenness",output_name:"visualization",uuid:"ec1ab736-8fd7-41b6-b554-38195c2ec954"}]},8:{annotation:`qiime2 diversity alpha-group-significance @@ -3736,7 +7177,68 @@ VI: - Four collections containing: distance matrix, PCoA, Emperor plots, Richness and evenness - Visualization for alpha diversity: Pielou's eveness, Observed features, Shannons diversity index -- Visualization for beta diversity: Jaccard, Bray curtis, Unifrac`,changelog:"# Changelog\n\n## [0.2] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.1] 2024-06-22\nFirst release.",trsID:"#workflow/github.com/iwc-workflows/qiime2-III-VI-downsteam/QIIME2-VI-diversity-metrics-and-estimations",tests:[{doc:"Test outline for QIIME2-VI:-Diversity-metrics-and-estimations",job:{Metadata:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/pd-mice/sample_metadata.tsv",filetype:"qiime2.tabular"},"Feature table":{class:"File",location:"https://docs.qiime2.org/2024.2/data/tutorials/pd-mice/dada2_table.qza",filetype:"qza"},"Rooted tree":{class:"File",location:"https://docs.qiime2.org/2024.2/data/tutorials/pd-mice/tree.qza",filetype:"qza"},"Sampling depth":"2000","Target metadata parameter (for beta diversity)":"cage_id"},outputs:{"Alpha diversity - Pielou's evenness":{ftype:"qzv",asserts:[{has_size:{min:"300k",max:"400k"}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.csv",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.jsonp",n:6}}]},"Alpha diversity - Shannon's diversity index":{ftype:"qzv",asserts:[{has_size:{min:"300k",max:"400k"}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.csv",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.jsonp",n:6}}]},"Alpha diversity - Observed features":{ftype:"qzv",asserts:[{has_size:{min:"300k",max:"400k"}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.csv",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.jsonp",n:6}}]},"Beta diversity - Bray-Curtis distance metrics":{ftype:"qzv",asserts:[{has_size:{min:"400k",max:"500k"}},{has_archive_member:{path:"^[^/]*/data/raw_data\\.tsv",n:1}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.png",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.pdf",n:6}}]},"Beta diversity - Jaccard distance metrics":{ftype:"qzv",asserts:[{has_size:{min:"400k",max:"500k"}},{has_archive_member:{path:"^[^/]*/data/raw_data\\.tsv",n:1}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.png",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.pdf",n:6}}]},"Beta diversity - weighted UniFrac distance metrics":{ftype:"qzv",asserts:[{has_size:{min:"400k",max:"500k"}},{has_archive_member:{path:"^[^/]*/data/raw_data\\.tsv",n:1}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.png",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.pdf",n:6}}]},"Emperor plot collection":{element_tests:{unweighted_unifrac:{ftype:"qzv"},weighted_unifrac:{ftype:"qzv"},jaccard:{ftype:"qzv"},bray_curtis:{ftype:"qzv"}}},"Distance matrix collection":{element_tests:{unweighted_unifrac:{ftype:"qzv"},weighted_unifrac:{ftype:"qzv"},jaccard:{ftype:"qzv"},bray_curtis:{ftype:"qzv"}}},"PCoA collection":{element_tests:{unweighted_unifrac:{ftype:"qzv"},weighted_unifrac:{ftype:"qzv"},jaccard:{ftype:"qzv"},bray_curtis:{ftype:"qzv"}}},"Richness and evenness collection":{element_tests:{rarefied_table:{ftype:"qzv"},faith_pd_vector:{ftype:"qzv"},observed_features_vector:{ftype:"qzv"},shannon_vector:{ftype:"qzv"},eveness_vector:{ftype:"qzv"}}}}}]}],path:"./workflows/amplicon/qiime2/qiime2-III-VI-downsteam"},{version:1.2,workflows:[{name:"IIa-denoising-se",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-IIa-denoising-and-feature-table-creation-single-end.ga",testParameterFiles:["/QIIME2-IIa-denoising-and-feature-table-creation-single-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Use DADA2 for sequence quality control. DADA2 is a pipeline for detecting and correcting (where possible) Illumina amplicon sequence data. As implemented in the q2-dada2 plugin, this quality control process will additionally filter any phiX reads (commonly present in marker gene Illumina sequence data) that are identified in the sequencing data, and will filter chimeric sequences.",comments:[],creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",release:"0.3",license:"MIT",name:"QIIME2 IIa: Denoising (sequence quality control) and feature table creation (single-end)",steps:{0:{annotation:"Tab separated metadata file",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Tab separated metadata file",name:"Metadata"}],label:"Metadata",name:"Input dataset",outputs:[],position:{left:0,top:140.20380466285837},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"8dde0c69-40f1-415a-a866-5d1115e80cdf",when:null,workflow_outputs:[]},1:{annotation:"Demultiplexed sequences in qza format",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Demultiplexed sequences in qza format",name:"Demultiplexed sequences"}],label:"Demultiplexed sequences",name:"Input dataset",outputs:[],position:{left:.7889777582004348,top:256.1421426050462},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"e250ddc1-f567-40ca-9f2b-e07bbf84cdec",when:null,workflow_outputs:[]},2:{annotation:"Length to which the sequence sould be truncated. Will remove bases from the 3' end.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Length to which the sequence sould be truncated. Will remove bases from the 3' end.",name:"Truncation length"}],label:"Truncation length",name:"Input parameter",outputs:[],position:{left:1.1220203717959043,top:387.6692612809613},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"02f3a9bf-0e92-4682-b6b3-ab6b5a332937",when:null,workflow_outputs:[]},3:{annotation:"Number of bases at the 5' end that should be removed. Default: 0.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Number of bases at the 5' end that should be removed. Default: 0.",name:"Trimming length"}],label:"Trimming length",name:"Input parameter",outputs:[],position:{left:1.464599609375,top:519.0800476074219},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"8d947f65-cb01-4477-b833-4e446f2a92d5",when:null,workflow_outputs:[]},4:{annotation:`qiime2 dada2 denoise-paired +- Visualization for beta diversity: Jaccard, Bray curtis, Unifrac`,changelog:"# Changelog\n\n## [0.2] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.1] 2024-06-22\nFirst release.",diagrams:`# Workflow diagrams + +## QIIME2 VI: Diversity metrics and estimations + +\`\`\`mermaid +graph LR +0["ℹ️ Sampling depth"]@{ shape: lean-l } +1["ℹ️ Metadata"]@{ shape: doc } +2["ℹ️ Feature table"]@{ shape: doc } +3["ℹ️ Rooted tree"]@{ shape: doc } +4["ℹ️ Target metadata parameter (for beta diversity)"]@{ shape: lean-l } +5["qiime2 tools import"]@{ shape: process } +1 --> 5 +6["Diversity metrics"]@{ shape: process } +1 --> 6 +3 --> 6 +0 --> 6 +2 --> 6 +7["Alpha diversity metrics - Pielou's evenness"]@{ shape: process } +6 --> 7 +1 --> 7 +8["Alpha diversity metrics - Observed features"]@{ shape: process } +6 --> 8 +1 --> 8 +9["Alpha diversity metrics - Shannon's diversity index"]@{ shape: process } +6 --> 9 +1 --> 9 +10["Beta diversity - Jaccard distance matrix"]@{ shape: process } +6 --> 10 +4 --> 10 +5 --> 10 +11["Beta diversity - Bray-Curtis distance matrix"]@{ shape: process } +6 --> 11 +4 --> 11 +5 --> 11 +12["Emperor plot collection"]@{ shape: process } +6 --> 12 +6 --> 12 +6 --> 12 +6 --> 12 +13["Beta diversity - weighted UniFrac distance matrix"]@{ shape: process } +6 --> 13 +4 --> 13 +5 --> 13 +14["PCoA collection"]@{ shape: process } +6 --> 14 +6 --> 14 +6 --> 14 +6 --> 14 +15["Distance matrix collection"]@{ shape: process } +6 --> 15 +6 --> 15 +6 --> 15 +6 --> 15 +16["Richness and evenness collection"]@{ shape: process } +6 --> 16 +6 --> 16 +6 --> 16 +6 --> 16 +6 --> 16 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/qiime2-III-VI-downsteam/QIIME2-VI-diversity-metrics-and-estimations",tests:[{doc:"Test outline for QIIME2-VI:-Diversity-metrics-and-estimations",job:{Metadata:{class:"File",location:"https://data.qiime2.org/2024.2/tutorials/pd-mice/sample_metadata.tsv",filetype:"qiime2.tabular"},"Feature table":{class:"File",location:"https://docs.qiime2.org/2024.2/data/tutorials/pd-mice/dada2_table.qza",filetype:"qza"},"Rooted tree":{class:"File",location:"https://docs.qiime2.org/2024.2/data/tutorials/pd-mice/tree.qza",filetype:"qza"},"Sampling depth":"2000","Target metadata parameter (for beta diversity)":"cage_id"},outputs:{"Alpha diversity - Pielou's evenness":{ftype:"qzv",asserts:[{has_size:{min:"300k",max:"400k"}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.csv",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.jsonp",n:6}}]},"Alpha diversity - Shannon's diversity index":{ftype:"qzv",asserts:[{has_size:{min:"300k",max:"400k"}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.csv",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.jsonp",n:6}}]},"Alpha diversity - Observed features":{ftype:"qzv",asserts:[{has_size:{min:"300k",max:"400k"}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.csv",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.jsonp",n:6}}]},"Beta diversity - Bray-Curtis distance metrics":{ftype:"qzv",asserts:[{has_size:{min:"400k",max:"500k"}},{has_archive_member:{path:"^[^/]*/data/raw_data\\.tsv",n:1}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.png",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.pdf",n:6}}]},"Beta diversity - Jaccard distance metrics":{ftype:"qzv",asserts:[{has_size:{min:"400k",max:"500k"}},{has_archive_member:{path:"^[^/]*/data/raw_data\\.tsv",n:1}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.png",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.pdf",n:6}}]},"Beta diversity - weighted UniFrac distance metrics":{ftype:"qzv",asserts:[{has_size:{min:"400k",max:"500k"}},{has_archive_member:{path:"^[^/]*/data/raw_data\\.tsv",n:1}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.png",n:6}},{has_archive_member:{path:"^[^/]*/data/[^/]*\\.pdf",n:6}}]},"Emperor plot collection":{element_tests:{unweighted_unifrac:{ftype:"qzv"},weighted_unifrac:{ftype:"qzv"},jaccard:{ftype:"qzv"},bray_curtis:{ftype:"qzv"}}},"Distance matrix collection":{element_tests:{unweighted_unifrac:{ftype:"qzv"},weighted_unifrac:{ftype:"qzv"},jaccard:{ftype:"qzv"},bray_curtis:{ftype:"qzv"}}},"PCoA collection":{element_tests:{unweighted_unifrac:{ftype:"qzv"},weighted_unifrac:{ftype:"qzv"},jaccard:{ftype:"qzv"},bray_curtis:{ftype:"qzv"}}},"Richness and evenness collection":{element_tests:{rarefied_table:{ftype:"qzv"},faith_pd_vector:{ftype:"qzv"},observed_features_vector:{ftype:"qzv"},shannon_vector:{ftype:"qzv"},eveness_vector:{ftype:"qzv"}}}}}]}],path:"./workflows/amplicon/qiime2/qiime2-III-VI-downsteam"},{version:1.2,workflows:[{name:"IIa-denoising-se",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-IIa-denoising-and-feature-table-creation-single-end.ga",testParameterFiles:["/QIIME2-IIa-denoising-and-feature-table-creation-single-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Use DADA2 for sequence quality control. DADA2 is a pipeline for detecting and correcting (where possible) Illumina amplicon sequence data. As implemented in the q2-dada2 plugin, this quality control process will additionally filter any phiX reads (commonly present in marker gene Illumina sequence data) that are identified in the sequencing data, and will filter chimeric sequences.",comments:[],creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",release:"0.3",license:"MIT",name:"QIIME2 IIa: Denoising (sequence quality control) and feature table creation (single-end)",steps:{0:{annotation:"Tab separated metadata file",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Tab separated metadata file",name:"Metadata"}],label:"Metadata",name:"Input dataset",outputs:[],position:{left:0,top:140.20380466285837},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"8dde0c69-40f1-415a-a866-5d1115e80cdf",when:null,workflow_outputs:[]},1:{annotation:"Demultiplexed sequences in qza format",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Demultiplexed sequences in qza format",name:"Demultiplexed sequences"}],label:"Demultiplexed sequences",name:"Input dataset",outputs:[],position:{left:.7889777582004348,top:256.1421426050462},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"e250ddc1-f567-40ca-9f2b-e07bbf84cdec",when:null,workflow_outputs:[]},2:{annotation:"Length to which the sequence sould be truncated. Will remove bases from the 3' end.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Length to which the sequence sould be truncated. Will remove bases from the 3' end.",name:"Truncation length"}],label:"Truncation length",name:"Input parameter",outputs:[],position:{left:1.1220203717959043,top:387.6692612809613},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"02f3a9bf-0e92-4682-b6b3-ab6b5a332937",when:null,workflow_outputs:[]},3:{annotation:"Number of bases at the 5' end that should be removed. Default: 0.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Number of bases at the 5' end that should be removed. Default: 0.",name:"Trimming length"}],label:"Trimming length",name:"Input parameter",outputs:[],position:{left:1.464599609375,top:519.0800476074219},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"8d947f65-cb01-4477-b833-4e446f2a92d5",when:null,workflow_outputs:[]},4:{annotation:`qiime2 dada2 denoise-paired Denoise and dereplicate paired-end sequences Small insight: if the denoising percentage is lower or poorer, reduce 'trunc_q: Int' from 2 to 1.`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2024.10.0+q2galaxy.2024.10.0",errors:null,id:4,input_connections:{"__q2galaxy__GUI__section__extra_opts__|trim_left":{id:3,output_name:"output"},demultiplexed_seqs:{id:1,output_name:"output"},trunc_len:{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool qiime2 dada2 denoise-single",name:"__q2galaxy__GUI__section__extra_opts__"}],label:"Denoising the datasets",name:"qiime2 dada2 denoise-single",outputs:[{name:"table",type:"qza"},{name:"representative_sequences",type:"qza"},{name:"denoising_stats",type:"qza"}],position:{left:336.80960206844844,top:133.89925462837766},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2024.10.0+q2galaxy.2024.10.0",tool_shed_repository:{changeset_revision:"354f63459d37",name:"qiime2__dada2__denoise_single",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__q2galaxy__GUI__section__extra_opts__": {"trim_left": {"__class__": "ConnectedValue"}, "max_ee": "2.0", "trunc_q": "2", "pooling_method": "independent", "chimera_method": "consensus", "min_fold_parent_over_abundance": "1.0", "allow_one_off": false, "n_reads_learn": "1000000", "hashed_feature_ids": true, "retain_all_samples": true}, "demultiplexed_seqs": {"__class__": "ConnectedValue"}, "trunc_len": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+q2galaxy.2024.10.0",type:"tool",uuid:"a6369693-372e-4258-9e81-b7085746e441",when:null,workflow_outputs:[{label:"Denoising output table",output_name:"table",uuid:"5be21ff5-eb12-442b-85c3-932ed240cb2c"},{label:"Representative denoised sequences",output_name:"representative_sequences",uuid:"2c8b68a1-ffb9-4a6c-aa28-336f770acd5e"},{label:"Denoising statistics",output_name:"denoising_stats",uuid:"2bba5561-d09b-4843-a988-465b54a07022"}]},5:{annotation:`qiime2 feature-table tabulate-seqs View sequence associated with each feature`,content_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2024.10.0+q2galaxy.2024.10.0",errors:null,id:5,input_connections:{data:{id:4,output_name:"representative_sequences"}},inputs:[{description:"runtime parameter for tool qiime2 feature-table tabulate-seqs",name:"__q2galaxy__GUI__section__extra_opts__"}],label:"Tabulate DADA2 denoised representative sequences",name:"qiime2 feature-table tabulate-seqs",outputs:[{name:"visualization",type:"qzv"}],position:{left:690.0833740234375,top:0},post_job_actions:{RenameDatasetActionvisualization:{action_arguments:{newname:"dada2_rep_seq_visualization"},action_type:"RenameDatasetAction",output_name:"visualization"}},tool_id:"toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2024.10.0+q2galaxy.2024.10.0",tool_shed_repository:{changeset_revision:"c4570ced1d88",name:"qiime2__feature_table__tabulate_seqs",owner:"q2d2",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__q2galaxy__GUI__section__extra_opts__": {"taxonomy": {"__class__": "RuntimeValue"}, "metadata": [], "merge_method": "strict"}, "data": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2024.10.0+q2galaxy.2024.10.0",type:"tool",uuid:"221fe314-49e9-48bd-979e-1b6d0c2f4192",when:null,workflow_outputs:[{label:"DADA2 representative sequences list visualisation",output_name:"visualization",uuid:"6e7fb017-526c-4467-8082-501ffc3cb6c3"}]},6:{annotation:`qiime2 metadata tabulate @@ -3771,7 +7273,29 @@ For the paired end workflow the truncation and trimming length for the reverse r - representative sequences - denoising statistics - summary of the feature table (how many sequences are lost in the corresponding steps) -`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml.\n\n## [0.1] 2024-04-08\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/qiime2-II-denoising/IIa-denoising-se",tests:[{doc:"Test outline for QIIME2-IIa-denoising--and-feature-table-creation-single-end",job:{Metadata:{class:"File",location:"https://docs.qiime2.org/2021.11/data/tutorials/moving-pictures-usage/sample-metadata.tsv",filetype:"tabular"},"Demultiplexed sequences":{class:"File",location:"https://docs.qiime2.org/2021.11/data/tutorials/moving-pictures-usage/demux.qza",filetype:"qza"},"Truncation length":120,"Trimming length":0},outputs:{"Denoising output table":{asserts:[{has_size:{min:"20k"}},{has_archive_member:{path:"^[^/]*/data/feature-table.biom",n:1}}]},"Representative denoised sequences":{asserts:[{has_size:{min:"20k"}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1}},{has_archive_member:{path:"^[^/]*/data/dna-sequences.fasta",n:1,asserts:[{has_text_matching:{expression:">.*",n:770}}]}}]},"Denoising statistics":{asserts:[{has_size:{min:0}},{has_size:{min:"10k"}},{has_archive_member:{path:"^[^/]*/data/stats.tsv",n:1,asserts:[{has_n_columns:{n:7}},{has_n_lines:{n:36}}]}}]}}}]},{name:"IIb-denoising-pe",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-IIb-denoising-and-feature-table-creation-paired-end.ga",testParameterFiles:["/QIIME2-IIb-denoising-and-feature-table-creation-paired-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Use DADA2 for sequence quality control. DADA2 is a pipeline for detecting and correcting (where possible) Illumina amplicon sequence data. As implemented in the q2-dada2 plugin, this quality control process will additionally filter any phiX reads (commonly present in marker gene Illumina sequence data) that are identified in the sequencing data, and will filter chimeric sequences.",comments:[],creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",release:"0.3",license:"MIT",name:"QIIME2 IIb: Denoising (sequence quality control) and feature table creation (paired-end)",steps:{0:{annotation:"Tab separated metadata file",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Tab separated metadata file",name:"Metadata"}],label:"Metadata",name:"Input dataset",outputs:[],position:{left:1.6647546421401653,top:139.9560324460615},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"8dde0c69-40f1-415a-a866-5d1115e80cdf",when:null,workflow_outputs:[]},1:{annotation:"Demultiplexed sequences in qza format",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Demultiplexed sequences in qza format",name:"Demultiplexed sequences"}],label:"Demultiplexed sequences",name:"Input dataset",outputs:[],position:{left:2.4506271621231845,top:238.07957958589887},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"e250ddc1-f567-40ca-9f2b-e07bbf84cdec",when:null,workflow_outputs:[]},2:{annotation:"Length to which the forward read sequence should be truncated. Will remove bases from the 3' end.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Length to which the forward read sequence should be truncated. Will remove bases from the 3' end.",name:"Truncation length (forward)"}],label:"Truncation length (forward)",name:"Input parameter",outputs:[],position:{left:1.5784534434758744,top:353.55220274941445},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"02f3a9bf-0e92-4682-b6b3-ab6b5a332937",when:null,workflow_outputs:[]},3:{annotation:"Length to which the reverse read sequence should be truncated. Will remove bases from the 3' end.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Length to which the reverse read sequence should be truncated. Will remove bases from the 3' end.",name:"Truncation length (reverse)"}],label:"Truncation length (reverse)",name:"Input parameter",outputs:[],position:{left:.12398288926847933,top:478.1294436628793},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"2af02538-19c9-4ffc-924e-5108987064a1",when:null,workflow_outputs:[]},4:{annotation:`Number of bases at the 5' end of the forward read that should be removed. Default: 0. +`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml.\n\n## [0.1] 2024-04-08\nFirst release.\n",diagrams:`# Workflow diagrams + +## QIIME2 IIa: Denoising (sequence quality control) and feature table creation (single-end) + +\`\`\`mermaid +graph LR +0["ℹ️ Metadata"]@{ shape: doc } +1["ℹ️ Demultiplexed sequences"]@{ shape: doc } +2["ℹ️ Truncation length"]@{ shape: lean-l } +3["ℹ️ Trimming length"]@{ shape: lean-l } +4["Denoising the datasets"]@{ shape: process } +3 --> 4 +1 --> 4 +2 --> 4 +5["Tabulate DADA2 denoised representative sequences"]@{ shape: process } +4 --> 5 +6["Tabulate DADA2 statistical metadata "]@{ shape: process } +4 --> 6 +7["Summing up the dada2 output table"]@{ shape: process } +0 --> 7 +4 --> 7 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/qiime2-II-denoising/IIa-denoising-se",tests:[{doc:"Test outline for QIIME2-IIa-denoising--and-feature-table-creation-single-end",job:{Metadata:{class:"File",location:"https://docs.qiime2.org/2021.11/data/tutorials/moving-pictures-usage/sample-metadata.tsv",filetype:"tabular"},"Demultiplexed sequences":{class:"File",location:"https://docs.qiime2.org/2021.11/data/tutorials/moving-pictures-usage/demux.qza",filetype:"qza"},"Truncation length":120,"Trimming length":0},outputs:{"Denoising output table":{asserts:[{has_size:{min:"20k"}},{has_archive_member:{path:"^[^/]*/data/feature-table.biom",n:1}}]},"Representative denoised sequences":{asserts:[{has_size:{min:"20k"}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1}},{has_archive_member:{path:"^[^/]*/data/dna-sequences.fasta",n:1,asserts:[{has_text_matching:{expression:">.*",n:770}}]}}]},"Denoising statistics":{asserts:[{has_size:{min:0}},{has_size:{min:"10k"}},{has_archive_member:{path:"^[^/]*/data/stats.tsv",n:1,asserts:[{has_n_columns:{n:7}},{has_n_lines:{n:36}}]}}]}}}]},{name:"IIb-denoising-pe",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/QIIME2-IIb-denoising-and-feature-table-creation-paired-end.ga",testParameterFiles:["/QIIME2-IIb-denoising-and-feature-table-creation-paired-end-tests.yml"],authors:[{name:"Debjyoti Ghosh",orcid:"0009-0008-1496-1677"},{name:"Helmholtz-Zentrum für Umweltforschung - UFZ",address:"Permoserstraße 15, 04318 Leipzig"}],definition:{a_galaxy_workflow:"true",annotation:"Use DADA2 for sequence quality control. DADA2 is a pipeline for detecting and correcting (where possible) Illumina amplicon sequence data. As implemented in the q2-dada2 plugin, this quality control process will additionally filter any phiX reads (commonly present in marker gene Illumina sequence data) that are identified in the sequencing data, and will filter chimeric sequences.",comments:[],creator:[{class:"Person",identifier:"0009-0008-1496-1677",name:"Debjyoti Ghosh"},{address:"Permoserstraße 15, 04318 Leipzig",class:"Organization",name:"Helmholtz-Zentrum für Umweltforschung - UFZ"}],"format-version":"0.1",release:"0.3",license:"MIT",name:"QIIME2 IIb: Denoising (sequence quality control) and feature table creation (paired-end)",steps:{0:{annotation:"Tab separated metadata file",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Tab separated metadata file",name:"Metadata"}],label:"Metadata",name:"Input dataset",outputs:[],position:{left:1.6647546421401653,top:139.9560324460615},tool_id:null,tool_state:'{"optional": false, "format": ["tabular"], "tag": null}',tool_version:null,type:"data_input",uuid:"8dde0c69-40f1-415a-a866-5d1115e80cdf",when:null,workflow_outputs:[]},1:{annotation:"Demultiplexed sequences in qza format",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Demultiplexed sequences in qza format",name:"Demultiplexed sequences"}],label:"Demultiplexed sequences",name:"Input dataset",outputs:[],position:{left:2.4506271621231845,top:238.07957958589887},tool_id:null,tool_state:'{"optional": false, "format": ["qza"], "tag": null}',tool_version:null,type:"data_input",uuid:"e250ddc1-f567-40ca-9f2b-e07bbf84cdec",when:null,workflow_outputs:[]},2:{annotation:"Length to which the forward read sequence should be truncated. Will remove bases from the 3' end.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Length to which the forward read sequence should be truncated. Will remove bases from the 3' end.",name:"Truncation length (forward)"}],label:"Truncation length (forward)",name:"Input parameter",outputs:[],position:{left:1.5784534434758744,top:353.55220274941445},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"02f3a9bf-0e92-4682-b6b3-ab6b5a332937",when:null,workflow_outputs:[]},3:{annotation:"Length to which the reverse read sequence should be truncated. Will remove bases from the 3' end.",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"Length to which the reverse read sequence should be truncated. Will remove bases from the 3' end.",name:"Truncation length (reverse)"}],label:"Truncation length (reverse)",name:"Input parameter",outputs:[],position:{left:.12398288926847933,top:478.1294436628793},tool_id:null,tool_state:'{"parameter_type": "integer", "optional": false}',tool_version:null,type:"parameter_input",uuid:"2af02538-19c9-4ffc-924e-5108987064a1",when:null,workflow_outputs:[]},4:{annotation:`Number of bases at the 5' end of the forward read that should be removed. Default: 0. Mention the length up to which you want to trim your sequences from the left. @@ -3816,7 +7340,33 @@ For the paired end workflow the truncation and trimming length for the reverse r - representative sequences - denoising statistics - summary of the feature table (how many sequences are lost in the corresponding steps) -`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml.\n\n## [0.1] 2024-04-08\nFirst release.\n",trsID:"#workflow/github.com/iwc-workflows/qiime2-II-denoising/IIb-denoising-pe",tests:[{doc:"Test outline for QIIME2-IIb-and-feature-table-creation-paired-end",job:{Metadata:{class:"File",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/020-metadata/sample-metadata.tsv",filetype:"tabular"},"Demultiplexed sequences":{class:"File",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/demultiplexed-sequences.qza",filetype:"qza"},"Truncation length (forward)":204,"Truncation length (reverse)":205,"Trimming length (forward)":1,"Trimming length (reverse)":1},outputs:{"Denoising output table":{asserts:[{has_size:{min:"20k"}},{has_archive_member:{path:"^[^/]*/data/feature-table.biom",n:1}}]},"Representative denoised sequences":{asserts:[{has_size:{min:"20k"}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1}},{has_archive_member:{path:"^[^/]*/data/dna-sequences.fasta",n:1,asserts:[{has_text_matching:{expression:">.*",n:661}}]}}]},"Denoising statistics":{asserts:[{has_size:{min:"10k"}},{has_archive_member:{path:"^[^/]*/data/stats.tsv",n:1,asserts:[{has_n_columns:{n:9}},{has_n_lines:{n:43}}]}}]}}}]}],path:"./workflows/amplicon/qiime2/qiime2-II-denoising"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/RepeatMasking-Workflow.ga",testParameterFiles:["/RepeatMasking-Workflow-tests.yml"],authors:[{name:"Romane Libouban",email:"romane.libouban@irisa.fr"}],definition:{a_galaxy_workflow:"true",annotation:"","format-version":"0.1",license:"MIT",release:"0.1",name:"Repeat masking with RepeatModeler and RepeatMasker",creator:[{class:"Person",email:"mailto:romane.libouban@irisa.fr",name:"Romane Libouban"}],steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Apply repeat masking to this fasta file",name:"input"}],label:"input",name:"Input dataset",outputs:[],position:{left:10,top:10},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"ab5e19b0-ce35-4e54-a55e-f75243c86e3d",when:null,workflow_outputs:[]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/csbl/repeatmodeler/repeatmodeler/2.0.4+galaxy1",errors:null,id:1,input_connections:{input_file:{id:0,output_name:"output"}},inputs:[],label:null,name:"RepeatModeler",outputs:[{name:"sequences",type:"fasta"},{name:"seeds",type:"stockholm"}],position:{left:230,top:10},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/csbl/repeatmodeler/repeatmodeler/2.0.4+galaxy1",tool_shed_repository:{changeset_revision:"8661b2607b7e",name:"repeatmodeler",owner:"csbl",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "input", "chromInfo": "/shared/ifbstor1/galaxy/mutable-config/tool-data/shared/ucsc/chrom/?.len", "input_file": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.4+galaxy1",type:"tool",uuid:"9312ba36-4275-4d40-8ba6-95eea1b23b11",when:null,workflow_outputs:[{output_name:"sequences",label:"RepeatModeler consensus sequences"},{output_name:"seeds",label:"RepeatModeler seeds alignments"}]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/repeat_masker/repeatmasker_wrapper/4.1.5+galaxy0",errors:null,id:2,input_connections:{input_fasta:{id:1,output_name:"sequences"}},inputs:[],label:null,name:"RepeatMasker",outputs:[{name:"output_masked_genome",type:"fasta"},{name:"output_log",type:"tabular"},{name:"output_table",type:"txt"},{name:"output_repeat_catalog",type:"txt"},{name:"output_gff",type:"gff"}],position:{left:450,top:10},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/repeat_masker/repeatmasker_wrapper/4.1.5+galaxy0",tool_shed_repository:{changeset_revision:"ba6d2c32f797",name:"repeat_masker",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "input", "advanced": {"is_only": false, "is_clip": false, "no_is": false, "rodspec": false, "primspec": false, "nolow": false, "noint": false, "norna": false, "alu": false, "div": false, "search_speed": "", "frag": "40000", "gc": null, "gccalc": false, "nocut": false, "xout": false, "keep_alignments": false, "invert_alignments": false, "poly": false}, "chromInfo": "/shared/ifbstor1/galaxy/mutable-config/tool-data/shared/ucsc/chrom/?.len", "excln": true, "gff": true, "input_fasta": null, "repeat_source": {"source_type": "dfam", "__current_case__": 0, "species_source": {"species_from_list": "no", "__current_case__": 1, "species_name": ""}}, "xsmall": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.1.5+galaxy0",type:"tool",uuid:"e6c8e6a1-efe8-4291-b12b-5fdb3795b6ca",when:null,workflow_outputs:[{output_name:"output_masked_genome",label:"RepeatMasker masked genome"},{output_name:"output_log",label:"RepeatMasker output log"},{output_name:"output_table",label:"RepeatMasker repeat statistics"},{output_name:"output_repeat_catalog",label:"RepeatMasker repeat catalog"},{output_name:"output_gff",label:"RepeatMasker repeat annotation"}]}},tags:[],uuid:"f25be8fa-7823-456f-9707-a497703f48d7",version:0},readme:`# RepeatMasking Workflow +`,changelog:"# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml.\n\n## [0.1] 2024-04-08\nFirst release.\n",diagrams:`# Workflow diagrams + +## QIIME2 IIb: Denoising (sequence quality control) and feature table creation (paired-end) + +\`\`\`mermaid +graph LR +0["ℹ️ Metadata"]@{ shape: doc } +1["ℹ️ Demultiplexed sequences"]@{ shape: doc } +2["ℹ️ Truncation length (forward)"]@{ shape: lean-l } +3["ℹ️ Truncation length (reverse)"]@{ shape: lean-l } +4["ℹ️ Trimming length (forward)"]@{ shape: lean-l } +5["ℹ️ Trimming length (reverse)"]@{ shape: lean-l } +6["Denoising the datasets"]@{ shape: process } +4 --> 6 +5 --> 6 +1 --> 6 +2 --> 6 +3 --> 6 +7["Tabulate DADA2 denoised representative sequences"]@{ shape: process } +6 --> 7 +8["Tabulate DADA2 statistical metadata "]@{ shape: process } +6 --> 8 +9["Summing up the dada2 output table"]@{ shape: process } +0 --> 9 +6 --> 9 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/qiime2-II-denoising/IIb-denoising-pe",tests:[{doc:"Test outline for QIIME2-IIb-and-feature-table-creation-paired-end",job:{Metadata:{class:"File",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/020-metadata/sample-metadata.tsv",filetype:"tabular"},"Demultiplexed sequences":{class:"File",location:"https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/data/020-tutorial-upstream/030-importing/demultiplexed-sequences.qza",filetype:"qza"},"Truncation length (forward)":204,"Truncation length (reverse)":205,"Trimming length (forward)":1,"Trimming length (reverse)":1},outputs:{"Denoising output table":{asserts:[{has_size:{min:"20k"}},{has_archive_member:{path:"^[^/]*/data/feature-table.biom",n:1}}]},"Representative denoised sequences":{asserts:[{has_size:{min:"20k"}},{has_archive_member:{path:"^[^/]*/metadata.yaml",n:1}},{has_archive_member:{path:"^[^/]*/data/dna-sequences.fasta",n:1,asserts:[{has_text_matching:{expression:">.*",n:661}}]}}]},"Denoising statistics":{asserts:[{has_size:{min:"10k"}},{has_archive_member:{path:"^[^/]*/data/stats.tsv",n:1,asserts:[{has_n_columns:{n:9}},{has_n_lines:{n:43}}]}}]}}}]}],path:"./workflows/amplicon/qiime2/qiime2-II-denoising"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/RepeatMasking-Workflow.ga",testParameterFiles:["/RepeatMasking-Workflow-tests.yml"],authors:[{name:"Romane Libouban",email:"romane.libouban@irisa.fr"}],definition:{a_galaxy_workflow:"true",annotation:"","format-version":"0.1",license:"MIT",release:"0.1",name:"Repeat masking with RepeatModeler and RepeatMasker",creator:[{class:"Person",email:"mailto:romane.libouban@irisa.fr",name:"Romane Libouban"}],steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Apply repeat masking to this fasta file",name:"input"}],label:"input",name:"Input dataset",outputs:[],position:{left:10,top:10},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"ab5e19b0-ce35-4e54-a55e-f75243c86e3d",when:null,workflow_outputs:[]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/csbl/repeatmodeler/repeatmodeler/2.0.4+galaxy1",errors:null,id:1,input_connections:{input_file:{id:0,output_name:"output"}},inputs:[],label:null,name:"RepeatModeler",outputs:[{name:"sequences",type:"fasta"},{name:"seeds",type:"stockholm"}],position:{left:230,top:10},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/csbl/repeatmodeler/repeatmodeler/2.0.4+galaxy1",tool_shed_repository:{changeset_revision:"8661b2607b7e",name:"repeatmodeler",owner:"csbl",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "input", "chromInfo": "/shared/ifbstor1/galaxy/mutable-config/tool-data/shared/ucsc/chrom/?.len", "input_file": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.4+galaxy1",type:"tool",uuid:"9312ba36-4275-4d40-8ba6-95eea1b23b11",when:null,workflow_outputs:[{output_name:"sequences",label:"RepeatModeler consensus sequences"},{output_name:"seeds",label:"RepeatModeler seeds alignments"}]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/repeat_masker/repeatmasker_wrapper/4.1.5+galaxy0",errors:null,id:2,input_connections:{input_fasta:{id:1,output_name:"sequences"}},inputs:[],label:null,name:"RepeatMasker",outputs:[{name:"output_masked_genome",type:"fasta"},{name:"output_log",type:"tabular"},{name:"output_table",type:"txt"},{name:"output_repeat_catalog",type:"txt"},{name:"output_gff",type:"gff"}],position:{left:450,top:10},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/repeat_masker/repeatmasker_wrapper/4.1.5+galaxy0",tool_shed_repository:{changeset_revision:"ba6d2c32f797",name:"repeat_masker",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "input", "advanced": {"is_only": false, "is_clip": false, "no_is": false, "rodspec": false, "primspec": false, "nolow": false, "noint": false, "norna": false, "alu": false, "div": false, "search_speed": "", "frag": "40000", "gc": null, "gccalc": false, "nocut": false, "xout": false, "keep_alignments": false, "invert_alignments": false, "poly": false}, "chromInfo": "/shared/ifbstor1/galaxy/mutable-config/tool-data/shared/ucsc/chrom/?.len", "excln": true, "gff": true, "input_fasta": null, "repeat_source": {"source_type": "dfam", "__current_case__": 0, "species_source": {"species_from_list": "no", "__current_case__": 1, "species_name": ""}}, "xsmall": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"4.1.5+galaxy0",type:"tool",uuid:"e6c8e6a1-efe8-4291-b12b-5fdb3795b6ca",when:null,workflow_outputs:[{output_name:"output_masked_genome",label:"RepeatMasker masked genome"},{output_name:"output_log",label:"RepeatMasker output log"},{output_name:"output_table",label:"RepeatMasker repeat statistics"},{output_name:"output_repeat_catalog",label:"RepeatMasker repeat catalog"},{output_name:"output_gff",label:"RepeatMasker repeat annotation"}]}},tags:[],uuid:"f25be8fa-7823-456f-9707-a497703f48d7",version:0},readme:`# RepeatMasking Workflow This workflow uses RepeatModeler and RepeatMasker for genome analysis. @@ -3849,7 +7399,19 @@ This workflow uses RepeatModeler and RepeatMasker for genome analysis. ## [0.1] -Initial version of the RepeatMasking workflow for genomic sequencing data.`,trsID:"#workflow/github.com/iwc-workflows/repeatmasking/main",tests:[{doc:"Test outline for RepeatMasking Workflow",job:{input:{class:"File",location:"https://zenodo.org/record/8364146/files/eco.fasta?download=1",filetype:"fasta"}},outputs:{"RepeatModeler consensus sequences":{location:"https://zenodo.org/record/8364146/files/repeatmodeler_output_sequences.fasta?download=1",compare:"sim_size",delta:3e4},"RepeatModeler seeds alignments":{location:"https://zenodo.org/record/8364146/files/repeatmodeler_output_seeds.stockholm?download=1",compare:"sim_size",delta:9e7},"RepeatMasker masked genome":{location:"https://zenodo.org/record/8364146/files/repeatmasker_output_masked_genome.fasta?download=1",compare:"sim_size",delta:3e4},"RepeatMasker output log":{location:"https://zenodo.org/record/8364146/files/repeatmasker_output_log.tabular?download=1",compare:"sim_size",delta:3e4},"RepeatMasker repeat statistics":{location:"https://zenodo.org/record/8364146/files/repeatmasker_output_table.txt?download=1",compare:"sim_size",delta:3e4},"RepeatMasker repeat catalog":{location:"https://zenodo.org/record/8364146/files/repeatmasker_output_repeat_catalog.txt?download=1",compare:"sim_size",delta:3e4},"RepeatMasker repeat annotation":{location:"https://zenodo.org/record/8364146/files/repeatmasker_output_gff.gff?download=1",compare:"sim_size",delta:3e4}}}]}],path:"./workflows/repeatmasking"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Mass-spectrometry__GCMS-with-metaMS.ga",testParameterFiles:["/Mass-spectrometry__GCMS-with-metaMS-tests.yml"],authors:[{name:"workflow4metabolomics",image:"https://raw.githubusercontent.com/workflow4metabolomics/workflow4metabolomics/master/images/logo/logo_w4m-0.1-black-orange.png",url:"https://workflow4metabolomics.org/"}],definition:{a_galaxy_workflow:"true",annotation:`This workflow is composed with the XCMS tool R package (Smith, C.A. 2006) able to extract and the metaMS R package (Wehrens, R 2014) for the field of untargeted metabolomics. +Initial version of the RepeatMasking workflow for genomic sequencing data.`,diagrams:`# Workflow diagrams + +## Repeat masking with RepeatModeler and RepeatMasker + +\`\`\`mermaid +graph LR +0["ℹ️ input"]@{ shape: doc } +1["RepeatModeler"]@{ shape: process } +0 --> 1 +2["RepeatMasker"]@{ shape: process } +1 --> 2 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/repeatmasking/main",tests:[{doc:"Test outline for RepeatMasking Workflow",job:{input:{class:"File",location:"https://zenodo.org/record/8364146/files/eco.fasta?download=1",filetype:"fasta"}},outputs:{"RepeatModeler consensus sequences":{location:"https://zenodo.org/record/8364146/files/repeatmodeler_output_sequences.fasta?download=1",compare:"sim_size",delta:3e4},"RepeatModeler seeds alignments":{location:"https://zenodo.org/record/8364146/files/repeatmodeler_output_seeds.stockholm?download=1",compare:"sim_size",delta:9e7},"RepeatMasker masked genome":{location:"https://zenodo.org/record/8364146/files/repeatmasker_output_masked_genome.fasta?download=1",compare:"sim_size",delta:3e4},"RepeatMasker output log":{location:"https://zenodo.org/record/8364146/files/repeatmasker_output_log.tabular?download=1",compare:"sim_size",delta:3e4},"RepeatMasker repeat statistics":{location:"https://zenodo.org/record/8364146/files/repeatmasker_output_table.txt?download=1",compare:"sim_size",delta:3e4},"RepeatMasker repeat catalog":{location:"https://zenodo.org/record/8364146/files/repeatmasker_output_repeat_catalog.txt?download=1",compare:"sim_size",delta:3e4},"RepeatMasker repeat annotation":{location:"https://zenodo.org/record/8364146/files/repeatmasker_output_gff.gff?download=1",compare:"sim_size",delta:3e4}}}]}],path:"./workflows/repeatmasking"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Mass-spectrometry__GCMS-with-metaMS.ga",testParameterFiles:["/Mass-spectrometry__GCMS-with-metaMS-tests.yml"],authors:[{name:"workflow4metabolomics",image:"https://raw.githubusercontent.com/workflow4metabolomics/workflow4metabolomics/master/images/logo/logo_w4m-0.1-black-orange.png",url:"https://workflow4metabolomics.org/"}],definition:{a_galaxy_workflow:"true",annotation:`This workflow is composed with the XCMS tool R package (Smith, C.A. 2006) able to extract and the metaMS R package (Wehrens, R 2014) for the field of untargeted metabolomics. https://training.galaxyproject.org/training-material/topics/metabolomics/tutorials/gcms/tutorial.html`,creator:[{class:"Organization",image:"https://raw.githubusercontent.com/workflow4metabolomics/workflow4metabolomics/master/images/logo/logo_w4m-0.1-black-orange.png",name:"workflow4metabolomics",url:"https://workflow4metabolomics.org/"}],"format-version":"0.1",release:"0.1",license:"MIT",name:"Mass spectrometry: GCMS with metaMS",steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"",name:"Mass-spectrometry Dataset Collection"}],label:"Mass-spectrometry Dataset Collection",name:"Input dataset collection",outputs:[],position:{left:15,top:101},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"27aea272-13ef-4ab2-81ef-329830985fe0",when:null,workflow_outputs:[]},1:{annotation:"",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"",name:"sampleMetadata"}],label:"sampleMetadata",name:"Input dataset",outputs:[],position:{left:0,top:314},tool_id:null,tool_state:'{"optional": false, "tag": null}',tool_version:null,type:"data_input",uuid:"a3d47eb1-e815-4219-86c0-23ce34b662d7",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lecorguille/msnbase_readmsdata/msnbase_readmsdata/2.16.1+galaxy2",errors:null,id:2,input_connections:{input:{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool MSnbase readMSData",name:"input"}],label:null,name:"MSnbase readMSData",outputs:[{name:"xsetRData",type:"rdata.msnbase.raw"}],position:{left:295,top:80},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/lecorguille/msnbase_readmsdata/msnbase_readmsdata/2.16.1+galaxy2",tool_shed_repository:{changeset_revision:"12def6edac2f",name:"msnbase_readmsdata",owner:"lecorguille",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "RuntimeValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.16.1+galaxy2",type:"tool",uuid:"60192f76-c4a8-4505-a24e-e730fe87694e",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lecorguille/xcms_xcmsset/abims_xcms_xcmsSet/3.12.0+galaxy0",errors:null,id:3,input_connections:{image:{id:2,output_name:"xsetRData"}},inputs:[],label:null,name:"xcms findChromPeaks (xcmsSet)",outputs:[{name:"xsetRData",type:"rdata.xcms.findchrompeaks"},{name:"log",type:"txt"}],position:{left:575,top:311},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/lecorguille/xcms_xcmsset/abims_xcms_xcmsSet/3.12.0+galaxy0",tool_shed_repository:{changeset_revision:"b02d1992a43a",name:"xcms_xcmsset",owner:"lecorguille",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"file_load_section": {"file_load_conditional": {"file_load_select": "no", "__current_case__": 0}}, "filterSection": {"filterAcquisitionNum": "", "filterRt": "", "filterMz": ""}, "image": {"__class__": "ConnectedValue"}, "methods": {"method": "MatchedFilter", "__current_case__": 1, "fwhm": "5", "binSize": "0.5", "MatchedFilterAdv": {"impute_cond": {"impute": "none", "__current_case__": 0}, "sigma": null, "max": "500", "snthresh": "2", "steps": "2", "mzdiff": "0.5", "peaklist": false}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.12.0+galaxy0",type:"tool",uuid:"117244c7-a9b0-4143-bfba-48c6cca56ee5",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lecorguille/xcms_plot_chromatogram/xcms_plot_chromatogram/3.12.0+galaxy0",errors:null,id:4,input_connections:{images:{id:3,output_name:"xsetRData"},sampleMetadata:{id:1,output_name:"output"}},inputs:[],label:null,name:"xcms plot chromatogram",outputs:[{name:"ticsPdf",type:"pdf"},{name:"bpisPdf",type:"pdf"}],position:{left:915,top:0},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/lecorguille/xcms_plot_chromatogram/xcms_plot_chromatogram/3.12.0+galaxy0",tool_shed_repository:{changeset_revision:"024974037c4e",name:"xcms_plot_chromatogram",owner:"lecorguille",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "rdata.xcms.findchrompeaks", "chromInfo": "/shared/ifbstor1/galaxy/mutable-config/tool-data/shared/ucsc/chrom/?.len", "file_load_section": {"file_load_conditional": {"file_load_select": "no", "__current_case__": 0}}, "images": {"__class__": "ConnectedValue"}, "sampleMetadata": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.12.0+galaxy0",type:"tool",uuid:"a5e5e89e-4521-49b4-9554-1004cefb3842",when:null,workflow_outputs:[{label:null,output_name:"bpisPdf",uuid:"98f84d78-fb87-4ba8-9781-d4935013f052"},{label:null,output_name:"ticsPdf",uuid:"3a9785ad-afad-410f-8f17-6f7b9644f37b"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/lecorguille/xcms_merge/xcms_merge/3.12.0+galaxy0",errors:null,id:5,input_connections:{images:{id:3,output_name:"xsetRData"},sampleMetadata:{id:1,output_name:"output"}},inputs:[],label:null,name:"xcms findChromPeaks Merger",outputs:[{name:"xsetRData",type:"rdata.xcms.findchrompeaks"}],position:{left:861,top:521},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/lecorguille/xcms_merge/xcms_merge/3.12.0+galaxy0",tool_shed_repository:{changeset_revision:"5bd125a3f3b0",name:"xcms_merge",owner:"lecorguille",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"__input_ext": "rdata.xcms.findchrompeaks", "chromInfo": "/shared/ifbstor1/galaxy/mutable-config/tool-data/shared/ucsc/chrom/?.len", "file_load_section": {"file_load_conditional": {"file_load_select": "no", "__current_case__": 0}}, "images": {"__class__": "ConnectedValue"}, "sampleMetadata": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.12.0+galaxy0",type:"tool",uuid:"cb2b0664-f992-4e0b-8a40-58c83a0e47f9",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/yguitton/metams_rungc/metams_runGC/3.0.0+metaMS1.24.0-galaxy0",errors:null,id:6,input_connections:{input:{id:5,output_name:"xsetRData"}},inputs:[],label:null,name:"metaMS.runGC",outputs:[{name:"peaktable",type:"tabular"},{name:"sampleMetadata",type:"tabular"},{name:"variableMetadata",type:"tabular"},{name:"dataMatrix",type:"tabular"},{name:"peakspectra",type:"txt"},{name:"rungcRData",type:"rdata"}],position:{left:1140,top:202},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/yguitton/metams_rungc/metams_runGC/3.0.0+metaMS1.24.0-galaxy0",tool_shed_repository:{changeset_revision:"93508ea69eb5",name:"metams_rungc",owner:"yguitton",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "ConnectedValue"}, "options_rifilter": {"option": "false", "__current_case__": 1}, "settings": {"setting": "usersettings", "__current_case__": 1, "options_rtrange": {"option": "hide", "__current_case__": 1}, "rtdiff": "0.05", "minfeat": "5", "simthreshold": "0.7", "minclassfraction": "0.5", "minclasssize": "3", "options_db": {"option": "hide", "__current_case__": 1}, "options_ri": {"option": "hide", "__current_case__": 1}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.0.0+metaMS1.24.0-galaxy0",type:"tool",uuid:"4f636be8-c31f-474e-8c47-8fd644710863",when:null,workflow_outputs:[{label:"metaMS.runGC dataMatrix",output_name:"dataMatrix",uuid:"2ad0157b-8587-47ba-8481-3e8b6c2fe7f2"},{label:null,output_name:"peaktable",uuid:"2f467902-d943-431b-89d5-731911e06f2d"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/ethevenot/checkformat/checkFormat/3.0.0",errors:null,id:7,input_connections:{dataMatrix_in:{id:6,output_name:"dataMatrix"},sampleMetadata_in:{id:1,output_name:"output"},variableMetadata_in:{id:6,output_name:"variableMetadata"}},inputs:[],label:null,name:"Check Format",outputs:[{name:"dataMatrix_out",type:"tabular"},{name:"sampleMetadata_out",type:"tabular"},{name:"variableMetadata_out",type:"tabular"},{name:"information",type:"txt"}],position:{left:1496,top:281},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/ethevenot/checkformat/checkFormat/3.0.0",tool_shed_repository:{changeset_revision:"e7c5811ec12f",name:"checkformat",owner:"ethevenot",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"dataMatrix_in": {"__class__": "ConnectedValue"}, "makeNameL": "FALSE", "sampleMetadata_in": {"__class__": "ConnectedValue"}, "variableMetadata_in": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.0.0",type:"tool",uuid:"a3701788-b7fd-4eb9-adf1-d3834a935567",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/ethevenot/multivariate/Multivariate/2.3.10",errors:null,id:8,input_connections:{dataMatrix_in:{id:7,output_name:"dataMatrix_out"},sampleMetadata_in:{id:7,output_name:"sampleMetadata_out"},variableMetadata_in:{id:7,output_name:"variableMetadata_out"}},inputs:[],label:null,name:"Multivariate",outputs:[{name:"sampleMetadata_out",type:"tabular"},{name:"variableMetadata_out",type:"tabular"},{name:"figure",type:"pdf"},{name:"information",type:"txt"}],position:{left:1827,top:293},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/ethevenot/multivariate/Multivariate/2.3.10",tool_shed_repository:{changeset_revision:"5526f8258e8a",name:"multivariate",owner:"ethevenot",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advCpt": {"opcC": "full", "__current_case__": 1, "scaleC": "standard", "permI": "20", "log10L": "FALSE", "algoC": "default", "crossvalI": "3"}, "advGph": {"opgC": "full", "__current_case__": 1, "typeC": "summary", "parMahalC": "NA", "parAsColC": "class", "parLabVc": "none", "parPc1I": "1", "parPc2I": "2", "parCexN": "0.8"}, "dataMatrix_in": {"__class__": "ConnectedValue"}, "orthoI": "0", "predI": "NA", "respC": "none", "sampleMetadata_in": {"__class__": "ConnectedValue"}, "save_rdata": false, "testL": "FALSE", "variableMetadata_in": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.3.10",type:"tool",uuid:"52e89249-a543-441c-8da6-60b7e40178b2",when:null,workflow_outputs:[{label:"Multivariate variableMetadata",output_name:"variableMetadata_out",uuid:"376507dd-94ff-4bf1-8481-5fe5ed61918e"},{label:"Multivariate sampleMetadata",output_name:"sampleMetadata_out",uuid:"d574dc78-9310-44e9-a6c3-b02b104e598c"}]}},tags:["metabolomics","MS","workflow4metabolomics","GC-MS","GTN","metaMS"],uuid:"a2b0d4f7-164c-40d3-ac34-f248db18bbef",version:2},readme:`# Mass spectrometry: GCMS with metaMS @@ -3894,6 +7456,35 @@ All notable changes to this project will be documented in this file. ## [0.1] - 2023-11-22 First release +`,diagrams:`# Workflow diagrams + +## Mass spectrometry: GCMS with metaMS + +\`\`\`mermaid +graph LR +0["ℹ️ Mass-spectrometry Dataset Collection"]@{ shape: docs } +1["ℹ️ sampleMetadata"]@{ shape: doc } +2["MSnbase readMSData"]@{ shape: process } +0 --> 2 +3["xcms findChromPeaks (xcmsSet)"]@{ shape: process } +2 --> 3 +4["xcms plot chromatogram"]@{ shape: process } +3 --> 4 +1 --> 4 +5["xcms findChromPeaks Merger"]@{ shape: process } +3 --> 5 +1 --> 5 +6["metaMS.runGC"]@{ shape: process } +5 --> 6 +7["Check Format"]@{ shape: process } +6 --> 7 +1 --> 7 +6 --> 7 +8["Multivariate"]@{ shape: process } +7 --> 8 +7 --> 8 +7 --> 8 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/gcms-metams/main",tests:[{doc:"Test outline for Mass-spectrometry__GCMS-with-metaMS.ga",job:{sampleMetadata:{class:"File",location:"https://zenodo.org/record/3631074/files/sampleMetadata.tsv",filetype:"tabular"},"Mass-spectrometry Dataset Collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"alg11.mzData",location:"https://zenodo.org/record/3631074/files/alg11.mzData",filetype:"mzdata"},{class:"File",identifier:"alg2.mzData",location:"https://zenodo.org/record/3631074/files/alg2.mzData",filetype:"mzdata"},{class:"File",identifier:"alg3.mzData",location:"https://zenodo.org/record/3631074/files/alg3.mzData",filetype:"mzdata"},{class:"File",identifier:"alg7.mzData",location:"https://zenodo.org/record/3631074/files/alg7.mzData",filetype:"mzdata"},{class:"File",identifier:"alg8.mzData",location:"https://zenodo.org/record/3631074/files/alg8.mzData",filetype:"mzdata"},{class:"File",identifier:"alg9.mzData",location:"https://zenodo.org/record/3631074/files/alg9.mzData",filetype:"mzdata"}]}},outputs:{"metaMS.runGC dataMatrix":{path:"test-data/metaMS.runGC_dataMatrix.tabular",lines_diff:10},"Multivariate variableMetadata":{asserts:[{that:"has_n_lines",n:42},{that:"has_text",text:"Unknown 1 Unknown 0.0046 19.499 -0.17"},{that:"has_text",text:"Unknown 41 Unknown 0.0039 14.857 -0.08"}]},"Multivariate sampleMetadata":{asserts:[{that:"has_n_lines",n:7},{that:"has_text",text:"alg11 FWS_100perNaCl -6.2"},{that:"has_text",text:"alg8 FWS_5percNaCL -0.6"}]}}}]}],path:"./workflows/metabomics/gcms-metams"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Mass_spectrometry__LC-MS_preprocessing_with_XCMS.ga",testParameterFiles:["/Mass_spectrometry__LC-MS_preprocessing_with_XCMS-tests.yml"],authors:[{name:"workflow4metabolomics",image:"https://raw.githubusercontent.com/workflow4metabolomics/workflow4metabolomics/master/images/logo/logo_w4m-0.1-black-orange.png",url:"https://workflow4metabolomics.org"}],definition:{a_galaxy_workflow:"true",annotation:`This workflow is composed with the XCMS tool R package (Smith, C.A. 2006) able to extract, filter, align and fill gapand the possibility to annotate isotopes, adducts and fragments using the CAMERA R package (Kuhl, C 2012). @@ -3942,6 +7533,42 @@ All notable changes to this project will be documented in this file. First release +`,diagrams:`# Workflow diagrams + +## Mass spectrometry: LC-MS preprocessing with XCMS + +\`\`\`mermaid +graph LR +0["ℹ️ SampleMetadata"]@{ shape: doc } +1["ℹ️ Mass-spectrometry Dataset Collection"]@{ shape: docs } +2["MSnbase readMSData"]@{ shape: process } +1 --> 2 +3["xcms plot chromatogram"]@{ shape: process } +2 --> 3 +0 --> 3 +4["xcms findChromPeaks (xcmsSet)"]@{ shape: process } +2 --> 4 +5["xcms findChromPeaks Merger"]@{ shape: process } +4 --> 5 +0 --> 5 +6["xcms groupChromPeaks (group)"]@{ shape: process } +5 --> 6 +7["xcms adjustRtime (retcor)"]@{ shape: process } +6 --> 7 +8["Intensity Check"]@{ shape: process } +6 --> 8 +0 --> 8 +6 --> 8 +9["xcms plot chromatogram"]@{ shape: process } +7 --> 9 +0 --> 9 +10["xcms groupChromPeaks (group)"]@{ shape: process } +7 --> 10 +11["xcms fillChromPeaks (fillPeaks)"]@{ shape: process } +10 --> 11 +12["CAMERA.annotate"]@{ shape: process } +11 --> 12 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/lcms-preprocessing/main",tests:[{doc:"Test outline for Mass_spectrometry__LC-MS_preprocessing_with_XCMS",job:{SampleMetadata:{class:"File",identifier:"sampleMetadata.tsv",location:"https://zenodo.org/records/10130758/files/sampleMetadata_12samp_completed.tsv",filetype:"tabular"},"Mass-spectrometry Dataset Collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"Blanc05.mzML",location:"https://zenodo.org/record/10130758/files/Blanc05.mzML",filetype:"mzml"},{class:"File",identifier:"Blanc10.mzML",location:"https://zenodo.org/record/10130758/files/Blanc10.mzML",filetype:"mzml"},{class:"File",identifier:"Blanc16.mzML",location:"https://zenodo.org/record/10130758/files/Blanc16.mzML",filetype:"mzml"},{class:"File",identifier:"HU_neg_048.mzML",location:"https://zenodo.org/record/10130758/files/HU_neg_048.mzML",filetype:"mzml"},{class:"File",identifier:"HU_neg_090.mzML",location:"https://zenodo.org/record/10130758/files/HU_neg_090.mzML",filetype:"mzml"},{class:"File",identifier:"HU_neg_123.mzML",location:"https://zenodo.org/record/10130758/files/HU_neg_123.mzML",filetype:"mzml"},{class:"File",identifier:"HU_neg_157.mzML",location:"https://zenodo.org/record/10130758/files/HU_neg_157.mzML",filetype:"mzml"},{class:"File",identifier:"HU_neg_173.mzML",location:"https://zenodo.org/record/10130758/files/HU_neg_173.mzML",filetype:"mzml"},{class:"File",identifier:"HU_neg_192.mzML",location:"https://zenodo.org/record/10130758/files/HU_neg_192.mzML",filetype:"mzml"},{class:"File",identifier:"QC1_002.mzML",location:"https://zenodo.org/record/10130758/files/QC1_002.mzML",filetype:"mzml"},{class:"File",identifier:"QC1_008.mzML",location:"https://zenodo.org/record/10130758/files/QC1_008.mzML",filetype:"mzml"},{class:"File",identifier:"QC1_014.mzML",location:"https://zenodo.org/record/10130758/files/QC1_014.mzML",filetype:"mzml"}]}},outputs:{"xcms fillChromPeaks dataMatrix":{file:"test-data/xset.merged.groupChromPeaks.adjustRtime.groupChromPeaks.fillpeaks.dataMatrix.tsv"},"CAMERA.annotate variableMetadata":{file:"test-data/xset.merged.groupChromPeaks.adjustRtime.groupChromPeaks.fillChromPeaks.annotate.variableMetadata.tsv"}}}]}],path:"./workflows/metabomics/lcms-preprocessing"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/pox-virus-half-genome.ga",authors:[{name:"Viktoria Isabel Schwarz",orcid:"0000-0001-6897-1215"},{name:"Wolfgang Maier",orcid:"0000-0002-9464-6640"}],definition:{a_galaxy_workflow:"true",annotation:"A workflow for the analysis of pox virus genomes sequenced as half-genomes (for ITR resolution) in a tiled-amplicon approach",comments:[],creator:[{class:"Person",identifier:"https://orcid.org/0000-0001-6897-1215",name:"Viktoria Isabel Schwarz"},{class:"Person",identifier:"https://orcid.org/0000-0002-9464-6640",name:"Wolfgang Maier"}],"format-version":"0.1",license:"MIT",release:"0.2",name:"Pox Virus Illumina Amplicon Workflow from half-genomes",steps:{0:{annotation:"The viral reference sequence to map sequenced reads against",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"The viral reference sequence to map sequenced reads against",name:"Reference FASTA"}],label:"Reference FASTA",name:"Input dataset",outputs:[],position:{left:244.316650390625,top:642.8833312988281},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"f17c7022-fc94-42b5-ae90-7b3ec3d70ffb",when:null,workflow_outputs:[]},1:{annotation:"The workflow expects a primer scheme split into two separate sequencing pools. These pools must be denoted as pool1/pool2 in the BED score column. The pool ids may, optionally, be followed by indicators of the subpool for tiled PCR amplification (e.g., pool1a/pool1b/pool2a/pool2b)",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"The workflow expects a primer scheme split into two separate sequencing pools. These pools must be denoted as pool1/pool2 in the BED score column. The pool ids may, optionally, be followed by indicators of the subpool for tiled PCR amplification (e.g., pool1a/pool1b/pool2a/pool2b)",name:"Primer Scheme"}],label:"Primer Scheme",name:"Input dataset",outputs:[],position:{left:0,top:722},tool_id:null,tool_state:'{"optional": false, "tag": ""}',tool_version:null,type:"data_input",uuid:"1829d4e0-ee74-4a94-8dc5-98a11d96b961",when:null,workflow_outputs:[]},2:{annotation:"A collection of the sequencing data obtained from the **pool1** run of all samples",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"A collection of the sequencing data obtained from the **pool1** run of all samples",name:"PE Reads Pool1"}],label:"PE Reads Pool1",name:"Input dataset collection",outputs:[],position:{left:1261.3000030517578,top:554.6000061035156},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"c154fa4b-feab-49f5-b1d7-b0a070d78a11",when:null,workflow_outputs:[]},3:{annotation:"A collection of the sequencing data obtained from the **pool2** run of all samples",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"A collection of the sequencing data obtained from the **pool2** run of all samples",name:"PE Reads Pool2"}],label:"PE Reads Pool2",name:"Input dataset collection",outputs:[],position:{left:1264.6999969482422,top:664.9666748046875},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list:paired"}',tool_version:null,type:"data_collection_input",uuid:"9c159726-6213-4bf3-a8ef-7e901ae2e1f3",when:null,workflow_outputs:[]},4:{annotation:"Only sequenced bases with at least this base calling quality will be considered for consensus calling.",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"Only sequenced bases with at least this base calling quality will be considered for consensus calling.",name:"Minimum quality score to call base"}],label:"Minimum quality score to call base",name:"Input parameter",outputs:[],position:{left:3694.38330078125,top:984.5999755859375},tool_id:null,tool_state:'{"default": 20, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"43b722a0-385f-4ce7-9255-5041224ae149",when:null,workflow_outputs:[]},5:{annotation:"A consensus **SNV** call requires that the alternate base is seen in at least this fraction of reads covering it.",content_id:null,errors:null,id:5,input_connections:{},inputs:[{description:"A consensus **SNV** call requires that the alternate base is seen in at least this fraction of reads covering it.",name:"Allele frequency to call SNV"}],label:"Allele frequency to call SNV",name:"Input parameter",outputs:[],position:{left:3696.166748046875,top:1097.88330078125},tool_id:null,tool_state:'{"default": 0.7, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"378c2c1d-9250-4871-add1-1744ebd83eea",when:null,workflow_outputs:[]},6:{annotation:"A consensus **indel** call requires that the indel is seen in at least this fraction of reads covering it.",content_id:null,errors:null,id:6,input_connections:{},inputs:[{description:"A consensus **indel** call requires that the indel is seen in at least this fraction of reads covering it.",name:"Allele frequency to call indel"}],label:"Allele frequency to call indel",name:"Input parameter",outputs:[],position:{left:3699.13330078125,top:1211.86669921875},tool_id:null,tool_state:'{"default": 0.8, "parameter_type": "float", "optional": true}',tool_version:null,type:"parameter_input",uuid:"8ccccd63-0323-4791-8549-99b322d27ac3",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/fasta_compute_length/fasta_compute_length/1.0.3",errors:null,id:7,input_connections:{"ref|input":{id:0,output_name:"output"}},inputs:[{description:"runtime parameter for tool Compute sequence length",name:"ref"}],label:null,name:"Compute sequence length",outputs:[{name:"output",type:"tabular"}],position:{left:465.9666748046875,top:438.8666687011719},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/fasta_compute_length/fasta_compute_length/1.0.3",tool_shed_repository:{changeset_revision:"7d37cfda8e00",name:"fasta_compute_length",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"ref": {"ref_source": "history", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}, "keep_first": "0", "keep_first_word": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.3",type:"tool",uuid:"f562eb06-797e-4efb-a464-6d368f573dbe",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"Grep1",errors:null,id:8,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:"Select pool1 primers",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:238.066650390625,top:318.5500030517578},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Pool1 primers"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grep1",tool_state:'{"input": {"__class__": "ConnectedValue"}, "invert": "", "keep_header": false, "pattern": "[p|P]ool1", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"c46843eb-0908-493a-958b-fbc236247626",when:null,workflow_outputs:[{label:"pool1_primers",output_name:"out_file1",uuid:"0159e87f-d2cb-4eed-af76-dbf37e9f79f4"}]},9:{annotation:"",content_id:"Grep1",errors:null,id:9,input_connections:{input:{id:1,output_name:"output"}},inputs:[],label:"Select pool2 primers",name:"Select",outputs:[{name:"out_file1",type:"input"}],position:{left:206.0333251953125,top:917.13330078125},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Pool2 primers"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Grep1",tool_state:'{"input": {"__class__": "ConnectedValue"}, "invert": "", "keep_header": false, "pattern": "[p|P]ool2", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.4",type:"tool",uuid:"edcdbb82-3a77-433d-92c7-4e954af22c0c",when:null,workflow_outputs:[{label:"pool2_primers",output_name:"out_file1",uuid:"6d14606b-2ddf-4a5f-9535-97f5ff2bca20"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",errors:null,id:10,input_connections:{input_collection:{id:2,output_name:"output"}},inputs:[],label:null,name:"Extract element identifiers",outputs:[{name:"output",type:"txt"}],position:{left:1548.6333312988281,top:644.2999877929688},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.2",tool_shed_repository:{changeset_revision:"d3c07d270a50",name:"collection_element_identifiers",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_collection": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.0.2",type:"tool",uuid:"b524acb2-97ff-41b0-ae89-9f8d5b71918d",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0",errors:null,id:11,input_connections:{"single_paired|paired_input":{id:2,output_name:"output"}},inputs:[{description:"runtime parameter for tool fastp",name:"single_paired"}],label:"fastp: Trimmed Illumina Reads Pool1",name:"fastp",outputs:[{name:"output_paired_coll",type:"input"},{name:"report_html",type:"html"},{name:"report_json",type:"json"}],position:{left:2014.4000244140625,top:335.21665954589844},post_job_actions:{RenameDatasetActionoutput_paired_coll:{action_arguments:{newname:"fastp on pool1 - processed reads"},action_type:"RenameDatasetAction",output_name:"output_paired_coll"},RenameDatasetActionreport_html:{action_arguments:{newname:"fastp on pool1 - report"},action_type:"RenameDatasetAction",output_name:"report_html"},TagDatasetActionoutput_paired_coll:{action_arguments:{tags:"#pool1"},action_type:"TagDatasetAction",output_name:"output_paired_coll"},TagDatasetActionreport_html:{action_arguments:{tags:"#pool1"},action_type:"TagDatasetAction",output_name:"report_html"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0",tool_shed_repository:{changeset_revision:"c59d48774d03",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": false, "qualified_quality_phred": null, "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": false, "length_required": null, "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": false, "complexity_threshold": null}}, "output_options": {"report_html": true, "report_json": true}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": false, "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": false, "umi_loc": "", "umi_len": null, "umi_prefix": ""}, "cutting_by_quality_options": {"cut_by_quality5": false, "cut_by_quality3": false, "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": false}}, "single_paired": {"single_paired_selector": "paired_collection", "__current_case__": 2, "paired_input": {"__class__": "ConnectedValue"}, "adapter_trimming_options": {"disable_adapter_trimming": false, "adapter_sequence1": "", "adapter_sequence2": ""}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null, "trim_front2": null, "trim_tail2": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.23.4+galaxy0",type:"tool",uuid:"bf2dc639-b721-4ca5-a1a3-0a55d1185143",when:null,workflow_outputs:[{label:"fastp_pool1_html",output_name:"report_html",uuid:"bc9529db-6ffb-4cd0-84b0-460d8c58de2a"},{label:"fastp_pool1_reads",output_name:"output_paired_coll",uuid:"35f23a63-de11-4b78-a325-683636a1c151"},{label:"fastp_pool1_json",output_name:"report_json",uuid:"1736b78c-f7d9-4d21-a3b0-b20a55f0e470"}]},12:{annotation:"",content_id:"Cut1",errors:null,id:12,input_connections:{input:{id:7,output_name:"output"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:732.38330078125,top:408.96665954589844},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"889acb03-b55a-40fa-a1d9-804e1eb1d958",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",errors:null,id:13,input_connections:{in_file:{id:8,output_name:"out_file1"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"input"}],position:{left:478.13330078125,top:184.21665954589844},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",tool_shed_repository:{changeset_revision:"4c07ddedc198",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "", "header_in": false, "header_out": false, "ignore_case": false, "in_file": {"__class__": "ConnectedValue"}, "narm": false, "need_sort": false, "operations": [{"__index__": 0, "op_name": "max", "op_column": "3"}], "print_full_line": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy0",type:"tool",uuid:"6999e1c0-819e-4f9c-8ec0-75e985802a54",when:null,workflow_outputs:[]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",errors:null,id:14,input_connections:{in_file:{id:9,output_name:"out_file1"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"input"}],position:{left:452.13330078125,top:933.2666625976562},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",tool_shed_repository:{changeset_revision:"4c07ddedc198",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "", "header_in": false, "header_out": false, "ignore_case": false, "in_file": {"__class__": "ConnectedValue"}, "narm": false, "need_sort": false, "operations": [{"__index__": 0, "op_name": "min", "op_column": "2"}], "print_full_line": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy0",type:"tool",uuid:"2130b998-eb44-42dc-81ee-ad098bb5d721",when:null,workflow_outputs:[]},15:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",errors:null,id:15,input_connections:{"split_parms|input":{id:10,output_name:"output"}},inputs:[{description:"runtime parameter for tool Split file",name:"split_parms"}],label:null,name:"Split file",outputs:[{name:"list_output_txt",type:"input"}],position:{left:1801.1333312988281,top:648.816650390625},post_job_actions:{HideDatasetActionlist_output_txt:{action_arguments:{},action_type:"HideDatasetAction",output_name:"list_output_txt"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2",tool_shed_repository:{changeset_revision:"2dae863c8f42",name:"split_file_to_collection",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"split_parms": {"select_ftype": "txt", "__current_case__": 5, "input": {"__class__": "ConnectedValue"}, "select_mode": {"mode": "chunk", "__current_case__": 0, "chunksize": "1"}, "newfilenames": "pool1_ids", "select_allocate": {"allocate": "byrow", "__current_case__": 2}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.5.2",type:"tool",uuid:"b912e921-c821-4ede-86d6-d1752eb18ff7",when:null,workflow_outputs:[]},16:{annotation:"",content_id:"__SORTLIST__",errors:null,id:16,input_connections:{input:{id:3,output_name:"output"},"sort_type|sort_file":{id:10,output_name:"output"}},inputs:[{description:"runtime parameter for tool Sort collection",name:"sort_type"}],label:null,name:"Sort collection",outputs:[{name:"output",type:"input"}],position:{left:1763.3999938964844,top:1043.5999755859375},post_job_actions:{},tool_id:"__SORTLIST__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "sort_type": {"sort_type": "file", "__current_case__": 2, "sort_file": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"83a64b0a-a56a-454b-9c8b-10ff0916fa4b",when:null,workflow_outputs:[{label:"input dataset(s) (sorted)",output_name:"output",uuid:"84d9f9ca-c0ef-4c3a-9ae6-dd58a3ad54e0"}]},17:{annotation:"",content_id:"param_value_from_file",errors:null,id:17,input_connections:{input1:{id:12,output_name:"out_file1"}},inputs:[],label:"Get end position of sequence",name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:971,top:252.71665954589844},post_job_actions:{HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"ec25cd53-697b-4de1-91fd-4cf6d08af23d",when:null,workflow_outputs:[]},18:{annotation:"",content_id:"param_value_from_file",errors:null,id:18,input_connections:{input1:{id:13,output_name:"out_file"}},inputs:[],label:"Get end position of Pool1",name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:725.433349609375,top:108.66667175292969},post_job_actions:{HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"27c913a7-f1cc-47ec-8e19-a942cd5ce8a3",when:null,workflow_outputs:[]},19:{annotation:"",content_id:"param_value_from_file",errors:null,id:19,input_connections:{input1:{id:14,output_name:"out_file"}},inputs:[],label:"Get start position of Pool2",name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:707.1500244140625,top:933.75},post_job_actions:{HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"33b91954-218c-46bf-9cf8-8a0d9535c1be",when:null,workflow_outputs:[]},20:{annotation:"",content_id:"param_value_from_file",errors:null,id:20,input_connections:{input1:{id:15,output_name:"list_output_txt"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"text_param",type:"expression.json"}],position:{left:2063.7833251953125,top:621.2166748046875},post_job_actions:{HideDatasetActiontext_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"text_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "text", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"3b0c55ad-66dc-4ce2-9525-f0982ab5f8a7",when:null,workflow_outputs:[]},21:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0",errors:null,id:21,input_connections:{"single_paired|paired_input":{id:16,output_name:"output"}},inputs:[{description:"runtime parameter for tool fastp",name:"single_paired"}],label:"fastp: Trimmed Illumina Reads Pool2",name:"fastp",outputs:[{name:"output_paired_coll",type:"input"},{name:"report_html",type:"html"},{name:"report_json",type:"json"}],position:{left:2007.3499755859375,top:1011.933349609375},post_job_actions:{RenameDatasetActionoutput_paired_coll:{action_arguments:{newname:"fastp on pool2 - processed reads"},action_type:"RenameDatasetAction",output_name:"output_paired_coll"},RenameDatasetActionreport_html:{action_arguments:{newname:"fastp on pool2 - report"},action_type:"RenameDatasetAction",output_name:"report_html"},TagDatasetActionoutput_paired_coll:{action_arguments:{tags:"#pool2"},action_type:"TagDatasetAction",output_name:"output_paired_coll"},TagDatasetActionreport_html:{action_arguments:{tags:"#pool2"},action_type:"TagDatasetAction",output_name:"report_html"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0",tool_shed_repository:{changeset_revision:"c59d48774d03",name:"fastp",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filter_options": {"quality_filtering_options": {"disable_quality_filtering": false, "qualified_quality_phred": null, "unqualified_percent_limit": null, "n_base_limit": null}, "length_filtering_options": {"disable_length_filtering": false, "length_required": null, "length_limit": null}, "low_complexity_filter": {"enable_low_complexity_filter": false, "complexity_threshold": null}}, "output_options": {"report_html": true, "report_json": true}, "overrepresented_sequence_analysis": {"overrepresentation_analysis": false, "overrepresentation_sampling": null}, "read_mod_options": {"polyg_tail_trimming": {"trimming_select": "", "__current_case__": 1, "poly_g_min_len": null}, "polyx_tail_trimming": {"polyx_trimming_select": "", "__current_case__": 1}, "umi_processing": {"umi": false, "umi_loc": "", "umi_len": null, "umi_prefix": ""}, "cutting_by_quality_options": {"cut_by_quality5": false, "cut_by_quality3": false, "cut_window_size": null, "cut_mean_quality": null}, "base_correction_options": {"correction": false}}, "single_paired": {"single_paired_selector": "paired_collection", "__current_case__": 2, "paired_input": {"__class__": "ConnectedValue"}, "adapter_trimming_options": {"disable_adapter_trimming": false, "adapter_sequence1": "", "adapter_sequence2": ""}, "global_trimming_options": {"trim_front1": null, "trim_tail1": null, "trim_front2": null, "trim_tail2": null}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.23.4+galaxy0",type:"tool",uuid:"9c9dcad3-f146-42fb-9fbc-650703ecc901",when:null,workflow_outputs:[{label:"fastp_pool2_json",output_name:"report_json",uuid:"238d7dcd-ffc8-48ad-922a-8577d71bb998"},{label:"fastp_pool2_reads",output_name:"output_paired_coll",uuid:"0d6bd58c-00bf-45e5-bec6-edffd77e962f"},{label:"fastp_pool2_html",output_name:"report_html",uuid:"794a733f-a08b-4577-9ca0-7eda43e1aaf8"}]},22:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:22,input_connections:{"components_0|param_type|component_value":{id:18,output_name:"text_param"},"components_2|param_type|component_value":{id:17,output_name:"text_param"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:1201.9166717529297,top:102.05000305175781},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "-"}}, {"__index__": 2, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"cfe61da6-24c0-4f7c-9ef0-428edd13b964",when:null,workflow_outputs:[]},23:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:23,input_connections:{"components_1|param_type|component_value":{id:19,output_name:"text_param"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:966.2333374023438,top:920.86669921875},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "1-"}}, {"__index__": 1, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"576bae3e-38d9-48cb-8afc-80d10e1cd43f",when:null,workflow_outputs:[]},24:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:24,input_connections:{"components_0|param_type|component_value":{id:20,output_name:"text_param"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:2326.9833374023438,top:586.8500061035156},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "_pool1"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"874cd418-17df-4ccf-b66e-869601aec73b",when:null,workflow_outputs:[]},25:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:25,input_connections:{"components_0|param_type|component_value":{id:20,output_name:"text_param"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:2314.183349609375,top:1257.86669921875},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "_pool2"}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"f121cfa5-f48e-4eb4-b40b-f078b3f52987",when:null,workflow_outputs:[]},26:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/emboss_5/EMBOSS: maskseq51/5.0.0",errors:null,id:26,input_connections:{input1:{id:0,output_name:"output"},regions:{id:22,output_name:"out1"}},inputs:[],label:"Mask Reference for Pool1",name:"maskseq",outputs:[{name:"out_file1",type:"fasta"}],position:{left:1452.6333312988281,top:278.1666717529297},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Masked reference for mapping of pool1"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/emboss_5/EMBOSS: maskseq51/5.0.0",tool_shed_repository:{changeset_revision:"ce385837c160",name:"emboss_5",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input1": {"__class__": "ConnectedValue"}, "maskchar": "N", "out_format1": "fasta", "regions": {"__class__": "ConnectedValue"}, "tolower": "no", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.0.0",type:"tool",uuid:"3c8b86c1-7e53-4b72-b836-88a921a368ba",when:null,workflow_outputs:[{label:"masked_ref_pool1",output_name:"out_file1",uuid:"0c3b5b20-c426-428c-a08b-c835a82477c1"}]},27:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/emboss_5/EMBOSS: maskseq51/5.0.0",errors:null,id:27,input_connections:{input1:{id:0,output_name:"output"},regions:{id:23,output_name:"out1"}},inputs:[],label:"Mask Reference for Pool2",name:"maskseq",outputs:[{name:"out_file1",type:"fasta"}],position:{left:1350.1000061035156,top:851},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Masked reference for mapping of pool2"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/emboss_5/EMBOSS: maskseq51/5.0.0",tool_shed_repository:{changeset_revision:"ce385837c160",name:"emboss_5",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input1": {"__class__": "ConnectedValue"}, "maskchar": "N", "out_format1": "fasta", "regions": {"__class__": "ConnectedValue"}, "tolower": "no", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.0.0",type:"tool",uuid:"140608b3-48b3-46f2-92e3-2b9c3fb9e3b2",when:null,workflow_outputs:[{label:"masked_ref_pool2",output_name:"out_file1",uuid:"af755a5e-2b20-49bc-9d52-34781f937f48"}]},28:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.18",errors:null,id:28,input_connections:{"fastq_input|fastq_input1":{id:11,output_name:"output_paired_coll"},"reference_source|ref_file":{id:26,output_name:"out_file1"},"rg|read_group_id_conditional|ID":{id:24,output_name:"out1"}},inputs:[{description:"runtime parameter for tool Map with BWA-MEM",name:"fastq_input"},{description:"runtime parameter for tool Map with BWA-MEM",name:"reference_source"}],label:null,name:"Map with BWA-MEM",outputs:[{name:"bam_output",type:"bam"}],position:{left:2542.316650390625,top:98.73333740234375},post_job_actions:{RenameDatasetActionbam_output:{action_arguments:{newname:"Mapping of Pool1"},action_type:"RenameDatasetAction",output_name:"bam_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.18",tool_shed_repository:{changeset_revision:"2477830927ec",name:"bwa",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"analysis_type": {"analysis_type_selector": "illumina", "__current_case__": 0}, "fastq_input": {"fastq_input_selector": "paired_collection", "__current_case__": 2, "fastq_input1": {"__class__": "ConnectedValue"}, "iset_stats": ""}, "output_sort": "coordinate", "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}, "index_a": "auto"}, "rg": {"rg_selector": "set", "__current_case__": 1, "read_group_id_conditional": {"do_auto_name": false, "__current_case__": 1, "ID": {"__class__": "ConnectedValue"}}, "read_group_sm_conditional": {"do_auto_name": true, "__current_case__": 0}, "PL": "ILLUMINA", "read_group_lb_conditional": {"do_auto_name": false, "__current_case__": 1, "LB": ""}, "CN": "", "DS": "", "DT": "", "FO": "", "KS": "", "PG": "", "PI": null, "PU": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.7.18",type:"tool",uuid:"c0a73a1f-0a76-40b6-bdd7-259e59ba2d94",when:null,workflow_outputs:[{label:"Mapping of Pool1",output_name:"bam_output",uuid:"a9caa907-b6bf-4af9-94f4-51422194b076"}]},29:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.18",errors:null,id:29,input_connections:{"fastq_input|fastq_input1":{id:21,output_name:"output_paired_coll"},"reference_source|ref_file":{id:27,output_name:"out_file1"},"rg|read_group_id_conditional|ID":{id:25,output_name:"out1"}},inputs:[{description:"runtime parameter for tool Map with BWA-MEM",name:"fastq_input"},{description:"runtime parameter for tool Map with BWA-MEM",name:"reference_source"}],label:null,name:"Map with BWA-MEM",outputs:[{name:"bam_output",type:"bam"}],position:{left:2538.550048828125,top:838.8333129882812},post_job_actions:{RenameDatasetActionbam_output:{action_arguments:{newname:"Mapping of Pool2"},action_type:"RenameDatasetAction",output_name:"bam_output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.18",tool_shed_repository:{changeset_revision:"2477830927ec",name:"bwa",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"analysis_type": {"analysis_type_selector": "illumina", "__current_case__": 0}, "fastq_input": {"fastq_input_selector": "paired_collection", "__current_case__": 2, "fastq_input1": {"__class__": "ConnectedValue"}, "iset_stats": ""}, "output_sort": "coordinate", "reference_source": {"reference_source_selector": "history", "__current_case__": 1, "ref_file": {"__class__": "ConnectedValue"}, "index_a": "auto"}, "rg": {"rg_selector": "set", "__current_case__": 1, "read_group_id_conditional": {"do_auto_name": false, "__current_case__": 1, "ID": {"__class__": "ConnectedValue"}}, "read_group_sm_conditional": {"do_auto_name": true, "__current_case__": 0}, "PL": "ILLUMINA", "read_group_lb_conditional": {"do_auto_name": false, "__current_case__": 1, "LB": ""}, "CN": "", "DS": "", "DT": "", "FO": "", "KS": "", "PG": "", "PI": null, "PU": ""}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.7.18",type:"tool",uuid:"4dfc264e-7453-4c5f-a073-9e2bff28dc9c",when:null,workflow_outputs:[{label:"mapping_pool2",output_name:"bam_output",uuid:"6f18769d-0650-42f1-9a5d-b57dbe27e50f"}]},30:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2",errors:null,id:30,input_connections:{input:{id:28,output_name:"bam_output"}},inputs:[],label:null,name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:2788.683349609375,top:298.3500061035156},post_job_actions:{RenameDatasetActionoutputsam:{action_arguments:{newname:"Filtered mapping of pool1"},action_type:"RenameDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2",tool_shed_repository:{changeset_revision:"6be888be75f9",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "quality": "20", "library": "", "cigarcons": null, "inclusive_filter": ["1", "2"], "exclusive_filter": null, "exclusive_filter_all": null, "tag": "", "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "fraction", "__current_case__": 0, "factor": "1.0", "seed": null}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.15.1+galaxy2",type:"tool",uuid:"16002ad4-640a-4e3c-bf60-dbcb05de92ae",when:null,workflow_outputs:[{label:"filtered_mapping_pool1",output_name:"outputsam",uuid:"deed668a-97fc-44cb-9671-0a9d1805a5ff"}]},31:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.5",errors:null,id:31,input_connections:{input:{id:28,output_name:"bam_output"}},inputs:[],label:null,name:"Samtools stats",outputs:[{name:"output",type:"tabular"}],position:{left:2906.0166015625,top:157},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Mapping stats for pool1"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.5",tool_shed_repository:{changeset_revision:"fed4aa48ba09",name:"samtools_stats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "cond_region": {"select_region": "no", "__current_case__": 0}, "cov_threshold": null, "coverage_cond": {"coverage_select": "no", "__current_case__": 0}, "filter_by_flags": {"filter_flags": "nofilter", "__current_case__": 1}, "gc_depth": null, "input": {"__class__": "ConnectedValue"}, "insert_size": null, "most_inserts": null, "read_group": null, "read_length": null, "remove_dups": false, "remove_overlaps": false, "sparse": false, "split_output_cond": {"split_output_selector": "no", "__current_case__": 0}, "trim_quality": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.5",type:"tool",uuid:"cc2b1c1d-5eac-4b0f-8864-44a230b47510",when:null,workflow_outputs:[{label:"mapping_stats_pool1",output_name:"output",uuid:"325f7653-63c3-4081-aa4c-d351184e6990"}]},32:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2",errors:null,id:32,input_connections:{input:{id:29,output_name:"bam_output"}},inputs:[],label:null,name:"Samtools view",outputs:[{name:"outputsam",type:"input"}],position:{left:2794.7833251953125,top:827.0833129882812},post_job_actions:{RenameDatasetActionoutputsam:{action_arguments:{newname:"Filtered mapping of pool2"},action_type:"RenameDatasetAction",output_name:"outputsam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2",tool_shed_repository:{changeset_revision:"6be888be75f9",name:"samtools_view",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "input": {"__class__": "ConnectedValue"}, "mode": {"outtype": "selected_reads", "__current_case__": 1, "filter_config": {"cond_region": {"select_region": "no", "__current_case__": 0}, "cond_rg": {"select_rg": "no", "__current_case__": 0}, "quality": "20", "library": "", "cigarcons": null, "inclusive_filter": ["1", "2"], "exclusive_filter": null, "exclusive_filter_all": null, "tag": "", "qname_file": {"__class__": "RuntimeValue"}}, "subsample_config": {"subsampling_mode": {"select_subsample": "fraction", "__current_case__": 0, "factor": "1.0", "seed": null}}, "output_options": {"reads_report_type": "retained", "__current_case__": 0, "complementary_output": false, "adv_output": {"readtags": [], "collapsecigar": false}, "output_format": {"oformat": "bam", "__current_case__": 2}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.15.1+galaxy2",type:"tool",uuid:"229c546c-d0bb-4152-b01a-719085f0e830",when:null,workflow_outputs:[{label:"filtered_mapping_pool2",output_name:"outputsam",uuid:"d8e8f874-6bb1-42ae-8025-c7cfd5345385"}]},33:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.5",errors:null,id:33,input_connections:{input:{id:29,output_name:"bam_output"}},inputs:[],label:null,name:"Samtools stats",outputs:[{name:"output",type:"tabular"}],position:{left:2873.7833251953125,top:1029.5333251953125},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Mapping stats for pool2"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.5",tool_shed_repository:{changeset_revision:"fed4aa48ba09",name:"samtools_stats",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"addref_cond": {"addref_select": "no", "__current_case__": 0}, "cond_region": {"select_region": "no", "__current_case__": 0}, "cov_threshold": null, "coverage_cond": {"coverage_select": "no", "__current_case__": 0}, "filter_by_flags": {"filter_flags": "nofilter", "__current_case__": 1}, "gc_depth": null, "input": {"__class__": "ConnectedValue"}, "insert_size": null, "most_inserts": null, "read_group": null, "read_length": null, "remove_dups": false, "remove_overlaps": false, "sparse": false, "split_output_cond": {"split_output_selector": "no", "__current_case__": 0}, "trim_quality": null, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.5",type:"tool",uuid:"1f931160-fc0a-4768-bf44-730dd4f42cda",when:null,workflow_outputs:[{label:"mapping_stats_pool2",output_name:"output",uuid:"b27308f7-9c7b-444d-a13a-96f358a4d2ba"}]},34:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",errors:null,id:34,input_connections:{"results_0|software_cond|input":{id:11,output_name:"report_json"},"results_1|software_cond|output_0|type|input":{id:31,output_name:"output"}},inputs:[],label:null,name:"MultiQC",outputs:[{name:"stats",type:"input"},{name:"html_report",type:"html"}],position:{left:3134.6500244140625,top:0},post_job_actions:{RenameDatasetActionhtml_report:{action_arguments:{newname:"Quality Report (sequencing pool)"},action_type:"RenameDatasetAction",output_name:"html_report"},TagDatasetActionhtml_report:{action_arguments:{tags:"🔍"},action_type:"TagDatasetAction",output_name:"html_report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",tool_shed_repository:{changeset_revision:"abfd8a6544d7",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "samtools", "__current_case__": 24, "output": [{"__index__": 0, "type": {"type": "stats", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}]}}], "saveLog": false, "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.11+galaxy1",type:"tool",uuid:"e69dc815-e73b-4003-b556-37a82db778fd",when:null,workflow_outputs:[{label:"multiqc_pool1_stats",output_name:"stats",uuid:"d7c05c17-8a9d-4f6d-8f66-d4bafeb78152"},{label:"pool1_quality_report",output_name:"html_report",uuid:"3bb518fd-cd6b-4f99-8dd6-f86eb5d63005"}]},35:{annotation:"",content_id:"__ZIP_COLLECTION__",errors:null,id:35,input_connections:{input_forward:{id:30,output_name:"outputsam"},input_reverse:{id:32,output_name:"outputsam"}},inputs:[],label:null,name:"Zip collections",outputs:[{name:"output",type:"input"}],position:{left:3010.183349609375,top:585.2833251953125},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__ZIP_COLLECTION__",tool_state:'{"input_forward": {"__class__": "ConnectedValue"}, "input_reverse": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"b6493f6e-f845-43b9-8f8e-a26a270b9547",when:null,workflow_outputs:[]},36:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",errors:null,id:36,input_connections:{"results_0|software_cond|input":{id:21,output_name:"report_json"},"results_1|software_cond|output_0|type|input":{id:33,output_name:"output"}},inputs:[],label:null,name:"MultiQC",outputs:[{name:"stats",type:"input"},{name:"html_report",type:"html"}],position:{left:3106.3333740234375,top:1146.316650390625},post_job_actions:{RenameDatasetActionhtml_report:{action_arguments:{newname:"Quality Report (sequenced pools)"},action_type:"RenameDatasetAction",output_name:"html_report"},TagDatasetActionhtml_report:{action_arguments:{tags:"🔍"},action_type:"TagDatasetAction",output_name:"html_report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",tool_shed_repository:{changeset_revision:"abfd8a6544d7",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "fastp", "__current_case__": 7, "input": {"__class__": "ConnectedValue"}}}, {"__index__": 1, "software_cond": {"software": "samtools", "__current_case__": 24, "output": [{"__index__": 0, "type": {"type": "stats", "__current_case__": 0, "input": {"__class__": "ConnectedValue"}}}]}}], "saveLog": false, "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.11+galaxy1",type:"tool",uuid:"ee53d363-2fc7-4eb7-82fd-dfd3bea3d938",when:null,workflow_outputs:[{label:"pool2_quality_report",output_name:"html_report",uuid:"600931e4-238e-4c6f-b016-1f1347bab8d3"},{label:"multiqc_pool2_stats",output_name:"stats",uuid:"0c6a719b-3b91-4de4-bfca-f4e1a432fa21"}]},37:{annotation:"",content_id:"__APPLY_RULES__",errors:null,id:37,input_connections:{input:{id:35,output_name:"output"}},inputs:[],label:null,name:"Apply rules",outputs:[{name:"output",type:"input"}],position:{left:3239.2833251953125,top:599.3500061035156},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__APPLY_RULES__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "rules": {"mapping": [{"collapsible_value": {"__class__": "RuntimeValue"}, "columns": [0, 1], "connectable": true, "editing": false, "is_workflow": false, "type": "list_identifiers"}], "rules": [{"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier0", "warn": null}, {"collapsible_value": {"__class__": "RuntimeValue"}, "connectable": true, "error": null, "is_workflow": false, "type": "add_column_metadata", "value": "identifier1", "warn": null}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.1.0",type:"tool",uuid:"6de011ce-321e-40e7-a37a-a55a63683e49",when:null,workflow_outputs:[]},38:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_merge/samtools_merge/1.15.1+galaxy2",errors:null,id:38,input_connections:{bamfiles:{id:37,output_name:"output"}},inputs:[{description:"runtime parameter for tool Samtools merge",name:"bed_file"},{description:"runtime parameter for tool Samtools merge",name:"headerbam"}],label:null,name:"Samtools merge",outputs:[{name:"output",type:"bam"}],position:{left:3470,top:508.5},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Merged Mappings of both pools"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/samtools_merge/samtools_merge/1.15.1+galaxy2",tool_shed_repository:{changeset_revision:"65a38e8c8e2a",name:"samtools_merge",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"bamfiles": {"__class__": "ConnectedValue"}, "bed_file": {"__class__": "RuntimeValue"}, "headerbam": {"__class__": "RuntimeValue"}, "idpg": true, "idrg": false, "region": "", "seed": "1", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.15.1+galaxy2",type:"tool",uuid:"8ae30344-c06e-4951-b0e9-45cb102253aa",when:null,workflow_outputs:[{label:"mapping_merged",output_name:"output",uuid:"88e8b60f-bb4c-4ef0-aa13-e84c7157718c"}]},39:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/qualimap_bamqc/qualimap_bamqc/2.2.2d+galaxy3",errors:null,id:39,input_connections:{input1:{id:38,output_name:"output"}},inputs:[],label:null,name:"QualiMap BamQC",outputs:[{name:"raw_data",type:"input"},{name:"output_html",type:"html"}],position:{left:3658.35009765625,top:175.5500030517578},post_job_actions:{RenameDatasetActionoutput_html:{action_arguments:{newname:"QualiMap BamQC report for merged mappings"},action_type:"RenameDatasetAction",output_name:"output_html"},TagDatasetActionoutput_html:{action_arguments:{tags:"🔍"},action_type:"TagDatasetAction",output_name:"output_html"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/qualimap_bamqc/qualimap_bamqc/2.2.2d+galaxy3",tool_shed_repository:{changeset_revision:"19ece8afbaab",name:"qualimap_bamqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"duplicate_skipping": ["0"], "input1": {"__class__": "ConnectedValue"}, "per_base_coverage": false, "plot_specific": {"n_bins": "400", "paint_chromosome_limits": true, "genome_gc_distr": null, "homopolymer_size": "3"}, "stats_regions": {"region_select": "all", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.2.2d+galaxy3",type:"tool",uuid:"e02ad651-ed91-41e0-ade2-633f63464ae9",when:null,workflow_outputs:[{label:"qualimap_pool1_raw",output_name:"raw_data",uuid:"f27a8689-62fb-4b4e-b179-ed1490df3767"},{label:"qualimap_merged_html",output_name:"output_html",uuid:"51471b47-e71a-4b5f-828c-0166cc42a8a0"}]},40:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.4.2+galaxy0",errors:null,id:40,input_connections:{input_bam:{id:38,output_name:"output"},"primer|input_bed":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool ivar trim",name:"primer"}],label:null,name:"ivar trim",outputs:[{name:"output_bam",type:"bam"}],position:{left:3704.14990234375,top:694.8333129882812},post_job_actions:{RenameDatasetActionoutput_bam:{action_arguments:{newname:"Primer trimmed merged mapped reads"},action_type:"RenameDatasetAction",output_name:"output_bam"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.4.2+galaxy0",tool_shed_repository:{changeset_revision:"86a20ae274fc",name:"ivar_trim",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"amplicons": {"filter_by": "yes_compute", "__current_case__": 0}, "inc_primers": true, "input_bam": {"__class__": "ConnectedValue"}, "min_len": "30", "min_qual": "20", "primer": {"source": "history", "__current_case__": 0, "input_bed": {"__class__": "ConnectedValue"}}, "primer_pos_wiggle": "0", "trimmed_length": {"filter": "auto", "__current_case__": 1}, "window_width": "4", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.4.2+galaxy0",type:"tool",uuid:"735ed414-14ed-475c-a01b-c13cc5e708d9",when:null,workflow_outputs:[{label:"trimmed_merged_mapping",output_name:"output_bam",uuid:"9dffaa75-2a82-40da-8e0d-dd6320f5e3cd"}]},41:{annotation:"",content_id:"__FILTER_FAILED_DATASETS__",errors:null,id:41,input_connections:{input:{id:39,output_name:"raw_data"}},inputs:[],label:null,name:"Filter failed datasets",outputs:[{name:"output",type:"input"}],position:{left:3874.11669921875,top:5.6666717529296875},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__FILTER_FAILED_DATASETS__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"48597f73-b230-4bc3-8c52-fbfcd1d11392",when:null,workflow_outputs:[]},42:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_consensus/ivar_consensus/1.4.2+galaxy0",errors:null,id:42,input_connections:{input_bam:{id:40,output_name:"output_bam"},min_freq:{id:5,output_name:"output"},min_indel_freq:{id:6,output_name:"output"},min_qual:{id:4,output_name:"output"}},inputs:[],label:null,name:"ivar consensus",outputs:[{name:"consensus",type:"fasta"}],position:{left:3963.7666015625,top:737.2333374023438},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ivar_consensus/ivar_consensus/1.4.2+galaxy0",tool_shed_repository:{changeset_revision:"40737febe339",name:"ivar_consensus",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"depth_action": "-n N", "input_bam": {"__class__": "ConnectedValue"}, "min_depth": "50", "min_freq": {"__class__": "ConnectedValue"}, "min_indel_freq": {"__class__": "ConnectedValue"}, "min_qual": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.4.2+galaxy0",type:"tool",uuid:"e2ae5c77-f8f6-42a8-b44e-be7afac35cd9",when:null,workflow_outputs:[{label:"ivar_consensus_out",output_name:"consensus",uuid:"eb5ded94-5ee3-4b8b-a756-11b13b4d24d2"}]},43:{annotation:"",content_id:"__FLATTEN__",errors:null,id:43,input_connections:{input:{id:41,output_name:"output"}},inputs:[],label:null,name:"Flatten collection",outputs:[{name:"output",type:"input"}],position:{left:3990.166748046875,top:203.68333435058594},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"__FLATTEN__",tool_state:'{"input": {"__class__": "ConnectedValue"}, "join_identifier": "_", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.0",type:"tool",uuid:"b60960bb-6a5c-4088-bc9b-ce5ae83df5bf",when:null,workflow_outputs:[]},44:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",errors:null,id:44,input_connections:{infile:{id:42,output_name:"consensus"}},inputs:[],label:null,name:"Text transformation",outputs:[{name:"output",type:"input"}],position:{left:4200.7666015625,top:960.9833374023438},post_job_actions:{RenameDatasetActionoutput:{action_arguments:{newname:"Per-sample consensus sequences"},action_type:"RenameDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"fbf99087e067",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "code": "/^>/s/Consensus_(.*)_threshold_.*/\\\\1/", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"54fc1053-c37e-44ff-a198-d2a893d6b415",when:null,workflow_outputs:[{label:"per_sample_consensus",output_name:"output",uuid:"f26548a3-4473-4dac-999c-51b624899a58"}]},45:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",errors:null,id:45,input_connections:{"results_0|software_cond|input":{id:43,output_name:"output"}},inputs:[],label:null,name:"MultiQC",outputs:[{name:"stats",type:"input"},{name:"html_report",type:"html"}],position:{left:4218.13330078125,top:200.68333435058594},post_job_actions:{RenameDatasetActionhtml_report:{action_arguments:{newname:"Quality Report (samples)"},action_type:"RenameDatasetAction",output_name:"html_report"},TagDatasetActionhtml_report:{action_arguments:{tags:"🔍"},action_type:"TagDatasetAction",output_name:"html_report"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1",tool_shed_repository:{changeset_revision:"abfd8a6544d7",name:"multiqc",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"comment": "", "export": false, "flat": false, "results": [{"__index__": 0, "software_cond": {"software": "qualimap", "__current_case__": 20, "input": {"__class__": "ConnectedValue"}}}], "saveLog": false, "title": "", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.11+galaxy1",type:"tool",uuid:"798f3fc5-4165-4594-ba13-0d11e0acf95c",when:null,workflow_outputs:[{label:"quality_by_sample_report",output_name:"html_report",uuid:"b00e6c4d-99c5-41b8-90f7-8a51320ec02f"},{label:"multiqc_sample_stats",output_name:"stats",uuid:"90ba0204-4d91-47f6-9039-15d50065f56c"}]},46:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1",errors:null,id:46,input_connections:{inputs:{id:44,output_name:"output"}},inputs:[],label:null,name:"Concatenate datasets",outputs:[{name:"out_file1",type:"input"}],position:{left:4448.88330078125,top:963.13330078125},post_job_actions:{RenameDatasetActionout_file1:{action_arguments:{newname:"Combined Consensus Genomes"},action_type:"RenameDatasetAction",output_name:"out_file1"},TagDatasetActionout_file1:{action_arguments:{tags:"🏁"},action_type:"TagDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1",tool_shed_repository:{changeset_revision:"fbf99087e067",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"inputs": {"__class__": "ConnectedValue"}, "queries": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"6a39c34c-ef4c-4a94-8ac1-f244bdc87f98",when:null,workflow_outputs:[{label:"combined_consensus_multifasta",output_name:"out_file1",uuid:"a088a17e-ff50-4545-a64c-f150da167bd4"}]}},tags:["pox","virology"],uuid:"f8552617-4af2-4fa6-883f-0d605225939e",version:1},readme:`# Pox Virus Illumina Amplicon Workflow for half-genomes sequencing data This workflow generates consensus sequences from Illumina PE-sequenced ARTIC data of pox virus samples. @@ -3950,7 +7577,116 @@ It requires that all samples have been sequenced in two halves in two separate s The workflow uses BWA-MEM for mapping the reads from each half-genome sequencing run to a correspondingly masked version of the reference genome, merges the resulting two read mappings, and uses iVar for primer trimming and consensus sequence generation. -Conceptually, this workflow builds on https://github.com/iwc-workflows/sars-cov-2-pe-illumina-artic-ivar-analysis and adds the logic for the split genome mapping and merging of the results.`,changelog:"# Changelog\n\n## [0.2] 2024-06-19\n\n### Tool version updates\n\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated tp `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.18`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.4` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.5`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_merge/samtools_merge/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_merge/samtools_merge/1.15.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.3.1+galaxy6` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.4.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ivar_consensus/ivar_consensus/1.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ivar_consensus/ivar_consensus/1.4.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n\n## [0.1]\n\nInitial version of Pox Virus Illumina Amplicon workflow (iVar based) for half-genomes sequencing data\n",trsID:"#workflow/github.com/iwc-workflows/pox-virus-amplicon/main"}],path:"./workflows/virology/pox-virus-amplicon"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Purging-duplicates-one-haplotype-VGP6b.ga",testParameterFiles:["/Purging-duplicates-one-haplotype-VGP6b-tests.yml"],authors:[{name:"Galaxy"},{name:"VGP",url:"https://vertebrategenomeproject.org"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"Galaxy"},{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.7.1",name:"Purging-duplicates-one-haplotype-VGP6b ",report:{markdown:` +Conceptually, this workflow builds on https://github.com/iwc-workflows/sars-cov-2-pe-illumina-artic-ivar-analysis and adds the logic for the split genome mapping and merging of the results.`,changelog:"# Changelog\n\n## [0.2] 2024-06-19\n\n### Tool version updates\n\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated tp `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.18`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.4` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.5`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_merge/samtools_merge/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_merge/samtools_merge/1.15.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.3.1+galaxy6` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.4.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ivar_consensus/ivar_consensus/1.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ivar_consensus/ivar_consensus/1.4.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n\n## [0.1]\n\nInitial version of Pox Virus Illumina Amplicon workflow (iVar based) for half-genomes sequencing data\n",diagrams:`# Workflow diagrams + +## Pox Virus Illumina Amplicon Workflow from half-genomes + +\`\`\`mermaid +graph LR +0["ℹ️ Reference FASTA"]@{ shape: doc } +1["ℹ️ Primer Scheme"]@{ shape: doc } +2["ℹ️ PE Reads Pool1"]@{ shape: docs } +3["ℹ️ PE Reads Pool2"]@{ shape: docs } +4["ℹ️ Minimum quality score to call base"]@{ shape: lean-l } +5["ℹ️ Allele frequency to call SNV"]@{ shape: lean-l } +6["ℹ️ Allele frequency to call indel"]@{ shape: lean-l } +7["Compute sequence length"]@{ shape: process } +0 --> 7 +8["Select pool1 primers"]@{ shape: process } +1 --> 8 +9["Select pool2 primers"]@{ shape: process } +1 --> 9 +10["Extract element identifiers"]@{ shape: process } +2 --> 10 +11["fastp: Trimmed Illumina Reads Pool1"]@{ shape: process } +2 --> 11 +12["Cut"]@{ shape: process } +7 --> 12 +13["Datamash"]@{ shape: process } +8 --> 13 +14["Datamash"]@{ shape: process } +9 --> 14 +15["Split file"]@{ shape: process } +10 --> 15 +16["Sort collection"]@{ shape: process } +3 --> 16 +10 --> 16 +17["Get end position of sequence"]@{ shape: process } +12 --> 17 +18["Get end position of Pool1"]@{ shape: process } +13 --> 18 +19["Get start position of Pool2"]@{ shape: process } +14 --> 19 +20["Parse parameter value"]@{ shape: process } +15 --> 20 +21["fastp: Trimmed Illumina Reads Pool2"]@{ shape: process } +16 --> 21 +22["Compose text parameter value"]@{ shape: process } +18 --> 22 +17 --> 22 +23["Compose text parameter value"]@{ shape: process } +19 --> 23 +24["Compose text parameter value"]@{ shape: process } +20 --> 24 +25["Compose text parameter value"]@{ shape: process } +20 --> 25 +26["Mask Reference for Pool1"]@{ shape: process } +0 --> 26 +22 --> 26 +27["Mask Reference for Pool2"]@{ shape: process } +0 --> 27 +23 --> 27 +28["Map with BWA-MEM"]@{ shape: process } +11 --> 28 +26 --> 28 +24 --> 28 +29["Map with BWA-MEM"]@{ shape: process } +21 --> 29 +27 --> 29 +25 --> 29 +30["Samtools view"]@{ shape: process } +28 --> 30 +31["Samtools stats"]@{ shape: process } +28 --> 31 +32["Samtools view"]@{ shape: process } +29 --> 32 +33["Samtools stats"]@{ shape: process } +29 --> 33 +34["MultiQC"]@{ shape: process } +11 --> 34 +31 --> 34 +35["Zip collections"]@{ shape: process } +30 --> 35 +32 --> 35 +36["MultiQC"]@{ shape: process } +21 --> 36 +33 --> 36 +37["Apply rules"]@{ shape: process } +35 --> 37 +38["Samtools merge"]@{ shape: process } +37 --> 38 +39["QualiMap BamQC"]@{ shape: process } +38 --> 39 +40["ivar trim"]@{ shape: process } +38 --> 40 +1 --> 40 +41["Filter failed datasets"]@{ shape: process } +39 --> 41 +42["ivar consensus"]@{ shape: process } +40 --> 42 +5 --> 42 +6 --> 42 +4 --> 42 +43["Flatten collection"]@{ shape: process } +41 --> 43 +44["Text transformation"]@{ shape: process } +42 --> 44 +45["MultiQC"]@{ shape: process } +43 --> 45 +46["Concatenate datasets"]@{ shape: process } +44 --> 46 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/pox-virus-amplicon/main"}],path:"./workflows/virology/pox-virus-amplicon"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Purging-duplicates-one-haplotype-VGP6b.ga",testParameterFiles:["/Purging-duplicates-one-haplotype-VGP6b-tests.yml"],authors:[{name:"Galaxy"},{name:"VGP",url:"https://vertebrategenomeproject.org"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"Galaxy"},{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.7.1",name:"Purging-duplicates-one-haplotype-VGP6b ",report:{markdown:` # Workflow Execution Report Time workflow was invoked @@ -4132,6 +7868,157 @@ This workflow is the 6th workflow of the VGP pipeline. It is meant to be run aft ### Added - Workflow for purging duplication in contigs in single haplotype +`,diagrams:`# Workflow diagrams + +## Purging-duplicates-one-haplotype-VGP6b + +\`\`\`mermaid +graph LR +0["ℹ️ Genomescope model parameters"]@{ shape: doc } +1["ℹ️ Pacbio Reads Collection - Trimmed"]@{ shape: docs } +2["ℹ️ Assembly to purge"]@{ shape: doc } +3["ℹ️ Meryl Database"]@{ shape: doc } +4["ℹ️ Assembly to leave alone (For Merqury comparison)"]@{ shape: doc } +5["ℹ️ Estimated genome size - Parameter File"]@{ shape: doc } +6["ℹ️ Database for Busco Lineage"]@{ shape: lean-l } +7["ℹ️ Lineage"]@{ shape: lean-l } +8["ℹ️ Name of purged assembly"]@{ shape: lean-l } +9["ℹ️ Name of un-altered assembly"]@{ shape: lean-l } +10["Compute"]@{ shape: process } +0 --> 10 +11["Map with minimap2"]@{ shape: process } +1 --> 11 +2 --> 11 +12["Purge overlaps"]@{ shape: process } +2 --> 12 +13["gfastats"]@{ shape: process } +4 --> 13 +14["Estimated genome size"]@{ shape: process } +5 --> 14 +15["Cut"]@{ shape: process } +10 --> 15 +16["Cut"]@{ shape: process } +10 --> 16 +17["Map with minimap2"]@{ shape: process } +12 --> 17 +12 --> 17 +18["🛠️ gfastats_data_prep"]@{ shape: subprocess } +13 --> 18 +19["gfastats"]@{ shape: process } +4 --> 19 +14 --> 19 +20["Parse parameter value"]@{ shape: process } +15 --> 20 +21["Parse parameter value"]@{ shape: process } +16 --> 21 +22["Text reformatting"]@{ shape: process } +19 --> 22 +23["Purge overlaps"]@{ shape: process } +11 --> 23 +21 --> 23 +20 --> 23 +24["Purge overlaps"]@{ shape: process } +23 --> 24 +23 --> 24 +17 --> 24 +25["Remove REPEATs from BED"]@{ shape: process } +24 --> 25 +26["Purge overlaps"]@{ shape: process } +25 --> 26 +2 --> 26 +27["Merqury"]@{ shape: process } +26 --> 27 +4 --> 27 +3 --> 27 +28["gfastats"]@{ shape: process } +26 --> 28 +29["Busco"]@{ shape: process } +26 --> 29 +6 --> 29 +7 --> 29 +30["Convert purged fasta to gfa"]@{ shape: process } +26 --> 30 +31["gfastats"]@{ shape: process } +26 --> 31 +14 --> 31 +32["merqury_QV"]@{ shape: process } +27 --> 32 +33["output_merqury.spectra-cn.fl"]@{ shape: process } +27 --> 33 +34["output_merqury.spectra-asm.fl"]@{ shape: process } +27 --> 34 +35["output_merqury.assembly_01.spectra-cn.fl"]@{ shape: process } +27 --> 35 +36["merqury_stats"]@{ shape: process } +27 --> 36 +37["output_merqury.assembly_02.spectra-cn.fl"]@{ shape: process } +27 --> 37 +38["🛠️ gfastats_data_prep"]@{ shape: subprocess } +28 --> 38 +39["Text reformatting"]@{ shape: process } +31 --> 39 +40["🛠️ gfastats_plot"]@{ shape: subprocess } +18 --> 40 +9 --> 40 +8 --> 40 +38 --> 40 +41["Join two Datasets"]@{ shape: process } +39 --> 41 +22 --> 41 +42["Advanced Cut"]@{ shape: process } +41 --> 42 +43["Replace"]@{ shape: process } +42 --> 43 +\`\`\` + +## gfastats_plot + +\`\`\`mermaid +graph LR +0["ℹ️ Primary data"]@{ shape: doc } +1["ℹ️ Alternate data"]@{ shape: doc } +2["ℹ️ Name of primary assembly"]@{ shape: lean-l } +3["ℹ️ Name of alternate assembly"]@{ shape: lean-l } +4["Add column"]@{ shape: process } +2 --> 4 +0 --> 4 +5["Add column"]@{ shape: process } +3 --> 5 +1 --> 5 +6["Concatenate datasets"]@{ shape: process } +4 --> 6 +5 --> 6 +7["Cut"]@{ shape: process } +6 --> 7 +8["Cut"]@{ shape: process } +6 --> 8 +9["Nx Plot"]@{ shape: process } +7 --> 9 +10["Size Plot"]@{ shape: process } +8 --> 10 +\`\`\` + +## gfastats_data_prep + +\`\`\`mermaid +graph LR +0["ℹ️ gfa_stats"]@{ shape: doc } +1["Sort"]@{ shape: process } +0 --> 1 +2["Text reformatting"]@{ shape: process } +1 --> 2 +3["Datamash"]@{ shape: process } +2 --> 3 +4["Add column"]@{ shape: process } +2 --> 4 +5["Parse parameter value"]@{ shape: process } +3 --> 5 +6["Compose text parameter value"]@{ shape: process } +5 --> 6 +7["Compute"]@{ shape: process } +4 --> 7 +6 --> 7 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/Purge-duplicates-one-haplotype-VGP6b/main",tests:[{doc:"Test outline for Purging-duplicates-one-haplotype-VGP6b",job:{"Genomescope model parameters":{class:"File",location:"https://zenodo.org/records/10632760/files/Genomescope%20model%20parameters.tabular?download=1",filetype:"tabular"},"Assembly to purge":{class:"File",location:"https://zenodo.org/records/10632760/files/hap1.fasta?download=1",filetype:"fasta"},"Meryl Database":{class:"File",location:"https://zenodo.org/records/10632760/files/Meryl%20Database.meryldb?download=1",filetype:"meryldb"},"Estimated genome size - Parameter File":{class:"File",location:"https://zenodo.org/records/10632760/files/Estimated%20genome%20size%20-%20Parameter%20File.expression.json?download=1",filetype:"expression.json"},"Assembly to leave alone (For Merqury comparison)":{class:"File",location:"https://zenodo.org/records/10632760/files/hap2.fasta?download=1",filetype:"fasta"},"Pacbio Reads Collection - Trimmed":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"yeast_reads_sub1.fastq.gz",location:"https://zenodo.org/records/10632760/files/Trimmed_yeast_reads_sub1.fastq.gz?download=1"}]},"Name of un-altered assembly":"Hap2","Name of purged assembly":"Hap1","Database for Busco Lineage":"v5",Lineage:"vertebrata_odb10"},outputs:{"Removed haplotigs":{asserts:{has_n_lines:{n:14}}},"Purged assembly":{asserts:{has_n_lines:{n:158}}},"Purged assembly (GFA)":{asserts:{has_n_lines:{n:160}}},"Assembly statistics for both assemblies":{asserts:{has_text:{text:"# scaffolds 79 79"}}},Cutoffs:{asserts:{has_text:{text:"48"}}},"Busco on Purged Primary assembly: short summary":{asserts:{has_text:{text:"C:1.1%[S:1.1%,D:0.0%],F:0.5%,M:98.4%,n:3354"}}},"Purged assembly statistics":{asserts:{has_text:{text:"# scaffolds 79"}}},"Nx Plot":{asserts:{has_size:{value:57e3,delta:5e3}}},"Size Plot":{asserts:{has_size:{value:84e3,delta:5e3}}},"Merqury on Phased assemblies: stats":{element_tests:{"output_merqury.completeness":{asserts:{has_text:{text:"95.7636"}}}}}}}]}],path:"./workflows/VGP-assembly-v2/Purge-duplicates-one-haplotype-VGP6b"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Generate-Nx-and-Size-plots-for-multiple-assemblies.ga",testParameterFiles:["/Generate-Nx-and-Size-plots-for-multiple-assemblies-tests.yml"],authors:[{name:"VGP"},{name:"Delphine Lariviere",orcid:"0000-0001-6421-3484"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"VGP"},{class:"Person",identifier:"0000-0001-6421-3484",name:"Delphine Lariviere"}],"format-version":"0.1",release:"0.1.1",name:"Generate Nx and Size plots for multiple assemblies",steps:{0:{annotation:"Name the items inside the collection with the names you want to appear on the plot ",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"Name the items inside the collection with the names you want to appear on the plot ",name:"Collection of genomes to plot"}],label:"Collection of genomes to plot",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"307dd5c2-4198-4fbe-81ae-67f94be1ca99",when:null,workflow_outputs:[]},1:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0",errors:null,id:1,input_connections:{input_file:{id:0,output_name:"output"}},inputs:[],label:null,name:"gfastats",outputs:[{name:"stats",type:"tabular"}],position:{left:275.89453125,top:207.73046875},post_job_actions:{HideDatasetActionstats:{action_arguments:{},action_type:"HideDatasetAction",output_name:"stats"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0",tool_shed_repository:{changeset_revision:"3ef480892a9f",name:"gfastats",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_file": {"__class__": "ConnectedValue"}, "mode_condition": {"selector": "statistics", "__current_case__": 1, "statistics_condition": {"selector": "size", "__current_case__": 0, "out_size": "c"}, "locale": false, "tabular": true, "discover_paths": false}, "target_condition": {"target_option": "false", "__current_case__": 0}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3.6+galaxy0",type:"tool",uuid:"1c6d8c57-0554-4e66-aa53-5f03a5022fde",when:null,workflow_outputs:[]},2:{annotation:"",content_id:"sort1",errors:null,id:2,input_connections:{input:{id:1,output_name:"stats"}},inputs:[],label:null,name:"Sort",outputs:[{name:"out_file1",type:"input"}],position:{left:560.66015625,top:38.16015625},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"sort1",tool_state:'{"column": "2", "column_set": [], "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "order": "DESC", "style": "num", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.2.0",type:"tool",uuid:"55d86a03-5706-4070-b468-5e8407d3c871",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",errors:null,id:3,input_connections:{infile:{id:2,output_name:"out_file1"}},inputs:[],label:null,name:"Text reformatting",outputs:[{name:"outfile",type:"input"}],position:{left:847.6875,top:192.03515625},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"fbf99087e067",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"code": "{total += $2; $3 = total}1", "infile": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"69c7b2e7-5c82-49ec-8301-737e5ec1739b",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",errors:null,id:4,input_connections:{in_file:{id:3,output_name:"outfile"}},inputs:[],label:null,name:"Datamash",outputs:[{name:"out_file",type:"input"}],position:{left:1137.859375,top:87.41015625},post_job_actions:{HideDatasetActionout_file:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0",tool_shed_repository:{changeset_revision:"4c07ddedc198",name:"datamash_ops",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"grouping": "", "header_in": false, "header_out": false, "ignore_case": false, "in_file": {"__class__": "ConnectedValue"}, "narm": false, "need_sort": false, "operations": [{"__index__": 0, "op_name": "absmax", "op_column": "3"}], "print_full_line": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.8+galaxy0",type:"tool",uuid:"1cdafa6b-ccdb-4b90-8dc6-ea1f92425715",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1",errors:null,id:5,input_connections:{input:{id:3,output_name:"outfile"}},inputs:[],label:null,name:"Add column",outputs:[{name:"out_file1",type:"input"}],position:{left:1154.4453125,top:525.86328125},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1",tool_shed_repository:{changeset_revision:"023f0a3760b3",name:"add_value",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"exp": "1", "input": {"__class__": "ConnectedValue"}, "iterate": "yes", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.1",type:"tool",uuid:"9a266291-d20c-42ff-b55f-bb334bd520d8",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"param_value_from_file",errors:null,id:6,input_connections:{input1:{id:4,output_name:"out_file"}},inputs:[],label:null,name:"Parse parameter value",outputs:[{name:"integer_param",type:"expression.json"}],position:{left:1401.83984375,top:304.703125},post_job_actions:{HideDatasetActioninteger_param:{action_arguments:{},action_type:"HideDatasetAction",output_name:"integer_param"}},tool_id:"param_value_from_file",tool_state:'{"input1": {"__class__": "ConnectedValue"}, "param_type": "integer", "remove_newlines": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"81bf512c-89b3-4b18-b7e9-36ae448a828f",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",errors:null,id:7,input_connections:{"components_1|param_type|component_value":{id:6,output_name:"integer_param"}},inputs:[],label:null,name:"Compose text parameter value",outputs:[{name:"out1",type:"expression.json"}],position:{left:1650,top:451.7265625},post_job_actions:{HideDatasetActionout1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1",tool_shed_repository:{changeset_revision:"e188c9826e0f",name:"compose_text_param",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"components": [{"__index__": 0, "param_type": {"select_param_type": "text", "__current_case__": 0, "component_value": "c3/"}}, {"__index__": 1, "param_type": {"select_param_type": "integer", "__current_case__": 1, "component_value": {"__class__": "ConnectedValue"}}}], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.1",type:"tool",uuid:"bda1a1ff-ab78-4338-a511-d24f851ec102",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0",errors:null,id:8,input_connections:{input:{id:5,output_name:"out_file1"},"ops|expressions_0|cond":{id:7,output_name:"out1"}},inputs:[],label:null,name:"Compute",outputs:[{name:"out_file1",type:"input"}],position:{left:1933.33984375,top:652.31640625},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"},RenameDatasetActionout_file1:{action_arguments:{newname:"gfastats data for plotting"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0",tool_shed_repository:{changeset_revision:"6595517c2dd8",name:"column_maker",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"avoid_scientific_notation": false, "error_handling": {"auto_col_types": true, "fail_on_non_existent_columns": true, "non_computable": {"action": "--fail-on-non-computable", "__current_case__": 0}}, "input": {"__class__": "ConnectedValue"}, "ops": {"header_lines_select": "no", "__current_case__": 0, "expressions": [{"__index__": 0, "cond": {"__class__": "ConnectedValue"}, "add_column": {"mode": "", "__current_case__": 0, "pos": ""}}, {"__index__": 1, "cond": "c2/1000000", "add_column": {"mode": "", "__current_case__": 0, "pos": ""}}, {"__index__": 2, "cond": "c3/1000000", "add_column": {"mode": "", "__current_case__": 0, "pos": ""}}]}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0",type:"tool",uuid:"c93568ca-103f-4d8e-af88-d6de721e30cd",when:null,workflow_outputs:[{label:"gfastats data for plotting",output_name:"out_file1",uuid:"68af2c3b-8f48-4bde-9dd1-a78151d6de1a"}]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/mvdbeek/add_input_name_as_column/addName/0.2.0",errors:null,id:9,input_connections:{input:{id:8,output_name:"out_file1"}},inputs:[],label:null,name:"Add input name as column",outputs:[{name:"output",type:"tabular"}],position:{left:2259.09765625,top:708.26171875},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/mvdbeek/add_input_name_as_column/addName/0.2.0",tool_shed_repository:{changeset_revision:"3284b72eef56",name:"add_input_name_as_column",owner:"mvdbeek",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"header": {"contains_header": "no", "__current_case__": 1}, "input": {"__class__": "ConnectedValue"}, "prepend": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.2.0",type:"tool",uuid:"44431f31-7fb3-469b-87be-154b5a8f14dd",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",errors:null,id:10,input_connections:{input_list:{id:9,output_name:"output"}},inputs:[],label:null,name:"Collapse Collection",outputs:[{name:"output",type:"input"}],position:{left:2554.69140625,top:684.2109375},post_job_actions:{HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0",tool_shed_repository:{changeset_revision:"90981f86000f",name:"collapse_collections",owner:"nml",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"filename": {"add_name": false, "__current_case__": 1}, "input_list": {"__class__": "ConnectedValue"}, "one_header": false, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"5.1.0",type:"tool",uuid:"48dcba84-9af3-4dbf-968b-5a7ab0353f42",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"Cut1",errors:null,id:11,input_connections:{input:{id:10,output_name:"output"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:2856.78515625,top:479.484375},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c8,c5,c6", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"c1d69d96-61e4-4e5d-94b0-a63ea918b659",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"Cut1",errors:null,id:12,input_connections:{input:{id:10,output_name:"output"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:2907.5703125,top:823.07421875},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c8,c4,c7", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"0c98ca2a-d4c6-4e6e-898a-aefd7a2d6870",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1",errors:null,id:13,input_connections:{input1:{id:11,output_name:"out_file1"}},inputs:[],label:"Nx Plot",name:"Scatterplot with ggplot2",outputs:[{name:"output1",type:"png"}],position:{left:3336,top:541.96484375},post_job_actions:{RenameDatasetActionoutput1:{action_arguments:{newname:"Nx Plot"},action_type:"RenameDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1",tool_shed_repository:{changeset_revision:"3b12bf9b4b87",name:"ggplot2_point",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"type_conditional": {"type_options": "lines", "__current_case__": 2}, "factor": {"factoring": "Single", "__current_case__": 1, "factorcol": "1", "colors": "Set1", "colororder": "1"}, "axis_title_customization": {"axis_customization": "default", "__current_case__": 0}, "axis_text_customization": {"axis_customization": "default", "__current_case__": 0}, "plot_title_customization": {"axis_customization": "default", "__current_case__": 0}, "gridlinecust": "default", "transform": "none", "scaling": {"plot_scaling": "Automatic", "__current_case__": 0}, "theme": "bw", "legend": "yes"}, "input1": {"__class__": "ConnectedValue"}, "out": {"unit_output_dim": "in", "width_output_dim": "7.0", "height_output_dim": "7.0", "dpi_output_dim": "300.0", "additional_output_format": "none"}, "title": "", "xlab": "x", "xplot": "2", "ylab": "Nx (Mb)", "yplot": "3", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.4.0+galaxy1",type:"tool",uuid:"d2f3f6a2-61b7-4268-84f9-b3515ef3508b",when:null,workflow_outputs:[{label:"Nx Plot",output_name:"output1",uuid:"ea8d76de-4b96-42a5-bd99-b4846fc4f869"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1",errors:null,id:14,input_connections:{input1:{id:12,output_name:"out_file1"}},inputs:[],label:"Size Plot",name:"Scatterplot with ggplot2",outputs:[{name:"output1",type:"png"}],position:{left:3341.6171875,top:855.3828125},post_job_actions:{RenameDatasetActionoutput1:{action_arguments:{newname:"Size Plot"},action_type:"RenameDatasetAction",output_name:"output1"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1",tool_shed_repository:{changeset_revision:"3b12bf9b4b87",name:"ggplot2_point",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv": {"type_conditional": {"type_options": "lines", "__current_case__": 2}, "factor": {"factoring": "Single", "__current_case__": 1, "factorcol": "1", "colors": "Set1", "colororder": "1"}, "axis_title_customization": {"axis_customization": "default", "__current_case__": 0}, "axis_text_customization": {"axis_customization": "default", "__current_case__": 0}, "plot_title_customization": {"axis_customization": "default", "__current_case__": 0}, "gridlinecust": "default", "transform": "none", "scaling": {"plot_scaling": "Automatic", "__current_case__": 0}, "theme": "bw", "legend": "yes"}, "input1": {"__class__": "ConnectedValue"}, "out": {"unit_output_dim": "in", "width_output_dim": "7.0", "height_output_dim": "7.0", "dpi_output_dim": "300.0", "additional_output_format": "none"}, "title": "", "xlab": "Scaffold number", "xplot": "2", "ylab": "Cumulative Size (Mb)", "yplot": "3", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3.4.0+galaxy1",type:"tool",uuid:"3c8f4a21-e941-4e58-8d11-0f66c4a7d2c0",when:null,workflow_outputs:[{label:"Size Plot",output_name:"output1",uuid:"7051d948-3249-4f85-b772-6bae20c99f4d"}]}},tags:[],uuid:"40c0a173-1805-46c6-9005-5ead67bc9f48",version:11},readme:`## Generate Nx and Size plot for multiple assemblies @@ -4152,7 +8039,63 @@ Collection of fasta files. The name of each item in the collection will be used ## [0.1] - 2024-05-11 -Addition of the workflow to the iwc repository.`,trsID:"#workflow/github.com/iwc-workflows/Plot-Nx-Size/main",tests:[{doc:"Test outline for Generate-Nx-and-Size-plots-for-multiple-assemblies",job:{"Collection of genomes to plot":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"Primary",location:"https://zenodo.org/records/10047837/files/Hifiasm%20Primary%20assembly.fasta?download=1"},{class:"File",identifier:"Alternate",location:"https://zenodo.org/records/10047837/files/Hifiasm%20Alternate%20assembly.fasta?download=1"}]}},outputs:{"Size Plot":{asserts:{has_size:{value:1e5,delta:2e3}}},"Nx Plot":{asserts:{has_size:{value:87e3,delta:2e3}}},"gfastats data for plotting":{element_tests:{Primary:{path:"test-data/primary_head.tabular",compare:"contains"},Alternate:{path:"test-data/alternate_head.tabular",compare:"contains"}}}}}]}],path:"./workflows/VGP-assembly-v2/Plot-Nx-Size"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Mitogenome-Assembly-VGP0.ga",testParameterFiles:["/Mitogenome-Assembly-VGP0-tests.yml"],authors:[{name:"VGP",url:"https://vertebrategenomeproject.org"},{name:"Galaxy"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"},{class:"Organization",name:"Galaxy"}],"format-version":"0.1",license:"CC-BY-4.0",name:"Mitogenome-Assembly-VGP0",release:"0.1",steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"",name:"Collection of Pacbio Data"}],label:"Collection of Pacbio Data",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"861c3a49-1055-4030-9a91-e53cbf1ac436",when:null,workflow_outputs:[]},1:{annotation:"Latin name of species",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Latin name of species",name:"Species name (latin name)"}],label:"Species name (latin name)",name:"Input parameter",outputs:[],position:{left:131.640625,top:108.3515625},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"27257feb-04b0-48f9-8bd3-a3a74536eab2",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"65196658-7776-4165-944b-c7876483edf4"}]},2:{annotation:"Required for NCBI database query",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Required for NCBI database query",name:"Email adress"}],label:"Email adress",name:"Input parameter",outputs:[],position:{left:200.78125,top:290.66015625},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"4ddb385f-ecd7-4d48-bc7b-e9c7971a1e62",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"28bbbdb1-62b7-4d3a-9076-09cc835464cc"}]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/mitohifi/mitohifi/3+galaxy0",errors:null,id:3,input_connections:{"operation_mode|email":{id:2,output_name:"output"},"operation_mode|species":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool MitoHiFi",name:"operation_mode"},{description:"runtime parameter for tool MitoHiFi",name:"operation_mode"}],label:null,name:"MitoHiFi",outputs:[{name:"fasta_reference",type:"fasta"},{name:"genbank_reference",type:"genbank"}],position:{left:463.26953125,top:242.234375},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/mitohifi/mitohifi/3+galaxy0",tool_shed_repository:{changeset_revision:"99ddbf037d98",name:"mitohifi",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_mode": {"command": "find_reference", "__current_case__": 0, "species": {"__class__": "ConnectedValue"}, "email": {"__class__": "ConnectedValue"}, "min_length": "15000", "exact_species": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3+galaxy0",type:"tool",uuid:"e59aea2d-9bc3-4e2e-9af2-711f0cdea373",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/mitohifi/mitohifi/3+galaxy0",errors:null,id:4,input_connections:{"operation_mode|input_option|input_reads":{id:0,output_name:"output"},"operation_mode|reference_fasta":{id:3,output_name:"fasta_reference"},"operation_mode|reference_genbank":{id:3,output_name:"genbank_reference"}},inputs:[{description:"runtime parameter for tool MitoHiFi",name:"operation_mode"},{description:"runtime parameter for tool MitoHiFi",name:"operation_mode"}],label:null,name:"MitoHiFi",outputs:[{name:"mitogenome_fasta",type:"fasta"},{name:"mitogenome_genbank",type:"genbank"},{name:"mitogenome_annotation",type:"png"},{name:"mitogenome_coverage",type:"png"},{name:"contigs_stats",type:"tsv"},{name:"hifiasm",type:"fasta"},{name:"hifiasm_filtered",type:"fasta"},{name:"hifiasm_contigs",type:"fasta"}],position:{left:767.6689707083681,top:134.09873055610626},post_job_actions:{HideDatasetActionhifiasm:{action_arguments:{},action_type:"HideDatasetAction",output_name:"hifiasm"},HideDatasetActionhifiasm_contigs:{action_arguments:{},action_type:"HideDatasetAction",output_name:"hifiasm_contigs"},HideDatasetActionhifiasm_filtered:{action_arguments:{},action_type:"HideDatasetAction",output_name:"hifiasm_filtered"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/mitohifi/mitohifi/3+galaxy0",tool_shed_repository:{changeset_revision:"99ddbf037d98",name:"mitohifi",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_mode": {"command": "mitohifi", "__current_case__": 1, "input_option": {"input": "pacbio", "__current_case__": 0, "input_reads": {"__class__": "ConnectedValue"}, "bloom_filter": "0"}, "reference_fasta": {"__class__": "ConnectedValue"}, "reference_genbank": {"__class__": "ConnectedValue"}, "genetic_code": "2", "advanced_options": {"query_blast": "70", "circular_size": null, "circular_offset": null, "outputs": null}, "output_zip": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3+galaxy0",type:"tool",uuid:"ccd83410-608a-4b9d-a43a-11cecd6c2d42",when:null,workflow_outputs:[{label:"mitogenome_annotation",output_name:"mitogenome_annotation",uuid:"85061673-df5e-480d-920a-a11c72bf8f56"},{label:"mitogenome_genbank",output_name:"mitogenome_genbank",uuid:"fe4d1d3d-9caa-45f6-944e-c4b101105dd1"},{label:"contigs_stats",output_name:"contigs_stats",uuid:"31807e4b-e616-4742-92e0-934e6c3c09ae"},{label:"mitogenome_coverage",output_name:"mitogenome_coverage",uuid:"8393c665-a328-4698-93e5-198c6fea52dd"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compress_file/compress_file/0.1.0",errors:null,id:5,input_connections:{input:{id:4,output_name:"mitogenome_fasta"}},inputs:[{description:"runtime parameter for tool Compress file(s)",name:"input"}],label:null,name:"Compress file(s)",outputs:[{name:"output_file",type:"gz"}],position:{left:1065.5131364872464,top:265.5261773629027},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compress_file/compress_file/0.1.0",tool_shed_repository:{changeset_revision:"09ea79f9f260",name:"compress_file",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"5207adc9-f36a-42e9-8631-e01da77ac446",when:null,workflow_outputs:[{label:"output_file",output_name:"output_file",uuid:"6f918a08-1ca1-4d6e-a4d8-7e65e13a65ed"}]}},tags:["Reviewed","VGP"],uuid:"57920bf9-1741-4170-badf-39fdfcdaa2e9",version:4},trsID:"#workflow/github.com/iwc-workflows/Mitogenome-assembly-VGP0/main",tests:[{doc:"Test outline for Mitogenome-Assembly-VGP0",job:{"Collection of Pacbio Data":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"pacbio_01.fasta.gz",location:"https://zenodo.org/records/10454765/files/pacbio_01.fasta.gz?download=1"}]},"Species name (latin name)":"Theretra latreillii lucasii","Email adress":"iwc@galaxyproject.org"},outputs:{contigs_stats:{asserts:{has_text:{text:"15316 36 True"}}},mitogenome_coverage:{asserts:{has_size:{value:19e3,delta:2e3}}},mitogenome_annotation:{asserts:{has_size:{value:68e3,delta:5e3}}},mitogenome_genbank:{asserts:{has_n_lines:{n:480}}}}}]}],path:"./workflows/VGP-assembly-v2/Mitogenome-assembly-VGP0"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Purge-duplicate-contigs-VGP6.ga",authors:[{name:"Galaxy"},{name:"VGP",url:"https://vertebrategenomeproject.org"}],definition:{a_galaxy_workflow:"true",annotation:"Purge contigs marked as duplicates by purge_dups (could be haplotypic duplication or overlap duplication). This workflow is the 6th workflow of the VGP pipeline. It is meant to be run after one of the contigging steps (Workflow 3, 4, or 5)",comments:[],creator:[{class:"Organization",name:"Galaxy"},{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.4",name:"Purge-duplicate-contigs-VGP6",report:{markdown:` +Addition of the workflow to the iwc repository.`,diagrams:`# Workflow diagrams + +## Generate Nx and Size plots for multiple assemblies + +\`\`\`mermaid +graph LR +0["ℹ️ Collection of genomes to plot"]@{ shape: docs } +1["gfastats"]@{ shape: process } +0 --> 1 +2["Sort"]@{ shape: process } +1 --> 2 +3["Text reformatting"]@{ shape: process } +2 --> 3 +4["Datamash"]@{ shape: process } +3 --> 4 +5["Add column"]@{ shape: process } +3 --> 5 +6["Parse parameter value"]@{ shape: process } +4 --> 6 +7["Compose text parameter value"]@{ shape: process } +6 --> 7 +8["Compute"]@{ shape: process } +5 --> 8 +7 --> 8 +9["Add input name as column"]@{ shape: process } +8 --> 9 +10["Collapse Collection"]@{ shape: process } +9 --> 10 +11["Cut"]@{ shape: process } +10 --> 11 +12["Cut"]@{ shape: process } +10 --> 12 +13["Nx Plot"]@{ shape: process } +11 --> 13 +14["Size Plot"]@{ shape: process } +12 --> 14 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/Plot-Nx-Size/main",tests:[{doc:"Test outline for Generate-Nx-and-Size-plots-for-multiple-assemblies",job:{"Collection of genomes to plot":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"Primary",location:"https://zenodo.org/records/10047837/files/Hifiasm%20Primary%20assembly.fasta?download=1"},{class:"File",identifier:"Alternate",location:"https://zenodo.org/records/10047837/files/Hifiasm%20Alternate%20assembly.fasta?download=1"}]}},outputs:{"Size Plot":{asserts:{has_size:{value:1e5,delta:2e3}}},"Nx Plot":{asserts:{has_size:{value:87e3,delta:2e3}}},"gfastats data for plotting":{element_tests:{Primary:{path:"test-data/primary_head.tabular",compare:"contains"},Alternate:{path:"test-data/alternate_head.tabular",compare:"contains"}}}}}]}],path:"./workflows/VGP-assembly-v2/Plot-Nx-Size"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Mitogenome-Assembly-VGP0.ga",testParameterFiles:["/Mitogenome-Assembly-VGP0-tests.yml"],authors:[{name:"VGP",url:"https://vertebrategenomeproject.org"},{name:"Galaxy"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"},{class:"Organization",name:"Galaxy"}],"format-version":"0.1",license:"CC-BY-4.0",name:"Mitogenome-Assembly-VGP0",release:"0.1",steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"",name:"Collection of Pacbio Data"}],label:"Collection of Pacbio Data",name:"Input dataset collection",outputs:[],position:{left:0,top:0},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"861c3a49-1055-4030-9a91-e53cbf1ac436",when:null,workflow_outputs:[]},1:{annotation:"Latin name of species",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Latin name of species",name:"Species name (latin name)"}],label:"Species name (latin name)",name:"Input parameter",outputs:[],position:{left:131.640625,top:108.3515625},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"27257feb-04b0-48f9-8bd3-a3a74536eab2",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"65196658-7776-4165-944b-c7876483edf4"}]},2:{annotation:"Required for NCBI database query",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Required for NCBI database query",name:"Email adress"}],label:"Email adress",name:"Input parameter",outputs:[],position:{left:200.78125,top:290.66015625},tool_id:null,tool_state:'{"parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"4ddb385f-ecd7-4d48-bc7b-e9c7971a1e62",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"28bbbdb1-62b7-4d3a-9076-09cc835464cc"}]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/mitohifi/mitohifi/3+galaxy0",errors:null,id:3,input_connections:{"operation_mode|email":{id:2,output_name:"output"},"operation_mode|species":{id:1,output_name:"output"}},inputs:[{description:"runtime parameter for tool MitoHiFi",name:"operation_mode"},{description:"runtime parameter for tool MitoHiFi",name:"operation_mode"}],label:null,name:"MitoHiFi",outputs:[{name:"fasta_reference",type:"fasta"},{name:"genbank_reference",type:"genbank"}],position:{left:463.26953125,top:242.234375},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/mitohifi/mitohifi/3+galaxy0",tool_shed_repository:{changeset_revision:"99ddbf037d98",name:"mitohifi",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_mode": {"command": "find_reference", "__current_case__": 0, "species": {"__class__": "ConnectedValue"}, "email": {"__class__": "ConnectedValue"}, "min_length": "15000", "exact_species": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3+galaxy0",type:"tool",uuid:"e59aea2d-9bc3-4e2e-9af2-711f0cdea373",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/mitohifi/mitohifi/3+galaxy0",errors:null,id:4,input_connections:{"operation_mode|input_option|input_reads":{id:0,output_name:"output"},"operation_mode|reference_fasta":{id:3,output_name:"fasta_reference"},"operation_mode|reference_genbank":{id:3,output_name:"genbank_reference"}},inputs:[{description:"runtime parameter for tool MitoHiFi",name:"operation_mode"},{description:"runtime parameter for tool MitoHiFi",name:"operation_mode"}],label:null,name:"MitoHiFi",outputs:[{name:"mitogenome_fasta",type:"fasta"},{name:"mitogenome_genbank",type:"genbank"},{name:"mitogenome_annotation",type:"png"},{name:"mitogenome_coverage",type:"png"},{name:"contigs_stats",type:"tsv"},{name:"hifiasm",type:"fasta"},{name:"hifiasm_filtered",type:"fasta"},{name:"hifiasm_contigs",type:"fasta"}],position:{left:767.6689707083681,top:134.09873055610626},post_job_actions:{HideDatasetActionhifiasm:{action_arguments:{},action_type:"HideDatasetAction",output_name:"hifiasm"},HideDatasetActionhifiasm_contigs:{action_arguments:{},action_type:"HideDatasetAction",output_name:"hifiasm_contigs"},HideDatasetActionhifiasm_filtered:{action_arguments:{},action_type:"HideDatasetAction",output_name:"hifiasm_filtered"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/mitohifi/mitohifi/3+galaxy0",tool_shed_repository:{changeset_revision:"99ddbf037d98",name:"mitohifi",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_mode": {"command": "mitohifi", "__current_case__": 1, "input_option": {"input": "pacbio", "__current_case__": 0, "input_reads": {"__class__": "ConnectedValue"}, "bloom_filter": "0"}, "reference_fasta": {"__class__": "ConnectedValue"}, "reference_genbank": {"__class__": "ConnectedValue"}, "genetic_code": "2", "advanced_options": {"query_blast": "70", "circular_size": null, "circular_offset": null, "outputs": null}, "output_zip": false}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"3+galaxy0",type:"tool",uuid:"ccd83410-608a-4b9d-a43a-11cecd6c2d42",when:null,workflow_outputs:[{label:"mitogenome_annotation",output_name:"mitogenome_annotation",uuid:"85061673-df5e-480d-920a-a11c72bf8f56"},{label:"mitogenome_genbank",output_name:"mitogenome_genbank",uuid:"fe4d1d3d-9caa-45f6-944e-c4b101105dd1"},{label:"contigs_stats",output_name:"contigs_stats",uuid:"31807e4b-e616-4742-92e0-934e6c3c09ae"},{label:"mitogenome_coverage",output_name:"mitogenome_coverage",uuid:"8393c665-a328-4698-93e5-198c6fea52dd"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/compress_file/compress_file/0.1.0",errors:null,id:5,input_connections:{input:{id:4,output_name:"mitogenome_fasta"}},inputs:[{description:"runtime parameter for tool Compress file(s)",name:"input"}],label:null,name:"Compress file(s)",outputs:[{name:"output_file",type:"gz"}],position:{left:1065.5131364872464,top:265.5261773629027},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/compress_file/compress_file/0.1.0",tool_shed_repository:{changeset_revision:"09ea79f9f260",name:"compress_file",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"0.1.0",type:"tool",uuid:"5207adc9-f36a-42e9-8631-e01da77ac446",when:null,workflow_outputs:[{label:"output_file",output_name:"output_file",uuid:"6f918a08-1ca1-4d6e-a4d8-7e65e13a65ed"}]}},tags:["Reviewed","VGP"],uuid:"57920bf9-1741-4170-badf-39fdfcdaa2e9",version:4},readme:null,changelog:null,diagrams:`# Workflow diagrams + +## Mitogenome-Assembly-VGP0 + +\`\`\`mermaid +graph LR +0["ℹ️ Collection of Pacbio Data"]@{ shape: docs } +1["ℹ️ Species name (latin name)"]@{ shape: lean-l } +2["ℹ️ Email adress"]@{ shape: lean-l } +3["MitoHiFi"]@{ shape: process } +2 --> 3 +1 --> 3 +4["MitoHiFi"]@{ shape: process } +0 --> 4 +3 --> 4 +3 --> 4 +5["Compress file(s)"]@{ shape: process } +4 --> 5 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/Mitogenome-assembly-VGP0/main",tests:[{doc:"Test outline for Mitogenome-Assembly-VGP0",job:{"Collection of Pacbio Data":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"pacbio_01.fasta.gz",location:"https://zenodo.org/records/10454765/files/pacbio_01.fasta.gz?download=1"}]},"Species name (latin name)":"Theretra latreillii lucasii","Email adress":"iwc@galaxyproject.org"},outputs:{contigs_stats:{asserts:{has_text:{text:"15316 36 True"}}},mitogenome_coverage:{asserts:{has_size:{value:19e3,delta:2e3}}},mitogenome_annotation:{asserts:{has_size:{value:68e3,delta:5e3}}},mitogenome_genbank:{asserts:{has_n_lines:{n:480}}}}}]}],path:"./workflows/VGP-assembly-v2/Mitogenome-assembly-VGP0"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Purge-duplicate-contigs-VGP6.ga",authors:[{name:"Galaxy"},{name:"VGP",url:"https://vertebrategenomeproject.org"}],definition:{a_galaxy_workflow:"true",annotation:"Purge contigs marked as duplicates by purge_dups (could be haplotypic duplication or overlap duplication). This workflow is the 6th workflow of the VGP pipeline. It is meant to be run after one of the contigging steps (Workflow 3, 4, or 5)",comments:[],creator:[{class:"Organization",name:"Galaxy"},{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.4",name:"Purge-duplicate-contigs-VGP6",report:{markdown:` # Workflow Execution Report Time workflow was invoked @@ -4384,6 +8327,188 @@ This workflow is the 6th workflow of the VGP pipeline. It is meant to be run aft ### Added - Workflow for purging duplication in contigs +`,diagrams:`# Workflow diagrams + +## Purge-duplicate-contigs-VGP6 + +\`\`\`mermaid +graph LR +0["ℹ️ Pacbio Reads Collection - Trimmed"]@{ shape: docs } +1["ℹ️ Hifiasm Primary assembly"]@{ shape: doc } +2["ℹ️ Hifiasm Alternate assembly"]@{ shape: doc } +3["ℹ️ Meryl Database"]@{ shape: doc } +4["ℹ️ Genomescope model parameters"]@{ shape: doc } +5["ℹ️ Estimated genome size - Parameter File"]@{ shape: doc } +6["ℹ️ Database for Busco Lineage"]@{ shape: lean-l } +7["ℹ️ Lineage"]@{ shape: lean-l } +8["ℹ️ SAK input file"]@{ shape: doc } +9["ℹ️ Name of primary assembly"]@{ shape: lean-l } +10["ℹ️ Name of alternate assembly"]@{ shape: lean-l } +11["Map with minimap2"]@{ shape: process } +0 --> 11 +1 --> 11 +12["Purge overlaps"]@{ shape: process } +1 --> 12 +13["Compute"]@{ shape: process } +4 --> 13 +14["Estimated genome size"]@{ shape: process } +5 --> 14 +15["Awk command for primary assembly"]@{ shape: process } +9 --> 15 +16["Awk command for alternate assembly 2"]@{ shape: process } +10 --> 16 +17["Map with minimap2"]@{ shape: process } +12 --> 17 +12 --> 17 +18["Cut"]@{ shape: process } +13 --> 18 +19["Cut"]@{ shape: process } +13 --> 19 +20["Parse parameter value"]@{ shape: process } +18 --> 20 +21["Parse parameter value"]@{ shape: process } +19 --> 21 +22["Purge overlaps"]@{ shape: process } +11 --> 22 +21 --> 22 +20 --> 22 +23["Purge overlaps"]@{ shape: process } +22 --> 23 +22 --> 23 +17 --> 23 +24["Purge overlaps"]@{ shape: process } +23 --> 24 +1 --> 24 +25["Concatenate datasets"]@{ shape: process } +24 --> 25 +2 --> 25 +26["Busco"]@{ shape: process } +24 --> 26 +6 --> 26 +7 --> 26 +27["gfastats"]@{ shape: process } +24 --> 27 +8 --> 27 +28["gfastats"]@{ shape: process } +24 --> 28 +14 --> 28 +29["gfastats"]@{ shape: process } +24 --> 29 +30["Map with minimap2"]@{ shape: process } +0 --> 30 +25 --> 30 +31["Purge overlaps"]@{ shape: process } +25 --> 31 +32["Text reformatting"]@{ shape: process } +15 --> 32 +28 --> 32 +33["🛠️ gfastats_data_prep"]@{ shape: subprocess } +29 --> 33 +34["Purge overlaps"]@{ shape: process } +30 --> 34 +21 --> 34 +20 --> 34 +35["Map with minimap2"]@{ shape: process } +31 --> 35 +31 --> 35 +36["Purge overlaps"]@{ shape: process } +34 --> 36 +34 --> 36 +35 --> 36 +37["Purge overlaps"]@{ shape: process } +36 --> 37 +25 --> 37 +38["gfastats"]@{ shape: process } +37 --> 38 +14 --> 38 +39["gfastats"]@{ shape: process } +37 --> 39 +40["Merqury"]@{ shape: process } +24 --> 40 +37 --> 40 +3 --> 40 +41["gfastats"]@{ shape: process } +37 --> 41 +8 --> 41 +42["Text reformatting"]@{ shape: process } +16 --> 42 +38 --> 42 +43["🛠️ gfastats_data_prep"]@{ shape: subprocess } +39 --> 43 +44["merqury_QV"]@{ shape: process } +40 --> 44 +45["output_merqury.spectra-cn.fl"]@{ shape: process } +40 --> 45 +46["output_merqury.spectra-asm.fl"]@{ shape: process } +40 --> 46 +47["output_merqury.assembly_01.spectra-cn.fl"]@{ shape: process } +40 --> 47 +48["merqury_stats"]@{ shape: process } +40 --> 48 +49["output_merqury.assembly_02.spectra-cn.fl"]@{ shape: process } +40 --> 49 +50["Join two Datasets"]@{ shape: process } +32 --> 50 +42 --> 50 +51["🛠️ gfastats_plot"]@{ shape: subprocess } +43 --> 51 +10 --> 51 +9 --> 51 +33 --> 51 +52["Advanced Cut"]@{ shape: process } +50 --> 52 +53["Replace"]@{ shape: process } +52 --> 53 +\`\`\` + +## gfastats_plot + +\`\`\`mermaid +graph LR +0["ℹ️ Primary data"]@{ shape: doc } +1["ℹ️ Alternate data"]@{ shape: doc } +2["ℹ️ Name of primary assembly"]@{ shape: lean-l } +3["ℹ️ Name of alternate assembly"]@{ shape: lean-l } +4["Add column"]@{ shape: process } +2 --> 4 +0 --> 4 +5["Add column"]@{ shape: process } +3 --> 5 +1 --> 5 +6["Concatenate datasets"]@{ shape: process } +4 --> 6 +5 --> 6 +7["Cut"]@{ shape: process } +6 --> 7 +8["Cut"]@{ shape: process } +6 --> 8 +9["Nx Plot"]@{ shape: process } +7 --> 9 +10["Size Plot"]@{ shape: process } +8 --> 10 +\`\`\` + +## gfastats_data_prep + +\`\`\`mermaid +graph LR +0["ℹ️ gfa_stats"]@{ shape: doc } +1["Sort"]@{ shape: process } +0 --> 1 +2["Text reformatting"]@{ shape: process } +1 --> 2 +3["Datamash"]@{ shape: process } +2 --> 3 +4["Add column"]@{ shape: process } +2 --> 4 +5["Parse parameter value"]@{ shape: process } +3 --> 5 +6["Compose text parameter value"]@{ shape: process } +5 --> 6 +7["Compute"]@{ shape: process } +4 --> 7 +6 --> 7 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/Purge-duplicate-contigs-VGP6/main"}],path:"./workflows/VGP-assembly-v2/Purge-duplicate-contigs-VGP6"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Assembly-decontamination-VGP9.ga",testParameterFiles:["/Assembly-decontamination-VGP9-tests.yml"],authors:[{name:"Nadolina Brajuka",url:"https://github.com/Nadolina"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"Nadolina Brajuka",url:"https://github.com/Nadolina"}],"format-version":"0.1",license:"BSD-3-Clause",release:"0.3",name:"Assembly-decontamination-VGP9",report:{markdown:` # Workflow Execution Report @@ -4414,7 +8539,7 @@ history_dataset_as_table(output="mito_scaff_names") \`\`\`galaxy workflow_display() \`\`\` -`},steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"",name:"Scaffolded assembly (fasta)"}],label:"Scaffolded assembly (fasta)",name:"Input dataset",outputs:[],position:{left:0,top:573.2100224386197},tool_id:null,tool_state:'{"optional": false, "format": ["fasta"], "tag": null}',tool_version:null,type:"data_input",uuid:"f3335a9f-1793-4ba2-98d8-253eb5380a3f",when:null,workflow_outputs:[]},1:{annotation:"Select the database to query to identify non-target contaminants.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Select the database to query to identify non-target contaminants.",name:"Database for Kraken2"}],label:"Database for Kraken2",name:"Input parameter",outputs:[],position:{left:.5475811709443406,top:692.7734375},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"4bd1b150-bdb0-4458-9ddc-62bc29356aa2",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"34f0edb5-742e-4de2-923f-1fb93e511ca9"}]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.14.1+galaxy2",errors:null,id:2,input_connections:{"db_opts|subject":{id:0,output_name:"output"}},inputs:[],label:"soft-masking ",name:"NCBI BLAST+ dustmasker",outputs:[{name:"outfile",type:"maskinfo-asn1"}],position:{left:463.79758117094434,top:292.69140625},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.14.1+galaxy2",tool_shed_repository:{changeset_revision:"cbf3f518b668",name:"ncbi_blast_plus",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"db_opts": {"db_opts_selector": "file", "__current_case__": 2, "database": "", "histdb": "", "subject": {"__class__": "ConnectedValue"}}, "level": "40", "linker": "1", "outformat": "fasta", "window": "64", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.14.1+galaxy2",type:"tool",uuid:"903a13af-2be0-48a9-8355-1e2486d857cf",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",errors:null,id:3,input_connections:{infile:{id:2,output_name:"outfile"}},inputs:[],label:"hard-masking",name:"Text transformation",outputs:[{name:"output",type:"input"}],position:{left:827.4147686709443,top:312.24609375},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"fasta"},action_type:"ChangeDatatypeAction",output_name:"output"},HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "code": "/^>/!y/atcgn/NNNNN/", "infile": {"__class__": "RuntimeValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"5089350b-c1a9-498a-9786-9864d484f77a",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.3+galaxy1",errors:null,id:4,input_connections:{kraken2_database:{id:1,output_name:"output"},"single_paired|input_sequences":{id:3,output_name:"output"}},inputs:[],label:"ID non-target contaminants",name:"Kraken2",outputs:[{name:"classified_out_s",type:"input"},{name:"unclassified_out_s",type:"input"},{name:"output",type:"tabular"}],position:{left:1300.1257061709443,top:147.58203125},post_job_actions:{HideDatasetActionunclassified_out_s:{action_arguments:{},action_type:"HideDatasetAction",output_name:"unclassified_out_s"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.3+galaxy1",tool_shed_repository:{changeset_revision:"cdee7158adf3",name:"kraken2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"confidence": "0.3", "kraken2_database": {"__class__": "ConnectedValue"}, "min_base_quality": "0", "minimum_hit_groups": "2", "quick": false, "report": {"create_report": false, "use_mpa_style": false, "report_zero_counts": false, "report_minimizer_data": false}, "single_paired": {"single_paired_selector": "no", "__current_case__": 2, "input_sequences": {"__class__": "ConnectedValue"}}, "split_reads": true, "use_names": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.3+galaxy1",type:"tool",uuid:"17141f21-ae3c-44ac-b0a5-d3bb9b8726a4",when:null,workflow_outputs:[{label:"Kraken2 classification scores",output_name:"output",uuid:"c380857b-5180-4e82-a14f-8b575f10abaa"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.14.1+galaxy2",errors:null,id:5,input_connections:{query:{id:3,output_name:"output"}},inputs:[],label:"blast mitochondria DB",name:"NCBI BLAST+ blastn",outputs:[{name:"output1",type:"tabular"}],position:{left:1293.4616436709443,top:539.6171875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.14.1+galaxy2",tool_shed_repository:{changeset_revision:"cbf3f518b668",name:"ncbi_blast_plus",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "blast_type": "blastn", "db_opts": {"db_opts_selector": "db", "__current_case__": 0, "database": ["refseq_mitochondrion"], "histdb": "", "subject": ""}, "evalue_cutoff": "0.001", "output": {"out_format": "cols", "__current_case__": 2, "std_cols": ["qseqid", "sseqid", "length", "qstart", "qend", "evalue"], "ext_cols": ["qlen"], "ids_cols": null, "misc_cols": ["qcovs", "qcovhsp"], "tax_cols": null}, "query": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.14.1+galaxy2",type:"tool",uuid:"1737bad0-48d9-489e-9a45-d6f3d3fcb900",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"Cut1",errors:null,id:6,input_connections:{input:{id:4,output_name:"output"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:1654.7624249209443,top:53.078125},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c1,c2,c3", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"bb39eb8b-cad8-44f1-aa56-64a11d985e3c",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/parse_mito_blast/parse_mito_blast/1.0.2+galaxy0",errors:null,id:7,input_connections:{blastout:{id:5,output_name:"output1"}},inputs:[],label:"parsing blast output",name:"Parse mitochondrial blast",outputs:[{name:"cov_report",type:"tabular"},{name:"mito_scaff_names",type:"txt"}],position:{left:1821.3783868183484,top:482.19337215633186},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/parse_mito_blast/parse_mito_blast/1.0.2+galaxy0",tool_shed_repository:{changeset_revision:"3c9ad4adf8d2",name:"parse_mito_blast",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"blastout": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2+galaxy0",type:"tool",uuid:"4350e47a-2394-4381-a274-e238985195df",when:null,workflow_outputs:[{label:"mito_scaff_names",output_name:"mito_scaff_names",uuid:"1478af1e-52f4-48fe-b966-0a61e2014a58"}]},8:{annotation:"",content_id:"Filter1",errors:null,id:8,input_connections:{input:{id:6,output_name:"out_file1"}},inputs:[],label:null,name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:2001.9694561709443,top:0},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"},RenameDatasetActionout_file1:{action_arguments:{newname:"List of contaminants"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:`{"cond": "c1!='U'", "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"1.1.1",type:"tool",uuid:"f5d80335-9b98-40ca-b706-4bb54d9801e6",when:null,workflow_outputs:[{label:"contaminants_table",output_name:"out_file1",uuid:"64156e28-aaf0-4578-9a7e-d6d21774c2c8"}]},9:{annotation:"",content_id:"Cut1",errors:null,id:9,input_connections:{input:{id:8,output_name:"out_file1"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:2237.4640689838916,top:241.19478945940944},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "RuntimeValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"8cc3e58f-2940-454a-9cf6-b32c1ab19016",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1",errors:null,id:10,input_connections:{inputs:[{id:7,output_name:"mito_scaff_names"},{id:9,output_name:"out_file1"}]},inputs:[],label:"concatenate scaffold lists",name:"Concatenate datasets",outputs:[{name:"out_file1",type:"input"}],position:{left:2538.6178936709443,top:423.9453125},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"inputs": {"__class__": "ConnectedValue"}, "queries": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"5b7e33a0-0ec4-4539-bb91-0c862597df69",when:null,workflow_outputs:[{label:"full contaminant + mito scaffold list",output_name:"out_file1",uuid:"77084ec5-a145-40c1-9cfc-476d091105ae"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0",errors:null,id:11,input_connections:{input_file:{id:0,output_name:"output"},"target_condition|exclude_bed":{id:10,output_name:"out_file1"}},inputs:[],label:"removing scaffolds ",name:"gfastats",outputs:[{name:"output",type:"fastq"}],position:{left:2977.7819561709443,top:798.078125},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0",tool_shed_repository:{changeset_revision:"3ef480892a9f",name:"gfastats",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_file": {"__class__": "ConnectedValue"}, "mode_condition": {"selector": "manipulation", "__current_case__": 0, "swiss_army_knife": {"__class__": "ConnectedValue"}, "output_condition": {"out_format": "fasta.gz", "__current_case__": 1, "line_length": null}, "discover_paths": false, "sort": "", "homopolymer_compress": null}, "target_condition": {"target_option": "true", "__current_case__": 1, "target_sequence": "", "include_bed": {"__class__": "ConnectedValue"}, "exclude_bed": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3.6+galaxy0",type:"tool",uuid:"5113c945-c811-4cbc-81ac-20d1d80e97ed",when:null,workflow_outputs:[{label:"final decontaminated assembly",output_name:"output",uuid:"88a8e9ed-d92c-4340-aaad-c6d450a336aa"}]}},tags:["VGP_curated"],uuid:"aa4960d9-198d-4990-a393-a98efcd3070a",version:3},changelog:`# Changelog +`},steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"",name:"Scaffolded assembly (fasta)"}],label:"Scaffolded assembly (fasta)",name:"Input dataset",outputs:[],position:{left:0,top:573.2100224386197},tool_id:null,tool_state:'{"optional": false, "format": ["fasta"], "tag": null}',tool_version:null,type:"data_input",uuid:"f3335a9f-1793-4ba2-98d8-253eb5380a3f",when:null,workflow_outputs:[]},1:{annotation:"Select the database to query to identify non-target contaminants.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Select the database to query to identify non-target contaminants.",name:"Database for Kraken2"}],label:"Database for Kraken2",name:"Input parameter",outputs:[],position:{left:.5475811709443406,top:692.7734375},tool_id:null,tool_state:'{"restrictOnConnections": true, "parameter_type": "text", "optional": false}',tool_version:null,type:"parameter_input",uuid:"4bd1b150-bdb0-4458-9ddc-62bc29356aa2",when:null,workflow_outputs:[{label:null,output_name:"output",uuid:"34f0edb5-742e-4de2-923f-1fb93e511ca9"}]},2:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.14.1+galaxy2",errors:null,id:2,input_connections:{"db_opts|subject":{id:0,output_name:"output"}},inputs:[],label:"soft-masking ",name:"NCBI BLAST+ dustmasker",outputs:[{name:"outfile",type:"maskinfo-asn1"}],position:{left:463.79758117094434,top:292.69140625},post_job_actions:{HideDatasetActionoutfile:{action_arguments:{},action_type:"HideDatasetAction",output_name:"outfile"}},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.14.1+galaxy2",tool_shed_repository:{changeset_revision:"cbf3f518b668",name:"ncbi_blast_plus",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"db_opts": {"db_opts_selector": "file", "__current_case__": 2, "database": "", "histdb": "", "subject": {"__class__": "ConnectedValue"}}, "level": "40", "linker": "1", "outformat": "fasta", "window": "64", "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.14.1+galaxy2",type:"tool",uuid:"903a13af-2be0-48a9-8355-1e2486d857cf",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",errors:null,id:3,input_connections:{infile:{id:2,output_name:"outfile"}},inputs:[],label:"hard-masking",name:"Text transformation",outputs:[{name:"output",type:"input"}],position:{left:827.4147686709443,top:312.24609375},post_job_actions:{ChangeDatatypeActionoutput:{action_arguments:{newtype:"fasta"},action_type:"ChangeDatatypeAction",output_name:"output"},HideDatasetActionoutput:{action_arguments:{},action_type:"HideDatasetAction",output_name:"output"}},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "code": "/^>/!y/atcgn/NNNNN/", "infile": {"__class__": "RuntimeValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"5089350b-c1a9-498a-9786-9864d484f77a",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.3+galaxy1",errors:null,id:4,input_connections:{kraken2_database:{id:1,output_name:"output"},"single_paired|input_sequences":{id:3,output_name:"output"}},inputs:[],label:"ID non-target contaminants",name:"Kraken2",outputs:[{name:"classified_out_s",type:"input"},{name:"unclassified_out_s",type:"input"},{name:"output",type:"tabular"}],position:{left:1300.1257061709443,top:147.58203125},post_job_actions:{HideDatasetActionunclassified_out_s:{action_arguments:{},action_type:"HideDatasetAction",output_name:"unclassified_out_s"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.3+galaxy1",tool_shed_repository:{changeset_revision:"cdee7158adf3",name:"kraken2",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"confidence": "0.3", "kraken2_database": {"__class__": "ConnectedValue"}, "min_base_quality": "0", "minimum_hit_groups": "2", "quick": false, "report": {"create_report": false, "use_mpa_style": false, "report_zero_counts": false, "report_minimizer_data": false}, "single_paired": {"single_paired_selector": "no", "__current_case__": 2, "input_sequences": {"__class__": "ConnectedValue"}}, "split_reads": true, "use_names": true, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.1.3+galaxy1",type:"tool",uuid:"17141f21-ae3c-44ac-b0a5-d3bb9b8726a4",when:null,workflow_outputs:[{label:"Kraken2 classification scores",output_name:"output",uuid:"c380857b-5180-4e82-a14f-8b575f10abaa"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.14.1+galaxy2",errors:null,id:5,input_connections:{query:{id:3,output_name:"output"}},inputs:[],label:"blast mitochondria DB",name:"NCBI BLAST+ blastn",outputs:[{name:"output1",type:"tabular"}],position:{left:1293.4616436709443,top:539.6171875},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.14.1+galaxy2",tool_shed_repository:{changeset_revision:"cbf3f518b668",name:"ncbi_blast_plus",owner:"devteam",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"adv_opts": {"adv_opts_selector": "basic", "__current_case__": 0}, "blast_type": "blastn", "db_opts": {"db_opts_selector": "db", "__current_case__": 0, "database": ["refseq_mitochondrion"], "histdb": "", "subject": ""}, "evalue_cutoff": "0.001", "output": {"out_format": "cols", "__current_case__": 2, "std_cols": ["qseqid", "sseqid", "length", "qstart", "qend", "evalue"], "ext_cols": ["qlen"], "ids_cols": null, "misc_cols": ["qcovs", "qcovhsp"], "tax_cols": null}, "query": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.14.1+galaxy2",type:"tool",uuid:"1737bad0-48d9-489e-9a45-d6f3d3fcb900",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"Cut1",errors:null,id:6,input_connections:{input:{id:4,output_name:"output"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:1654.7624249209443,top:53.078125},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c1,c2,c3", "delimiter": "T", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"bb39eb8b-cad8-44f1-aa56-64a11d985e3c",when:null,workflow_outputs:[]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/parse_mito_blast/parse_mito_blast/1.0.2+galaxy0",errors:null,id:7,input_connections:{blastout:{id:5,output_name:"output1"}},inputs:[],label:"parsing blast output",name:"Parse mitochondrial blast",outputs:[{name:"cov_report",type:"tabular"},{name:"mito_scaff_names",type:"txt"}],position:{left:1821.3783868183484,top:482.19337215633186},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/parse_mito_blast/parse_mito_blast/1.0.2+galaxy0",tool_shed_repository:{changeset_revision:"3c9ad4adf8d2",name:"parse_mito_blast",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"blastout": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2+galaxy0",type:"tool",uuid:"4350e47a-2394-4381-a274-e238985195df",when:null,workflow_outputs:[{label:"mito_scaff_names",output_name:"mito_scaff_names",uuid:"1478af1e-52f4-48fe-b966-0a61e2014a58"}]},8:{annotation:"",content_id:"Filter1",errors:null,id:8,input_connections:{input:{id:6,output_name:"out_file1"}},inputs:[],label:null,name:"Filter",outputs:[{name:"out_file1",type:"input"}],position:{left:2001.9694561709443,top:0},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"},RenameDatasetActionout_file1:{action_arguments:{newname:"List of contaminants"},action_type:"RenameDatasetAction",output_name:"out_file1"}},tool_id:"Filter1",tool_state:`{"cond": "c1!='U'", "header_lines": "0", "input": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}`,tool_version:"1.1.1",type:"tool",uuid:"f5d80335-9b98-40ca-b706-4bb54d9801e6",when:null,workflow_outputs:[{label:"contaminants_table",output_name:"out_file1",uuid:"64156e28-aaf0-4578-9a7e-d6d21774c2c8"}]},9:{annotation:"",content_id:"Cut1",errors:null,id:9,input_connections:{input:{id:8,output_name:"out_file1"}},inputs:[],label:null,name:"Cut",outputs:[{name:"out_file1",type:"tabular"}],position:{left:2237.4640689838916,top:241.19478945940944},post_job_actions:{HideDatasetActionout_file1:{action_arguments:{},action_type:"HideDatasetAction",output_name:"out_file1"}},tool_id:"Cut1",tool_state:'{"columnList": "c2", "delimiter": "T", "input": {"__class__": "RuntimeValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.0.2",type:"tool",uuid:"8cc3e58f-2940-454a-9cf6-b32c1ab19016",when:null,workflow_outputs:[]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1",errors:null,id:10,input_connections:{inputs:[{id:7,output_name:"mito_scaff_names"},{id:9,output_name:"out_file1"}]},inputs:[],label:"concatenate scaffold lists",name:"Concatenate datasets",outputs:[{name:"out_file1",type:"input"}],position:{left:2538.6178936709443,top:423.9453125},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1",tool_shed_repository:{changeset_revision:"86755160afbf",name:"text_processing",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"inputs": {"__class__": "ConnectedValue"}, "queries": [], "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"9.3+galaxy1",type:"tool",uuid:"5b7e33a0-0ec4-4539-bb91-0c862597df69",when:null,workflow_outputs:[{label:"full contaminant + mito scaffold list",output_name:"out_file1",uuid:"77084ec5-a145-40c1-9cfc-476d091105ae"}]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0",errors:null,id:11,input_connections:{input_file:{id:0,output_name:"output"},"target_condition|exclude_bed":{id:10,output_name:"out_file1"}},inputs:[],label:"removing scaffolds ",name:"gfastats",outputs:[{name:"output",type:"fastq"}],position:{left:2977.7819561709443,top:798.078125},post_job_actions:{},tool_id:"toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0",tool_shed_repository:{changeset_revision:"3ef480892a9f",name:"gfastats",owner:"bgruening",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"input_file": {"__class__": "ConnectedValue"}, "mode_condition": {"selector": "manipulation", "__current_case__": 0, "swiss_army_knife": {"__class__": "ConnectedValue"}, "output_condition": {"out_format": "fasta.gz", "__current_case__": 1, "line_length": null}, "discover_paths": false, "sort": "", "homopolymer_compress": null}, "target_condition": {"target_option": "true", "__current_case__": 1, "target_sequence": "", "include_bed": {"__class__": "ConnectedValue"}, "exclude_bed": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3.6+galaxy0",type:"tool",uuid:"5113c945-c811-4cbc-81ac-20d1d80e97ed",when:null,workflow_outputs:[{label:"final decontaminated assembly",output_name:"output",uuid:"88a8e9ed-d92c-4340-aaad-c6d450a336aa"}]}},tags:["VGP_curated"],uuid:"aa4960d9-198d-4990-a393-a98efcd3070a",version:3},readme:null,changelog:`# Changelog ## [0.3] 2024-08-26 @@ -4465,6 +8590,38 @@ workflow_display() ## [0.1] - 2023-11-07 - Creation of workflow for Assembly decontamination +`,diagrams:`# Workflow diagrams + +## Assembly-decontamination-VGP9 + +\`\`\`mermaid +graph LR +0["ℹ️ Scaffolded assembly (fasta)"]@{ shape: doc } +1["ℹ️ Database for Kraken2"]@{ shape: lean-l } +2["soft-masking "]@{ shape: process } +0 --> 2 +3["hard-masking"]@{ shape: process } +2 --> 3 +4["ID non-target contaminants"]@{ shape: process } +1 --> 4 +3 --> 4 +5["blast mitochondria DB"]@{ shape: process } +3 --> 5 +6["Cut"]@{ shape: process } +4 --> 6 +7["parsing blast output"]@{ shape: process } +5 --> 7 +8["Filter"]@{ shape: process } +6 --> 8 +9["Cut"]@{ shape: process } +8 --> 9 +10["concatenate scaffold lists"]@{ shape: process } +7 --> 10 +9 --> 10 +11["removing scaffolds "]@{ shape: process } +0 --> 11 +10 --> 11 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/Assembly-decontamination-VGP9/main",tests:[{doc:"Test outline for Assembly-decontamination-VGP9",job:{"Scaffolded assembly (fasta)":{class:"File",location:"https://zenodo.org/records/13327557/files/Scaffolded_assembly.fasta?download=1",filetype:"fasta"},"Database for Kraken2":"viral2019-03"},outputs:{mito_scaff_names:{asserts:{has_text:{text:"scaffold_82"}}},"final decontaminated assembly":{decompress:!0,asserts:{not_has_text:{text:"scaffold_200"}}},contaminants_table:{asserts:{has_text:{text:"scaffold_200"}}}}}]}],path:"./workflows/VGP-assembly-v2/Assembly-decontamination-VGP9"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Assembly-Hifi-only-VGP3.ga",testParameterFiles:["/Assembly-Hifi-only-VGP3-tests.yml"],authors:[{name:"Galaxy"},{name:"VGP",url:"https://vertebrategenomeproject.org"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"Galaxy"},{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.2.2",name:"Assembly-Hifi-only-VGP3",report:{markdown:` # Workflow Execution Report @@ -4581,7 +8738,165 @@ Generate assembly based on PacBio Hifi Reads. 6. QC: Assembly statistics for both assemblies 7. QC: Nx plot for both assemblies 8. QC: Size plot for both assemblie -`,changelog:"# Changelog\n\n## [0.2.2] 2024-10-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.7.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy2`\n\n## [0.2.1] 2024-08-13\n\n- Expose Busco lineage database parameter\n\n## [0.2] 2024-08-01\n\n### Added\n\n- Add bandage image\n- Add workflow report\n\n### Changed\n\n- Fix bug in merging assembly statistics\n\n## [0.1.8] 2024-07-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n\n## [0.1.7] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.9+galaxy0`\n\n## [0.1.6] 2024-05-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0`\n\n\n## [0.1.5] 2024-04-23\n\n### Changed\n\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n\n## [0.1.4] 2024-04-19\n\n### Manual Updates\n\n- Add Homozygous Read coverage parameter and calculation\n- Expose Lineage parameter\n\n### Automatic update\n\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy4`\n\n## [0.1.3] 2024-03-25\n\n### Manual Updates\n- Add Gff outputs to Busco\n- Add histogram outputs to Merqury\n- Add labels to subworkflows\n\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1`\n\n\n## [0.1.2] 2023-11-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.16.1+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n\n## [0.1.1] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1] - 2023-09-26\n\nAddition of the workflow to the iwc repository.\n",trsID:"#workflow/github.com/iwc-workflows/Assembly-Hifi-only-VGP3/main",tests:[{doc:"Test for Assembly-Hifi-only-VGP3",job:{"Meryl Database":{class:"File",location:"https://zenodo.org/record/8371053/files/Meryl-db.meryldb?download=1",filetype:"meryldb"},"Genomescope Summary":{class:"File",location:"https://zenodo.org/record/8371053/files/GenomeScope_Summary.txt?download=1",filetype:"txt"},"Genomescope Model Parameters":{class:"File",path:"test-data/GenomeScope_Model_parameters.tabular",filetype:"tabular"},"Pacbio Reads Collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"yeast_reads_sub1.fastq.gz",location:"https://zenodo.org/record/8371053/files/yeast_reads_sub1.fastq.gz?download=1",filetype:"fastqsanger.gz"}]},"Bits for Hifiasm bloom filter":32,"SAK input file (Optional)":null,"Homozygous Read Coverage":null,"Database for Busco Lineage":"v5",Lineage:"vertebrata_odb10","Name of primary assembly":"Primary","Name of alternate assembly":"Alternate"},outputs:{"Hifiasm Primary assembly":{asserts:{has_n_lines:{n:170}}},"Hifiasm Alternate assembly":{asserts:{has_n_lines:{n:2}}},"Assembly Stats on Alternate Assembly":{asserts:{has_line:{line:"# scaffolds 1"}}},"Estimated Genome size":2288021,"Assembly Stats on Primary assembly":{asserts:{has_line:{line:"# scaffolds 85"}}},"Assembly statistics":{asserts:{has_line:{line:"# scaffolds 85 1"}}},"Busco Summary":{asserts:{has_text:{text:"C:1.2%[S:1.2%,D:0.0%],F:0.4%,M:98.4%,n:3354"}}},"Nx Plot":{asserts:{has_size:{value:6e4,delta:1e4}}}}}]}],path:"./workflows/VGP-assembly-v2/Assembly-Hifi-only-VGP3"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/kmer-profiling-hifi-trio-VGP2.ga",testParameterFiles:["/kmer-profiling-hifi-trio-VGP2-tests.yml"],authors:[{name:"VGP",url:"https://vertebrategenomeproject.org"},{name:"Galaxy"}],definition:{a_galaxy_workflow:"true",annotation:"Create Meryl Database used for the estimation of assembly parameters and quality control with Merqury. Part of the VGP pipeline.",creator:[{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"},{class:"Organization",name:"Galaxy"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.1.4",name:"kmer-profiling-hifi-trio-VGP2",steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"",name:"Pacbio Hifi reads"}],label:"Pacbio Hifi reads",name:"Input dataset collection",outputs:[],position:{left:0,top:251.26255108421145},tool_id:null,tool_state:'{"optional": false, "format": ["fastq"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"144a390d-3d1d-49a8-a1cd-f8a784eb287c",when:null,workflow_outputs:[]},1:{annotation:"Collection of Illumina reads for the father of the Individual sequenced with Pacbio Hifi.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Collection of Illumina reads for the father of the Individual sequenced with Pacbio Hifi.",name:"Paternal reads"}],label:"Paternal reads",name:"Input dataset collection",outputs:[],position:{left:16.83203125,top:399.546875},tool_id:null,tool_state:'{"optional": false, "format": ["fastq"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"670ba121-d332-4943-93e6-b5a2950b4718",when:null,workflow_outputs:[]},2:{annotation:"Collection of Illumina reads for the mother of the Individual sequenced with Pacbio Hifi.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Collection of Illumina reads for the mother of the Individual sequenced with Pacbio Hifi.",name:"Maternal reads"}],label:"Maternal reads",name:"Input dataset collection",outputs:[],position:{left:18.07421875,top:541.590674999974},tool_id:null,tool_state:'{"optional": false, "format": ["fastq"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"3a16a1cf-cc12-42f4-8d5f-78f307dcf87d",when:null,workflow_outputs:[]},3:{annotation:"",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"",name:"K-mer length"}],label:"K-mer length",name:"Input parameter",outputs:[],position:{left:8.30859375,top:660.512549999974},tool_id:null,tool_state:'{"default": 21, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"834ddad6-9ec5-4f3c-a0c6-73093dd5b7f0",when:null,workflow_outputs:[]},4:{annotation:"",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"",name:"Ploidy"}],label:"Ploidy",name:"Input parameter",outputs:[],position:{left:4.04296875,top:831.043799999974},tool_id:null,tool_state:'{"default": 2, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"131b3494-ca33-457c-9f53-9c8c608d319a",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:5,input_connections:{"operation_type|input_reads":{id:1,output_name:"output"},"operation_type|options_kmer_size|input_kmer_size":{id:3,output_name:"output"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:977.19921875,top:290.35629999997394},post_job_actions:{HideDatasetActionread_db:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "count-kmers", "__current_case__": 0, "count_operations": "count", "input_reads": {"__class__": "ConnectedValue"}, "options_kmer_size": {"kmer_size": "provide", "__current_case__": 0, "input_kmer_size": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"3cb010a0-5dcd-4fb2-b6b2-a66b95001f4e",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:6,input_connections:{"operation_type|child_reads":{id:0,output_name:"output"},"operation_type|maternal_reads":{id:2,output_name:"output"},"operation_type|options_kmer_size|input_kmer_size":{id:3,output_name:"output"},"operation_type|paternal_reads":{id:1,output_name:"output"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"},{name:"read_db_hist",type:"tabular"},{name:"pat_db",type:"meryldb"},{name:"pat_db_hist",type:"tabular"},{name:"mat_db",type:"meryldb"},{name:"mat_db_hist",type:"tabular"}],position:{left:1310.74609375,top:425.69223858421145},post_job_actions:{HideDatasetActionmat_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"mat_db_hist"},HideDatasetActionpat_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"pat_db_hist"},HideDatasetActionread_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db_hist"},TagDatasetActionmat_db:{action_arguments:{tags:"meryl_db_mat, #maternal"},action_type:"TagDatasetAction",output_name:"mat_db"},TagDatasetActionmat_db_hist:{action_arguments:{tags:"meryl_hist_mat, #maternal"},action_type:"TagDatasetAction",output_name:"mat_db_hist"},TagDatasetActionpat_db:{action_arguments:{tags:"meryl_db_pat, #paternal"},action_type:"TagDatasetAction",output_name:"pat_db"},TagDatasetActionpat_db_hist:{action_arguments:{tags:"meryl_hist_pat, #paternal"},action_type:"TagDatasetAction",output_name:"pat_db_hist"},TagDatasetActionread_db:{action_arguments:{tags:"meryl_db"},action_type:"TagDatasetAction",output_name:"read_db"},TagDatasetActionread_db_hist:{action_arguments:{tags:"meryl_hist"},action_type:"TagDatasetAction",output_name:"read_db_hist"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "trio-mode", "__current_case__": 6, "child_reads": {"__class__": "ConnectedValue"}, "paternal_reads": {"__class__": "ConnectedValue"}, "maternal_reads": {"__class__": "ConnectedValue"}, "options_kmer_size": {"kmer_size": "provide", "__current_case__": 0, "input_kmer_size": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"384dfbfc-98dc-4fba-b421-77cf81573f85",when:null,workflow_outputs:[{label:"Meryl database : maternal",output_name:"mat_db",uuid:"66a5ba61-a290-4350-ac33-3b9a878cca67"},{label:"Meryl database : Child",output_name:"read_db",uuid:"69021571-e6a3-4014-8449-94b5ff8af000"},{label:"Meryl database : paternal",output_name:"pat_db",uuid:"84990c33-282b-44dc-8a5e-6db7889ca79c"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:7,input_connections:{"operation_type|input_reads":{id:2,output_name:"output"},"operation_type|options_kmer_size|input_kmer_size":{id:3,output_name:"output"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:1007.23046875,top:1038.121924999974},post_job_actions:{HideDatasetActionread_db:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "count-kmers", "__current_case__": 0, "count_operations": "count", "input_reads": {"__class__": "ConnectedValue"}, "options_kmer_size": {"kmer_size": "provide", "__current_case__": 0, "input_kmer_size": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"0ceeb463-4b8f-49dc-b7e3-66987628ac17",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:8,input_connections:{"operation_type|input_meryldb_02":{id:5,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:1309.24609375,top:306.91879999997394},post_job_actions:{HideDatasetActionread_db:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "groups-kmers", "__current_case__": 3, "groups_operations": "union-sum", "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"cb7e3912-db9c-437c-ab5a-80844bd6ce2a",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",errors:null,id:9,input_connections:{input:{id:6,output_name:"read_db_hist"},kmer_length:{id:3,output_name:"output"},ploidy:{id:4,output_name:"output"}},inputs:[],label:null,name:"GenomeScope",outputs:[{name:"linear_plot",type:"png"},{name:"log_plot",type:"png"},{name:"transformed_linear_plot",type:"png"},{name:"transformed_log_plot",type:"png"},{name:"model",type:"txt"},{name:"summary",type:"txt"},{name:"model_params",type:"tabular"}],position:{left:2134.73828125,top:0},post_job_actions:{TagDatasetActionlinear_plot:{action_arguments:{tags:"genomescope_linear"},action_type:"TagDatasetAction",output_name:"linear_plot"},TagDatasetActionlog_plot:{action_arguments:{tags:"genomescope_log"},action_type:"TagDatasetAction",output_name:"log_plot"},TagDatasetActionmodel:{action_arguments:{tags:"genomescope_model"},action_type:"TagDatasetAction",output_name:"model"},TagDatasetActionmodel_params:{action_arguments:{tags:"genomescope_params"},action_type:"TagDatasetAction",output_name:"model_params"},TagDatasetActionsummary:{action_arguments:{tags:"genomescope_summ"},action_type:"TagDatasetAction",output_name:"summary"},TagDatasetActiontransformed_linear_plot:{action_arguments:{tags:"genomescope_tr_linear"},action_type:"TagDatasetAction",output_name:"transformed_linear_plot"},TagDatasetActiontransformed_log_plot:{action_arguments:{tags:"genomescope_tr_log"},action_type:"TagDatasetAction",output_name:"transformed_log_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",tool_shed_repository:{changeset_revision:"460fad600dce",name:"genomescope",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"topology": null, "initial_repetitiveness": null, "initial_heterozygosities": "", "transform_exp": null, "testing": true, "true_params": "", "trace_flag": false, "num_rounds": null}, "input": {"__class__": "ConnectedValue"}, "kmer_length": {"__class__": "ConnectedValue"}, "lambda": null, "max_kmercov": null, "output_options": {"output_files": ["model_output", "summary_output"], "no_unique_sequence": false}, "ploidy": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.1+galaxy0",type:"tool",uuid:"12e75ec0-5722-4ad7-b333-636c3c9ad9c8",when:null,workflow_outputs:[{label:"GenomeScope transformed log plot (child)",output_name:"transformed_log_plot",uuid:"bc1789b4-8cc8-4f74-ac92-f6d20c1fbd7f"},{label:"GenomeScope summary (child)",output_name:"summary",uuid:"12268f46-c221-4417-884b-27cdad90ec05"},{label:"GenomeScope transformed linear plot (child)",output_name:"transformed_linear_plot",uuid:"acebbb13-a1bd-4866-9e6f-b15708e7c78d"},{label:"GenomeScope linear plot (child)",output_name:"linear_plot",uuid:"2fbf41bc-b939-4a05-b788-2be6008aa36a"},{label:"GenomeScope log plot (child)",output_name:"log_plot",uuid:"4fc5e47d-bae4-44f3-957b-4dce5068610a"},{label:"GenomeScope Model Parameters (child)",output_name:"model_params",uuid:"3bc4131f-ce9b-4358-a20b-885020d34f09"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:10,input_connections:{"operation_type|input_meryldb_02":{id:7,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:1303.27734375,top:1097.121924999974},post_job_actions:{HideDatasetActionread_db:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "groups-kmers", "__current_case__": 3, "groups_operations": "union-sum", "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"3453dbb5-08f9-4f34-a7d3-ab8498156b39",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:11,input_connections:{"operation_type|input_meryldb_02":{id:8,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db_hist",type:"tabular"}],position:{left:1565.08984375,top:345.93442499997394},post_job_actions:{HideDatasetActionread_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db_hist"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "histogram-kmers", "__current_case__": 4, "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"fdbda877-8e7f-4b3b-862e-c71bf65ee35e",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:12,input_connections:{"operation_type|input_meryldb_02":{id:10,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db_hist",type:"tabular"}],position:{left:1558.05859375,top:1091.137549999974},post_job_actions:{HideDatasetActionread_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db_hist"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "histogram-kmers", "__current_case__": 4, "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"76278c97-9522-4f03-b3a3-77c23c460bdc",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",errors:null,id:13,input_connections:{input:{id:11,output_name:"read_db_hist"},kmer_length:{id:3,output_name:"output"},ploidy:{id:4,output_name:"output"}},inputs:[],label:"Genomescope on paternal haplotype",name:"GenomeScope",outputs:[{name:"linear_plot",type:"png"},{name:"log_plot",type:"png"},{name:"transformed_linear_plot",type:"png"},{name:"transformed_log_plot",type:"png"},{name:"model",type:"txt"},{name:"summary",type:"txt"}],position:{left:1851.80078125,top:235.52643658225833},post_job_actions:{HideDatasetActionmodel:{action_arguments:{},action_type:"HideDatasetAction",output_name:"model"},HideDatasetActionsummary:{action_arguments:{},action_type:"HideDatasetAction",output_name:"summary"},TagDatasetActionlinear_plot:{action_arguments:{tags:"genomescope_linear_pat, #paternal"},action_type:"TagDatasetAction",output_name:"linear_plot"},TagDatasetActionlog_plot:{action_arguments:{tags:"genomescope_log_pat, #paternal"},action_type:"TagDatasetAction",output_name:"log_plot"},TagDatasetActionmodel:{action_arguments:{tags:"genomescope_model_pat, #paternal"},action_type:"TagDatasetAction",output_name:"model"},TagDatasetActionsummary:{action_arguments:{tags:"genomescope_summ_pat, #paternal"},action_type:"TagDatasetAction",output_name:"summary"},TagDatasetActiontransformed_linear_plot:{action_arguments:{tags:"genomescope_tr_linear_pat, #paternal"},action_type:"TagDatasetAction",output_name:"transformed_linear_plot"},TagDatasetActiontransformed_log_plot:{action_arguments:{tags:"genomescope_tr_log_pat, #paternal"},action_type:"TagDatasetAction",output_name:"transformed_log_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",tool_shed_repository:{changeset_revision:"460fad600dce",name:"genomescope",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"topology": null, "initial_repetitiveness": null, "initial_heterozygosities": "", "transform_exp": null, "testing": false, "true_params": "", "trace_flag": false, "num_rounds": null}, "input": {"__class__": "ConnectedValue"}, "kmer_length": {"__class__": "ConnectedValue"}, "lambda": null, "max_kmercov": null, "output_options": {"output_files": ["model_output", "summary_output"], "no_unique_sequence": false}, "ploidy": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.1+galaxy0",type:"tool",uuid:"c65bd0f5-d8d5-4d1d-81bf-6d05458bc160",when:null,workflow_outputs:[{label:"GenomeScope linear plot (paternal)",output_name:"linear_plot",uuid:"bba131ee-0c54-404a-87f8-067faebea46b"},{label:"GenomeScope transformed log plot (paternal)",output_name:"transformed_log_plot",uuid:"eddc8909-df19-48c2-8406-d6bc784ceb8b"},{label:"GenomeScope log plot (paternal)",output_name:"log_plot",uuid:"cc24ee83-d9ee-4759-9353-1be2e7dbb253"},{label:"GenomeScope transformed linear plot (paternal)",output_name:"transformed_linear_plot",uuid:"2b73811b-e91e-49c6-a122-5065977f9f0e"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",errors:null,id:14,input_connections:{input:{id:12,output_name:"read_db_hist"},kmer_length:{id:3,output_name:"output"},ploidy:{id:4,output_name:"output"}},inputs:[],label:"Genomescope on maternal haplotype",name:"GenomeScope",outputs:[{name:"linear_plot",type:"png"},{name:"log_plot",type:"png"},{name:"transformed_linear_plot",type:"png"},{name:"transformed_log_plot",type:"png"},{name:"model",type:"txt"},{name:"summary",type:"txt"}],position:{left:1841.77734375,top:1187.106299999974},post_job_actions:{HideDatasetActionmodel:{action_arguments:{},action_type:"HideDatasetAction",output_name:"model"},HideDatasetActionsummary:{action_arguments:{},action_type:"HideDatasetAction",output_name:"summary"},TagDatasetActionlinear_plot:{action_arguments:{tags:"genomescope_linear_mat, #maternal"},action_type:"TagDatasetAction",output_name:"linear_plot"},TagDatasetActionlog_plot:{action_arguments:{tags:"genomescope_log_mat, #maternal"},action_type:"TagDatasetAction",output_name:"log_plot"},TagDatasetActionmodel:{action_arguments:{tags:"genomescope_model_mat, #maternal"},action_type:"TagDatasetAction",output_name:"model"},TagDatasetActionsummary:{action_arguments:{tags:"genomescope_summ_mat, #maternal"},action_type:"TagDatasetAction",output_name:"summary"},TagDatasetActiontransformed_linear_plot:{action_arguments:{tags:"genomescope_tr_linear_mat"},action_type:"TagDatasetAction",output_name:"transformed_linear_plot"},TagDatasetActiontransformed_log_plot:{action_arguments:{tags:"genomescope_tr_log_mat, #maternal"},action_type:"TagDatasetAction",output_name:"transformed_log_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",tool_shed_repository:{changeset_revision:"460fad600dce",name:"genomescope",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"topology": null, "initial_repetitiveness": null, "initial_heterozygosities": "", "transform_exp": null, "testing": false, "true_params": "", "trace_flag": false, "num_rounds": null}, "input": {"__class__": "ConnectedValue"}, "kmer_length": {"__class__": "ConnectedValue"}, "lambda": null, "max_kmercov": null, "output_options": {"output_files": ["model_output", "summary_output"], "no_unique_sequence": false}, "ploidy": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.1+galaxy0",type:"tool",uuid:"87497ba1-5c23-4852-9e2f-0bd78dc86753",when:null,workflow_outputs:[{label:"GenomeScope log plot (maternal)",output_name:"log_plot",uuid:"e2ef48ab-bbb8-4a89-8d10-4de7998db481"},{label:"GenomeScope transformed log plot (maternal)",output_name:"transformed_log_plot",uuid:"ebe91290-a02b-498d-adb6-75fab0739fbf"},{label:"GenomeScope transformed linear plot (maternal)",output_name:"transformed_linear_plot",uuid:"7ecb789d-57e3-40f2-81ff-f853b444609b"},{label:"GenomeScope linear plot (maternal)",output_name:"linear_plot",uuid:"ed208558-8a6f-4405-bd9c-7e6343e9f71d"}]}},tags:["Reviewed","VGP"],uuid:"af01815b-5b66-4578-ade7-6e2caed0c19a",version:9},readme:`# VGP Workflow #1 +`,changelog:"# Changelog\n\n## [0.2.2] 2024-10-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.7.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy2`\n\n## [0.2.1] 2024-08-13\n\n- Expose Busco lineage database parameter\n\n## [0.2] 2024-08-01\n\n### Added\n\n- Add bandage image\n- Add workflow report\n\n### Changed\n\n- Fix bug in merging assembly statistics\n\n## [0.1.8] 2024-07-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n\n## [0.1.7] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.9+galaxy0`\n\n## [0.1.6] 2024-05-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0`\n\n\n## [0.1.5] 2024-04-23\n\n### Changed\n\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n\n## [0.1.4] 2024-04-19\n\n### Manual Updates\n\n- Add Homozygous Read coverage parameter and calculation\n- Expose Lineage parameter\n\n### Automatic update\n\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy4`\n\n## [0.1.3] 2024-03-25\n\n### Manual Updates\n- Add Gff outputs to Busco\n- Add histogram outputs to Merqury\n- Add labels to subworkflows\n\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1`\n\n\n## [0.1.2] 2023-11-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.16.1+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n\n## [0.1.1] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1] - 2023-09-26\n\nAddition of the workflow to the iwc repository.\n",diagrams:`# Workflow diagrams + +## Assembly-Hifi-only-VGP3 + +\`\`\`mermaid +graph LR +0["ℹ️ Pacbio Reads Collection"]@{ shape: docs } +1["ℹ️ Meryl Database"]@{ shape: doc } +2["ℹ️ Genomescope Summary"]@{ shape: doc } +3["ℹ️ Bits for Hifiasm bloom filter"]@{ shape: lean-l } +4["ℹ️ Homozygous Read Coverage"]@{ shape: lean-l } +5["ℹ️ Genomescope Model Parameters"]@{ shape: doc } +6["ℹ️ Database for Busco Lineage"]@{ shape: lean-l } +7["ℹ️ Lineage"]@{ shape: lean-l } +8["ℹ️ SAK input file (Optional)"]@{ shape: doc } +9["ℹ️ Name of primary assembly"]@{ shape: lean-l } +10["ℹ️ Name of alternate assembly"]@{ shape: lean-l } +11["Cutadapt"]@{ shape: process } +0 --> 11 +12["Search in textfiles"]@{ shape: process } +2 --> 12 +13["Pick parameter value"]@{ shape: process } +3 --> 13 +14["Compute"]@{ shape: process } +5 --> 14 +15["MultiQC"]@{ shape: process } +11 --> 15 +16["Replace Text"]@{ shape: process } +12 --> 16 +17["Cut"]@{ shape: process } +14 --> 17 +18["Convert"]@{ shape: process } +16 --> 18 +19["Parse parameter value"]@{ shape: process } +17 --> 19 +20["Cut"]@{ shape: process } +18 --> 20 +21["Homozygous read coverage for Hifiasm"]@{ shape: process } +4 --> 21 +19 --> 21 +22["Estimated genome size"]@{ shape: process } +20 --> 22 +23["Hifiasm"]@{ shape: process } +21 --> 23 +13 --> 23 +11 --> 23 +24["Raw Unitig Image"]@{ shape: process } +23 --> 24 +25["gfastats"]@{ shape: process } +23 --> 25 +8 --> 25 +26["gfastats"]@{ shape: process } +23 --> 26 +8 --> 26 +27["gfastats"]@{ shape: process } +23 --> 27 +8 --> 27 +28["gfastats"]@{ shape: process } +23 --> 28 +8 --> 28 +29["gfastats"]@{ shape: process } +23 --> 29 +22 --> 29 +30["gfastats"]@{ shape: process } +23 --> 30 +22 --> 30 +31["gfastats"]@{ shape: process } +23 --> 31 +32["gfastats"]@{ shape: process } +23 --> 32 +33["Busco"]@{ shape: process } +27 --> 33 +6 --> 33 +7 --> 33 +34["Merqury"]@{ shape: process } +27 --> 34 +28 --> 34 +1 --> 34 +35["Text reformatting"]@{ shape: process } +29 --> 35 +36["Text reformatting"]@{ shape: process } +30 --> 36 +37["🛠️ Data Prep Primary"]@{ shape: subprocess } +31 --> 37 +38["🛠️ Data Prep Alternate"]@{ shape: subprocess } +32 --> 38 +39["merqury_qv"]@{ shape: process } +34 --> 39 +40["output_merqury.spectra-cn.fl"]@{ shape: process } +34 --> 40 +41["output_merqury.spectra-asm.fl"]@{ shape: process } +34 --> 41 +42["output_merqury.assembly_01.spectra-cn.fl"]@{ shape: process } +34 --> 42 +43["merqury_stats"]@{ shape: process } +34 --> 43 +44["Join two Datasets"]@{ shape: process } +35 --> 44 +36 --> 44 +45["🛠️ Plotting Nx and Sizes"]@{ shape: subprocess } +38 --> 45 +10 --> 45 +9 --> 45 +37 --> 45 +46["Advanced Cut"]@{ shape: process } +44 --> 46 +47["Replace"]@{ shape: process } +46 --> 47 +\`\`\` + +## gfastats_plot + +\`\`\`mermaid +graph LR +0["ℹ️ Primary data"]@{ shape: doc } +1["ℹ️ Alternate data"]@{ shape: doc } +2["ℹ️ Name of primary assembly"]@{ shape: lean-l } +3["ℹ️ Name of alternate assembly"]@{ shape: lean-l } +4["Add column"]@{ shape: process } +2 --> 4 +0 --> 4 +5["Add column"]@{ shape: process } +3 --> 5 +1 --> 5 +6["Concatenate datasets"]@{ shape: process } +4 --> 6 +5 --> 6 +7["Cut"]@{ shape: process } +6 --> 7 +8["Cut"]@{ shape: process } +6 --> 8 +9["Nx Plot"]@{ shape: process } +7 --> 9 +10["Size Plot"]@{ shape: process } +8 --> 10 +\`\`\` + +## gfastats_data_prep + +\`\`\`mermaid +graph LR +0["ℹ️ gfa_stats"]@{ shape: doc } +1["Sort"]@{ shape: process } +0 --> 1 +2["Text reformatting"]@{ shape: process } +1 --> 2 +3["Datamash"]@{ shape: process } +2 --> 3 +4["Add column"]@{ shape: process } +2 --> 4 +5["Parse parameter value"]@{ shape: process } +3 --> 5 +6["Compose text parameter value"]@{ shape: process } +5 --> 6 +7["Compute"]@{ shape: process } +4 --> 7 +6 --> 7 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/Assembly-Hifi-only-VGP3/main",tests:[{doc:"Test for Assembly-Hifi-only-VGP3",job:{"Meryl Database":{class:"File",location:"https://zenodo.org/record/8371053/files/Meryl-db.meryldb?download=1",filetype:"meryldb"},"Genomescope Summary":{class:"File",location:"https://zenodo.org/record/8371053/files/GenomeScope_Summary.txt?download=1",filetype:"txt"},"Genomescope Model Parameters":{class:"File",path:"test-data/GenomeScope_Model_parameters.tabular",filetype:"tabular"},"Pacbio Reads Collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"yeast_reads_sub1.fastq.gz",location:"https://zenodo.org/record/8371053/files/yeast_reads_sub1.fastq.gz?download=1",filetype:"fastqsanger.gz"}]},"Bits for Hifiasm bloom filter":32,"SAK input file (Optional)":null,"Homozygous Read Coverage":null,"Database for Busco Lineage":"v5",Lineage:"vertebrata_odb10","Name of primary assembly":"Primary","Name of alternate assembly":"Alternate"},outputs:{"Hifiasm Primary assembly":{asserts:{has_n_lines:{n:170}}},"Hifiasm Alternate assembly":{asserts:{has_n_lines:{n:2}}},"Assembly Stats on Alternate Assembly":{asserts:{has_line:{line:"# scaffolds 1"}}},"Estimated Genome size":2288021,"Assembly Stats on Primary assembly":{asserts:{has_line:{line:"# scaffolds 85"}}},"Assembly statistics":{asserts:{has_line:{line:"# scaffolds 85 1"}}},"Busco Summary":{asserts:{has_text:{text:"C:1.2%[S:1.2%,D:0.0%],F:0.4%,M:98.4%,n:3354"}}},"Nx Plot":{asserts:{has_size:{value:6e4,delta:1e4}}}}}]}],path:"./workflows/VGP-assembly-v2/Assembly-Hifi-only-VGP3"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/kmer-profiling-hifi-trio-VGP2.ga",testParameterFiles:["/kmer-profiling-hifi-trio-VGP2-tests.yml"],authors:[{name:"VGP",url:"https://vertebrategenomeproject.org"},{name:"Galaxy"}],definition:{a_galaxy_workflow:"true",annotation:"Create Meryl Database used for the estimation of assembly parameters and quality control with Merqury. Part of the VGP pipeline.",creator:[{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"},{class:"Organization",name:"Galaxy"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.1.4",name:"kmer-profiling-hifi-trio-VGP2",steps:{0:{annotation:"",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"",name:"Pacbio Hifi reads"}],label:"Pacbio Hifi reads",name:"Input dataset collection",outputs:[],position:{left:0,top:251.26255108421145},tool_id:null,tool_state:'{"optional": false, "format": ["fastq"], "tag": null, "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"144a390d-3d1d-49a8-a1cd-f8a784eb287c",when:null,workflow_outputs:[]},1:{annotation:"Collection of Illumina reads for the father of the Individual sequenced with Pacbio Hifi.",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"Collection of Illumina reads for the father of the Individual sequenced with Pacbio Hifi.",name:"Paternal reads"}],label:"Paternal reads",name:"Input dataset collection",outputs:[],position:{left:16.83203125,top:399.546875},tool_id:null,tool_state:'{"optional": false, "format": ["fastq"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"670ba121-d332-4943-93e6-b5a2950b4718",when:null,workflow_outputs:[]},2:{annotation:"Collection of Illumina reads for the mother of the Individual sequenced with Pacbio Hifi.",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Collection of Illumina reads for the mother of the Individual sequenced with Pacbio Hifi.",name:"Maternal reads"}],label:"Maternal reads",name:"Input dataset collection",outputs:[],position:{left:18.07421875,top:541.590674999974},tool_id:null,tool_state:'{"optional": false, "format": ["fastq"], "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"3a16a1cf-cc12-42f4-8d5f-78f307dcf87d",when:null,workflow_outputs:[]},3:{annotation:"",content_id:null,errors:null,id:3,input_connections:{},inputs:[{description:"",name:"K-mer length"}],label:"K-mer length",name:"Input parameter",outputs:[],position:{left:8.30859375,top:660.512549999974},tool_id:null,tool_state:'{"default": 21, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"834ddad6-9ec5-4f3c-a0c6-73093dd5b7f0",when:null,workflow_outputs:[]},4:{annotation:"",content_id:null,errors:null,id:4,input_connections:{},inputs:[{description:"",name:"Ploidy"}],label:"Ploidy",name:"Input parameter",outputs:[],position:{left:4.04296875,top:831.043799999974},tool_id:null,tool_state:'{"default": 2, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"131b3494-ca33-457c-9f53-9c8c608d319a",when:null,workflow_outputs:[]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:5,input_connections:{"operation_type|input_reads":{id:1,output_name:"output"},"operation_type|options_kmer_size|input_kmer_size":{id:3,output_name:"output"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:977.19921875,top:290.35629999997394},post_job_actions:{HideDatasetActionread_db:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "count-kmers", "__current_case__": 0, "count_operations": "count", "input_reads": {"__class__": "ConnectedValue"}, "options_kmer_size": {"kmer_size": "provide", "__current_case__": 0, "input_kmer_size": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"3cb010a0-5dcd-4fb2-b6b2-a66b95001f4e",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:6,input_connections:{"operation_type|child_reads":{id:0,output_name:"output"},"operation_type|maternal_reads":{id:2,output_name:"output"},"operation_type|options_kmer_size|input_kmer_size":{id:3,output_name:"output"},"operation_type|paternal_reads":{id:1,output_name:"output"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"},{name:"read_db_hist",type:"tabular"},{name:"pat_db",type:"meryldb"},{name:"pat_db_hist",type:"tabular"},{name:"mat_db",type:"meryldb"},{name:"mat_db_hist",type:"tabular"}],position:{left:1310.74609375,top:425.69223858421145},post_job_actions:{HideDatasetActionmat_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"mat_db_hist"},HideDatasetActionpat_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"pat_db_hist"},HideDatasetActionread_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db_hist"},TagDatasetActionmat_db:{action_arguments:{tags:"meryl_db_mat, #maternal"},action_type:"TagDatasetAction",output_name:"mat_db"},TagDatasetActionmat_db_hist:{action_arguments:{tags:"meryl_hist_mat, #maternal"},action_type:"TagDatasetAction",output_name:"mat_db_hist"},TagDatasetActionpat_db:{action_arguments:{tags:"meryl_db_pat, #paternal"},action_type:"TagDatasetAction",output_name:"pat_db"},TagDatasetActionpat_db_hist:{action_arguments:{tags:"meryl_hist_pat, #paternal"},action_type:"TagDatasetAction",output_name:"pat_db_hist"},TagDatasetActionread_db:{action_arguments:{tags:"meryl_db"},action_type:"TagDatasetAction",output_name:"read_db"},TagDatasetActionread_db_hist:{action_arguments:{tags:"meryl_hist"},action_type:"TagDatasetAction",output_name:"read_db_hist"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "trio-mode", "__current_case__": 6, "child_reads": {"__class__": "ConnectedValue"}, "paternal_reads": {"__class__": "ConnectedValue"}, "maternal_reads": {"__class__": "ConnectedValue"}, "options_kmer_size": {"kmer_size": "provide", "__current_case__": 0, "input_kmer_size": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"384dfbfc-98dc-4fba-b421-77cf81573f85",when:null,workflow_outputs:[{label:"Meryl database : maternal",output_name:"mat_db",uuid:"66a5ba61-a290-4350-ac33-3b9a878cca67"},{label:"Meryl database : Child",output_name:"read_db",uuid:"69021571-e6a3-4014-8449-94b5ff8af000"},{label:"Meryl database : paternal",output_name:"pat_db",uuid:"84990c33-282b-44dc-8a5e-6db7889ca79c"}]},7:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:7,input_connections:{"operation_type|input_reads":{id:2,output_name:"output"},"operation_type|options_kmer_size|input_kmer_size":{id:3,output_name:"output"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:1007.23046875,top:1038.121924999974},post_job_actions:{HideDatasetActionread_db:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "count-kmers", "__current_case__": 0, "count_operations": "count", "input_reads": {"__class__": "ConnectedValue"}, "options_kmer_size": {"kmer_size": "provide", "__current_case__": 0, "input_kmer_size": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"0ceeb463-4b8f-49dc-b7e3-66987628ac17",when:null,workflow_outputs:[]},8:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:8,input_connections:{"operation_type|input_meryldb_02":{id:5,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:1309.24609375,top:306.91879999997394},post_job_actions:{HideDatasetActionread_db:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "groups-kmers", "__current_case__": 3, "groups_operations": "union-sum", "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"cb7e3912-db9c-437c-ab5a-80844bd6ce2a",when:null,workflow_outputs:[]},9:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",errors:null,id:9,input_connections:{input:{id:6,output_name:"read_db_hist"},kmer_length:{id:3,output_name:"output"},ploidy:{id:4,output_name:"output"}},inputs:[],label:null,name:"GenomeScope",outputs:[{name:"linear_plot",type:"png"},{name:"log_plot",type:"png"},{name:"transformed_linear_plot",type:"png"},{name:"transformed_log_plot",type:"png"},{name:"model",type:"txt"},{name:"summary",type:"txt"},{name:"model_params",type:"tabular"}],position:{left:2134.73828125,top:0},post_job_actions:{TagDatasetActionlinear_plot:{action_arguments:{tags:"genomescope_linear"},action_type:"TagDatasetAction",output_name:"linear_plot"},TagDatasetActionlog_plot:{action_arguments:{tags:"genomescope_log"},action_type:"TagDatasetAction",output_name:"log_plot"},TagDatasetActionmodel:{action_arguments:{tags:"genomescope_model"},action_type:"TagDatasetAction",output_name:"model"},TagDatasetActionmodel_params:{action_arguments:{tags:"genomescope_params"},action_type:"TagDatasetAction",output_name:"model_params"},TagDatasetActionsummary:{action_arguments:{tags:"genomescope_summ"},action_type:"TagDatasetAction",output_name:"summary"},TagDatasetActiontransformed_linear_plot:{action_arguments:{tags:"genomescope_tr_linear"},action_type:"TagDatasetAction",output_name:"transformed_linear_plot"},TagDatasetActiontransformed_log_plot:{action_arguments:{tags:"genomescope_tr_log"},action_type:"TagDatasetAction",output_name:"transformed_log_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",tool_shed_repository:{changeset_revision:"460fad600dce",name:"genomescope",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"topology": null, "initial_repetitiveness": null, "initial_heterozygosities": "", "transform_exp": null, "testing": true, "true_params": "", "trace_flag": false, "num_rounds": null}, "input": {"__class__": "ConnectedValue"}, "kmer_length": {"__class__": "ConnectedValue"}, "lambda": null, "max_kmercov": null, "output_options": {"output_files": ["model_output", "summary_output"], "no_unique_sequence": false}, "ploidy": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.1+galaxy0",type:"tool",uuid:"12e75ec0-5722-4ad7-b333-636c3c9ad9c8",when:null,workflow_outputs:[{label:"GenomeScope transformed log plot (child)",output_name:"transformed_log_plot",uuid:"bc1789b4-8cc8-4f74-ac92-f6d20c1fbd7f"},{label:"GenomeScope summary (child)",output_name:"summary",uuid:"12268f46-c221-4417-884b-27cdad90ec05"},{label:"GenomeScope transformed linear plot (child)",output_name:"transformed_linear_plot",uuid:"acebbb13-a1bd-4866-9e6f-b15708e7c78d"},{label:"GenomeScope linear plot (child)",output_name:"linear_plot",uuid:"2fbf41bc-b939-4a05-b788-2be6008aa36a"},{label:"GenomeScope log plot (child)",output_name:"log_plot",uuid:"4fc5e47d-bae4-44f3-957b-4dce5068610a"},{label:"GenomeScope Model Parameters (child)",output_name:"model_params",uuid:"3bc4131f-ce9b-4358-a20b-885020d34f09"}]},10:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:10,input_connections:{"operation_type|input_meryldb_02":{id:7,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:1303.27734375,top:1097.121924999974},post_job_actions:{HideDatasetActionread_db:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "groups-kmers", "__current_case__": 3, "groups_operations": "union-sum", "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"3453dbb5-08f9-4f34-a7d3-ab8498156b39",when:null,workflow_outputs:[]},11:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:11,input_connections:{"operation_type|input_meryldb_02":{id:8,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db_hist",type:"tabular"}],position:{left:1565.08984375,top:345.93442499997394},post_job_actions:{HideDatasetActionread_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db_hist"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "histogram-kmers", "__current_case__": 4, "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"fdbda877-8e7f-4b3b-862e-c71bf65ee35e",when:null,workflow_outputs:[]},12:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:12,input_connections:{"operation_type|input_meryldb_02":{id:10,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db_hist",type:"tabular"}],position:{left:1558.05859375,top:1091.137549999974},post_job_actions:{HideDatasetActionread_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db_hist"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "histogram-kmers", "__current_case__": 4, "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"76278c97-9522-4f03-b3a3-77c23c460bdc",when:null,workflow_outputs:[]},13:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",errors:null,id:13,input_connections:{input:{id:11,output_name:"read_db_hist"},kmer_length:{id:3,output_name:"output"},ploidy:{id:4,output_name:"output"}},inputs:[],label:"Genomescope on paternal haplotype",name:"GenomeScope",outputs:[{name:"linear_plot",type:"png"},{name:"log_plot",type:"png"},{name:"transformed_linear_plot",type:"png"},{name:"transformed_log_plot",type:"png"},{name:"model",type:"txt"},{name:"summary",type:"txt"}],position:{left:1851.80078125,top:235.52643658225833},post_job_actions:{HideDatasetActionmodel:{action_arguments:{},action_type:"HideDatasetAction",output_name:"model"},HideDatasetActionsummary:{action_arguments:{},action_type:"HideDatasetAction",output_name:"summary"},TagDatasetActionlinear_plot:{action_arguments:{tags:"genomescope_linear_pat, #paternal"},action_type:"TagDatasetAction",output_name:"linear_plot"},TagDatasetActionlog_plot:{action_arguments:{tags:"genomescope_log_pat, #paternal"},action_type:"TagDatasetAction",output_name:"log_plot"},TagDatasetActionmodel:{action_arguments:{tags:"genomescope_model_pat, #paternal"},action_type:"TagDatasetAction",output_name:"model"},TagDatasetActionsummary:{action_arguments:{tags:"genomescope_summ_pat, #paternal"},action_type:"TagDatasetAction",output_name:"summary"},TagDatasetActiontransformed_linear_plot:{action_arguments:{tags:"genomescope_tr_linear_pat, #paternal"},action_type:"TagDatasetAction",output_name:"transformed_linear_plot"},TagDatasetActiontransformed_log_plot:{action_arguments:{tags:"genomescope_tr_log_pat, #paternal"},action_type:"TagDatasetAction",output_name:"transformed_log_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",tool_shed_repository:{changeset_revision:"460fad600dce",name:"genomescope",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"topology": null, "initial_repetitiveness": null, "initial_heterozygosities": "", "transform_exp": null, "testing": false, "true_params": "", "trace_flag": false, "num_rounds": null}, "input": {"__class__": "ConnectedValue"}, "kmer_length": {"__class__": "ConnectedValue"}, "lambda": null, "max_kmercov": null, "output_options": {"output_files": ["model_output", "summary_output"], "no_unique_sequence": false}, "ploidy": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.1+galaxy0",type:"tool",uuid:"c65bd0f5-d8d5-4d1d-81bf-6d05458bc160",when:null,workflow_outputs:[{label:"GenomeScope linear plot (paternal)",output_name:"linear_plot",uuid:"bba131ee-0c54-404a-87f8-067faebea46b"},{label:"GenomeScope transformed log plot (paternal)",output_name:"transformed_log_plot",uuid:"eddc8909-df19-48c2-8406-d6bc784ceb8b"},{label:"GenomeScope log plot (paternal)",output_name:"log_plot",uuid:"cc24ee83-d9ee-4759-9353-1be2e7dbb253"},{label:"GenomeScope transformed linear plot (paternal)",output_name:"transformed_linear_plot",uuid:"2b73811b-e91e-49c6-a122-5065977f9f0e"}]},14:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",errors:null,id:14,input_connections:{input:{id:12,output_name:"read_db_hist"},kmer_length:{id:3,output_name:"output"},ploidy:{id:4,output_name:"output"}},inputs:[],label:"Genomescope on maternal haplotype",name:"GenomeScope",outputs:[{name:"linear_plot",type:"png"},{name:"log_plot",type:"png"},{name:"transformed_linear_plot",type:"png"},{name:"transformed_log_plot",type:"png"},{name:"model",type:"txt"},{name:"summary",type:"txt"}],position:{left:1841.77734375,top:1187.106299999974},post_job_actions:{HideDatasetActionmodel:{action_arguments:{},action_type:"HideDatasetAction",output_name:"model"},HideDatasetActionsummary:{action_arguments:{},action_type:"HideDatasetAction",output_name:"summary"},TagDatasetActionlinear_plot:{action_arguments:{tags:"genomescope_linear_mat, #maternal"},action_type:"TagDatasetAction",output_name:"linear_plot"},TagDatasetActionlog_plot:{action_arguments:{tags:"genomescope_log_mat, #maternal"},action_type:"TagDatasetAction",output_name:"log_plot"},TagDatasetActionmodel:{action_arguments:{tags:"genomescope_model_mat, #maternal"},action_type:"TagDatasetAction",output_name:"model"},TagDatasetActionsummary:{action_arguments:{tags:"genomescope_summ_mat, #maternal"},action_type:"TagDatasetAction",output_name:"summary"},TagDatasetActiontransformed_linear_plot:{action_arguments:{tags:"genomescope_tr_linear_mat"},action_type:"TagDatasetAction",output_name:"transformed_linear_plot"},TagDatasetActiontransformed_log_plot:{action_arguments:{tags:"genomescope_tr_log_mat, #maternal"},action_type:"TagDatasetAction",output_name:"transformed_log_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",tool_shed_repository:{changeset_revision:"460fad600dce",name:"genomescope",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"topology": null, "initial_repetitiveness": null, "initial_heterozygosities": "", "transform_exp": null, "testing": false, "true_params": "", "trace_flag": false, "num_rounds": null}, "input": {"__class__": "ConnectedValue"}, "kmer_length": {"__class__": "ConnectedValue"}, "lambda": null, "max_kmercov": null, "output_options": {"output_files": ["model_output", "summary_output"], "no_unique_sequence": false}, "ploidy": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.1+galaxy0",type:"tool",uuid:"87497ba1-5c23-4852-9e2f-0bd78dc86753",when:null,workflow_outputs:[{label:"GenomeScope log plot (maternal)",output_name:"log_plot",uuid:"e2ef48ab-bbb8-4a89-8d10-4de7998db481"},{label:"GenomeScope transformed log plot (maternal)",output_name:"transformed_log_plot",uuid:"ebe91290-a02b-498d-adb6-75fab0739fbf"},{label:"GenomeScope transformed linear plot (maternal)",output_name:"transformed_linear_plot",uuid:"7ecb789d-57e3-40f2-81ff-f853b444609b"},{label:"GenomeScope linear plot (maternal)",output_name:"linear_plot",uuid:"ed208558-8a6f-4405-bd9c-7e6343e9f71d"}]}},tags:["Reviewed","VGP"],uuid:"af01815b-5b66-4578-ade7-6e2caed0c19a",version:9},readme:`# VGP Workflow #1 This workflow collects the metrics on the properties of the genome under consideration by analyzing the *k*-mer frequencies. It provides information about the genomic complexity, such as the genome size and levels of heterozygosity and repeat content, as well about the data quality. It uses reads from two parental genomes to partition long reads from the offspring into haplotype-specific *k*-mer databases. @@ -4638,6 +8953,49 @@ This workflow collects the metrics on the properties of the genome under conside ## [0.1] - 2021-08-26 ### Added - First version of the workflow. +`,diagrams:`# Workflow diagrams + +## kmer-profiling-hifi-trio-VGP2 + +\`\`\`mermaid +graph LR +0["ℹ️ Pacbio Hifi reads"]@{ shape: docs } +1["ℹ️ Paternal reads"]@{ shape: docs } +2["ℹ️ Maternal reads"]@{ shape: docs } +3["ℹ️ K-mer length"]@{ shape: lean-l } +4["ℹ️ Ploidy"]@{ shape: lean-l } +5["Meryl"]@{ shape: process } +1 --> 5 +3 --> 5 +6["Meryl"]@{ shape: process } +0 --> 6 +2 --> 6 +3 --> 6 +1 --> 6 +7["Meryl"]@{ shape: process } +2 --> 7 +3 --> 7 +8["Meryl"]@{ shape: process } +5 --> 8 +9["GenomeScope"]@{ shape: process } +6 --> 9 +3 --> 9 +4 --> 9 +10["Meryl"]@{ shape: process } +7 --> 10 +11["Meryl"]@{ shape: process } +8 --> 11 +12["Meryl"]@{ shape: process } +10 --> 12 +13["Genomescope on paternal haplotype"]@{ shape: process } +11 --> 13 +3 --> 13 +4 --> 13 +14["Genomescope on maternal haplotype"]@{ shape: process } +12 --> 14 +3 --> 14 +4 --> 14 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/kmer-profiling-hifi-trio-VGP2/main",tests:[{doc:"Test outline for kmer-profiling-hifi-trio-VGP2.ga",job:{"Maternal reads":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/6603774/files/paternal.fastq?download=1",filetype:"fastqsanger"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/6603774/files/paternal.fastq?download=1",filetype:"fastqsanger"}]},"Paternal reads":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"forward",location:"https://zenodo.org/record/6603774/files/maternal.fastq?download=1",filetype:"fastqsanger"},{class:"File",identifier:"reverse",location:"https://zenodo.org/record/6603774/files/maternal.fastq?download=1",filetype:"fastqsanger"}]},"Pacbio Hifi reads":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"pacbio_dataset",location:"https://zenodo.org/record/6603774/files/child.fastq?download=1",filetype:"fastqsanger"}]},"K-mer length":9,Ploidy:1},outputs:{"GenomeScope linear plot (maternal)":{file:"test-data/GenomeScope_Linear_plot_maternal.png",compare:"sim_size",delta:15e3},"GenomeScope linear plot (paternal)":{file:"test-data/GenomeScope_Linear_plot_paternal.png",compare:"sim_size",delta:15e3},"GenomeScope linear plot (child)":{file:"test-data/GenomeScope_Linear_plot_child.png",compare:"sim_size",delta:15e3},"GenomeScope summary (child)":{asserts:{has_text:{text:"43,763 bp"}}},"Meryl database : Child":{asserts:{has_size:{value:205051,delta:1e3}}},"Meryl database : paternal":{asserts:{has_size:{value:40338,delta:1e3}}},"Meryl database : maternal":{asserts:{has_size:{value:49534,delta:1e3}}}}}]}],path:"./workflows/VGP-assembly-v2/kmer-profiling-hifi-trio-VGP2"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Scaffolding-BioNano-VGP7.ga",testParameterFiles:["/Scaffolding-BioNano-VGP7-tests.yml"],authors:[{name:"Galaxy"},{name:"VGP",url:"https://vertebrategenomeproject.org"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"Galaxy"},{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.1.4",name:"Scaffolding-BioNano-VGP7",report:{markdown:` # Workflow Execution Report @@ -4712,6 +9070,69 @@ Scaffolding using Bionano optical map data ## [0.1] - 2023-11-01 Addition of the workflow to the iwc repository. +`,diagrams:`# Workflow diagrams + +## Scaffolding-BioNano-VGP7 + +\`\`\`mermaid +graph LR +0["ℹ️ Bionano Data"]@{ shape: doc } +1["ℹ️ Estimated genome size - Parameter File"]@{ shape: doc } +2["ℹ️ Input GFA"]@{ shape: doc } +3["ℹ️ Conflict resolution files"]@{ shape: doc } +4["Parse parameter value"]@{ shape: process } +1 --> 4 +5["gfastats"]@{ shape: process } +2 --> 5 +6["Bionano Hybrid Scaffold"]@{ shape: process } +0 --> 6 +3 --> 6 +5 --> 6 +7["gfastats"]@{ shape: process } +2 --> 7 +6 --> 7 +8["gfastats"]@{ shape: process } +7 --> 8 +9["gfastats"]@{ shape: process } +7 --> 9 +4 --> 9 +10["gfastats"]@{ shape: process } +7 --> 10 +11["Replace"]@{ shape: process } +9 --> 11 +12["🛠️ gfastats_data_prep"]@{ shape: subprocess } +10 --> 12 +13["Cut"]@{ shape: process } +12 --> 13 +14["Cut"]@{ shape: process } +12 --> 14 +15["Scatterplot with ggplot2"]@{ shape: process } +13 --> 15 +16["Scatterplot with ggplot2"]@{ shape: process } +14 --> 16 +\`\`\` + +## gfastats_data_prep + +\`\`\`mermaid +graph LR +0["ℹ️ gfa_stats"]@{ shape: doc } +1["Sort"]@{ shape: process } +0 --> 1 +2["Text reformatting"]@{ shape: process } +1 --> 2 +3["Datamash"]@{ shape: process } +2 --> 3 +4["Add column"]@{ shape: process } +2 --> 4 +5["Parse parameter value"]@{ shape: process } +3 --> 5 +6["Compose text parameter value"]@{ shape: process } +5 --> 6 +7["Compute"]@{ shape: process } +4 --> 7 +6 --> 7 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/Scaffolding-Bionano-VGP7/main",tests:[{doc:"Test outline for Scaffolding-BioNano-VGP7",job:{"Bionano Data":{class:"File",location:"https://zenodo.org/records/10063794/files/Bionano%20Data.cmap?download=1",filetype:"cmap"},"Estimated genome size - Parameter File":{class:"File",location:"https://zenodo.org/records/10063794/files/Estimated%20genome%20size%20-%20Parameter%20File.expression.json?download=1",filetype:"expression.json"},"Input GFA":{class:"File",location:"https://zenodo.org/records/10063794/files/Input%20GFA.gfa1?download=1",filetype:"gfa1"}},outputs:{"Bionano scaffolds reconciliated: gfa":{asserts:{has_n_lines:{n:67}}},"Assembly Statistics for s1":{asserts:{has_line:{line:"# scaffolds 24"}}},"Scaffolds: agp":{asserts:{has_n_lines:{n:50}}},"Bionano scaffolds reconciliated: fasta":{asserts:{has_n_lines:{n:390825}}},"Nx Plot":{asserts:{has_size:{value:76e3,delta:5e3}}}}}]}],path:"./workflows/VGP-assembly-v2/Scaffolding-Bionano-VGP7"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Assembly-Hifi-Trio-phasing-VGP5.ga",testParameterFiles:["/Assembly-Hifi-Trio-phasing-VGP5-tests.yml"],authors:[{name:"Galaxy"},{name:"VGP",url:"https://vertebrategenomeproject.org"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"Galaxy"},{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.3",name:"Assembly-Hifi-Trio-phasing-VGP5",report:{markdown:` # Workflow Execution Report @@ -4848,7 +9269,183 @@ Generate phased assembly based on PacBio Hifi Reads using parental Illumina data 7. Size plot for both assemblies -`,changelog:"# Changelog\n\n## [0.3] 2024-11-11\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.20.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.8.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy2`\n\n## [0.2] 2024-08-12\n\n### Added\n\n- Workflow report\n\n### Changed \n\n- Expose the Busco lineage database parameter\n- Fix a bug happening when merging assembly statistics : The presence of the '#' character caused the tables to join incorrectly, and the numbers did not match the metrics\n\n## [0.1.8] 2024-07-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n\n## [0.1.7] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.9+galaxy0`\n\n## [0.1.6] 2024-05-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n\n## [0.1.5] 2024-05-06\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1`\n\n## [0.1.4] 2024-04-22\n\n### Added\n\n- Add Homozygous Read coverage parameter and calculation\n- Expose Lineage parameter\n\n### Automatic update\n\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy4`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n\n## [0.1.3] 2024-03-25\n\n### Manual update\n\n- Add gff output to Busco\n- Add histogram output to Merqury\n- Label subworkflows\n\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1`\n\n## [0.1.2] 2023-11-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.16.1+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n## [0.1.1] 2023-11-20\n\n- Fix author in dockstore\n\n\n## [0.1] - 2023-09-27\n\nCreation of workflow for Trio assembly. \n\n",trsID:"#workflow/github.com/iwc-workflows/Assembly-Hifi-Trio-phasing-VGP5/main",tests:[{doc:"Test outline for Assembly-Hifi-Trio-phasing-VGP5",job:{"Meryl Database : Child":{class:"File",location:"https://zenodo.org/records/10056319/files/Meryl%20Database%20-%20Child.meryldb?download=1",filetype:"meryldb"},"Hapmer Database : Paternal":{class:"File",location:"https://zenodo.org/records/10056319/files/Hapmer%20Database%20-%20Paternal.meryldb?download=1",filetype:"meryldb"},"Hapmer Database : Maternal":{class:"File",location:"https://zenodo.org/records/10056319/files/Hapmer%20Database%20-%20Maternal.meryldb?download=1",filetype:"meryldb"},"Genomescope Summary":{class:"File",location:"https://zenodo.org/records/10056319/files/Genomescope%20Summary.txt?download=1",filetype:"txt"},"Genomescope Model Parameters":{class:"File",path:"test-data/GenomeScope_Model_parameters.tabular",filetype:"tabular"},"Pacbio Reads Collection : child":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"yeast_reads_sub1.fastq.gz",location:"https://zenodo.org/records/10056319/files/Pacbio%20Reads%20Collection.fastq.gz?download=1"}]},"Paternal Illumina reads (hap1)":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"hap1_2.fq",location:"https://zenodo.org/records/10056319/files/Sub_hap1_2.fastqsanger?download=1"},{class:"File",identifier:"hap1_1.fq",location:"https://zenodo.org/records/10056319/files/Sub_hap1_1.fastqsanger?download=1"}]},"Maternal Illumina reads (hap2)":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"hap2_2.fq",location:"https://zenodo.org/records/10056319/files/Sub_hap2_2.fastqsanger?download=1"},{class:"File",identifier:"hap2_1.fq",location:"https://zenodo.org/records/10056319/files/Sub_hap2_1.fastqsanger?download=1"}]},"SAK input file (Optional)":null,"Homozygous Read Coverage":null,"Bits for bloom filter":32,"Name for Haplotype 1":"Hap1","Name for Haplotype 2":"Hap2","Database for Busco Lineage":"v5",Lineage:"vertebrata_odb10"},outputs:{"Estimated Genome size":2288021,"Assembly statistics for Hap1 and Hap2":{asserts:{has_line:{line:"# contigs 81 27"}}},"usable hap1 gfa":{asserts:{has_n_lines:{n:167}}},"Hifiasm Trio hap1":{asserts:{has_n_lines:{n:162}}},"Busco Summary Hap1":{asserts:{has_text:{text:"C:1.2%[S:1.1%,D:0.0%],F:0.4%,M:98.4%"}}},"Nx Plot":{asserts:{has_size:{value:65e3,delta:5e3}}}}}]}],path:"./workflows/VGP-assembly-v2/Assembly-Hifi-Trio-phasing-VGP5"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/kmer-profiling-hifi-VGP1.ga",testParameterFiles:["/kmer-profiling-hifi-VGP1-tests.yml"],authors:[{name:"VGP",url:"https://vertebrategenomeproject.org"},{name:"Galaxy"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"},{class:"Organization",name:"Galaxy"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.1.7",name:"kmer-profiling-hifi-VGP1",report:{markdown:'\n# Workflow Execution Report\n\n\n```galaxy\ninvocation_time()\n```\n\n\n```galaxy\nhistory_dataset_as_image(output="GenomeScope linear plot")\n```\n\n```galaxy\nhistory_dataset_as_image(output="GenomeScope log plot")\n```\n\n```galaxy\nhistory_dataset_as_image(output="GenomeScope transformed linear plot")\n```\n\n```galaxy\nhistory_dataset_as_image(output="GenomeScope transformed log plot")\n```\n\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n'},steps:{0:{annotation:"A simple list collection containing PacBio data in either fastq or fasta format",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"A simple list collection containing PacBio data in either fastq or fasta format",name:"Collection of Pacbio Data"}],label:"Collection of Pacbio Data",name:"Input dataset collection",outputs:[],position:{left:0,top:86.5078125},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"861c3a49-1055-4030-9a91-e53cbf1ac436",when:null,workflow_outputs:[]},1:{annotation:"",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"",name:"K-mer length "}],label:"K-mer length ",name:"Input parameter",outputs:[],position:{left:17.57421875,top:226.734375},tool_id:null,tool_state:'{"default": 21, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"946bcadd-8ab0-4595-9985-abb574539844",when:null,workflow_outputs:[]},2:{annotation:"Ploidy for the organism being assembled",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Ploidy for the organism being assembled",name:"Ploidy"}],label:"Ploidy",name:"Input parameter",outputs:[],position:{left:50.12890625,top:342.609375},tool_id:null,tool_state:'{"default": 2, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"e3848560-55a2-42a5-ac1a-487ccf084d92",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:3,input_connections:{"operation_type|input_reads":{id:0,output_name:"output"},"operation_type|options_kmer_size|input_kmer_size":{id:1,output_name:"output"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:296.8668759977911,top:27},post_job_actions:{HideDatasetActionread_db:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "count-kmers", "__current_case__": 0, "count_operations": "count", "input_reads": {"__class__": "ConnectedValue"}, "options_kmer_size": {"kmer_size": "provide", "__current_case__": 0, "input_kmer_size": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"9f3718fe-c33a-43c1-b36e-964a929678f7",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:4,input_connections:{"operation_type|input_meryldb_02":{id:3,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:576.8668759977911,top:0},post_job_actions:{TagDatasetActionread_db:{action_arguments:{tags:"meryl_db,Meryl Database"},action_type:"TagDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "groups-kmers", "__current_case__": 3, "groups_operations": "union-sum", "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"6467a6da-23e0-4ee0-af0e-7f5fc8a636de",when:null,workflow_outputs:[{label:"Merged Meryl Database",output_name:"read_db",uuid:"9055fdc0-d158-435e-b662-e5a4f2766b42"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:5,input_connections:{"operation_type|input_meryldb_02":{id:4,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db_hist",type:"tabular"}],position:{left:856.8668759977911,top:42},post_job_actions:{HideDatasetActionread_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db_hist"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "histogram-kmers", "__current_case__": 4, "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"10eb771d-1437-4602-91b7-e7e6d806dc2e",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",errors:null,id:6,input_connections:{input:{id:5,output_name:"read_db_hist"},kmer_length:{id:1,output_name:"output"},ploidy:{id:2,output_name:"output"}},inputs:[],label:null,name:"GenomeScope",outputs:[{name:"linear_plot",type:"png"},{name:"log_plot",type:"png"},{name:"transformed_linear_plot",type:"png"},{name:"transformed_log_plot",type:"png"},{name:"model",type:"txt"},{name:"summary",type:"txt"},{name:"model_params",type:"tabular"}],position:{left:1136.866875997791,top:15},post_job_actions:{TagDatasetActionlinear_plot:{action_arguments:{tags:"genomescope_linear,Linear Plot"},action_type:"TagDatasetAction",output_name:"linear_plot"},TagDatasetActionlog_plot:{action_arguments:{tags:"genomescope_log,Log Plot"},action_type:"TagDatasetAction",output_name:"log_plot"},TagDatasetActionmodel:{action_arguments:{tags:"genomescope_model"},action_type:"TagDatasetAction",output_name:"model"},TagDatasetActionmodel_params:{action_arguments:{tags:"genomescope_params,GenomeScope Parameters"},action_type:"TagDatasetAction",output_name:"model_params"},TagDatasetActionsummary:{action_arguments:{tags:"genomescope_summ,GenomeScope Summary"},action_type:"TagDatasetAction",output_name:"summary"},TagDatasetActiontransformed_linear_plot:{action_arguments:{tags:"genomescope_tr_linear,Transformed Linear Plot"},action_type:"TagDatasetAction",output_name:"transformed_linear_plot"},TagDatasetActiontransformed_log_plot:{action_arguments:{tags:"genomescope_tr_log,Transformed Log Plot"},action_type:"TagDatasetAction",output_name:"transformed_log_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",tool_shed_repository:{changeset_revision:"460fad600dce",name:"genomescope",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"topology": null, "initial_repetitiveness": null, "initial_heterozygosities": "", "transform_exp": null, "testing": true, "true_params": "", "trace_flag": false, "num_rounds": null}, "input": {"__class__": "ConnectedValue"}, "kmer_length": {"__class__": "ConnectedValue"}, "lambda": null, "max_kmercov": null, "output_options": {"output_files": ["model_output", "summary_output"], "no_unique_sequence": false}, "ploidy": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.1+galaxy0",type:"tool",uuid:"955de351-ef19-42dc-89d7-ca213994515a",when:null,workflow_outputs:[{label:"GenomeScope linear plot",output_name:"linear_plot",uuid:"57230be4-36d5-4307-b4b0-b8a73f6800ce"},{label:"GenomeScope transformed linear plot",output_name:"transformed_linear_plot",uuid:"48e2c4c5-8658-44e6-8981-673a2f1f719e"},{label:"GenomeScope transformed log plot",output_name:"transformed_log_plot",uuid:"ea87bd08-a6d9-4c9e-9497-8bfb1725da04"},{label:"GenomeScope summary",output_name:"summary",uuid:"b74004e1-4f4b-4f43-a9f0-2a7a0a70ca1d"},{label:"GenomeScope Model Parameters",output_name:"model_params",uuid:"cb88b945-413c-4e2d-81a9-dd838df902ff"},{label:"GenomeScope log plot",output_name:"log_plot",uuid:"988e2189-d5f2-4e9e-8fc2-4434e68e8501"}]}},tags:["Reviewed","VGP"],uuid:"0808b15a-7e3e-4b06-b804-f3d2cc73981a",version:2},readme:`# VGP Workflow #1 +`,changelog:"# Changelog\n\n## [0.3] 2024-11-11\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.20.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.8.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy2`\n\n## [0.2] 2024-08-12\n\n### Added\n\n- Workflow report\n\n### Changed \n\n- Expose the Busco lineage database parameter\n- Fix a bug happening when merging assembly statistics : The presence of the '#' character caused the tables to join incorrectly, and the numbers did not match the metrics\n\n## [0.1.8] 2024-07-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n\n## [0.1.7] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.9+galaxy0`\n\n## [0.1.6] 2024-05-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n\n## [0.1.5] 2024-05-06\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1`\n\n## [0.1.4] 2024-04-22\n\n### Added\n\n- Add Homozygous Read coverage parameter and calculation\n- Expose Lineage parameter\n\n### Automatic update\n\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy4`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n\n## [0.1.3] 2024-03-25\n\n### Manual update\n\n- Add gff output to Busco\n- Add histogram output to Merqury\n- Label subworkflows\n\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1`\n\n## [0.1.2] 2023-11-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.16.1+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n## [0.1.1] 2023-11-20\n\n- Fix author in dockstore\n\n\n## [0.1] - 2023-09-27\n\nCreation of workflow for Trio assembly. \n\n",diagrams:`# Workflow diagrams + +## Assembly-Hifi-Trio-phasing-VGP5 + +\`\`\`mermaid +graph LR +0["ℹ️ Pacbio Reads Collection : child"]@{ shape: docs } +1["ℹ️ Paternal Illumina reads (hap1)"]@{ shape: docs } +2["ℹ️ Maternal Illumina reads (hap2)"]@{ shape: docs } +3["ℹ️ Meryl Database : Child"]@{ shape: doc } +4["ℹ️ Hapmer Database : Paternal"]@{ shape: doc } +5["ℹ️ Hapmer Database : Maternal"]@{ shape: doc } +6["ℹ️ Bits for bloom filter"]@{ shape: lean-l } +7["ℹ️ Database for Busco Lineage"]@{ shape: lean-l } +8["ℹ️ Lineage"]@{ shape: lean-l } +9["ℹ️ Homozygous Read Coverage"]@{ shape: lean-l } +10["ℹ️ Genomescope Model Parameters"]@{ shape: doc } +11["ℹ️ Genomescope Summary"]@{ shape: doc } +12["ℹ️ Utilize homology information to correct trio-phasing errors"]@{ shape: lean-l } +13["ℹ️ SAK input file (Optional)"]@{ shape: doc } +14["ℹ️ Name for Haplotype 1"]@{ shape: lean-l } +15["ℹ️ Name for Haplotype 2"]@{ shape: lean-l } +16["Cutadapt"]@{ shape: process } +0 --> 16 +17["Pick parameter value"]@{ shape: process } +6 --> 17 +18["Compute"]@{ shape: process } +10 --> 18 +19["Search in textfiles"]@{ shape: process } +11 --> 19 +20["Pick parameter value"]@{ shape: process } +12 --> 20 +21["MultiQC"]@{ shape: process } +16 --> 21 +22["Cut"]@{ shape: process } +18 --> 22 +23["Replace Text"]@{ shape: process } +19 --> 23 +24["Parse parameter value"]@{ shape: process } +22 --> 24 +25["Convert"]@{ shape: process } +23 --> 25 +26["Homozygous read coverage for Hifiasm"]@{ shape: process } +9 --> 26 +24 --> 26 +27["Cut"]@{ shape: process } +25 --> 27 +28["Hifiasm"]@{ shape: process } +26 --> 28 +17 --> 28 +16 --> 28 +20 --> 28 +1 --> 28 +2 --> 28 +29["Estimated genome size"]@{ shape: process } +27 --> 29 +30["gfastats"]@{ shape: process } +28 --> 30 +13 --> 30 +31["gfastats"]@{ shape: process } +28 --> 31 +13 --> 31 +32["Raw Unitig Image"]@{ shape: process } +28 --> 32 +33["gfastats"]@{ shape: process } +28 --> 33 +13 --> 33 +34["gfastats"]@{ shape: process } +28 --> 34 +13 --> 34 +35["gfastats"]@{ shape: process } +28 --> 35 +36["gfastats"]@{ shape: process } +28 --> 36 +37["gfastats"]@{ shape: process } +28 --> 37 +29 --> 37 +38["gfastats"]@{ shape: process } +28 --> 38 +29 --> 38 +39["Busco"]@{ shape: process } +33 --> 39 +7 --> 39 +8 --> 39 +40["Busco"]@{ shape: process } +34 --> 40 +7 --> 40 +8 --> 40 +41["Merqury"]@{ shape: process } +33 --> 41 +34 --> 41 +3 --> 41 +5 --> 41 +4 --> 41 +42["🛠️ Data prep Hap1"]@{ shape: subprocess } +35 --> 42 +43["🛠️ Data Prep Hap2"]@{ shape: subprocess } +36 --> 43 +44["Text reformatting"]@{ shape: process } +37 --> 44 +45["Text reformatting"]@{ shape: process } +38 --> 45 +46["merqury_qv"]@{ shape: process } +41 --> 46 +47["output_merqury.spectra-cn.fl"]@{ shape: process } +41 --> 47 +48["output_merqury.spectra-asm.fl"]@{ shape: process } +41 --> 48 +49["output_merqury.assembly_01.spectra-cn.fl"]@{ shape: process } +41 --> 49 +50["output_merqury.assembly_02.spectra-cn.fl"]@{ shape: process } +41 --> 50 +51["merqury_stats"]@{ shape: process } +41 --> 51 +52["🛠️ Plots"]@{ shape: subprocess } +43 --> 52 +15 --> 52 +14 --> 52 +42 --> 52 +53["Join two Datasets"]@{ shape: process } +45 --> 53 +44 --> 53 +54["Advanced Cut"]@{ shape: process } +53 --> 54 +55["Replace"]@{ shape: process } +54 --> 55 +\`\`\` + +## gfastats_plot + +\`\`\`mermaid +graph LR +0["ℹ️ Primary data"]@{ shape: doc } +1["ℹ️ Alternate data"]@{ shape: doc } +2["ℹ️ Name of primary assembly"]@{ shape: lean-l } +3["ℹ️ Name of alternate assembly"]@{ shape: lean-l } +4["Add column"]@{ shape: process } +2 --> 4 +0 --> 4 +5["Add column"]@{ shape: process } +3 --> 5 +1 --> 5 +6["Concatenate datasets"]@{ shape: process } +4 --> 6 +5 --> 6 +7["Cut"]@{ shape: process } +6 --> 7 +8["Cut"]@{ shape: process } +6 --> 8 +9["Nx Plot"]@{ shape: process } +7 --> 9 +10["Size Plot"]@{ shape: process } +8 --> 10 +\`\`\` + +## gfastats_data_prep + +\`\`\`mermaid +graph LR +0["ℹ️ gfa_stats"]@{ shape: doc } +1["Sort"]@{ shape: process } +0 --> 1 +2["Text reformatting"]@{ shape: process } +1 --> 2 +3["Datamash"]@{ shape: process } +2 --> 3 +4["Add column"]@{ shape: process } +2 --> 4 +5["Parse parameter value"]@{ shape: process } +3 --> 5 +6["Compose text parameter value"]@{ shape: process } +5 --> 6 +7["Compute"]@{ shape: process } +4 --> 7 +6 --> 7 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/Assembly-Hifi-Trio-phasing-VGP5/main",tests:[{doc:"Test outline for Assembly-Hifi-Trio-phasing-VGP5",job:{"Meryl Database : Child":{class:"File",location:"https://zenodo.org/records/10056319/files/Meryl%20Database%20-%20Child.meryldb?download=1",filetype:"meryldb"},"Hapmer Database : Paternal":{class:"File",location:"https://zenodo.org/records/10056319/files/Hapmer%20Database%20-%20Paternal.meryldb?download=1",filetype:"meryldb"},"Hapmer Database : Maternal":{class:"File",location:"https://zenodo.org/records/10056319/files/Hapmer%20Database%20-%20Maternal.meryldb?download=1",filetype:"meryldb"},"Genomescope Summary":{class:"File",location:"https://zenodo.org/records/10056319/files/Genomescope%20Summary.txt?download=1",filetype:"txt"},"Genomescope Model Parameters":{class:"File",path:"test-data/GenomeScope_Model_parameters.tabular",filetype:"tabular"},"Pacbio Reads Collection : child":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"yeast_reads_sub1.fastq.gz",location:"https://zenodo.org/records/10056319/files/Pacbio%20Reads%20Collection.fastq.gz?download=1"}]},"Paternal Illumina reads (hap1)":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"hap1_2.fq",location:"https://zenodo.org/records/10056319/files/Sub_hap1_2.fastqsanger?download=1"},{class:"File",identifier:"hap1_1.fq",location:"https://zenodo.org/records/10056319/files/Sub_hap1_1.fastqsanger?download=1"}]},"Maternal Illumina reads (hap2)":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"hap2_2.fq",location:"https://zenodo.org/records/10056319/files/Sub_hap2_2.fastqsanger?download=1"},{class:"File",identifier:"hap2_1.fq",location:"https://zenodo.org/records/10056319/files/Sub_hap2_1.fastqsanger?download=1"}]},"SAK input file (Optional)":null,"Homozygous Read Coverage":null,"Bits for bloom filter":32,"Name for Haplotype 1":"Hap1","Name for Haplotype 2":"Hap2","Database for Busco Lineage":"v5",Lineage:"vertebrata_odb10"},outputs:{"Estimated Genome size":2288021,"Assembly statistics for Hap1 and Hap2":{asserts:{has_line:{line:"# contigs 81 27"}}},"usable hap1 gfa":{asserts:{has_n_lines:{n:167}}},"Hifiasm Trio hap1":{asserts:{has_n_lines:{n:162}}},"Busco Summary Hap1":{asserts:{has_text:{text:"C:1.2%[S:1.1%,D:0.0%],F:0.4%,M:98.4%"}}},"Nx Plot":{asserts:{has_size:{value:65e3,delta:5e3}}}}}]}],path:"./workflows/VGP-assembly-v2/Assembly-Hifi-Trio-phasing-VGP5"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/kmer-profiling-hifi-VGP1.ga",testParameterFiles:["/kmer-profiling-hifi-VGP1-tests.yml"],authors:[{name:"VGP",url:"https://vertebrategenomeproject.org"},{name:"Galaxy"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"},{class:"Organization",name:"Galaxy"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.1.7",name:"kmer-profiling-hifi-VGP1",report:{markdown:'\n# Workflow Execution Report\n\n\n```galaxy\ninvocation_time()\n```\n\n\n```galaxy\nhistory_dataset_as_image(output="GenomeScope linear plot")\n```\n\n```galaxy\nhistory_dataset_as_image(output="GenomeScope log plot")\n```\n\n```galaxy\nhistory_dataset_as_image(output="GenomeScope transformed linear plot")\n```\n\n```galaxy\nhistory_dataset_as_image(output="GenomeScope transformed log plot")\n```\n\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n'},steps:{0:{annotation:"A simple list collection containing PacBio data in either fastq or fasta format",content_id:null,errors:null,id:0,input_connections:{},inputs:[{description:"A simple list collection containing PacBio data in either fastq or fasta format",name:"Collection of Pacbio Data"}],label:"Collection of Pacbio Data",name:"Input dataset collection",outputs:[],position:{left:0,top:86.5078125},tool_id:null,tool_state:'{"optional": false, "tag": "", "collection_type": "list"}',tool_version:null,type:"data_collection_input",uuid:"861c3a49-1055-4030-9a91-e53cbf1ac436",when:null,workflow_outputs:[]},1:{annotation:"",content_id:null,errors:null,id:1,input_connections:{},inputs:[{description:"",name:"K-mer length "}],label:"K-mer length ",name:"Input parameter",outputs:[],position:{left:17.57421875,top:226.734375},tool_id:null,tool_state:'{"default": 21, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"946bcadd-8ab0-4595-9985-abb574539844",when:null,workflow_outputs:[]},2:{annotation:"Ploidy for the organism being assembled",content_id:null,errors:null,id:2,input_connections:{},inputs:[{description:"Ploidy for the organism being assembled",name:"Ploidy"}],label:"Ploidy",name:"Input parameter",outputs:[],position:{left:50.12890625,top:342.609375},tool_id:null,tool_state:'{"default": 2, "parameter_type": "integer", "optional": true}',tool_version:null,type:"parameter_input",uuid:"e3848560-55a2-42a5-ac1a-487ccf084d92",when:null,workflow_outputs:[]},3:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:3,input_connections:{"operation_type|input_reads":{id:0,output_name:"output"},"operation_type|options_kmer_size|input_kmer_size":{id:1,output_name:"output"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:296.8668759977911,top:27},post_job_actions:{HideDatasetActionread_db:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "count-kmers", "__current_case__": 0, "count_operations": "count", "input_reads": {"__class__": "ConnectedValue"}, "options_kmer_size": {"kmer_size": "provide", "__current_case__": 0, "input_kmer_size": {"__class__": "ConnectedValue"}}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"9f3718fe-c33a-43c1-b36e-964a929678f7",when:null,workflow_outputs:[]},4:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:4,input_connections:{"operation_type|input_meryldb_02":{id:3,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db",type:"meryldb"}],position:{left:576.8668759977911,top:0},post_job_actions:{TagDatasetActionread_db:{action_arguments:{tags:"meryl_db,Meryl Database"},action_type:"TagDatasetAction",output_name:"read_db"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "groups-kmers", "__current_case__": 3, "groups_operations": "union-sum", "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"6467a6da-23e0-4ee0-af0e-7f5fc8a636de",when:null,workflow_outputs:[{label:"Merged Meryl Database",output_name:"read_db",uuid:"9055fdc0-d158-435e-b662-e5a4f2766b42"}]},5:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",errors:null,id:5,input_connections:{"operation_type|input_meryldb_02":{id:4,output_name:"read_db"}},inputs:[],label:null,name:"Meryl",outputs:[{name:"read_db_hist",type:"tabular"}],position:{left:856.8668759977911,top:42},post_job_actions:{HideDatasetActionread_db_hist:{action_arguments:{},action_type:"HideDatasetAction",output_name:"read_db_hist"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/meryl/meryl/1.3+galaxy6",tool_shed_repository:{changeset_revision:"29dabd8db6f2",name:"meryl",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"operation_type": {"command_type": "histogram-kmers", "__current_case__": 4, "input_meryldb_02": {"__class__": "ConnectedValue"}}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"1.3+galaxy6",type:"tool",uuid:"10eb771d-1437-4602-91b7-e7e6d806dc2e",when:null,workflow_outputs:[]},6:{annotation:"",content_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",errors:null,id:6,input_connections:{input:{id:5,output_name:"read_db_hist"},kmer_length:{id:1,output_name:"output"},ploidy:{id:2,output_name:"output"}},inputs:[],label:null,name:"GenomeScope",outputs:[{name:"linear_plot",type:"png"},{name:"log_plot",type:"png"},{name:"transformed_linear_plot",type:"png"},{name:"transformed_log_plot",type:"png"},{name:"model",type:"txt"},{name:"summary",type:"txt"},{name:"model_params",type:"tabular"}],position:{left:1136.866875997791,top:15},post_job_actions:{TagDatasetActionlinear_plot:{action_arguments:{tags:"genomescope_linear,Linear Plot"},action_type:"TagDatasetAction",output_name:"linear_plot"},TagDatasetActionlog_plot:{action_arguments:{tags:"genomescope_log,Log Plot"},action_type:"TagDatasetAction",output_name:"log_plot"},TagDatasetActionmodel:{action_arguments:{tags:"genomescope_model"},action_type:"TagDatasetAction",output_name:"model"},TagDatasetActionmodel_params:{action_arguments:{tags:"genomescope_params,GenomeScope Parameters"},action_type:"TagDatasetAction",output_name:"model_params"},TagDatasetActionsummary:{action_arguments:{tags:"genomescope_summ,GenomeScope Summary"},action_type:"TagDatasetAction",output_name:"summary"},TagDatasetActiontransformed_linear_plot:{action_arguments:{tags:"genomescope_tr_linear,Transformed Linear Plot"},action_type:"TagDatasetAction",output_name:"transformed_linear_plot"},TagDatasetActiontransformed_log_plot:{action_arguments:{tags:"genomescope_tr_log,Transformed Log Plot"},action_type:"TagDatasetAction",output_name:"transformed_log_plot"}},tool_id:"toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0",tool_shed_repository:{changeset_revision:"460fad600dce",name:"genomescope",owner:"iuc",tool_shed:"toolshed.g2.bx.psu.edu"},tool_state:'{"advanced_options": {"topology": null, "initial_repetitiveness": null, "initial_heterozygosities": "", "transform_exp": null, "testing": true, "true_params": "", "trace_flag": false, "num_rounds": null}, "input": {"__class__": "ConnectedValue"}, "kmer_length": {"__class__": "ConnectedValue"}, "lambda": null, "max_kmercov": null, "output_options": {"output_files": ["model_output", "summary_output"], "no_unique_sequence": false}, "ploidy": {"__class__": "ConnectedValue"}, "__page__": null, "__rerun_remap_job_id__": null}',tool_version:"2.0.1+galaxy0",type:"tool",uuid:"955de351-ef19-42dc-89d7-ca213994515a",when:null,workflow_outputs:[{label:"GenomeScope linear plot",output_name:"linear_plot",uuid:"57230be4-36d5-4307-b4b0-b8a73f6800ce"},{label:"GenomeScope transformed linear plot",output_name:"transformed_linear_plot",uuid:"48e2c4c5-8658-44e6-8981-673a2f1f719e"},{label:"GenomeScope transformed log plot",output_name:"transformed_log_plot",uuid:"ea87bd08-a6d9-4c9e-9497-8bfb1725da04"},{label:"GenomeScope summary",output_name:"summary",uuid:"b74004e1-4f4b-4f43-a9f0-2a7a0a70ca1d"},{label:"GenomeScope Model Parameters",output_name:"model_params",uuid:"cb88b945-413c-4e2d-81a9-dd838df902ff"},{label:"GenomeScope log plot",output_name:"log_plot",uuid:"988e2189-d5f2-4e9e-8fc2-4434e68e8501"}]}},tags:["Reviewed","VGP"],uuid:"0808b15a-7e3e-4b06-b804-f3d2cc73981a",version:2},readme:`# VGP Workflow #1 This workflow produces a Meryl database and Genomescope outputs that will be used to determine parameters for following workflows, and assess the quality of genome assemblies. Specifically, it provides information about the genomic complexity, such as the genome size and levels of heterozygosity and repeat content, as well about the data quality. @@ -4908,6 +9505,27 @@ This workflow produces a Meryl database and Genomescope outputs that will be use ## [0.1] - 2021-08-26 ### Added - First version of the workflow. +`,diagrams:`# Workflow diagrams + +## kmer-profiling-hifi-VGP1 + +\`\`\`mermaid +graph LR +0["ℹ️ Collection of Pacbio Data"]@{ shape: docs } +1["ℹ️ K-mer length "]@{ shape: lean-l } +2["ℹ️ Ploidy"]@{ shape: lean-l } +3["Meryl"]@{ shape: process } +0 --> 3 +1 --> 3 +4["Meryl"]@{ shape: process } +3 --> 4 +5["Meryl"]@{ shape: process } +4 --> 5 +6["GenomeScope"]@{ shape: process } +5 --> 6 +1 --> 6 +2 --> 6 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/kmer-profiling-hifi-VGP1/main",tests:[{doc:"Test outline for kmer-profiling-hifi-VGP1.ga",job:{"Collection of Pacbio Data":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"pacbio_reads",location:"https://zenodo.org/record/6603774/files/child.fastq?download=1",filetype:"fastqsanger"}]},"K-mer length ":8,Ploidy:1},outputs:{"GenomeScope linear plot":{file:"test-data/GenomeScope_Linear_plot.png",compare:"sim_size",delta:1e4},"GenomeScope log plot":{file:"test-data/GenomeScope_Log_plot.png",compare:"sim_size",delta:1e4},"GenomeScope transformed linear plot":{file:"test-data/GenomeScope_Transformed_linear_plot.png",compare:"sim_size",delta:1e4},"GenomeScope transformed log plot":{file:"test-data/GenomeScope_Transformed_log_plot.png",compare:"sim_size",delta:1e4},"GenomeScope summary":{asserts:{has_text:{text:"35,913 bp"}}},"GenomeScope Model Parameters":{asserts:{has_text:{text:"27.44263"}}},"Merged Meryl Database":{asserts:{has_size:{value:105703,delta:1e4}}}}}]}],path:"./workflows/VGP-assembly-v2/kmer-profiling-hifi-VGP1"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Assembly-Hifi-HiC-phasing-VGP4.ga",testParameterFiles:["/Assembly-Hifi-HiC-phasing-VGP4-tests.yml"],authors:[{name:"Galaxy"},{name:"VGP",url:"https://vertebrategenomeproject.org"},{name:"Delphine Lariviere",orcid:"0000-0001-6421-3484"}],definition:{a_galaxy_workflow:"true",annotation:"",comments:[],creator:[{class:"Organization",name:"Galaxy"},{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"},{class:"Person",identifier:"https://orcid.org/0000-0001-6421-3484",name:"Delphine Lariviere"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.2.2",name:"Assembly-Hifi-HiC-phasing-VGP4",report:{markdown:` # Workflow Execution Report @@ -5140,6 +9758,174 @@ Generate phased assembly based on PacBio Hifi Reads using HiC data from the same ## [0.1] - 2023-09-27 - Creation of workflow for HiFi assembly with Hi-C phasing. +`,diagrams:`# Workflow diagrams + +## Assembly-Hifi-HiC-phasing-VGP4 + +\`\`\`mermaid +graph LR +0["ℹ️ Pacbio Reads Collection"]@{ shape: docs } +1["ℹ️ HiC forward reads"]@{ shape: doc } +2["ℹ️ HiC reverse reads"]@{ shape: doc } +3["ℹ️ Genomescope Summary"]@{ shape: doc } +4["ℹ️ Meryl Database"]@{ shape: doc } +5["ℹ️ Database for Busco Lineage"]@{ shape: lean-l } +6["ℹ️ Lineage"]@{ shape: lean-l } +7["ℹ️ Name for Haplotype 1"]@{ shape: lean-l } +8["ℹ️ Name for Haplotype 2"]@{ shape: lean-l } +9["ℹ️ Bits for bloom filter"]@{ shape: lean-l } +10["ℹ️ SAK input file"]@{ shape: doc } +11["ℹ️ Homozygous Read Coverage"]@{ shape: lean-l } +12["ℹ️ Genomescope Model Parameters"]@{ shape: doc } +13["Cutadapt"]@{ shape: process } +0 --> 13 +14["Search in textfiles"]@{ shape: process } +3 --> 14 +15["Compute"]@{ shape: process } +12 --> 15 +16["MultiQC"]@{ shape: process } +13 --> 16 +17["Replace Text"]@{ shape: process } +14 --> 17 +18["Cut"]@{ shape: process } +15 --> 18 +19["Convert"]@{ shape: process } +17 --> 19 +20["Estimated homozygous read coverage"]@{ shape: process } +18 --> 20 +21["Cut"]@{ shape: process } +19 --> 21 +22["Homozygous read coverage for Hifiasm"]@{ shape: process } +11 --> 22 +20 --> 22 +23["Estimated genome size"]@{ shape: process } +21 --> 23 +24["Hifiasm"]@{ shape: process } +22 --> 24 +9 --> 24 +1 --> 24 +2 --> 24 +13 --> 24 +25["Raw Unitig Image"]@{ shape: process } +24 --> 25 +26["gfastats"]@{ shape: process } +24 --> 26 +23 --> 26 +27["gfastats"]@{ shape: process } +24 --> 27 +23 --> 27 +28["gfastats"]@{ shape: process } +24 --> 28 +29["gfastats"]@{ shape: process } +24 --> 29 +30["gfastats"]@{ shape: process } +24 --> 30 +31["gfastats"]@{ shape: process } +24 --> 31 +32["gfastats"]@{ shape: process } +24 --> 32 +10 --> 32 +33["gfastats"]@{ shape: process } +24 --> 33 +10 --> 33 +34["Text reformatting"]@{ shape: process } +26 --> 34 +35["Text reformatting"]@{ shape: process } +27 --> 35 +36["🛠️ Data Prep Hap2"]@{ shape: subprocess } +28 --> 36 +37["🛠️ Data Prep Hap1"]@{ shape: subprocess } +30 --> 37 +38["Text transformation"]@{ shape: process } +32 --> 38 +39["Text transformation"]@{ shape: process } +33 --> 39 +40["Join two Datasets"]@{ shape: process } +35 --> 40 +34 --> 40 +41["🛠️ Plot Data"]@{ shape: subprocess } +36 --> 41 +8 --> 41 +7 --> 41 +37 --> 41 +42["Busco"]@{ shape: process } +38 --> 42 +5 --> 42 +6 --> 42 +43["Merqury"]@{ shape: process } +39 --> 43 +38 --> 43 +4 --> 43 +44["Busco"]@{ shape: process } +39 --> 44 +5 --> 44 +6 --> 44 +45["Advanced Cut"]@{ shape: process } +40 --> 45 +46["output_merqury.spectra-cn.fl"]@{ shape: process } +43 --> 46 +47["output_merqury.spectra-asm.fl"]@{ shape: process } +43 --> 47 +48["merqury_qv"]@{ shape: process } +43 --> 48 +49["output_merqury.assembly_01.spectra-cn.fl"]@{ shape: process } +43 --> 49 +50["merqury_stats"]@{ shape: process } +43 --> 50 +51["output_merqury.assembly_02.spectra-cn.fl"]@{ shape: process } +43 --> 51 +52["Replace"]@{ shape: process } +45 --> 52 +\`\`\` + +## gfastats_plot + +\`\`\`mermaid +graph LR +0["ℹ️ Primary data"]@{ shape: doc } +1["ℹ️ Alternate data"]@{ shape: doc } +2["ℹ️ Name of primary assembly"]@{ shape: lean-l } +3["ℹ️ Name of alternate assembly"]@{ shape: lean-l } +4["Add column"]@{ shape: process } +2 --> 4 +0 --> 4 +5["Add column"]@{ shape: process } +3 --> 5 +1 --> 5 +6["Concatenate datasets"]@{ shape: process } +4 --> 6 +5 --> 6 +7["Cut"]@{ shape: process } +6 --> 7 +8["Cut"]@{ shape: process } +6 --> 8 +9["Nx Plot"]@{ shape: process } +7 --> 9 +10["Size Plot"]@{ shape: process } +8 --> 10 +\`\`\` + +## gfastats_data_prep + +\`\`\`mermaid +graph LR +0["ℹ️ gfa_stats"]@{ shape: doc } +1["Sort"]@{ shape: process } +0 --> 1 +2["Text reformatting"]@{ shape: process } +1 --> 2 +3["Datamash"]@{ shape: process } +2 --> 3 +4["Add column"]@{ shape: process } +2 --> 4 +5["Parse parameter value"]@{ shape: process } +3 --> 5 +6["Compose text parameter value"]@{ shape: process } +5 --> 6 +7["Compute"]@{ shape: process } +4 --> 7 +6 --> 7 +\`\`\` `,trsID:"#workflow/github.com/iwc-workflows/Assembly-Hifi-HiC-phasing-VGP4/main",tests:[{doc:"Test outline for Assembly-Hifi-HiC-phasing-VGP4",job:{"HiC forward reads":{class:"File",location:"https://zenodo.org/records/10068595/files/HiC%20forward%20reads.fastqsanger.gz?download=1",filetype:"fastqsanger.gz"},"HiC reverse reads":{class:"File",location:"https://zenodo.org/records/10068595/files/HiC%20reverse%20reads.fastqsanger.gz?download=1",filetype:"fastqsanger.gz"},"Genomescope Model Parameters":{class:"File",path:"test-data/Genomescope Model Parameters.tabular",filetype:"tabular"},"Genomescope Summary":{class:"File",location:"https://zenodo.org/records/10068595/files/Genomescope%20Summary.txt?download=1",filetype:"txt"},"Meryl Database":{class:"File",location:"https://zenodo.org/records/10068595/files/Meryl%20Database.meryldb?download=1",filetype:"meryldb"},"Pacbio Reads Collection":{class:"Collection",collection_type:"list",elements:[{class:"File",identifier:"yeast_reads_sub1.fastq.gz",location:"https://zenodo.org/records/10068595/files/Pacbio%20Reads%20Collection_yeast_reads_sub1.fastq.gz.fastq.gz?download=1"}]},Lineage:"vertebrata_odb10","Bits for bloom filter":32,"Name for Haplotype 1":"Hap1","Name for Haplotype 2":"Hap2","Homozygous Read Coverage":null,"Database for Busco Lineage":"v5"},outputs:{"Hifiasm HiC hap1":{assert:{has_n_line:{n:168}}},"Estimated Genome size":2288021,"Busco Summary Hap1":{asserts:{has_text:{text:"C:1.0%[S:1.0%,D:0.0%],F:0.4%,M:98.6%,n:3354"}}},"Nx Plot":{asserts:{has_size:{value:65e3,delta:1e4}}},"usable hap1 gfa":{assert:{has_n_line:{n:173}}},"Assembly statistics for Hap1 and Hap2":{asserts:{has_text:{text:"# scaffolds 72 35"}}}}}]}],path:"./workflows/VGP-assembly-v2/Assembly-Hifi-HiC-phasing-VGP4"},{version:1.2,workflows:[{name:"main",subclass:"Galaxy",publish:!0,primaryDescriptorPath:"/Scaffolding-HiC-VGP8.ga",testParameterFiles:["/Scaffolding-HiC-VGP8-tests.yml"],authors:[{name:"VGP",url:"https://vertebrategenomeproject.org"},{name:"Galaxy"}],definition:{a_galaxy_workflow:"true",annotation:"Scaffolding using HiC data with YAHS.",comments:[],creator:[{class:"Organization",name:"VGP",url:"https://vertebrategenomeproject.org"},{class:"Organization",name:"Galaxy"}],"format-version":"0.1",license:"CC-BY-4.0",release:"0.2.8",name:"Scaffolding with Hi-C data VGP8",report:{markdown:`# Workflow Execution Report Time workflow was invoked @@ -5308,4 +10094,119 @@ Added tags for better visibility of outputs in the history, and exposure of the Creation of the workflow and tests -`,trsID:"#workflow/github.com/iwc-workflows/Scaffolding-HiC-VGP8/main",tests:[{doc:"Test outline for Scaffolding-HiC-VGP8",job:{"Input GFA":{class:"File",location:"https://zenodo.org/records/10037496/files/input%20GFA.gfa1?download=1",filetype:"gfa1"},"HiC Forward reads":{class:"File",location:"https://zenodo.org/records/10037496/files/HiC%20Forward%20reads.fastqsanger.gz?download=1",filetype:"fastqsanger.gz"},"HiC reverse reads":{class:"File",location:"https://zenodo.org/records/10037496/files/HiC%20reverse%20reads.fastqsanger.gz?download=1",filetype:"fastqsanger.gz"},"Estimated genome size - Parameter File":{class:"File",location:"https://zenodo.org/records/10037496/files/Estimated%20genome%20size%20-%20Parameter%20File.txt?download=1",filetype:"txt"},"Database for Busco Lineage":"v5",Lineage:"vertebrata_odb10","Restriction enzymes":"arima2",Haplotype:"hap1"},outputs:{"Reconciliated Scaffolds: gfa":{asserts:{has_n_lines:{n:169}}},"Reconciliated Scaffolds: fasta":{asserts:{has_n_lines:{n:168},has_text:{text:"scaffold_53.hap1"}}},"Busco Summary":{asserts:{has_text:{text:"C:1.0%[S:1.0%,D:0.0%],F:0.4%,M:98.6%,n:3354"}}},"Assembly Statistics for s2":{asserts:{has_line:{line:"# scaffolds 84"}}},"Nx Plot":{asserts:{has_size:{value:47e3,delta:5e3}}},"Pretext Map After HiC scaffolding":{asserts:{has_size:{value:893e3,delta:5e4}}}}}]}],path:"./workflows/VGP-assembly-v2/Scaffolding-HiC-VGP8"}],Pe=Me,Ee=he("workflow",()=>{const e=U(),s=P(null),t=_(()=>Pe.flatMap(a=>a.workflows));return{workflow:s,allWorkflows:t,setWorkflow:()=>{s.value=t.value.find(a=>a.trsID===e.params.id)}}});export{Ge as _,ve as a,Ee as b,He as c,W as d,Ae as e,ze as f,xe as u}; +`,diagrams:`# Workflow diagrams + +## Scaffolding with Hi-C data VGP8 + +\`\`\`mermaid +graph LR +0["ℹ️ Input GFA"]@{ shape: doc } +1["ℹ️ Haplotype"]@{ shape: lean-l } +2["ℹ️ Sequence graph"]@{ shape: doc } +3["ℹ️ Database for Busco Lineage"]@{ shape: lean-l } +4["ℹ️ Lineage"]@{ shape: lean-l } +5["ℹ️ HiC Forward reads"]@{ shape: doc } +6["ℹ️ HiC reverse reads"]@{ shape: doc } +7["ℹ️ Restriction enzymes"]@{ shape: lean-l } +8["ℹ️ Estimated genome size - Parameter File"]@{ shape: doc } +9["ℹ️ SAK input file"]@{ shape: doc } +10["Compose text parameter value"]@{ shape: process } +1 --> 10 +11["Parse parameter value"]@{ shape: process } +8 --> 11 +12["gfastats"]@{ shape: process } +0 --> 12 +9 --> 12 +13["BWA-MEM2"]@{ shape: process } +5 --> 13 +12 --> 13 +14["BWA-MEM2"]@{ shape: process } +6 --> 14 +12 --> 14 +15["Filter and merge"]@{ shape: process } +13 --> 15 +14 --> 15 +16["PretextMap"]@{ shape: process } +15 --> 16 +17["YAHS"]@{ shape: process } +2 --> 17 +15 --> 17 +7 --> 17 +12 --> 17 +18["Pretext Snapshot"]@{ shape: process } +16 --> 18 +19["Replace"]@{ shape: process } +10 --> 19 +17 --> 19 +20["Extract dataset"]@{ shape: process } +18 --> 20 +21["gfastats"]@{ shape: process } +12 --> 21 +19 --> 21 +22["gfastats"]@{ shape: process } +21 --> 22 +9 --> 22 +23["gfastats"]@{ shape: process } +21 --> 23 +11 --> 23 +24["gfastats"]@{ shape: process } +21 --> 24 +25["BWA-MEM2"]@{ shape: process } +5 --> 25 +22 --> 25 +26["BWA-MEM2"]@{ shape: process } +6 --> 26 +22 --> 26 +27["Busco"]@{ shape: process } +22 --> 27 +3 --> 27 +4 --> 27 +28["Replace"]@{ shape: process } +23 --> 28 +29["🛠️ gfastats_data_prep"]@{ shape: subprocess } +24 --> 29 +30["Filter and merge"]@{ shape: process } +25 --> 30 +26 --> 30 +31["Cut"]@{ shape: process } +29 --> 31 +32["Cut"]@{ shape: process } +29 --> 32 +33["PretextMap"]@{ shape: process } +30 --> 33 +34["bedtools BAM to BED"]@{ shape: process } +30 --> 34 +35["Nx Plot"]@{ shape: process } +31 --> 35 +36["Size Plot"]@{ shape: process } +32 --> 36 +37["Pretext Snapshot"]@{ shape: process } +33 --> 37 +38["Sort"]@{ shape: process } +34 --> 38 +39["Extract dataset"]@{ shape: process } +37 --> 39 +\`\`\` + +## gfastats_data_prep + +\`\`\`mermaid +graph LR +0["ℹ️ gfa_stats"]@{ shape: doc } +1["Sort"]@{ shape: process } +0 --> 1 +2["Text reformatting"]@{ shape: process } +1 --> 2 +3["Datamash"]@{ shape: process } +2 --> 3 +4["Add column"]@{ shape: process } +2 --> 4 +5["Parse parameter value"]@{ shape: process } +3 --> 5 +6["Compose text parameter value"]@{ shape: process } +5 --> 6 +7["Compute"]@{ shape: process } +4 --> 7 +6 --> 7 +\`\`\` +`,trsID:"#workflow/github.com/iwc-workflows/Scaffolding-HiC-VGP8/main",tests:[{doc:"Test outline for Scaffolding-HiC-VGP8",job:{"Input GFA":{class:"File",location:"https://zenodo.org/records/10037496/files/input%20GFA.gfa1?download=1",filetype:"gfa1"},"HiC Forward reads":{class:"File",location:"https://zenodo.org/records/10037496/files/HiC%20Forward%20reads.fastqsanger.gz?download=1",filetype:"fastqsanger.gz"},"HiC reverse reads":{class:"File",location:"https://zenodo.org/records/10037496/files/HiC%20reverse%20reads.fastqsanger.gz?download=1",filetype:"fastqsanger.gz"},"Estimated genome size - Parameter File":{class:"File",location:"https://zenodo.org/records/10037496/files/Estimated%20genome%20size%20-%20Parameter%20File.txt?download=1",filetype:"txt"},"Database for Busco Lineage":"v5",Lineage:"vertebrata_odb10","Restriction enzymes":"arima2",Haplotype:"hap1"},outputs:{"Reconciliated Scaffolds: gfa":{asserts:{has_n_lines:{n:169}}},"Reconciliated Scaffolds: fasta":{asserts:{has_n_lines:{n:168},has_text:{text:"scaffold_53.hap1"}}},"Busco Summary":{asserts:{has_text:{text:"C:1.0%[S:1.0%,D:0.0%],F:0.4%,M:98.6%,n:3354"}}},"Assembly Statistics for s2":{asserts:{has_line:{line:"# scaffolds 84"}}},"Nx Plot":{asserts:{has_size:{value:47e3,delta:5e3}}},"Pretext Map After HiC scaffolding":{asserts:{has_size:{value:893e3,delta:5e4}}}}}]}],path:"./workflows/VGP-assembly-v2/Scaffolding-HiC-VGP8"}],Ve=Pe,Ee=he("workflow",()=>{const e=U(),s=V(null),t=_(()=>Ve.flatMap(a=>a.workflows));return{workflow:s,allWorkflows:t,setWorkflow:()=>{s.value=t.value.find(a=>a.trsID===e.params.id)}}});export{He as _,ve as a,Ee as b,Ge as c,W as d,Ae as e,ze as f,xe as u}; diff --git a/_nuxt/BN9GDn3H.js b/_nuxt/BN9GDn3H.js new file mode 100644 index 000000000..8bffa7de4 --- /dev/null +++ b/_nuxt/BN9GDn3H.js @@ -0,0 +1,247 @@ +const __vite__fileDeps=["./HK6om9Mg.js","./csrLU7rk.js","./BH-Vtj6c.js","./C3NahR2g.js","./7nLUnQzp.js","./DqIxQbFE.js","./BJevMQrH.js","./DzgF3Vew.js","./IShi1APO.js","./Cpj98o6Y.js","./DZ8fBfTf.js","./C8kEXrLA.js","./MVIqH3qo.js","./Dk871sGE.js","./CqAEurY-.js","./vh4weN6L.js","./DiUVSron.js","./DkbTWFKD.js","./C9budKl-.js","./lwzoVff7.js","./B6SjRGD-.js","./BXAbmjOT.js","./Gi6I4Gst.js","./DZpnpg6r.js","./BzRHfUZr.js","./BpEg4sbd.js","./CmKTTxBW.js","./BBPqxCFz.js","./jm5Vvyv-.js","./CyiKzZke.js","./CKq6uz6i.js","./8ufgy5XF.js","./uI78RzAp.js","./piQ0EMDe.js","./DPkNqMKw.js","./DnCrATAD.js","./DV860Oij.js","./7UxjXbch.js","./Cwt5j3M4.js","./7I4epCkE.js","./FpOb6hff.js","./RKDQ-nER.js","./DJhIy8L4.js","./BdpWdHaY.js","./DDsBBK07.js","./tC7BsrAy.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +var Cy=Object.defineProperty;var Sy=(e,t,r)=>t in e?Cy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Q=(e,t,r)=>(Sy(e,typeof t!="symbol"?t+"":t,r),r),Ty=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var ra=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)};var Mi=(e,t,r)=>(Ty(e,t,"access private method"),r);import{d as gs,u as Sl,a as Ay,e as Ly,f as By,b as $y,_ as Ey,c as My}from"./BJevMQrH.js";import{a9 as cr,$ as Fy,g as zu,H as Iy,I as Ry,q as fn,c as at,w as dn,G as Lt,aa as Br,_ as ms,L as ys,M as ve,d as le,N as Ar,O as qu,P as Zr,o as ht,b as _t,e as pt,V as Xe,U as ni,i as Kt,Q as Wu,E as re,r as rn,j as $e,D as ai,a6 as Kc,as as Oy,h as si,a8 as Co,at as Hu,au as Dy,Z as ju,v as So,ap as Fi,A as Kr,k as Me,F as Py,l as ga,y as xt,av as Ny,aw as Qc,ax as zy,ay as qy,af as Wy,az as Hy,Y as jy,p as Uy,n as Yy}from"./DzgF3Vew.js";import{c as Gy,g as Vy}from"./Cpj98o6Y.js";const Xy=Symbol.for("nuxt:client-only"),Zy="data-n-ids",Ky="-";function Qy(e){var n,a,s,o,l,c;if(typeof e!="string")throw new TypeError("[nuxt] [useId] key must be a string.");e=`n${e.slice(1)}`;const t=Fy(),r=zu();if(!r)throw new TypeError("[nuxt] `useId` must be called within a component setup function.");t._id||(t._id=0),r._nuxtIdIndex||(r._nuxtIdIndex={}),(n=r._nuxtIdIndex)[e]||(n[e]=0);const i=e+Ky+r._nuxtIdIndex[e]++;if(t.payload.serverRendered&&t.isHydrating&&!cr(Xy,!1)){const h=((a=r.vnode.el)==null?void 0:a.nodeType)===8&&((o=(s=r.vnode.el)==null?void 0:s.nextElementSibling)!=null&&o.getAttribute)?(l=r.vnode.el)==null?void 0:l.nextElementSibling:r.vnode.el,u=JSON.parse(((c=h==null?void 0:h.getAttribute)==null?void 0:c.call(h,Zy))||"{}");if(u[i])return u[i]}return e+"_"+t._id++}function Jy(e){return Iy()?(Ry(e),!0):!1}function $a(e){return typeof e=="function"?e():fn(e)}const tx=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Jc=()=>{};function ex(e,t){function r(...i){return new Promise((n,a)=>{Promise.resolve(e(()=>t.apply(this,i),{fn:t,thisArg:this,args:i})).then(n).catch(a)})}return r}function rx(e,t={}){let r,i,n=Jc;const a=o=>{clearTimeout(o),n(),n=Jc};return o=>{const l=$a(e),c=$a(t.maxWait);return r&&a(r),l<=0||c!==void 0&&c<=0?(i&&(a(i),i=null),Promise.resolve(o())):new Promise((h,u)=>{n=t.rejectOnCancel?u:h,c&&!i&&(i=setTimeout(()=>{r&&a(r),i=null,h(o())},c)),r=setTimeout(()=>{i&&a(i),i=null,h(o())},l)})}}function ix(e,t=200,r={}){return ex(rx(t,r),e)}const nx=tx?window:void 0;function th(e){var t;const r=$a(e);return(t=r==null?void 0:r.$el)!=null?t:r}function ax(){const e=Lt(!1),t=zu();return t&&Br(()=>{e.value=!0},t),e}function sx(e){const t=ax();return at(()=>(t.value,!!e()))}function ox(e,t,r={}){const{window:i=nx,...n}=r;let a;const s=sx(()=>i&&"ResizeObserver"in i),o=()=>{a&&(a.disconnect(),a=void 0)},l=at(()=>{const u=$a(e);return Array.isArray(u)?u.map(f=>th(f)):[th(u)]}),c=dn(l,u=>{if(o(),s.value&&i){a=new ResizeObserver(t);for(const f of u)f&&a.observe(f,n)}},{immediate:!0,flush:"post"}),h=()=>{o(),c()};return Jy(h),{isSupported:s,stop:h}}const lx={wrapper:{horizontal:"inline-flex -space-x-px",vertical:"inline-flex flex-col -space-y-px"},rounded:"rounded-md",shadow:"shadow-sm",orientation:{"rounded-none":{horizontal:{start:"rounded-s-none",end:"rounded-e-none"},vertical:{start:"rounded-t-none",end:"rounded-b-none"}},"rounded-sm":{horizontal:{start:"rounded-s-sm",end:"rounded-e-sm"},vertical:{start:"rounded-t-sm",end:"rounded-b-sm"}},rounded:{horizontal:{start:"rounded-s",end:"rounded-e"},vertical:{start:"rounded-t",end:"rounded-b"}},"rounded-md":{horizontal:{start:"rounded-s-md",end:"rounded-e-md"},vertical:{start:"rounded-t-md",end:"rounded-b-md"}},"rounded-lg":{horizontal:{start:"rounded-s-lg",end:"rounded-e-lg"},vertical:{start:"rounded-t-lg",end:"rounded-b-lg"}},"rounded-xl":{horizontal:{start:"rounded-s-xl",end:"rounded-e-xl"},vertical:{start:"rounded-t-xl",end:"rounded-b-xl"}},"rounded-2xl":{horizontal:{start:"rounded-s-2xl",end:"rounded-e-2xl"},vertical:{start:"rounded-t-2xl",end:"rounded-b-2xl"}},"rounded-3xl":{horizontal:{start:"rounded-s-3xl",end:"rounded-e-3xl"},vertical:{start:"rounded-t-3xl",end:"rounded-b-3xl"}},"rounded-full":{horizontal:{start:"rounded-s-full",end:"rounded-e-full"},vertical:{start:"rounded-t-full",end:"rounded-b-full"}}}},cx={wrapper:"relative",base:"relative block w-full disabled:cursor-not-allowed disabled:opacity-75 focus:outline-none border-0",form:"form-input",rounded:"rounded-md",placeholder:"placeholder-gray-400 dark:placeholder-gray-500",file:{base:"file:mr-1.5 file:font-medium file:text-gray-500 dark:file:text-gray-400 file:bg-transparent file:border-0 file:p-0 file:outline-none"},size:{"2xs":"text-xs",xs:"text-xs",sm:"text-sm",md:"text-sm",lg:"text-sm",xl:"text-base"},gap:{"2xs":"gap-x-1",xs:"gap-x-1.5",sm:"gap-x-1.5",md:"gap-x-2",lg:"gap-x-2.5",xl:"gap-x-2.5"},padding:{"2xs":"px-2 py-1",xs:"px-2.5 py-1.5",sm:"px-2.5 py-1.5",md:"px-3 py-2",lg:"px-3.5 py-2.5",xl:"px-3.5 py-2.5"},leading:{padding:{"2xs":"ps-7",xs:"ps-8",sm:"ps-9",md:"ps-10",lg:"ps-11",xl:"ps-12"}},trailing:{padding:{"2xs":"pe-7",xs:"pe-8",sm:"pe-9",md:"pe-10",lg:"pe-11",xl:"pe-12"}},color:{white:{outline:"shadow-sm bg-white dark:bg-gray-900 text-gray-900 dark:text-white ring-1 ring-inset ring-gray-300 dark:ring-gray-700 focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400"},gray:{outline:"shadow-sm bg-gray-50 dark:bg-gray-800 text-gray-900 dark:text-white ring-1 ring-inset ring-gray-300 dark:ring-gray-700 focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400"}},variant:{outline:"shadow-sm bg-transparent text-gray-900 dark:text-white ring-1 ring-inset ring-{color}-500 dark:ring-{color}-400 focus:ring-2 focus:ring-{color}-500 dark:focus:ring-{color}-400",none:"bg-transparent focus:ring-0 focus:shadow-none"},icon:{base:"flex-shrink-0 text-gray-400 dark:text-gray-500",color:"text-{color}-500 dark:text-{color}-400",loading:"animate-spin",size:{"2xs":"h-4 w-4",xs:"h-4 w-4",sm:"h-5 w-5",md:"h-5 w-5",lg:"h-5 w-5",xl:"h-6 w-6"},leading:{wrapper:"absolute inset-y-0 start-0 flex items-center",pointer:"pointer-events-none",padding:{"2xs":"px-2",xs:"px-2.5",sm:"px-2.5",md:"px-3",lg:"px-3.5",xl:"px-3.5"}},trailing:{wrapper:"absolute inset-y-0 end-0 flex items-center",pointer:"pointer-events-none",padding:{"2xs":"px-2",xs:"px-2.5",sm:"px-2.5",md:"px-3",lg:"px-3.5",xl:"px-3.5"}}},default:{size:"sm",color:"white",variant:"outline",loadingIcon:"i-heroicons-arrow-path-20-solid"}},hx={...cx,form:"form-select",placeholder:"text-gray-400 dark:text-gray-500",default:{size:"sm",color:"white",variant:"outline",loadingIcon:"i-heroicons-arrow-path-20-solid",trailingIcon:"i-heroicons-chevron-down-20-solid"}},ux={wrapper:"relative space-y-2",container:"relative w-full",base:"focus:outline-none",list:{base:"relative",background:"bg-gray-100 dark:bg-gray-800",rounded:"rounded-lg",shadow:"",padding:"p-1",height:"h-10",width:"w-full",marker:{wrapper:"absolute top-[4px] left-[4px] duration-200 ease-out focus:outline-none",base:"w-full h-full",background:"bg-white dark:bg-gray-900",rounded:"rounded-md",shadow:"shadow-sm"},tab:{base:"relative inline-flex items-center justify-center flex-shrink-0 w-full ui-focus-visible:outline-0 ui-focus-visible:ring-2 ui-focus-visible:ring-primary-500 dark:ui-focus-visible:ring-primary-400 ui-not-focus-visible:outline-none focus:outline-none disabled:cursor-not-allowed disabled:opacity-75 transition-colors duration-200 ease-out",background:"",active:"text-gray-900 dark:text-white",inactive:"text-gray-500 dark:text-gray-400",height:"h-8",padding:"px-3",size:"text-sm",font:"font-medium",rounded:"rounded-md",shadow:"",icon:"w-4 h-4 flex-shrink-0 me-2"}}},fx=(e,t,r=!0)=>{const i=cr("form-events",void 0),n=cr("form-group",void 0),a=cr("form-inputs",void 0);n&&(!r||e!=null&&e.legend?n.inputId.value=void 0:e!=null&&e.id&&(n.inputId.value=e==null?void 0:e.id),a&&(a.value[n.name.value]=n.inputId.value));const s=Lt(!1);function o(u,f){i&&i.emit({type:u,path:f})}function l(){o("blur",n==null?void 0:n.name.value),s.value=!0}function c(){o("change",n==null?void 0:n.name.value)}const h=ix(()=>{(s.value||n!=null&&n.eagerValidation.value)&&o("input",n==null?void 0:n.name.value)},300);return{inputId:at(()=>(e==null?void 0:e.id)??(n==null?void 0:n.inputId.value)),name:at(()=>(e==null?void 0:e.name)??(n==null?void 0:n.name.value)),size:at(()=>{var f;const u=t.size[n==null?void 0:n.size.value]?n==null?void 0:n.size.value:null;return(e==null?void 0:e.size)??u??((f=t.default)==null?void 0:f.size)}),color:at(()=>{var u;return(u=n==null?void 0:n.error)!=null&&u.value?"red":e==null?void 0:e.color}),emitFormBlur:l,emitFormInput:h,emitFormChange:c}},Be=ys(ve.ui.strategy,ve.ui.select,hx),dx=le({components:{UIcon:gs},inheritAttrs:!1,props:{modelValue:{type:[String,Number,Object],default:""},id:{type:String,default:null},name:{type:String,default:null},placeholder:{type:String,default:null},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},icon:{type:String,default:null},loadingIcon:{type:String,default:()=>Be.default.loadingIcon},leadingIcon:{type:String,default:null},trailingIcon:{type:String,default:()=>Be.default.trailingIcon},trailing:{type:Boolean,default:!1},leading:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},padded:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},size:{type:String,default:null,validator(e){return Object.keys(Be.size).includes(e)}},color:{type:String,default:()=>Be.default.color,validator(e){return[...ve.ui.colors,...Object.keys(Be.color)].includes(e)}},variant:{type:String,default:()=>Be.default.variant,validator(e){return[...Object.keys(Be.variant),...Object.values(Be.color).flatMap(t=>Object.keys(t))].includes(e)}},optionAttribute:{type:String,default:"label"},valueAttribute:{type:String,default:"value"},selectClass:{type:String,default:null},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},emits:["update:modelValue","change"],setup(e,{emit:t,slots:r}){const{ui:i,attrs:n}=Sl("select",Ar(e,"ui"),Be,Ar(e,"class")),{size:a,rounded:s}=Ay({ui:i,props:e}),{emitFormChange:o,inputId:l,color:c,size:h,name:u}=fx(e,Be),f=at(()=>a.value??h.value),d=A=>{t("update:modelValue",A.target.value)},p=A=>{t("change",A.target.value),o()},m=A=>Kc(A,e.valueAttribute,""),y=A=>Kc(A,e.optionAttribute,""),x=A=>["string","number","boolean"].includes(typeof A)?{[e.valueAttribute]:A,[e.optionAttribute]:A}:{...A,[e.valueAttribute]:m(A),[e.optionAttribute]:y(A)},b=at(()=>e.options.map(A=>x(A))),_=at(()=>e.placeholder?[{[e.valueAttribute]:"",[e.optionAttribute]:e.placeholder,disabled:!0},...b.value]:b.value),k=at(()=>{const A=x(e.modelValue),B=_.value.find(S=>S[e.valueAttribute]===A[e.valueAttribute]);return B?B[e.valueAttribute]:""}),w=at(()=>{var B,S;const A=((S=(B=i.value.color)==null?void 0:B[c.value])==null?void 0:S[e.variant])||i.value.variant[e.variant];return qu(Zr(i.value.base,i.value.form,s.value,i.value.size[f.value],e.padded?i.value.padding[f.value]:"p-0",A==null?void 0:A.replaceAll("{color}",c.value),(T.value||r.leading)&&i.value.leading.padding[f.value],(L.value||r.trailing)&&i.value.trailing.padding[f.value]),e.placeholder&&!e.modelValue&&i.value.placeholder,e.selectClass)}),T=at(()=>e.icon&&e.leading||e.icon&&!e.trailing||e.loading&&!e.trailing||e.leadingIcon),L=at(()=>e.icon&&e.trailing||e.loading&&e.trailing||e.trailingIcon),O=at(()=>e.loading?e.loadingIcon:e.leadingIcon||e.icon),N=at(()=>e.loading&&!T.value?e.loadingIcon:e.trailingIcon||e.icon),R=at(()=>Zr(i.value.icon.leading.wrapper,i.value.icon.leading.pointer,i.value.icon.leading.padding[f.value])),E=at(()=>Zr(i.value.icon.base,c.value&&ve.ui.colors.includes(c.value)&&i.value.icon.color.replaceAll("{color}",c.value),i.value.icon.size[f.value],e.loading&&i.value.icon.loading)),q=at(()=>Zr(i.value.icon.trailing.wrapper,i.value.icon.trailing.pointer,i.value.icon.trailing.padding[f.value])),D=at(()=>Zr(i.value.icon.base,c.value&&ve.ui.colors.includes(c.value)&&i.value.icon.color.replaceAll("{color}",c.value),i.value.icon.size[f.value],e.loading&&!T.value&&i.value.icon.loading));return{ui:i,attrs:n,name:u,inputId:l,normalizedOptionsWithPlaceholder:_,normalizedValue:k,isLeading:T,isTrailing:L,selectClass:w,leadingIconName:O,leadingIconClass:E,leadingWrapperIconClass:R,trailingIconName:N,trailingIconClass:D,trailingWrapperIconClass:q,onInput:d,onChange:p}}}),px=["id","name","value","required","disabled"],gx=["value","label"],mx=["value","selected","disabled","textContent"],yx=["value","selected","disabled","textContent"];function xx(e,t,r,i,n,a){const s=gs;return ht(),_t("div",{class:re(e.ui.wrapper)},[pt("select",Wu({id:e.inputId,name:e.name,value:e.modelValue,required:e.required,disabled:e.disabled,class:e.selectClass},e.attrs,{onInput:t[0]||(t[0]=(...o)=>e.onInput&&e.onInput(...o)),onChange:t[1]||(t[1]=(...o)=>e.onChange&&e.onChange(...o))}),[(ht(!0),_t(Xe,null,ni(e.normalizedOptionsWithPlaceholder,(o,l)=>(ht(),_t(Xe,null,[o.children?(ht(),_t("optgroup",{key:`${o[e.valueAttribute]}-optgroup-${l}`,value:o[e.valueAttribute],label:o[e.optionAttribute]},[(ht(!0),_t(Xe,null,ni(o.children,(c,h)=>(ht(),_t("option",{key:`${c[e.valueAttribute]}-${l}-${h}`,value:c[e.valueAttribute],selected:c[e.valueAttribute]===e.normalizedValue,disabled:c.disabled,textContent:Kt(c[e.optionAttribute])},null,8,mx))),128))],8,gx)):(ht(),_t("option",{key:`${o[e.valueAttribute]}-${l}`,value:o[e.valueAttribute],selected:o[e.valueAttribute]===e.normalizedValue,disabled:o.disabled,textContent:Kt(o[e.optionAttribute])},null,8,yx))],64))),256))],16,px),e.isLeading&&e.leadingIconName||e.$slots.leading?(ht(),_t("span",{key:0,class:re(e.leadingWrapperIconClass)},[rn(e.$slots,"leading",{disabled:e.disabled,loading:e.loading},()=>[$e(s,{name:e.leadingIconName,class:re(e.leadingIconClass)},null,8,["name","class"])],!0)],2)):ai("",!0),e.isTrailing&&e.trailingIconName||e.$slots.trailing?(ht(),_t("span",{key:1,class:re(e.trailingWrapperIconClass)},[rn(e.$slots,"trailing",{disabled:e.disabled,loading:e.loading},()=>[$e(s,{name:e.trailingIconName,class:re(e.trailingIconClass),"aria-hidden":"true"},null,8,["name","class"])],!0)],2)):ai("",!0)],2)}const bx=ms(dx,[["render",xx],["__scopeId","data-v-9f80dc9e"]]),_x=ys(ve.ui.strategy,ve.ui.button,Ly),wx=ys(ve.ui.strategy,ve.ui.buttonGroup,lx),vx=le({name:"ButtonGroup",inheritAttrs:!1,props:{size:{type:String,default:null,validator(e){return Object.keys(_x.size).includes(e)}},orientation:{type:String,default:"horizontal",validator(e){return["horizontal","vertical"].includes(e)}},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},setup(e,{slots:t}){const{ui:r,attrs:i}=Sl("buttonGroup",Ar(e,"ui"),wx),n=at(()=>Oy(t)),a=at(()=>qu(Zr(r.value.wrapper[e.orientation],r.value.rounded,r.value.shadow),e.class)),s=at(()=>r.value.orientation[r.value.rounded][e.orientation]);return By({orientation:Ar(e,"orientation"),size:Ar(e,"size"),ui:r,rounded:s}),()=>si("div",{class:a.value,...i.value},n.value)}});function kx(e){typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e).catch(t=>setTimeout(()=>{throw t}))}var eh;let Uu=Symbol("headlessui.useid"),Cx=0;const Yu=(eh=void 0)!=null?eh:function(){return cr(Uu,()=>`${++Cx}`)()};function Sx(e){Co(Uu,e)}function St(e){var t;if(e==null||e.value==null)return null;let r=(t=e.value.$el)!=null?t:e.value;return r instanceof Node?r:null}function ei(e,t,...r){if(e in t){let n=t[e];return typeof n=="function"?n(...r):n}let i=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(n=>`"${n}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(i,ei),i}var Tx=Object.defineProperty,Ax=(e,t,r)=>t in e?Tx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rh=(e,t,r)=>(Ax(e,typeof t!="symbol"?t+"":t,r),r);let Lx=class{constructor(){rh(this,"current",this.detect()),rh(this,"currentId",0)}set(t){this.current!==t&&(this.currentId=0,this.current=t)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current==="server"}get isClient(){return this.current==="client"}detect(){return typeof window>"u"||typeof document>"u"?"server":"client"}},Bx=new Lx;function $x(e){if(Bx.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty("value")){let t=St(e);if(t)return t.ownerDocument}return document}let Ex=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var xe=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(xe||{}),Vi=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(Vi||{}),Mx=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(Mx||{});function Fx(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(Ex)).sort((t,r)=>Math.sign((t.tabIndex||Number.MAX_SAFE_INTEGER)-(r.tabIndex||Number.MAX_SAFE_INTEGER)))}var Ix=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Ix||{}),Rx=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Mouse=1]="Mouse",e))(Rx||{});typeof window<"u"&&typeof document<"u"&&(document.addEventListener("keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0));let Ox=["textarea","input"].join(",");function Dx(e){var t,r;return(r=(t=e==null?void 0:e.matches)==null?void 0:t.call(e,Ox))!=null?r:!1}function Qr(e,t=r=>r){return e.slice().sort((r,i)=>{let n=t(r),a=t(i);if(n===null||a===null)return 0;let s=n.compareDocumentPosition(a);return s&Node.DOCUMENT_POSITION_FOLLOWING?-1:s&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Gr(e,t,{sorted:r=!0,relativeTo:i=null,skipElements:n=[]}={}){var a;let s=(a=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)!=null?a:document,o=Array.isArray(e)?r?Qr(e):e:Fx(e);n.length>0&&o.length>1&&(o=o.filter(p=>!n.includes(p))),i=i??s.activeElement;let l=(()=>{if(t&5)return 1;if(t&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),c=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,o.indexOf(i))-1;if(t&4)return Math.max(0,o.indexOf(i))+1;if(t&8)return o.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),h=t&32?{preventScroll:!0}:{},u=0,f=o.length,d;do{if(u>=f||u+f<=0)return 0;let p=c+u;if(t&16)p=(p+f)%f;else{if(p<0)return 3;if(p>=f)return 1}d=o[p],d==null||d.focus(h),u+=l}while(d!==s.activeElement);return t&6&&Dx(d)&&d.select(),2}function ih(e,t){if(e)return e;let r=t??"button";if(typeof r=="string"&&r.toLowerCase()==="button")return"button"}function Px(e,t){let r=Lt(ih(e.value.type,e.value.as));return Br(()=>{r.value=ih(e.value.type,e.value.as)}),Hu(()=>{var i;r.value||St(t)&&St(t)instanceof HTMLButtonElement&&!((i=St(t))!=null&&i.hasAttribute("type"))&&(r.value="button")}),r}var To=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(To||{}),Nx=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(Nx||{});function _i({visible:e=!0,features:t=0,ourProps:r,theirProps:i,...n}){var a;let s=Vu(i,r),o=Object.assign(n,{props:s});if(e||t&2&&s.static)return to(o);if(t&1){let l=(a=s.unmount)==null||a?0:1;return ei(l,{0(){return null},1(){return to({...n,props:{...s,hidden:!0,style:{display:"none"}}})}})}return to(o)}function to({props:e,attrs:t,slots:r,slot:i,name:n}){var a,s;let{as:o,...l}=Xu(e,["unmount","static"]),c=(a=r.default)==null?void 0:a.call(r,i),h={};if(i){let u=!1,f=[];for(let[d,p]of Object.entries(i))typeof p=="boolean"&&(u=!0),p===!0&&f.push(d);u&&(h["data-headlessui-state"]=f.join(" "))}if(o==="template"){if(c=Gu(c??[]),Object.keys(l).length>0||Object.keys(t).length>0){let[u,...f]=c??[];if(!zx(u)||f.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${n} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(l).concat(Object.keys(t)).map(m=>m.trim()).filter((m,y,x)=>x.indexOf(m)===y).sort((m,y)=>m.localeCompare(y)).map(m=>` - ${m}`).join(` +`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map(m=>` - ${m}`).join(` +`)].join(` +`));let d=Vu((s=u.props)!=null?s:{},l,h),p=Dy(u,d,!0);for(let m in d)m.startsWith("on")&&(p.props||(p.props={}),p.props[m]=d[m]);return p}return Array.isArray(c)&&c.length===1?c[0]:c}return si(o,Object.assign({},l,h),{default:()=>c})}function Gu(e){return e.flatMap(t=>t.type===Xe?Gu(t.children):[t])}function Vu(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={},r={};for(let i of e)for(let n in i)n.startsWith("on")&&typeof i[n]=="function"?(r[n]!=null||(r[n]=[]),r[n].push(i[n])):t[n]=i[n];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(r).map(i=>[i,void 0])));for(let i in r)Object.assign(t,{[i](n,...a){let s=r[i];for(let o of s){if(n instanceof Event&&n.defaultPrevented)return;o(n,...a)}}});return t}function Xu(e,t=[]){let r=Object.assign({},e);for(let i of t)i in r&&delete r[i];return r}function zx(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}var Zu=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(Zu||{});let Ku=le({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(e,{slots:t,attrs:r}){return()=>{var i;let{features:n,...a}=e,s={"aria-hidden":(n&2)===2?!0:(i=a["aria-hidden"])!=null?i:void 0,hidden:(n&4)===4?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(n&4)===4&&(n&2)!==2&&{display:"none"}}};return _i({ourProps:s,theirProps:a,slot:{},attrs:r,slots:t,name:"Hidden"})}}});var be=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(be||{});let qx=le({props:{onFocus:{type:Function,required:!0}},setup(e){let t=Lt(!0);return()=>t.value?si(Ku,{as:"button",type:"button",features:Zu.Focusable,onFocus(r){r.preventDefault();let i,n=50;function a(){var s;if(n--<=0){i&&cancelAnimationFrame(i);return}if((s=e.onFocus)!=null&&s.call(e)){t.value=!1,cancelAnimationFrame(i);return}i=requestAnimationFrame(a)}i=requestAnimationFrame(a)}}):null}});var Wx=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(Wx||{}),Hx=(e=>(e[e.Less=-1]="Less",e[e.Equal=0]="Equal",e[e.Greater=1]="Greater",e))(Hx||{});let Qu=Symbol("TabsContext");function On(e){let t=cr(Qu,null);if(t===null){let r=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,On),r}return t}let Tl=Symbol("TabsSSRContext"),jx=le({name:"TabGroup",emits:{change:e=>!0},props:{as:{type:[Object,String],default:"template"},selectedIndex:{type:[Number],default:null},defaultIndex:{type:[Number],default:0},vertical:{type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(e,{slots:t,attrs:r,emit:i}){var n;let a=Lt((n=e.selectedIndex)!=null?n:e.defaultIndex),s=Lt([]),o=Lt([]),l=at(()=>e.selectedIndex!==null),c=at(()=>l.value?e.selectedIndex:a.value);function h(m){var y;let x=Qr(u.tabs.value,St),b=Qr(u.panels.value,St),_=x.filter(k=>{var w;return!((w=St(k))!=null&&w.hasAttribute("disabled"))});if(m<0||m>x.length-1){let k=ei(a.value===null?0:Math.sign(m-a.value),{[-1]:()=>1,0:()=>ei(Math.sign(m),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0}),w=ei(k,{0:()=>x.indexOf(_[0]),1:()=>x.indexOf(_[_.length-1])});w!==-1&&(a.value=w),u.tabs.value=x,u.panels.value=b}else{let k=x.slice(0,m),w=[...x.slice(m),...k].find(L=>_.includes(L));if(!w)return;let T=(y=x.indexOf(w))!=null?y:u.selectedIndex.value;T===-1&&(T=u.selectedIndex.value),a.value=T,u.tabs.value=x,u.panels.value=b}}let u={selectedIndex:at(()=>{var m,y;return(y=(m=a.value)!=null?m:e.defaultIndex)!=null?y:null}),orientation:at(()=>e.vertical?"vertical":"horizontal"),activation:at(()=>e.manual?"manual":"auto"),tabs:s,panels:o,setSelectedIndex(m){c.value!==m&&i("change",m),l.value||h(m)},registerTab(m){var y;if(s.value.includes(m))return;let x=s.value[a.value];if(s.value.push(m),s.value=Qr(s.value,St),!l.value){let b=(y=s.value.indexOf(x))!=null?y:a.value;b!==-1&&(a.value=b)}},unregisterTab(m){let y=s.value.indexOf(m);y!==-1&&s.value.splice(y,1)},registerPanel(m){o.value.includes(m)||(o.value.push(m),o.value=Qr(o.value,St))},unregisterPanel(m){let y=o.value.indexOf(m);y!==-1&&o.value.splice(y,1)}};Co(Qu,u);let f=Lt({tabs:[],panels:[]}),d=Lt(!1);Br(()=>{d.value=!0}),Co(Tl,at(()=>d.value?null:f.value));let p=at(()=>e.selectedIndex);return Br(()=>{dn([p],()=>{var m;return h((m=e.selectedIndex)!=null?m:e.defaultIndex)},{immediate:!0})}),Hu(()=>{if(!l.value||c.value==null||u.tabs.value.length<=0)return;let m=Qr(u.tabs.value,St);m.some((y,x)=>St(u.tabs.value[x])!==St(y))&&u.setSelectedIndex(m.findIndex(y=>St(y)===St(u.tabs.value[c.value])))}),()=>{let m={selectedIndex:a.value};return si(Xe,[s.value.length<=0&&si(qx,{onFocus:()=>{for(let y of s.value){let x=St(y);if((x==null?void 0:x.tabIndex)===0)return x.focus(),!0}return!1}}),_i({theirProps:{...r,...Xu(e,["selectedIndex","defaultIndex","manual","vertical","onChange"])},ourProps:{},slot:m,slots:t,attrs:r,name:"TabGroup"})])}}}),Ux=le({name:"TabList",props:{as:{type:[Object,String],default:"div"}},setup(e,{attrs:t,slots:r}){let i=On("TabList");return()=>{let n={selectedIndex:i.selectedIndex.value},a={role:"tablist","aria-orientation":i.orientation.value};return _i({ourProps:a,theirProps:e,slot:n,attrs:t,slots:r,name:"TabList"})}}}),Yx=le({name:"Tab",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(e,{attrs:t,slots:r,expose:i}){var n;let a=(n=e.id)!=null?n:`headlessui-tabs-tab-${Yu()}`,s=On("Tab"),o=Lt(null);i({el:o,$el:o}),Br(()=>s.registerTab(o)),ju(()=>s.unregisterTab(o));let l=cr(Tl),c=at(()=>{if(l.value){let b=l.value.tabs.indexOf(a);return b===-1?l.value.tabs.push(a)-1:b}return-1}),h=at(()=>{let b=s.tabs.value.indexOf(o);return b===-1?c.value:b}),u=at(()=>h.value===s.selectedIndex.value);function f(b){var _;let k=b();if(k===Vi.Success&&s.activation.value==="auto"){let w=(_=$x(o))==null?void 0:_.activeElement,T=s.tabs.value.findIndex(L=>St(L)===w);T!==-1&&s.setSelectedIndex(T)}return k}function d(b){let _=s.tabs.value.map(k=>St(k)).filter(Boolean);if(b.key===be.Space||b.key===be.Enter){b.preventDefault(),b.stopPropagation(),s.setSelectedIndex(h.value);return}switch(b.key){case be.Home:case be.PageUp:return b.preventDefault(),b.stopPropagation(),f(()=>Gr(_,xe.First));case be.End:case be.PageDown:return b.preventDefault(),b.stopPropagation(),f(()=>Gr(_,xe.Last))}if(f(()=>ei(s.orientation.value,{vertical(){return b.key===be.ArrowUp?Gr(_,xe.Previous|xe.WrapAround):b.key===be.ArrowDown?Gr(_,xe.Next|xe.WrapAround):Vi.Error},horizontal(){return b.key===be.ArrowLeft?Gr(_,xe.Previous|xe.WrapAround):b.key===be.ArrowRight?Gr(_,xe.Next|xe.WrapAround):Vi.Error}}))===Vi.Success)return b.preventDefault()}let p=Lt(!1);function m(){var b;p.value||(p.value=!0,!e.disabled&&((b=St(o))==null||b.focus({preventScroll:!0}),s.setSelectedIndex(h.value),kx(()=>{p.value=!1})))}function y(b){b.preventDefault()}let x=Px(at(()=>({as:e.as,type:t.type})),o);return()=>{var b,_;let k={selected:u.value,disabled:(b=e.disabled)!=null?b:!1},{...w}=e,T={ref:o,onKeydown:d,onMousedown:y,onClick:m,id:a,role:"tab",type:x.value,"aria-controls":(_=St(s.panels.value[h.value]))==null?void 0:_.id,"aria-selected":u.value,tabIndex:u.value?0:-1,disabled:e.disabled?!0:void 0};return _i({ourProps:T,theirProps:w,slot:k,attrs:t,slots:r,name:"Tab"})}}}),Gx=le({name:"TabPanels",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:r}){let i=On("TabPanels");return()=>{let n={selectedIndex:i.selectedIndex.value};return _i({theirProps:e,ourProps:{},slot:n,attrs:r,slots:t,name:"TabPanels"})}}}),Vx=le({name:"TabPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null},tabIndex:{type:Number,default:0}},setup(e,{attrs:t,slots:r,expose:i}){var n;let a=(n=e.id)!=null?n:`headlessui-tabs-panel-${Yu()}`,s=On("TabPanel"),o=Lt(null);i({el:o,$el:o}),Br(()=>s.registerPanel(o)),ju(()=>s.unregisterPanel(o));let l=cr(Tl),c=at(()=>{if(l.value){let f=l.value.panels.indexOf(a);return f===-1?l.value.panels.push(a)-1:f}return-1}),h=at(()=>{let f=s.panels.value.indexOf(o);return f===-1?c.value:f}),u=at(()=>h.value===s.selectedIndex.value);return()=>{var f;let d={selected:u.value},{tabIndex:p,...m}=e,y={ref:o,id:a,role:"tabpanel","aria-labelledby":(f=St(s.tabs.value[h.value]))==null?void 0:f.id,tabIndex:u.value?p:-1};return!u.value&&e.unmount&&!e.static?si(Ku,{as:"span","aria-hidden":!0,...y}):_i({ourProps:y,theirProps:m,slot:d,attrs:t,slots:r,features:To.Static|To.RenderStrategy,visible:u.value,name:"TabPanel"})}}});const Xx=ys(ve.ui.strategy,ve.ui.tabs,ux),Zx=le({components:{UIcon:gs,HTabGroup:jx,HTabList:Ux,HTab:Yx,HTabPanels:Gx,HTabPanel:Vx},inheritAttrs:!1,props:{modelValue:{type:Number,default:void 0},orientation:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},defaultIndex:{type:Number,default:0},items:{type:Array,default:()=>[]},unmount:{type:Boolean,default:!1},content:{type:Boolean,default:!0},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},emits:["update:modelValue","change"],setup(e,{emit:t}){const{ui:r,attrs:i}=Sl("tabs",Ar(e,"ui"),Xx,Ar(e,"class")),n=Lt(),a=Lt([]),s=Lt(),o=Lt(e.modelValue||e.defaultIndex);function l(h){var f;const u=(f=a.value[h])==null?void 0:f.$el;u&&s.value&&(s.value.style.top=`${u.offsetTop}px`,s.value.style.left=`${u.offsetLeft}px`,s.value.style.width=`${u.offsetWidth}px`,s.value.style.height=`${u.offsetHeight}px`)}function c(h){o.value=h,t("change",h),e.modelValue!==void 0&&t("update:modelValue",o.value),l(o.value)}return ox(n,()=>{l(o.value)}),dn(()=>e.modelValue,h=>{o.value=h,l(o.value)}),dn(()=>e.items,async()=>{await So(),l(o.value)},{deep:!0}),Br(async()=>{await So(),l(o.value)}),Sx(()=>Qy("$39Q85lIXra")),{ui:r,attrs:i,listRef:n,itemRefs:a,markerRef:s,selectedIndex:o,onChange:c}}}),Kx=["aria-label"],Qx={class:"truncate"};function Jx(e,t,r,i,n,a){const s=gs,o=Fi("HTab"),l=Fi("HTabList"),c=Fi("HTabPanel"),h=Fi("HTabPanels"),u=Fi("HTabGroup");return ht(),Kr(u,Wu({vertical:e.orientation==="vertical","selected-index":e.selectedIndex,as:"div",class:e.ui.wrapper},e.attrs,{onChange:e.onChange}),{default:Me(()=>[$e(l,{ref:"listRef",class:re([e.ui.list.base,e.ui.list.background,e.ui.list.rounded,e.ui.list.shadow,e.ui.list.padding,e.ui.list.width,e.orientation==="horizontal"&&e.ui.list.height,e.orientation==="horizontal"&&"inline-grid items-center"]),style:Py([e.orientation==="horizontal"&&`grid-template-columns: repeat(${e.items.length}, minmax(0, 1fr))`])},{default:Me(()=>[pt("div",{ref:"markerRef",class:re(e.ui.list.marker.wrapper)},[pt("div",{class:re([e.ui.list.marker.base,e.ui.list.marker.background,e.ui.list.marker.rounded,e.ui.list.marker.shadow])},null,2)],2),(ht(!0),_t(Xe,null,ni(e.items,(f,d)=>(ht(),Kr(o,{key:d,ref_for:!0,ref:"itemRefs",disabled:f.disabled,as:"template"},{default:Me(({selected:p,disabled:m})=>[pt("button",{"aria-label":f.ariaLabel,class:re([e.ui.list.tab.base,e.ui.list.tab.background,e.ui.list.tab.height,e.ui.list.tab.padding,e.ui.list.tab.size,e.ui.list.tab.font,e.ui.list.tab.rounded,e.ui.list.tab.shadow,p?e.ui.list.tab.active:e.ui.list.tab.inactive])},[rn(e.$slots,"icon",{item:f,index:d,selected:p,disabled:m},()=>[f.icon?(ht(),Kr(s,{key:0,name:f.icon,class:re(e.ui.list.tab.icon)},null,8,["name","class"])):ai("",!0)]),rn(e.$slots,"default",{item:f,index:d,selected:p,disabled:m},()=>[pt("span",Qx,Kt(f.label),1)])],10,Kx)]),_:2},1032,["disabled"]))),128))]),_:3},8,["class","style"]),e.content?(ht(),Kr(h,{key:0,class:re(e.ui.container)},{default:Me(()=>[(ht(!0),_t(Xe,null,ni(e.items,(f,d)=>(ht(),Kr(c,{key:d,class:re(e.ui.base),unmount:e.unmount},{default:Me(({selected:p})=>[rn(e.$slots,f.slot||"item",{item:f,index:d,selected:p},()=>[ga(Kt(f.content),1)])]),_:2},1032,["class","unmount"]))),128))]),_:3},8,["class"])):ai("",!0)]),_:3},16,["vertical","selected-index","class","onChange"])}const tb=ms(Zx,[["render",Jx]]);function Al(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let Dr=Al();function Ju(e){Dr=e}const tf=/[&<>"']/,eb=new RegExp(tf.source,"g"),ef=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,rb=new RegExp(ef.source,"g"),ib={"&":"&","<":"<",">":">",'"':""","'":"'"},nh=e=>ib[e];function ie(e,t){if(t){if(tf.test(e))return e.replace(eb,nh)}else if(ef.test(e))return e.replace(rb,nh);return e}const nb=/(^|[^\[])\^/g;function mt(e,t){let r=typeof e=="string"?e:e.source;t=t||"";const i={replace:(n,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(nb,"$1"),r=r.replace(n,s),i},getRegex:()=>new RegExp(r,t)};return i}function ah(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const nn={exec:()=>null};function sh(e,t){const r=e.replace(/\|/g,(a,s,o)=>{let l=!1,c=s;for(;--c>=0&&o[c]==="\\";)l=!l;return l?"|":" |"}),i=r.split(/ \|/);let n=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),t)if(i.length>t)i.splice(t);else for(;i.length{const a=n.match(/^\s+/);if(a===null)return n;const[s]=a;return s.length>=i.length?n.slice(i.length):n}).join(` +`)}let Ea=class{constructor(t){Q(this,"options");Q(this,"rules");Q(this,"lexer");this.options=t||Dr}space(t){const r=this.rules.block.newline.exec(t);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(t){const r=this.rules.block.code.exec(t);if(r){const i=r[0].replace(/^(?: {1,4}| {0,3}\t)/gm,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?i:Ii(i,` +`)}}}fences(t){const r=this.rules.block.fences.exec(t);if(r){const i=r[0],n=sb(i,r[3]||"");return{type:"code",raw:i,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:n}}}heading(t){const r=this.rules.block.heading.exec(t);if(r){let i=r[2].trim();if(/#$/.test(i)){const n=Ii(i,"#");(this.options.pedantic||!n||/ $/.test(n))&&(i=n.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(t){const r=this.rules.block.hr.exec(t);if(r)return{type:"hr",raw:Ii(r[0],` +`)}}blockquote(t){const r=this.rules.block.blockquote.exec(t);if(r){let i=Ii(r[0],` +`).split(` +`),n="",a="";const s=[];for(;i.length>0;){let o=!1;const l=[];let c;for(c=0;c/.test(i[c]))l.push(i[c]),o=!0;else if(!o)l.push(i[c]);else break;i=i.slice(c);const h=l.join(` +`),u=h.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` + $1`).replace(/^ {0,3}>[ \t]?/gm,"");n=n?`${n} +${h}`:h,a=a?`${a} +${u}`:u;const f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(u,s,!0),this.lexer.state.top=f,i.length===0)break;const d=s[s.length-1];if((d==null?void 0:d.type)==="code")break;if((d==null?void 0:d.type)==="blockquote"){const p=d,m=p.raw+` +`+i.join(` +`),y=this.blockquote(m);s[s.length-1]=y,n=n.substring(0,n.length-p.raw.length)+y.raw,a=a.substring(0,a.length-p.text.length)+y.text;break}else if((d==null?void 0:d.type)==="list"){const p=d,m=p.raw+` +`+i.join(` +`),y=this.list(m);s[s.length-1]=y,n=n.substring(0,n.length-d.raw.length)+y.raw,a=a.substring(0,a.length-p.raw.length)+y.raw,i=m.substring(s[s.length-1].raw.length).split(` +`);continue}}return{type:"blockquote",raw:n,tokens:s,text:a}}}list(t){let r=this.rules.block.list.exec(t);if(r){let i=r[1].trim();const n=i.length>1,a={type:"list",raw:"",ordered:n,start:n?+i.slice(0,-1):"",loose:!1,items:[]};i=n?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=n?i:"[*+-]");const s=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`);let o=!1;for(;t;){let l=!1,c="",h="";if(!(r=s.exec(t))||this.rules.block.hr.test(t))break;c=r[0],t=t.substring(c.length);let u=r[2].split(` +`,1)[0].replace(/^\t+/,x=>" ".repeat(3*x.length)),f=t.split(` +`,1)[0],d=!u.trim(),p=0;if(this.options.pedantic?(p=2,h=u.trimStart()):d?p=r[1].length+1:(p=r[2].search(/[^ ]/),p=p>4?1:p,h=u.slice(p),p+=r[1].length),d&&/^[ \t]*$/.test(f)&&(c+=f+` +`,t=t.substring(f.length+1),l=!0),!l){const x=new RegExp(`^ {0,${Math.min(3,p-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),b=new RegExp(`^ {0,${Math.min(3,p-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),_=new RegExp(`^ {0,${Math.min(3,p-1)}}(?:\`\`\`|~~~)`),k=new RegExp(`^ {0,${Math.min(3,p-1)}}#`);for(;t;){const w=t.split(` +`,1)[0];let T;if(f=w,this.options.pedantic?(f=f.replace(/^ {1,4}(?=( {4})*[^ ])/g," "),T=f):T=f.replace(/\t/g," "),_.test(f)||k.test(f)||x.test(f)||b.test(f))break;if(T.search(/[^ ]/)>=p||!f.trim())h+=` +`+T.slice(p);else{if(d||u.replace(/\t/g," ").search(/[^ ]/)>=4||_.test(u)||k.test(u)||b.test(u))break;h+=` +`+f}!d&&!f.trim()&&(d=!0),c+=w+` +`,t=t.substring(w.length+1),u=T.slice(p)}}a.loose||(o?a.loose=!0:/\n[ \t]*\n[ \t]*$/.test(c)&&(o=!0));let m=null,y;this.options.gfm&&(m=/^\[[ xX]\] /.exec(h),m&&(y=m[0]!=="[ ] ",h=h.replace(/^\[[ xX]\] +/,""))),a.items.push({type:"list_item",raw:c,task:!!m,checked:y,loose:!1,text:h,tokens:[]}),a.raw+=c}a.items[a.items.length-1].raw=a.items[a.items.length-1].raw.trimEnd(),a.items[a.items.length-1].text=a.items[a.items.length-1].text.trimEnd(),a.raw=a.raw.trimEnd();for(let l=0;lu.type==="space"),h=c.length>0&&c.some(u=>/\n.*\n/.test(u.raw));a.loose=h}if(a.loose)for(let l=0;l$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:i,raw:r[0],href:n,title:a}}}table(t){const r=this.rules.block.table.exec(t);if(!r||!/[:|]/.test(r[2]))return;const i=sh(r[1]),n=r[2].replace(/^\||\| *$/g,"").split("|"),a=r[3]&&r[3].trim()?r[3].replace(/\n[ \t]*$/,"").split(` +`):[],s={type:"table",raw:r[0],header:[],align:[],rows:[]};if(i.length===n.length){for(const o of n)/^ *-+: *$/.test(o)?s.align.push("right"):/^ *:-+: *$/.test(o)?s.align.push("center"):/^ *:-+ *$/.test(o)?s.align.push("left"):s.align.push(null);for(let o=0;o({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[c]})));return s}}lheading(t){const r=this.rules.block.lheading.exec(t);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(t){const r=this.rules.block.paragraph.exec(t);if(r){const i=r[1].charAt(r[1].length-1)===` +`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:i,tokens:this.lexer.inline(i)}}}text(t){const r=this.rules.block.text.exec(t);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(t){const r=this.rules.inline.escape.exec(t);if(r)return{type:"escape",raw:r[0],text:ie(r[1])}}tag(t){const r=this.rules.inline.tag.exec(t);if(r)return!this.lexer.state.inLink&&/^/i.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(t){const r=this.rules.inline.link.exec(t);if(r){const i=r[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;const s=Ii(i.slice(0,-1),"\\");if((i.length-s.length)%2===0)return}else{const s=ab(r[2],"()");if(s>-1){const l=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,l).trim(),r[3]=""}}let n=r[2],a="";if(this.options.pedantic){const s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);s&&(n=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return n=n.trim(),/^$/.test(i)?n=n.slice(1):n=n.slice(1,-1)),oh(r,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer)}}reflink(t,r){let i;if((i=this.rules.inline.reflink.exec(t))||(i=this.rules.inline.nolink.exec(t))){const n=(i[2]||i[1]).replace(/\s+/g," "),a=r[n.toLowerCase()];if(!a){const s=i[0].charAt(0);return{type:"text",raw:s,text:s}}return oh(i,a,i[0],this.lexer)}}emStrong(t,r,i=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!n||n[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(n[1]||n[2]||"")||!i||this.rules.inline.punctuation.exec(i)){const s=[...n[0]].length-1;let o,l,c=s,h=0;const u=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,r=r.slice(-1*t.length+s);(n=u.exec(r))!=null;){if(o=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!o)continue;if(l=[...o].length,n[3]||n[4]){c+=l;continue}else if((n[5]||n[6])&&s%3&&!((s+l)%3)){h+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c+h);const f=[...n[0]][0].length,d=t.slice(0,s+n.index+f+l);if(Math.min(s,l)%2){const m=d.slice(1,-1);return{type:"em",raw:d,text:m,tokens:this.lexer.inlineTokens(m)}}const p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(t){const r=this.rules.inline.code.exec(t);if(r){let i=r[2].replace(/\n/g," ");const n=/[^ ]/.test(i),a=/^ /.test(i)&&/ $/.test(i);return n&&a&&(i=i.substring(1,i.length-1)),i=ie(i,!0),{type:"codespan",raw:r[0],text:i}}}br(t){const r=this.rules.inline.br.exec(t);if(r)return{type:"br",raw:r[0]}}del(t){const r=this.rules.inline.del.exec(t);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(t){const r=this.rules.inline.autolink.exec(t);if(r){let i,n;return r[2]==="@"?(i=ie(r[1]),n="mailto:"+i):(i=ie(r[1]),n=i),{type:"link",raw:r[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}url(t){var i;let r;if(r=this.rules.inline.url.exec(t)){let n,a;if(r[2]==="@")n=ie(r[0]),a="mailto:"+n;else{let s;do s=r[0],r[0]=((i=this.rules.inline._backpedal.exec(r[0]))==null?void 0:i[0])??"";while(s!==r[0]);n=ie(r[0]),r[1]==="www."?a="http://"+r[0]:a=r[0]}return{type:"link",raw:r[0],text:n,href:a,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){const r=this.rules.inline.text.exec(t);if(r){let i;return this.lexer.state.inRawBlock?i=r[0]:i=ie(r[0]),{type:"text",raw:r[0],text:i}}}};const ob=/^(?:[ \t]*(?:\n|$))+/,lb=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,cb=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Dn=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,hb=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,rf=/(?:[*+-]|\d{1,9}[.)])/,nf=mt(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,rf).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),Ll=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ub=/^[^\n]+/,Bl=/(?!\s*\])(?:\\.|[^\[\]\\])+/,fb=mt(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Bl).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),db=mt(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,rf).getRegex(),xs="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",$l=/|$))/,pb=mt("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",$l).replace("tag",xs).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),af=mt(Ll).replace("hr",Dn).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",xs).getRegex(),gb=mt(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",af).getRegex(),El={blockquote:gb,code:lb,def:fb,fences:cb,heading:hb,hr:Dn,html:pb,lheading:nf,list:db,newline:ob,paragraph:af,table:nn,text:ub},lh=mt("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Dn).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",xs).getRegex(),mb={...El,table:lh,paragraph:mt(Ll).replace("hr",Dn).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lh).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",xs).getRegex()},yb={...El,html:mt(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",$l).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:nn,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:mt(Ll).replace("hr",Dn).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",nf).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},sf=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,xb=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,of=/^( {2,}|\\)\n(?!\s*$)/,bb=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,vb=mt(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Pn).getRegex(),kb=mt("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Pn).getRegex(),Cb=mt("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Pn).getRegex(),Sb=mt(/\\([punct])/,"gu").replace(/punct/g,Pn).getRegex(),Tb=mt(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Ab=mt($l).replace("(?:-->|$)","-->").getRegex(),Lb=mt("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",Ab).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Ma=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Bb=mt(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Ma).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),lf=mt(/^!?\[(label)\]\[(ref)\]/).replace("label",Ma).replace("ref",Bl).getRegex(),cf=mt(/^!?\[(ref)\](?:\[\])?/).replace("ref",Bl).getRegex(),$b=mt("reflink|nolink(?!\\()","g").replace("reflink",lf).replace("nolink",cf).getRegex(),Ml={_backpedal:nn,anyPunctuation:Sb,autolink:Tb,blockSkip:wb,br:of,code:xb,del:nn,emStrongLDelim:vb,emStrongRDelimAst:kb,emStrongRDelimUnd:Cb,escape:sf,link:Bb,nolink:cf,punctuation:_b,reflink:lf,reflinkSearch:$b,tag:Lb,text:bb,url:nn},Eb={...Ml,link:mt(/^!?\[(label)\]\((.*?)\)/).replace("label",Ma).getRegex(),reflink:mt(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ma).getRegex()},Ao={...Ml,escape:mt(sf).replace("])","~|])").getRegex(),url:mt(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\(n=o.call({lexer:this},t,r))?(t=t.substring(n.raw.length),r.push(n),!0):!1))){if(n=this.tokenizer.space(t)){t=t.substring(n.raw.length),n.raw.length===1&&r.length>0?r[r.length-1].raw+=` +`:r.push(n);continue}if(n=this.tokenizer.code(t)){t=t.substring(n.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=` +`+n.raw,a.text+=` +`+n.text,this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(n);continue}if(n=this.tokenizer.fences(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.heading(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.hr(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.blockquote(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.list(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.html(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.def(t)){t=t.substring(n.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=` +`+n.raw,a.text+=` +`+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=a.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title});continue}if(n=this.tokenizer.table(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.lheading(t)){t=t.substring(n.raw.length),r.push(n);continue}if(s=t,this.options.extensions&&this.options.extensions.startBlock){let o=1/0;const l=t.slice(1);let c;this.options.extensions.startBlock.forEach(h=>{c=h.call({lexer:this},l),typeof c=="number"&&c>=0&&(o=Math.min(o,c))}),o<1/0&&o>=0&&(s=t.substring(0,o+1))}if(this.state.top&&(n=this.tokenizer.paragraph(s))){a=r[r.length-1],i&&(a==null?void 0:a.type)==="paragraph"?(a.raw+=` +`+n.raw,a.text+=` +`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(n),i=s.length!==t.length,t=t.substring(n.raw.length);continue}if(n=this.tokenizer.text(t)){t=t.substring(n.raw.length),a=r[r.length-1],a&&a.type==="text"?(a.raw+=` +`+n.raw,a.text+=` +`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(n);continue}if(t){const o="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,r}inline(t,r=[]){return this.inlineQueue.push({src:t,tokens:r}),r}inlineTokens(t,r=[]){let i,n,a,s=t,o,l,c;if(this.tokens.links){const h=Object.keys(this.tokens.links);if(h.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)h.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,o.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(l||(c=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(h=>(i=h.call({lexer:this},t,r))?(t=t.substring(i.raw.length),r.push(i),!0):!1))){if(i=this.tokenizer.escape(t)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.tag(t)){t=t.substring(i.raw.length),n=r[r.length-1],n&&i.type==="text"&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):r.push(i);continue}if(i=this.tokenizer.link(t)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(i.raw.length),n=r[r.length-1],n&&i.type==="text"&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):r.push(i);continue}if(i=this.tokenizer.emStrong(t,s,c)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.codespan(t)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.br(t)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.del(t)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.autolink(t)){t=t.substring(i.raw.length),r.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(t))){t=t.substring(i.raw.length),r.push(i);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline){let h=1/0;const u=t.slice(1);let f;this.options.extensions.startInline.forEach(d=>{f=d.call({lexer:this},u),typeof f=="number"&&f>=0&&(h=Math.min(h,f))}),h<1/0&&h>=0&&(a=t.substring(0,h+1))}if(i=this.tokenizer.inlineText(a)){t=t.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(c=i.raw.slice(-1)),l=!0,n=r[r.length-1],n&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):r.push(i);continue}if(t){const h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},Fa=class{constructor(t){Q(this,"options");Q(this,"parser");this.options=t||Dr}space(t){return""}code({text:t,lang:r,escaped:i}){var s;const n=(s=(r||"").match(/^\S*/))==null?void 0:s[0],a=t.replace(/\n$/,"")+` +`;return n?'
'+(i?a:ie(a,!0))+`
+`:"
"+(i?a:ie(a,!0))+`
+`}blockquote({tokens:t}){return`
+${this.parser.parse(t)}
+`}html({text:t}){return t}heading({tokens:t,depth:r}){return`${this.parser.parseInline(t)} +`}hr(t){return`
+`}list(t){const r=t.ordered,i=t.start;let n="";for(let o=0;o +`+n+" +`}listitem(t){let r="";if(t.task){const i=this.checkbox({checked:!!t.checked});t.loose?t.tokens.length>0&&t.tokens[0].type==="paragraph"?(t.tokens[0].text=i+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=i+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",raw:i+" ",text:i+" "}):r+=i+" "}return r+=this.parser.parse(t.tokens,!!t.loose),`
  • ${r}
  • +`}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

    +`}table(t){let r="",i="";for(let a=0;a${n}`),` + +`+r+` +`+n+`
    +`}tablerow({text:t}){return` +${t} +`}tablecell(t){const r=this.parser.parseInline(t.tokens),i=t.header?"th":"td";return(t.align?`<${i} align="${t.align}">`:`<${i}>`)+r+` +`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${t}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:r,tokens:i}){const n=this.parser.parseInline(i),a=ah(t);if(a===null)return n;t=a;let s='
    ",s}image({href:t,title:r,text:i}){const n=ah(t);if(n===null)return i;t=n;let a=`${i}{const c=o[l].flat(1/0);i=i.concat(this.walkTokens(c,r))}):o.tokens&&(i=i.concat(this.walkTokens(o.tokens,r)))}}return i}use(...t){const r=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(i=>{const n={...i};if(n.async=this.defaults.async||n.async||!1,i.extensions&&(i.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){const s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),n.extensions=r),i.renderer){const a=this.defaults.renderer||new Fa(this.defaults);for(const s in i.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;const o=s,l=i.renderer[o],c=a[o];a[o]=(...h)=>{let u=l.apply(a,h);return u===!1&&(u=c.apply(a,h)),u||""}}n.renderer=a}if(i.tokenizer){const a=this.defaults.tokenizer||new Ea(this.defaults);for(const s in i.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;const o=s,l=i.tokenizer[o],c=a[o];a[o]=(...h)=>{let u=l.apply(a,h);return u===!1&&(u=c.apply(a,h)),u}}n.tokenizer=a}if(i.hooks){const a=this.defaults.hooks||new ma;for(const s in i.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;const o=s,l=i.hooks[o],c=a[o];ma.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async)return Promise.resolve(l.call(a,h)).then(f=>c.call(a,f));const u=l.call(a,h);return c.call(a,u)}:a[o]=(...h)=>{let u=l.apply(a,h);return u===!1&&(u=c.apply(a,h)),u}}n.hooks=a}if(i.walkTokens){const a=this.defaults.walkTokens,s=i.walkTokens;n.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...n}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,r){return Ge.lex(t,r??this.defaults)}parser(t,r){return Ve.parse(t,r??this.defaults)}parseMarkdown(t){return(i,n)=>{const a={...n},s={...this.defaults,...a},o=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&a.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof i>"u"||i===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));s.hooks&&(s.hooks.options=s,s.hooks.block=t);const l=s.hooks?s.hooks.provideLexer():t?Ge.lex:Ge.lexInline,c=s.hooks?s.hooks.provideParser():t?Ve.parse:Ve.parseInline;if(s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(i):i).then(h=>l(h,s)).then(h=>s.hooks?s.hooks.processAllTokens(h):h).then(h=>s.walkTokens?Promise.all(this.walkTokens(h,s.walkTokens)).then(()=>h):h).then(h=>c(h,s)).then(h=>s.hooks?s.hooks.postprocess(h):h).catch(o);try{s.hooks&&(i=s.hooks.preprocess(i));let h=l(i,s);s.hooks&&(h=s.hooks.processAllTokens(h)),s.walkTokens&&this.walkTokens(h,s.walkTokens);let u=c(h,s);return s.hooks&&(u=s.hooks.postprocess(u)),u}catch(h){return o(h)}}}onError(t,r){return i=>{if(i.message+=` +Please report this to https://github.com/markedjs/marked.`,t){const n="

    An error occurred:

    "+ie(i.message+"",!0)+"
    ";return r?Promise.resolve(n):n}if(r)return Promise.reject(i);throw i}}};const $r=new Fb;function gt(e,t){return $r.parse(e,t)}gt.options=gt.setOptions=function(e){return $r.setOptions(e),gt.defaults=$r.defaults,Ju(gt.defaults),gt};gt.getDefaults=Al;gt.defaults=Dr;gt.use=function(...e){return $r.use(...e),gt.defaults=$r.defaults,Ju(gt.defaults),gt};gt.walkTokens=function(e,t){return $r.walkTokens(e,t)};gt.parseInline=$r.parseInline;gt.Parser=Ve;gt.parser=Ve.parse;gt.Renderer=Fa;gt.TextRenderer=Fl;gt.Lexer=Ge;gt.lexer=Ge.lex;gt.Tokenizer=Ea;gt.Hooks=ma;gt.parse=gt;gt.options;gt.setOptions;gt.use;gt.walkTokens;gt.parseInline;Ve.parse;Ge.lex;var hf={exports:{}};(function(e,t){(function(r,i){e.exports=i()})(Gy,function(){var r=1e3,i=6e4,n=36e5,a="millisecond",s="second",o="minute",l="hour",c="day",h="week",u="month",f="quarter",d="year",p="date",m="Invalid Date",y=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(A){var B=["th","st","nd","rd"],S=A%100;return"["+A+(B[(S-20)%10]||B[S]||B[0])+"]"}},_=function(A,B,S){var M=String(A);return!M||M.length>=B?A:""+Array(B+1-M.length).join(S)+A},k={s:_,z:function(A){var B=-A.utcOffset(),S=Math.abs(B),M=Math.floor(S/60),$=S%60;return(B<=0?"+":"-")+_(M,2,"0")+":"+_($,2,"0")},m:function A(B,S){if(B.date()1)return A(Y[0])}else{var tt=B.name;T[tt]=B,$=tt}return!M&&$&&(w=$),$||!M&&w},R=function(A,B){if(O(A))return A.clone();var S=typeof B=="object"?B:{};return S.date=A,S.args=arguments,new q(S)},E=k;E.l=N,E.i=O,E.w=function(A,B){return R(A,{locale:B.$L,utc:B.$u,x:B.$x,$offset:B.$offset})};var q=function(){function A(S){this.$L=N(S.locale,null,!0),this.parse(S),this.$x=this.$x||S.x||{},this[L]=!0}var B=A.prototype;return B.parse=function(S){this.$d=function(M){var $=M.date,z=M.utc;if($===null)return new Date(NaN);if(E.u($))return new Date;if($ instanceof Date)return new Date($);if(typeof $=="string"&&!/Z$/i.test($)){var Y=$.match(y);if(Y){var tt=Y[2]-1||0,bt=(Y[7]||"0").substring(0,3);return z?new Date(Date.UTC(Y[1],tt,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,bt)):new Date(Y[1],tt,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,bt)}}return new Date($)}(S),this.init()},B.init=function(){var S=this.$d;this.$y=S.getFullYear(),this.$M=S.getMonth(),this.$D=S.getDate(),this.$W=S.getDay(),this.$H=S.getHours(),this.$m=S.getMinutes(),this.$s=S.getSeconds(),this.$ms=S.getMilliseconds()},B.$utils=function(){return E},B.isValid=function(){return this.$d.toString()!==m},B.isSame=function(S,M){var $=R(S);return this.startOf(M)<=$&&$<=this.endOf(M)},B.isAfter=function(S,M){return R(S)e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e),hsl2rgb:({h:e,s:t,l:r},i)=>{if(!t)return r*2.55;e/=360,t/=100,r/=100;const n=r<.5?r*(1+t):r+t-r*t,a=2*r-n;switch(i){case"r":return ya.hue2rgb(a,n,e+1/3)*255;case"g":return ya.hue2rgb(a,n,e)*255;case"b":return ya.hue2rgb(a,n,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:r},i)=>{e/=255,t/=255,r/=255;const n=Math.max(e,t,r),a=Math.min(e,t,r),s=(n+a)/2;if(i==="l")return s*100;if(n===a)return 0;const o=n-a,l=s>.5?o/(2-n-a):o/(n+a);if(i==="s")return l*100;switch(n){case e:return((t-r)/o+(tt>r?Math.min(t,Math.max(r,e)):Math.min(r,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10},Db={dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}},rt={channel:ya,lang:Ob,unit:Db},sr={};for(let e=0;e<=255;e++)sr[e]=rt.unit.dec2hex(e);const Nt={ALL:0,RGB:1,HSL:2};class Pb{constructor(){this.type=Nt.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=Nt.ALL}is(t){return this.type===t}}class Nb{constructor(t,r){this.color=r,this.changed=!1,this.data=t,this.type=new Pb}set(t,r){return this.color=r,this.changed=!1,this.data=t,this.type.type=Nt.ALL,this}_ensureHSL(){const t=this.data,{h:r,s:i,l:n}=t;r===void 0&&(t.h=rt.channel.rgb2hsl(t,"h")),i===void 0&&(t.s=rt.channel.rgb2hsl(t,"s")),n===void 0&&(t.l=rt.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r,g:i,b:n}=t;r===void 0&&(t.r=rt.channel.hsl2rgb(t,"r")),i===void 0&&(t.g=rt.channel.hsl2rgb(t,"g")),n===void 0&&(t.b=rt.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,r=t.r;return!this.type.is(Nt.HSL)&&r!==void 0?r:(this._ensureHSL(),rt.channel.hsl2rgb(t,"r"))}get g(){const t=this.data,r=t.g;return!this.type.is(Nt.HSL)&&r!==void 0?r:(this._ensureHSL(),rt.channel.hsl2rgb(t,"g"))}get b(){const t=this.data,r=t.b;return!this.type.is(Nt.HSL)&&r!==void 0?r:(this._ensureHSL(),rt.channel.hsl2rgb(t,"b"))}get h(){const t=this.data,r=t.h;return!this.type.is(Nt.RGB)&&r!==void 0?r:(this._ensureRGB(),rt.channel.rgb2hsl(t,"h"))}get s(){const t=this.data,r=t.s;return!this.type.is(Nt.RGB)&&r!==void 0?r:(this._ensureRGB(),rt.channel.rgb2hsl(t,"s"))}get l(){const t=this.data,r=t.l;return!this.type.is(Nt.RGB)&&r!==void 0?r:(this._ensureRGB(),rt.channel.rgb2hsl(t,"l"))}get a(){return this.data.a}set r(t){this.type.set(Nt.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(Nt.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(Nt.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(Nt.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(Nt.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(Nt.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}const bs=new Nb({r:0,g:0,b:0,a:0},"transparent"),ri={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;const t=e.match(ri.re);if(!t)return;const r=t[1],i=parseInt(r,16),n=r.length,a=n%4===0,s=n>4,o=s?1:17,l=s?8:4,c=a?0:-1,h=s?255:15;return bs.set({r:(i>>l*(c+3)&h)*o,g:(i>>l*(c+2)&h)*o,b:(i>>l*(c+1)&h)*o,a:a?(i&h)*o/255:1},e)},stringify:e=>{const{r:t,g:r,b:i,a:n}=e;return n<1?`#${sr[Math.round(t)]}${sr[Math.round(r)]}${sr[Math.round(i)]}${sr[Math.round(n*255)]}`:`#${sr[Math.round(t)]}${sr[Math.round(r)]}${sr[Math.round(i)]}`}},vr={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{const t=e.match(vr.hueRe);if(t){const[,r,i]=t;switch(i){case"grad":return rt.channel.clamp.h(parseFloat(r)*.9);case"rad":return rt.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return rt.channel.clamp.h(parseFloat(r)*360)}}return rt.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(t!==104&&t!==72)return;const r=e.match(vr.re);if(!r)return;const[,i,n,a,s,o]=r;return bs.set({h:vr._hue2deg(i),s:rt.channel.clamp.s(parseFloat(n)),l:rt.channel.clamp.l(parseFloat(a)),a:s?rt.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},e)},stringify:e=>{const{h:t,s:r,l:i,a:n}=e;return n<1?`hsla(${rt.lang.round(t)}, ${rt.lang.round(r)}%, ${rt.lang.round(i)}%, ${n})`:`hsl(${rt.lang.round(t)}, ${rt.lang.round(r)}%, ${rt.lang.round(i)}%)`}},an={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:e=>{e=e.toLowerCase();const t=an.colors[e];if(t)return ri.parse(t)},stringify:e=>{const t=ri.stringify(e);for(const r in an.colors)if(an.colors[r]===t)return r}},Xi={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{const t=e.charCodeAt(0);if(t!==114&&t!==82)return;const r=e.match(Xi.re);if(!r)return;const[,i,n,a,s,o,l,c,h]=r;return bs.set({r:rt.channel.clamp.r(n?parseFloat(i)*2.55:parseFloat(i)),g:rt.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:rt.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:c?rt.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},e)},stringify:e=>{const{r:t,g:r,b:i,a:n}=e;return n<1?`rgba(${rt.lang.round(t)}, ${rt.lang.round(r)}, ${rt.lang.round(i)}, ${rt.lang.round(n)})`:`rgb(${rt.lang.round(t)}, ${rt.lang.round(r)}, ${rt.lang.round(i)})`}},De={format:{keyword:an,hex:ri,rgb:Xi,rgba:Xi,hsl:vr,hsla:vr},parse:e=>{if(typeof e!="string")return e;const t=ri.parse(e)||Xi.parse(e)||vr.parse(e)||an.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(Nt.HSL)||e.data.r===void 0?vr.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Xi.stringify(e):ri.stringify(e)},uf=(e,t)=>{const r=De.parse(e);for(const i in t)r[i]=rt.channel.clamp[i](t[i]);return De.stringify(r)},sn=(e,t,r=0,i=1)=>{if(typeof e!="number")return uf(e,{a:t});const n=bs.set({r:rt.channel.clamp.r(e),g:rt.channel.clamp.g(t),b:rt.channel.clamp.b(r),a:rt.channel.clamp.a(i)});return De.stringify(n)},zb=e=>{const{r:t,g:r,b:i}=De.parse(e),n=.2126*rt.channel.toLinear(t)+.7152*rt.channel.toLinear(r)+.0722*rt.channel.toLinear(i);return rt.lang.round(n)},qb=e=>zb(e)>=.5,Nn=e=>!qb(e),ff=(e,t,r)=>{const i=De.parse(e),n=i[t],a=rt.channel.clamp[t](n+r);return n!==a&&(i[t]=a),De.stringify(i)},V=(e,t)=>ff(e,"l",t),J=(e,t)=>ff(e,"l",-t),C=(e,t)=>{const r=De.parse(e),i={};for(const n in t)t[n]&&(i[n]=r[n]+t[n]);return uf(e,i)},Wb=(e,t,r=50)=>{const{r:i,g:n,b:a,a:s}=De.parse(e),{r:o,g:l,b:c,a:h}=De.parse(t),u=r/100,f=u*2-1,d=s-h,m=((f*d===-1?f:(f+d)/(1+f*d))+1)/2,y=1-m,x=i*m+o*y,b=n*m+l*y,_=a*m+c*y,k=s*u+h*(1-u);return sn(x,b,_,k)},P=(e,t=100)=>{const r=De.parse(e);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,Wb(r,e,t)};/*! @license DOMPurify 3.2.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.3/LICENSE */const{entries:df,setPrototypeOf:ch,isFrozen:Hb,getPrototypeOf:jb,getOwnPropertyDescriptor:Ub}=Object;let{freeze:Vt,seal:de,create:pf}=Object,{apply:$o,construct:Eo}=typeof Reflect<"u"&&Reflect;Vt||(Vt=function(t){return t});de||(de=function(t){return t});$o||($o=function(t,r,i){return t.apply(r,i)});Eo||(Eo=function(t,r){return new t(...r)});const na=se(Array.prototype.forEach),hh=se(Array.prototype.pop),Oi=se(Array.prototype.push),xa=se(String.prototype.toLowerCase),eo=se(String.prototype.toString),uh=se(String.prototype.match),Di=se(String.prototype.replace),Yb=se(String.prototype.indexOf),Gb=se(String.prototype.trim),_e=se(Object.prototype.hasOwnProperty),jt=se(RegExp.prototype.test),Pi=Vb(TypeError);function se(e){return function(t){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:xa;ch&&ch(e,null);let i=t.length;for(;i--;){let n=t[i];if(typeof n=="string"){const a=r(n);a!==n&&(Hb(t)||(t[i]=a),n=a)}e[n]=!0}return e}function Xb(e){for(let t=0;t/gm),t1=de(/\$\{[\w\W]*}/gm),e1=de(/^data-[\-\w.\u00B7-\uFFFF]+$/),r1=de(/^aria-[\-\w]+$/),gf=de(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),i1=de(/^(?:\w+script|data):/i),n1=de(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),mf=de(/^html$/i),a1=de(/^[a-z][.\w]*(-[.\w]+)+$/i);var mh=Object.freeze({__proto__:null,ARIA_ATTR:r1,ATTR_WHITESPACE:n1,CUSTOM_ELEMENT:a1,DATA_ATTR:e1,DOCTYPE_NAME:mf,ERB_EXPR:Jb,IS_ALLOWED_URI:gf,IS_SCRIPT_OR_DATA:i1,MUSTACHE_EXPR:Qb,TMPLIT_EXPR:t1});const zi={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},s1=function(){return typeof window>"u"?null:window},o1=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const n="data-tt-policy-suffix";r&&r.hasAttribute(n)&&(i=r.getAttribute(n));const a="dompurify"+(i?"#"+i:"");try{return t.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},yh=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function yf(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:s1();const t=K=>yf(K);if(t.version="3.2.3",t.removed=[],!e||!e.document||e.document.nodeType!==zi.document)return t.isSupported=!1,t;let{document:r}=e;const i=r,n=i.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:l,NodeFilter:c,NamedNodeMap:h=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:u,DOMParser:f,trustedTypes:d}=e,p=l.prototype,m=Ni(p,"cloneNode"),y=Ni(p,"remove"),x=Ni(p,"nextSibling"),b=Ni(p,"childNodes"),_=Ni(p,"parentNode");if(typeof s=="function"){const K=r.createElement("template");K.content&&K.content.ownerDocument&&(r=K.content.ownerDocument)}let k,w="";const{implementation:T,createNodeIterator:L,createDocumentFragment:O,getElementsByTagName:N}=r,{importNode:R}=i;let E=yh();t.isSupported=typeof df=="function"&&typeof _=="function"&&T&&T.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:q,ERB_EXPR:D,TMPLIT_EXPR:A,DATA_ATTR:B,ARIA_ATTR:S,IS_SCRIPT_OR_DATA:M,ATTR_WHITESPACE:$,CUSTOM_ELEMENT:z}=mh;let{IS_ALLOWED_URI:Y}=mh,tt=null;const bt=st({},[...fh,...ro,...io,...no,...dh]);let ot=null;const At=st({},[...ph,...ao,...gh,...aa]);let lt=Object.seal(pf(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ce=null,ge=null,ir=!0,me=!0,Mt=!1,ye=!0,he=!1,nr=!0,mr=!1,Ys=!1,Gs=!1,Wr=!1,Xn=!1,Zn=!1,Fc=!0,Ic=!1;const my="user-content-";let Vs=!0,Bi=!1,Hr={},jr=null;const Rc=st({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Oc=null;const Dc=st({},["audio","video","img","source","image","track"]);let Xs=null;const Pc=st({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Kn="http://www.w3.org/1998/Math/MathML",Qn="http://www.w3.org/2000/svg",qe="http://www.w3.org/1999/xhtml";let Ur=qe,Zs=!1,Ks=null;const yy=st({},[Kn,Qn,qe],eo);let Jn=st({},["mi","mo","mn","ms","mtext"]),ta=st({},["annotation-xml"]);const xy=st({},["title","style","font","a","script"]);let $i=null;const by=["application/xhtml+xml","text/html"],_y="text/html";let $t=null,Yr=null;const wy=r.createElement("form"),Nc=function(v){return v instanceof RegExp||v instanceof Function},Qs=function(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Yr&&Yr===v)){if((!v||typeof v!="object")&&(v={}),v=xr(v),$i=by.indexOf(v.PARSER_MEDIA_TYPE)===-1?_y:v.PARSER_MEDIA_TYPE,$t=$i==="application/xhtml+xml"?eo:xa,tt=_e(v,"ALLOWED_TAGS")?st({},v.ALLOWED_TAGS,$t):bt,ot=_e(v,"ALLOWED_ATTR")?st({},v.ALLOWED_ATTR,$t):At,Ks=_e(v,"ALLOWED_NAMESPACES")?st({},v.ALLOWED_NAMESPACES,eo):yy,Xs=_e(v,"ADD_URI_SAFE_ATTR")?st(xr(Pc),v.ADD_URI_SAFE_ATTR,$t):Pc,Oc=_e(v,"ADD_DATA_URI_TAGS")?st(xr(Dc),v.ADD_DATA_URI_TAGS,$t):Dc,jr=_e(v,"FORBID_CONTENTS")?st({},v.FORBID_CONTENTS,$t):Rc,ce=_e(v,"FORBID_TAGS")?st({},v.FORBID_TAGS,$t):{},ge=_e(v,"FORBID_ATTR")?st({},v.FORBID_ATTR,$t):{},Hr=_e(v,"USE_PROFILES")?v.USE_PROFILES:!1,ir=v.ALLOW_ARIA_ATTR!==!1,me=v.ALLOW_DATA_ATTR!==!1,Mt=v.ALLOW_UNKNOWN_PROTOCOLS||!1,ye=v.ALLOW_SELF_CLOSE_IN_ATTR!==!1,he=v.SAFE_FOR_TEMPLATES||!1,nr=v.SAFE_FOR_XML!==!1,mr=v.WHOLE_DOCUMENT||!1,Wr=v.RETURN_DOM||!1,Xn=v.RETURN_DOM_FRAGMENT||!1,Zn=v.RETURN_TRUSTED_TYPE||!1,Gs=v.FORCE_BODY||!1,Fc=v.SANITIZE_DOM!==!1,Ic=v.SANITIZE_NAMED_PROPS||!1,Vs=v.KEEP_CONTENT!==!1,Bi=v.IN_PLACE||!1,Y=v.ALLOWED_URI_REGEXP||gf,Ur=v.NAMESPACE||qe,Jn=v.MATHML_TEXT_INTEGRATION_POINTS||Jn,ta=v.HTML_INTEGRATION_POINTS||ta,lt=v.CUSTOM_ELEMENT_HANDLING||{},v.CUSTOM_ELEMENT_HANDLING&&Nc(v.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(lt.tagNameCheck=v.CUSTOM_ELEMENT_HANDLING.tagNameCheck),v.CUSTOM_ELEMENT_HANDLING&&Nc(v.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(lt.attributeNameCheck=v.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),v.CUSTOM_ELEMENT_HANDLING&&typeof v.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(lt.allowCustomizedBuiltInElements=v.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),he&&(me=!1),Xn&&(Wr=!0),Hr&&(tt=st({},dh),ot=[],Hr.html===!0&&(st(tt,fh),st(ot,ph)),Hr.svg===!0&&(st(tt,ro),st(ot,ao),st(ot,aa)),Hr.svgFilters===!0&&(st(tt,io),st(ot,ao),st(ot,aa)),Hr.mathMl===!0&&(st(tt,no),st(ot,gh),st(ot,aa))),v.ADD_TAGS&&(tt===bt&&(tt=xr(tt)),st(tt,v.ADD_TAGS,$t)),v.ADD_ATTR&&(ot===At&&(ot=xr(ot)),st(ot,v.ADD_ATTR,$t)),v.ADD_URI_SAFE_ATTR&&st(Xs,v.ADD_URI_SAFE_ATTR,$t),v.FORBID_CONTENTS&&(jr===Rc&&(jr=xr(jr)),st(jr,v.FORBID_CONTENTS,$t)),Vs&&(tt["#text"]=!0),mr&&st(tt,["html","head","body"]),tt.table&&(st(tt,["tbody"]),delete ce.tbody),v.TRUSTED_TYPES_POLICY){if(typeof v.TRUSTED_TYPES_POLICY.createHTML!="function")throw Pi('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof v.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Pi('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');k=v.TRUSTED_TYPES_POLICY,w=k.createHTML("")}else k===void 0&&(k=o1(d,n)),k!==null&&typeof w=="string"&&(w=k.createHTML(""));Vt&&Vt(v),Yr=v}},zc=st({},[...ro,...io,...Zb]),qc=st({},[...no,...Kb]),vy=function(v){let I=_(v);(!I||!I.tagName)&&(I={namespaceURI:Ur,tagName:"template"});const H=xa(v.tagName),vt=xa(I.tagName);return Ks[v.namespaceURI]?v.namespaceURI===Qn?I.namespaceURI===qe?H==="svg":I.namespaceURI===Kn?H==="svg"&&(vt==="annotation-xml"||Jn[vt]):!!zc[H]:v.namespaceURI===Kn?I.namespaceURI===qe?H==="math":I.namespaceURI===Qn?H==="math"&&ta[vt]:!!qc[H]:v.namespaceURI===qe?I.namespaceURI===Qn&&!ta[vt]||I.namespaceURI===Kn&&!Jn[vt]?!1:!qc[H]&&(xy[H]||!zc[H]):!!($i==="application/xhtml+xml"&&Ks[v.namespaceURI]):!1},Ae=function(v){Oi(t.removed,{element:v});try{_(v).removeChild(v)}catch{y(v)}},ea=function(v,I){try{Oi(t.removed,{attribute:I.getAttributeNode(v),from:I})}catch{Oi(t.removed,{attribute:null,from:I})}if(I.removeAttribute(v),v==="is")if(Wr||Xn)try{Ae(I)}catch{}else try{I.setAttribute(v,"")}catch{}},Wc=function(v){let I=null,H=null;if(Gs)v=""+v;else{const Ft=uh(v,/^[\r\n\t ]+/);H=Ft&&Ft[0]}$i==="application/xhtml+xml"&&Ur===qe&&(v=''+v+"");const vt=k?k.createHTML(v):v;if(Ur===qe)try{I=new f().parseFromString(vt,$i)}catch{}if(!I||!I.documentElement){I=T.createDocument(Ur,"template",null);try{I.documentElement.innerHTML=Zs?w:vt}catch{}}const Pt=I.body||I.documentElement;return v&&H&&Pt.insertBefore(r.createTextNode(H),Pt.childNodes[0]||null),Ur===qe?N.call(I,mr?"html":"body")[0]:mr?I.documentElement:Pt},Hc=function(v){return L.call(v.ownerDocument||v,v,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Js=function(v){return v instanceof u&&(typeof v.nodeName!="string"||typeof v.textContent!="string"||typeof v.removeChild!="function"||!(v.attributes instanceof h)||typeof v.removeAttribute!="function"||typeof v.setAttribute!="function"||typeof v.namespaceURI!="string"||typeof v.insertBefore!="function"||typeof v.hasChildNodes!="function")},jc=function(v){return typeof o=="function"&&v instanceof o};function We(K,v,I){na(K,H=>{H.call(t,v,I,Yr)})}const Uc=function(v){let I=null;if(We(E.beforeSanitizeElements,v,null),Js(v))return Ae(v),!0;const H=$t(v.nodeName);if(We(E.uponSanitizeElement,v,{tagName:H,allowedTags:tt}),v.hasChildNodes()&&!jc(v.firstElementChild)&&jt(/<[/\w]/g,v.innerHTML)&&jt(/<[/\w]/g,v.textContent)||v.nodeType===zi.progressingInstruction||nr&&v.nodeType===zi.comment&&jt(/<[/\w]/g,v.data))return Ae(v),!0;if(!tt[H]||ce[H]){if(!ce[H]&&Gc(H)&&(lt.tagNameCheck instanceof RegExp&&jt(lt.tagNameCheck,H)||lt.tagNameCheck instanceof Function&<.tagNameCheck(H)))return!1;if(Vs&&!jr[H]){const vt=_(v)||v.parentNode,Pt=b(v)||v.childNodes;if(Pt&&vt){const Ft=Pt.length;for(let Xt=Ft-1;Xt>=0;--Xt){const Le=m(Pt[Xt],!0);Le.__removalCount=(v.__removalCount||0)+1,vt.insertBefore(Le,x(v))}}}return Ae(v),!0}return v instanceof l&&!vy(v)||(H==="noscript"||H==="noembed"||H==="noframes")&&jt(/<\/no(script|embed|frames)/i,v.innerHTML)?(Ae(v),!0):(he&&v.nodeType===zi.text&&(I=v.textContent,na([q,D,A],vt=>{I=Di(I,vt," ")}),v.textContent!==I&&(Oi(t.removed,{element:v.cloneNode()}),v.textContent=I)),We(E.afterSanitizeElements,v,null),!1)},Yc=function(v,I,H){if(Fc&&(I==="id"||I==="name")&&(H in r||H in wy))return!1;if(!(me&&!ge[I]&&jt(B,I))){if(!(ir&&jt(S,I))){if(!ot[I]||ge[I]){if(!(Gc(v)&&(lt.tagNameCheck instanceof RegExp&&jt(lt.tagNameCheck,v)||lt.tagNameCheck instanceof Function&<.tagNameCheck(v))&&(lt.attributeNameCheck instanceof RegExp&&jt(lt.attributeNameCheck,I)||lt.attributeNameCheck instanceof Function&<.attributeNameCheck(I))||I==="is"&<.allowCustomizedBuiltInElements&&(lt.tagNameCheck instanceof RegExp&&jt(lt.tagNameCheck,H)||lt.tagNameCheck instanceof Function&<.tagNameCheck(H))))return!1}else if(!Xs[I]){if(!jt(Y,Di(H,$,""))){if(!((I==="src"||I==="xlink:href"||I==="href")&&v!=="script"&&Yb(H,"data:")===0&&Oc[v])){if(!(Mt&&!jt(M,Di(H,$,"")))){if(H)return!1}}}}}}return!0},Gc=function(v){return v!=="annotation-xml"&&uh(v,z)},Vc=function(v){We(E.beforeSanitizeAttributes,v,null);const{attributes:I}=v;if(!I||Js(v))return;const H={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ot,forceKeepAttr:void 0};let vt=I.length;for(;vt--;){const Pt=I[vt],{name:Ft,namespaceURI:Xt,value:Le}=Pt,Ei=$t(Ft);let Ht=Ft==="value"?Le:Gb(Le);if(H.attrName=Ei,H.attrValue=Ht,H.keepAttr=!0,H.forceKeepAttr=void 0,We(E.uponSanitizeAttribute,v,H),Ht=H.attrValue,Ic&&(Ei==="id"||Ei==="name")&&(ea(Ft,v),Ht=my+Ht),nr&&jt(/((--!?|])>)|<\/(style|title)/i,Ht)){ea(Ft,v);continue}if(H.forceKeepAttr||(ea(Ft,v),!H.keepAttr))continue;if(!ye&&jt(/\/>/i,Ht)){ea(Ft,v);continue}he&&na([q,D,A],Zc=>{Ht=Di(Ht,Zc," ")});const Xc=$t(v.nodeName);if(Yc(Xc,Ei,Ht)){if(k&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!Xt)switch(d.getAttributeType(Xc,Ei)){case"TrustedHTML":{Ht=k.createHTML(Ht);break}case"TrustedScriptURL":{Ht=k.createScriptURL(Ht);break}}try{Xt?v.setAttributeNS(Xt,Ft,Ht):v.setAttribute(Ft,Ht),Js(v)?Ae(v):hh(t.removed)}catch{}}}We(E.afterSanitizeAttributes,v,null)},ky=function K(v){let I=null;const H=Hc(v);for(We(E.beforeSanitizeShadowDOM,v,null);I=H.nextNode();)We(E.uponSanitizeShadowNode,I,null),Uc(I),Vc(I),I.content instanceof a&&K(I.content);We(E.afterSanitizeShadowDOM,v,null)};return t.sanitize=function(K){let v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},I=null,H=null,vt=null,Pt=null;if(Zs=!K,Zs&&(K=""),typeof K!="string"&&!jc(K))if(typeof K.toString=="function"){if(K=K.toString(),typeof K!="string")throw Pi("dirty is not a string, aborting")}else throw Pi("toString is not a function");if(!t.isSupported)return K;if(Ys||Qs(v),t.removed=[],typeof K=="string"&&(Bi=!1),Bi){if(K.nodeName){const Le=$t(K.nodeName);if(!tt[Le]||ce[Le])throw Pi("root node is forbidden and cannot be sanitized in-place")}}else if(K instanceof o)I=Wc(""),H=I.ownerDocument.importNode(K,!0),H.nodeType===zi.element&&H.nodeName==="BODY"||H.nodeName==="HTML"?I=H:I.appendChild(H);else{if(!Wr&&!he&&!mr&&K.indexOf("<")===-1)return k&&Zn?k.createHTML(K):K;if(I=Wc(K),!I)return Wr?null:Zn?w:""}I&&Gs&&Ae(I.firstChild);const Ft=Hc(Bi?K:I);for(;vt=Ft.nextNode();)Uc(vt),Vc(vt),vt.content instanceof a&&ky(vt.content);if(Bi)return K;if(Wr){if(Xn)for(Pt=O.call(I.ownerDocument);I.firstChild;)Pt.appendChild(I.firstChild);else Pt=I;return(ot.shadowroot||ot.shadowrootmode)&&(Pt=R.call(i,Pt,!0)),Pt}let Xt=mr?I.outerHTML:I.innerHTML;return mr&&tt["!doctype"]&&I.ownerDocument&&I.ownerDocument.doctype&&I.ownerDocument.doctype.name&&jt(mf,I.ownerDocument.doctype.name)&&(Xt=" +`+Xt),he&&na([q,D,A],Le=>{Xt=Di(Xt,Le," ")}),k&&Zn?k.createHTML(Xt):Xt},t.setConfig=function(){let K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Qs(K),Ys=!0},t.clearConfig=function(){Yr=null,Ys=!1},t.isValidAttribute=function(K,v,I){Yr||Qs({});const H=$t(K),vt=$t(v);return Yc(H,vt,I)},t.addHook=function(K,v){typeof v=="function"&&Oi(E[K],v)},t.removeHook=function(K){return hh(E[K])},t.removeHooks=function(K){E[K]=[]},t.removeAllHooks=function(){E=yh()},t}var oi=yf(),xf=Object.defineProperty,g=(e,t)=>xf(e,"name",{value:t,configurable:!0}),l1=(e,t)=>{for(var r in t)xf(e,r,{get:t[r],enumerable:!0})},He={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},F={trace:g((...e)=>{},"trace"),debug:g((...e)=>{},"debug"),info:g((...e)=>{},"info"),warn:g((...e)=>{},"warn"),error:g((...e)=>{},"error"),fatal:g((...e)=>{},"fatal")},Il=g(function(e="fatal"){let t=He.fatal;typeof e=="string"?e.toLowerCase()in He&&(t=He[e]):typeof e=="number"&&(t=e),F.trace=()=>{},F.debug=()=>{},F.info=()=>{},F.warn=()=>{},F.error=()=>{},F.fatal=()=>{},t<=He.fatal&&(F.fatal=console.error?console.error.bind(console,ue("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",ue("FATAL"))),t<=He.error&&(F.error=console.error?console.error.bind(console,ue("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",ue("ERROR"))),t<=He.warn&&(F.warn=console.warn?console.warn.bind(console,ue("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",ue("WARN"))),t<=He.info&&(F.info=console.info?console.info.bind(console,ue("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",ue("INFO"))),t<=He.debug&&(F.debug=console.debug?console.debug.bind(console,ue("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",ue("DEBUG"))),t<=He.trace&&(F.trace=console.debug?console.debug.bind(console,ue("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",ue("TRACE")))},"setLogLevel"),ue=g(e=>`%c${Rb().format("ss.SSS")} : ${e} : `,"format"),bf=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,on=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,c1=/\s*%%.*\n/gm,An,_f=(An=class extends Error{constructor(t){super(t),this.name="UnknownDiagramError"}},g(An,"UnknownDiagramError"),An),li={},Rl=g(function(e,t){e=e.replace(bf,"").replace(on,"").replace(c1,` +`);for(const[r,{detector:i}]of Object.entries(li))if(i(e,t))return r;throw new _f(`No diagram type detected matching given configuration for text: ${e}`)},"detectType"),wf=g((...e)=>{for(const{id:t,detector:r,loader:i}of e)vf(t,r,i)},"registerLazyLoadedDiagrams"),vf=g((e,t,r)=>{li[e]&&F.warn(`Detector with key ${e} already exists. Overwriting.`),li[e]={detector:t,loader:r},F.debug(`Detector with key ${e} added${r?" with loader":""}`)},"addDetector"),h1=g(e=>li[e].loader,"getDiagramLoader"),Mo=g((e,t,{depth:r=2,clobber:i=!1}={})=>{const n={depth:r,clobber:i};return Array.isArray(t)&&!Array.isArray(e)?(t.forEach(a=>Mo(e,a,n)),e):Array.isArray(t)&&Array.isArray(e)?(t.forEach(a=>{e.includes(a)||e.push(a)}),e):e===void 0||r<=0?e!=null&&typeof e=="object"&&typeof t=="object"?Object.assign(e,t):t:(t!==void 0&&typeof e=="object"&&typeof t=="object"&&Object.keys(t).forEach(a=>{typeof t[a]=="object"&&(e[a]===void 0||typeof e[a]=="object")?(e[a]===void 0&&(e[a]=Array.isArray(t[a])?[]:{}),e[a]=Mo(e[a],t[a],{depth:r-1,clobber:i})):(i||typeof e[a]!="object"&&typeof t[a]!="object")&&(e[a]=t[a])}),e)},"assignWithDepth"),Ot=Mo,_s="#ffffff",ws="#f2f2f2",Ut=g((e,t)=>t?C(e,{s:-40,l:10}):C(e,{s:-40,l:-10}),"mkBorder"),Ln,u1=(Ln=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var r,i,n,a,s,o,l,c,h,u,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||C(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||C(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Ut(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Ut(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Ut(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Ut(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||P(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||P(this.tertiaryColor),this.lineColor=this.lineColor||P(this.background),this.arrowheadColor=this.arrowheadColor||P(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?J(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||J(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||P(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||V(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||C(this.primaryColor,{h:30}),this.cScale4=this.cScale4||C(this.primaryColor,{h:60}),this.cScale5=this.cScale5||C(this.primaryColor,{h:90}),this.cScale6=this.cScale6||C(this.primaryColor,{h:120}),this.cScale7=this.cScale7||C(this.primaryColor,{h:150}),this.cScale8=this.cScale8||C(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||C(this.primaryColor,{h:270}),this.cScale10=this.cScale10||C(this.primaryColor,{h:300}),this.cScale11=this.cScale11||C(this.primaryColor,{h:330}),this.darkMode)for(let d=0;d{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Ln,"Theme"),Ln),f1=g(e=>{const t=new u1;return t.calculate(e),t},"getThemeVariables"),Bn,d1=(Bn=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=V(this.primaryColor,16),this.tertiaryColor=C(this.primaryColor,{h:-160}),this.primaryBorderColor=P(this.background),this.secondaryBorderColor=Ut(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ut(this.tertiaryColor,this.darkMode),this.primaryTextColor=P(this.primaryColor),this.secondaryTextColor=P(this.secondaryColor),this.tertiaryTextColor=P(this.tertiaryColor),this.lineColor=P(this.background),this.textColor=P(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=V(P("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=sn(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=J("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=J(this.sectionBkgColor,10),this.taskBorderColor=sn(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=sn(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var t,r,i,n,a,s,o,l,c,h,u;this.secondBkg=V(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=V(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=V(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=C(this.primaryColor,{h:64}),this.fillType3=C(this.secondaryColor,{h:64}),this.fillType4=C(this.primaryColor,{h:-64}),this.fillType5=C(this.secondaryColor,{h:-64}),this.fillType6=C(this.primaryColor,{h:128}),this.fillType7=C(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||C(this.primaryColor,{h:30}),this.cScale4=this.cScale4||C(this.primaryColor,{h:60}),this.cScale5=this.cScale5||C(this.primaryColor,{h:90}),this.cScale6=this.cScale6||C(this.primaryColor,{h:120}),this.cScale7=this.cScale7||C(this.primaryColor,{h:150}),this.cScale8=this.cScale8||C(this.primaryColor,{h:210}),this.cScale9=this.cScale9||C(this.primaryColor,{h:270}),this.cScale10=this.cScale10||C(this.primaryColor,{h:300}),this.cScale11=this.cScale11||C(this.primaryColor,{h:330});for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Bn,"Theme"),Bn),p1=g(e=>{const t=new d1;return t.calculate(e),t},"getThemeVariables"),$n,g1=($n=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=C(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=C(this.primaryColor,{h:-160}),this.primaryBorderColor=Ut(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ut(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ut(this.tertiaryColor,this.darkMode),this.primaryTextColor=P(this.primaryColor),this.secondaryTextColor=P(this.secondaryColor),this.tertiaryTextColor=P(this.tertiaryColor),this.lineColor=P(this.background),this.textColor=P(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=sn(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var t,r,i,n,a,s,o,l,c,h,u;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||C(this.primaryColor,{h:30}),this.cScale4=this.cScale4||C(this.primaryColor,{h:60}),this.cScale5=this.cScale5||C(this.primaryColor,{h:90}),this.cScale6=this.cScale6||C(this.primaryColor,{h:120}),this.cScale7=this.cScale7||C(this.primaryColor,{h:150}),this.cScale8=this.cScale8||C(this.primaryColor,{h:210}),this.cScale9=this.cScale9||C(this.primaryColor,{h:270}),this.cScale10=this.cScale10||C(this.primaryColor,{h:300}),this.cScale11=this.cScale11||C(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||J(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||J(this.tertiaryColor,40);for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g($n,"Theme"),$n),m1=g(e=>{const t=new g1;return t.calculate(e),t},"getThemeVariables"),En,y1=(En=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=V("#cde498",10),this.primaryBorderColor=Ut(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ut(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ut(this.tertiaryColor,this.darkMode),this.primaryTextColor=P(this.primaryColor),this.secondaryTextColor=P(this.secondaryColor),this.tertiaryTextColor=P(this.primaryColor),this.lineColor=P(this.background),this.textColor=P(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,r,i,n,a,s,o,l,c,h,u;this.actorBorder=J(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||C(this.primaryColor,{h:30}),this.cScale4=this.cScale4||C(this.primaryColor,{h:60}),this.cScale5=this.cScale5||C(this.primaryColor,{h:90}),this.cScale6=this.cScale6||C(this.primaryColor,{h:120}),this.cScale7=this.cScale7||C(this.primaryColor,{h:150}),this.cScale8=this.cScale8||C(this.primaryColor,{h:210}),this.cScale9=this.cScale9||C(this.primaryColor,{h:270}),this.cScale10=this.cScale10||C(this.primaryColor,{h:300}),this.cScale11=this.cScale11||C(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||J(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||J(this.tertiaryColor,40);for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(En,"Theme"),En),x1=g(e=>{const t=new y1;return t.calculate(e),t},"getThemeVariables"),Mn,b1=(Mn=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=V(this.contrast,55),this.background="#ffffff",this.tertiaryColor=C(this.primaryColor,{h:-160}),this.primaryBorderColor=Ut(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ut(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ut(this.tertiaryColor,this.darkMode),this.primaryTextColor=P(this.primaryColor),this.secondaryTextColor=P(this.secondaryColor),this.tertiaryTextColor=P(this.tertiaryColor),this.lineColor=P(this.background),this.textColor=P(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,r,i,n,a,s,o,l,c,h,u;this.secondBkg=V(this.contrast,55),this.border2=this.contrast,this.actorBorder=V(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Mn,"Theme"),Mn),_1=g(e=>{const t=new b1;return t.calculate(e),t},"getThemeVariables"),Ze={base:{getThemeVariables:f1},dark:{getThemeVariables:p1},default:{getThemeVariables:m1},forest:{getThemeVariables:x1},neutral:{getThemeVariables:_1}},ar={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},kf={...ar,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF"},themeCSS:void 0,themeVariables:Ze.default.getThemeVariables(),sequence:{...ar.sequence,messageFont:g(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:g(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:g(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...ar.gantt,tickInterval:void 0,useWidth:void 0},c4:{...ar.c4,useWidth:void 0,personFont:g(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),external_personFont:g(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:g(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:g(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:g(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:g(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:g(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:g(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:g(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:g(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:g(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:g(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:g(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:g(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:g(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:g(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:g(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:g(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:g(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:g(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:g(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:g(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...ar.pie,useWidth:984},xyChart:{...ar.xyChart,useWidth:void 0},requirement:{...ar.requirement,useWidth:void 0},packet:{...ar.packet}},Cf=g((e,t="")=>Object.keys(e).reduce((r,i)=>Array.isArray(e[i])?r:typeof e[i]=="object"&&e[i]!==null?[...r,t+i,...Cf(e[i],"")]:[...r,t+i],[]),"keyify"),w1=new Set(Cf(kf,"")),Sf=kf,Ia=g(e=>{if(F.debug("sanitizeDirective called with",e),!(typeof e!="object"||e==null)){if(Array.isArray(e)){e.forEach(t=>Ia(t));return}for(const t of Object.keys(e)){if(F.debug("Checking key",t),t.startsWith("__")||t.includes("proto")||t.includes("constr")||!w1.has(t)||e[t]==null){F.debug("sanitize deleting key: ",t),delete e[t];continue}if(typeof e[t]=="object"){F.debug("sanitizing object",t),Ia(e[t]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const i of r)t.includes(i)&&(F.debug("sanitizing css option",t),e[t]=v1(e[t]))}if(e.themeVariables)for(const t of Object.keys(e.themeVariables)){const r=e.themeVariables[t];r!=null&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(e.themeVariables[t]="")}F.debug("After sanitization",e)}},"sanitizeDirective"),v1=g(e=>{let t=0,r=0;for(const i of e){if(t{let r=Ot({},e),i={};for(const n of t)Bf(n),i=Ot(i,n);if(r=Ot(r,i),i.theme&&i.theme in Ze){const n=Ot({},Tf),a=Ot(n.themeVariables||{},i.themeVariables);r.theme&&r.theme in Ze&&(r.themeVariables=Ze[r.theme].getThemeVariables(a))}return ln=r,$f(ln),ln},"updateCurrentConfig"),k1=g(e=>(Qt=Ot({},ci),Qt=Ot(Qt,e),e.theme&&Ze[e.theme]&&(Qt.themeVariables=Ze[e.theme].getThemeVariables(e.themeVariables)),vs(Qt,hi),Qt),"setSiteConfig"),C1=g(e=>{Tf=Ot({},e)},"saveConfigFromInitialize"),S1=g(e=>(Qt=Ot(Qt,e),vs(Qt,hi),Qt),"updateSiteConfig"),Af=g(()=>Ot({},Qt),"getSiteConfig"),Lf=g(e=>($f(e),Ot(ln,e),Se()),"setConfig"),Se=g(()=>Ot({},ln),"getConfig"),Bf=g(e=>{e&&(["secure",...Qt.secure??[]].forEach(t=>{Object.hasOwn(e,t)&&(F.debug(`Denied attempt to modify a secure key ${t}`,e[t]),delete e[t])}),Object.keys(e).forEach(t=>{t.startsWith("__")&&delete e[t]}),Object.keys(e).forEach(t=>{typeof e[t]=="string"&&(e[t].includes("<")||e[t].includes(">")||e[t].includes("url(data:"))&&delete e[t],typeof e[t]=="object"&&Bf(e[t])}))},"sanitize"),T1=g(e=>{var t;Ia(e),e.fontFamily&&!((t=e.themeVariables)!=null&&t.fontFamily)&&(e.themeVariables={...e.themeVariables,fontFamily:e.fontFamily}),hi.push(e),vs(Qt,hi)},"addDirective"),Ra=g((e=Qt)=>{hi=[],vs(e,hi)},"reset"),A1={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},xh={},L1=g(e=>{xh[e]||(F.warn(A1[e]),xh[e]=!0)},"issueWarning"),$f=g(e=>{e&&(e.lazyLoadedDiagrams||e.loadExternalDiagramsAtStartup)&&L1("LAZY_LOAD_DEPRECATED")},"checkConfig"),zn=//gi,B1=g(e=>e?Ff(e).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),$1=(()=>{let e=!1;return()=>{e||(Ef(),e=!0)}})();function Ef(){const e="data-temp-href-target";oi.addHook("beforeSanitizeAttributes",t=>{t instanceof Element&&t.tagName==="A"&&t.hasAttribute("target")&&t.setAttribute(e,t.getAttribute("target")??"")}),oi.addHook("afterSanitizeAttributes",t=>{t instanceof Element&&t.tagName==="A"&&t.hasAttribute(e)&&(t.setAttribute("target",t.getAttribute(e)??""),t.removeAttribute(e),t.getAttribute("target")==="_blank"&&t.setAttribute("rel","noopener"))})}g(Ef,"setupDompurifyHooks");var Mf=g(e=>($1(),oi.sanitize(e)),"removeScript"),bh=g((e,t)=>{var r;if(((r=t.flowchart)==null?void 0:r.htmlLabels)!==!1){const i=t.securityLevel;i==="antiscript"||i==="strict"?e=Mf(e):i!=="loose"&&(e=Ff(e),e=e.replace(//g,">"),e=e.replace(/=/g,"="),e=I1(e))}return e},"sanitizeMore"),Er=g((e,t)=>e&&(t.dompurifyConfig?e=oi.sanitize(bh(e,t),t.dompurifyConfig).toString():e=oi.sanitize(bh(e,t),{FORBID_TAGS:["style"]}).toString(),e),"sanitizeText"),E1=g((e,t)=>typeof e=="string"?Er(e,t):e.flat().map(r=>Er(r,t)),"sanitizeTextOrArray"),M1=g(e=>zn.test(e),"hasBreaks"),F1=g(e=>e.split(zn),"splitBreaks"),I1=g(e=>e.replace(/#br#/g,"
    "),"placeholderToBreak"),Ff=g(e=>e.replace(zn,"#br#"),"breakToPlaceholder"),R1=g(e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=t.replaceAll(/\(/g,"\\("),t=t.replaceAll(/\)/g,"\\)")),t},"getUrl"),Dt=g(e=>!(e===!1||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),O1=g(function(...e){const t=e.filter(r=>!isNaN(r));return Math.max(...t)},"getMax"),D1=g(function(...e){const t=e.filter(r=>!isNaN(r));return Math.min(...t)},"getMin"),YM=g(function(e){const t=e.split(/(,)/),r=[];for(let i=0;i0&&i+1Math.max(0,e.split(t).length-1),"countOccurrence"),P1=g((e,t)=>{const r=Fo(e,"~"),i=Fo(t,"~");return r===1&&i===1},"shouldCombineSets"),N1=g(e=>{const t=Fo(e,"~");let r=!1;if(t<=1)return e;t%2!==0&&e.startsWith("~")&&(e=e.substring(1),r=!0);const i=[...e];let n=i.indexOf("~"),a=i.lastIndexOf("~");for(;n!==-1&&a!==-1&&n!==a;)i[n]="<",i[a]=">",n=i.indexOf("~"),a=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),_h=g(()=>window.MathMLElement!==void 0,"isMathMLSupported"),Io=/\$\$(.*)\$\$/g,ui=g(e=>{var t;return(((t=e.match(Io))==null?void 0:t.length)??0)>0},"hasKatex"),GM=g(async(e,t)=>{e=await Ol(e,t);const r=document.createElement("div");r.innerHTML=e,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0";const i=document.querySelector("body");i==null||i.insertAdjacentElement("beforeend",r);const n={width:r.clientWidth,height:r.clientHeight};return r.remove(),n},"calculateMathMLDimensions"),Ol=g(async(e,t)=>{if(!ui(e))return e;if(!(_h()||t.legacyMathML||t.forceLegacyMathML))return e.replace(Io,"MathML is unsupported in this environment.");const{default:r}=await xt(()=>import("./NieGjnhU.js"),[],import.meta.url),i=t.forceLegacyMathML||!_h()&&t.legacyMathML?"htmlAndMathml":"mathml";return e.split(zn).map(n=>ui(n)?`
    ${n}
    `:`
    ${n}
    `).join("").replace(Io,(n,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(//g,""))},"renderKatex"),wi={getRows:B1,sanitizeText:Er,sanitizeTextOrArray:E1,hasBreaks:M1,splitBreaks:F1,lineBreakRegex:zn,removeScript:Mf,getUrl:R1,evaluate:Dt,getMax:O1,getMin:D1},z1=g(function(e,t){for(let r of t)e.attr(r[0],r[1])},"d3Attrs"),q1=g(function(e,t,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${t}px;`)):(i.set("height",e),i.set("width",t)),i},"calculateSvgSizeAttrs"),If=g(function(e,t,r,i){const n=q1(t,r,i);z1(e,n)},"configureSvgSize"),W1=g(function(e,t,r,i){const n=t.node().getBBox(),a=n.width,s=n.height;F.info(`SVG bounds: ${a}x${s}`,n);let o=0,l=0;F.info(`Graph bounds: ${o}x${l}`,e),o=a+r*2,l=s+r*2,F.info(`Calculated bounds: ${o}x${l}`),If(t,l,o,i);const c=`${n.x-r} ${n.y-r} ${n.width+2*r} ${n.height+2*r}`;t.attr("viewBox",c)},"setupGraphViewbox"),ba={},H1=g((e,t,r)=>{let i="";return e in ba&&ba[e]?i=ba[e](r):F.warn(`No theme found for ${e}`),` & { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + fill: ${r.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${r.errorBkgColor}; + } + & .error-text { + fill: ${r.errorTextColor}; + stroke: ${r.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 1px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + } + & .marker.cross { + stroke: ${r.lineColor}; + } + + & svg { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + } + & p { + margin: 0 + } + + ${i} + + ${t} +`},"getStyles"),j1=g((e,t)=>{t!==void 0&&(ba[e]=t)},"addStylesForDiagram"),U1=H1,Rf={};l1(Rf,{clear:()=>Y1,getAccDescription:()=>Z1,getAccTitle:()=>V1,getDiagramTitle:()=>Q1,setAccDescription:()=>X1,setAccTitle:()=>G1,setDiagramTitle:()=>K1});var Dl="",Pl="",Nl="",zl=g(e=>Er(e,Se()),"sanitizeText"),Y1=g(()=>{Dl="",Nl="",Pl=""},"clear"),G1=g(e=>{Dl=zl(e).replace(/^\s+/g,"")},"setAccTitle"),V1=g(()=>Dl,"getAccTitle"),X1=g(e=>{Nl=zl(e).replace(/\n\s+/g,` +`)},"setAccDescription"),Z1=g(()=>Nl,"getAccDescription"),K1=g(e=>{Pl=zl(e)},"setDiagramTitle"),Q1=g(()=>Pl,"getDiagramTitle"),wh=F,J1=Il,ft=Se,VM=Lf,XM=ci,Of=g(e=>Er(e,ft()),"sanitizeText"),t_=W1,e_=g(()=>Rf,"getCommonDb"),Oa={},Da=g((e,t,r)=>{var i;Oa[e]&&wh.warn(`Diagram with id ${e} already registered. Overwriting.`),Oa[e]=t,r&&vf(e,r),j1(e,t.styles),(i=t.injectUtils)==null||i.call(t,wh,J1,ft,Of,t_,e_(),()=>{})},"registerDiagram"),Ro=g(e=>{if(e in Oa)return Oa[e];throw new r_(e)},"getDiagram"),Fn,r_=(Fn=class extends Error{constructor(t){super(`Diagram ${t} not found.`)}},g(Fn,"DiagramNotFoundError"),Fn);function ql(e){return typeof e>"u"||e===null}g(ql,"isNothing");function Df(e){return typeof e=="object"&&e!==null}g(Df,"isObject");function Pf(e){return Array.isArray(e)?e:ql(e)?[]:[e]}g(Pf,"toArray");function Nf(e,t){var r,i,n,a;if(t)for(a=Object.keys(t),r=0,i=a.length;ro&&(a=" ... ",t=i-o+a.length),r-i>o&&(s=" ...",r=i+o-s.length),{str:a+e.slice(t,r).replace(/\t/g,"→")+s,pos:i-t+a.length}}g(_a,"getLine");function wa(e,t){return Bt.repeat(" ",t-e.length)+e}g(wa,"padStart");function Wf(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var r=/\r?\n|\r|\0/g,i=[0],n=[],a,s=-1;a=r.exec(e.buffer);)n.push(a.index),i.push(a.index+a[0].length),e.position<=a.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);var o="",l,c,h=Math.min(e.line+t.linesAfter,n.length).toString().length,u=t.maxLength-(t.indent+h+3);for(l=1;l<=t.linesBefore&&!(s-l<0);l++)c=_a(e.buffer,i[s-l],n[s-l],e.position-(i[s]-i[s-l]),u),o=Bt.repeat(" ",t.indent)+wa((e.line-l+1).toString(),h)+" | "+c.str+` +`+o;for(c=_a(e.buffer,i[s],n[s],e.position,u),o+=Bt.repeat(" ",t.indent)+wa((e.line+1).toString(),h)+" | "+c.str+` +`,o+=Bt.repeat("-",t.indent+h+3+c.pos)+`^ +`,l=1;l<=t.linesAfter&&!(s+l>=n.length);l++)c=_a(e.buffer,i[s+l],n[s+l],e.position-(i[s]-i[s+l]),u),o+=Bt.repeat(" ",t.indent)+wa((e.line+l+1).toString(),h)+" | "+c.str+` +`;return o.replace(/\n$/,"")}g(Wf,"makeSnippet");var c_=Wf,h_=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],u_=["scalar","sequence","mapping"];function Hf(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(i){t[String(i)]=r})}),t}g(Hf,"compileStyleAliases");function jf(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(h_.indexOf(r)===-1)throw new Jt('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=Hf(t.styleAliases||null),u_.indexOf(this.kind)===-1)throw new Jt('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}g(jf,"Type$1");var qt=jf;function Oo(e,t){var r=[];return e[t].forEach(function(i){var n=r.length;r.forEach(function(a,s){a.tag===i.tag&&a.kind===i.kind&&a.multi===i.multi&&(n=s)}),r[n]=i}),r}g(Oo,"compileList");function Uf(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,r;function i(n){n.multi?(e.multi[n.kind].push(n),e.multi.fallback.push(n)):e[n.kind][n.tag]=e.fallback[n.tag]=n}for(g(i,"collectType"),t=0,r=arguments.length;t=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},"binary"),octal:g(function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},"octal"),decimal:g(function(e){return e.toString(10)},"decimal"),hexadecimal:g(function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),__=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function nd(e){return!(e===null||!__.test(e)||e[e.length-1]==="_")}g(nd,"resolveYamlFloat");function ad(e){var t,r;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:r*parseFloat(t,10)}g(ad,"constructYamlFloat");var w_=/^[-+]?[0-9]+e/;function sd(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Bt.isNegativeZero(e))return"-0.0";return r=e.toString(10),w_.test(r)?r.replace("e",".e"):r}g(sd,"representYamlFloat");function od(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Bt.isNegativeZero(e))}g(od,"isFloat");var v_=new qt("tag:yaml.org,2002:float",{kind:"scalar",resolve:nd,construct:ad,predicate:od,represent:sd,defaultStyle:"lowercase"}),ld=m_.extend({implicit:[y_,x_,b_,v_]}),k_=ld,cd=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),hd=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function ud(e){return e===null?!1:cd.exec(e)!==null||hd.exec(e)!==null}g(ud,"resolveYamlTimestamp");function fd(e){var t,r,i,n,a,s,o,l=0,c=null,h,u,f;if(t=cd.exec(e),t===null&&(t=hd.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],i=+t[2]-1,n=+t[3],!t[4])return new Date(Date.UTC(r,i,n));if(a=+t[4],s=+t[5],o=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(h=+t[10],u=+(t[11]||0),c=(h*60+u)*6e4,t[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,n,a,s,o,l)),c&&f.setTime(f.getTime()-c),f}g(fd,"constructYamlTimestamp");function dd(e){return e.toISOString()}g(dd,"representYamlTimestamp");var C_=new qt("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:ud,construct:fd,instanceOf:Date,represent:dd});function pd(e){return e==="<<"||e===null}g(pd,"resolveYamlMerge");var S_=new qt("tag:yaml.org,2002:merge",{kind:"scalar",resolve:pd}),Hl=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function gd(e){if(e===null)return!1;var t,r,i=0,n=e.length,a=Hl;for(r=0;r64)){if(t<0)return!1;i+=6}return i%8===0}g(gd,"resolveYamlBinary");function md(e){var t,r,i=e.replace(/[\r\n=]/g,""),n=i.length,a=Hl,s=0,o=[];for(t=0;t>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(i.charAt(t));return r=n%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}g(md,"constructYamlBinary");function yd(e){var t="",r=0,i,n,a=e.length,s=Hl;for(i=0;i>18&63],t+=s[r>>12&63],t+=s[r>>6&63],t+=s[r&63]),r=(r<<8)+e[i];return n=a%3,n===0?(t+=s[r>>18&63],t+=s[r>>12&63],t+=s[r>>6&63],t+=s[r&63]):n===2?(t+=s[r>>10&63],t+=s[r>>4&63],t+=s[r<<2&63],t+=s[64]):n===1&&(t+=s[r>>2&63],t+=s[r<<4&63],t+=s[64],t+=s[64]),t}g(yd,"representYamlBinary");function xd(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}g(xd,"isBinary");var T_=new qt("tag:yaml.org,2002:binary",{kind:"scalar",resolve:gd,construct:md,predicate:xd,represent:yd}),A_=Object.prototype.hasOwnProperty,L_=Object.prototype.toString;function bd(e){if(e===null)return!0;var t=[],r,i,n,a,s,o=e;for(r=0,i=o.length;r>10)+55296,(e-65536&1023)+56320)}g(Fd,"charFromCodepoint");var Id=new Array(256),Rd=new Array(256);for(yr=0;yr<256;yr++)Id[yr]=Po(yr)?1:0,Rd[yr]=Po(yr);var yr;function Od(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||Sd,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}g(Od,"State$1");function jl(e,t){var r={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return r.snippet=c_(r),new Jt(t,r)}g(jl,"generateError");function G(e,t){throw jl(e,t)}g(G,"throwError");function pn(e,t){e.onWarning&&e.onWarning.call(null,jl(e,t))}g(pn,"throwWarning");var kh={YAML:g(function(t,r,i){var n,a,s;t.version!==null&&G(t,"duplication of %YAML directive"),i.length!==1&&G(t,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&G(t,"ill-formed argument of the YAML directive"),a=parseInt(n[1],10),s=parseInt(n[2],10),a!==1&&G(t,"unacceptable YAML version of the document"),t.version=i[0],t.checkLineBreaks=s<2,s!==1&&s!==2&&pn(t,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:g(function(t,r,i){var n,a;i.length!==2&&G(t,"TAG directive accepts exactly two arguments"),n=i[0],a=i[1],Ld.test(n)||G(t,"ill-formed tag handle (first argument) of the TAG directive"),ur.call(t.tagMap,n)&&G(t,'there is a previously declared suffix for "'+n+'" tag handle'),Bd.test(a)||G(t,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{G(t,"tag prefix is malformed: "+a)}t.tagMap[n]=a},"handleTagDirective")};function Ke(e,t,r,i){var n,a,s,o;if(t1&&(e.result+=Bt.repeat(` +`,t-1))}g(Cs,"writeFoldedLines");function Dd(e,t,r){var i,n,a,s,o,l,c,h,u=e.kind,f=e.result,d;if(d=e.input.charCodeAt(e.position),Yt(d)||kr(d)||d===35||d===38||d===42||d===33||d===124||d===62||d===39||d===34||d===37||d===64||d===96||(d===63||d===45)&&(n=e.input.charCodeAt(e.position+1),Yt(n)||r&&kr(n)))return!1;for(e.kind="scalar",e.result="",a=s=e.position,o=!1;d!==0;){if(d===58){if(n=e.input.charCodeAt(e.position+1),Yt(n)||r&&kr(n))break}else if(d===35){if(i=e.input.charCodeAt(e.position-1),Yt(i))break}else{if(e.position===e.lineStart&&qn(e)||r&&kr(d))break;if(ke(d))if(l=e.line,c=e.lineStart,h=e.lineIndent,Ct(e,!1,-1),e.lineIndent>=t){o=!0,d=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=l,e.lineStart=c,e.lineIndent=h;break}}o&&(Ke(e,a,s,!1),Cs(e,e.line-l),a=s=e.position,o=!1),hr(d)||(s=e.position+1),d=e.input.charCodeAt(++e.position)}return Ke(e,a,s,!1),e.result?!0:(e.kind=u,e.result=f,!1)}g(Dd,"readPlainScalar");function Pd(e,t){var r,i,n;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(Ke(e,i,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)i=e.position,e.position++,n=e.position;else return!0;else ke(r)?(Ke(e,i,n,!0),Cs(e,Ct(e,!1,t)),i=n=e.position):e.position===e.lineStart&&qn(e)?G(e,"unexpected end of the document within a single quoted scalar"):(e.position++,n=e.position);G(e,"unexpected end of the stream within a single quoted scalar")}g(Pd,"readSingleQuotedScalar");function Nd(e,t){var r,i,n,a,s,o;if(o=e.input.charCodeAt(e.position),o!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=i=e.position;(o=e.input.charCodeAt(e.position))!==0;){if(o===34)return Ke(e,r,e.position,!0),e.position++,!0;if(o===92){if(Ke(e,r,e.position,!0),o=e.input.charCodeAt(++e.position),ke(o))Ct(e,!1,t);else if(o<256&&Id[o])e.result+=Rd[o],e.position++;else if((s=Ed(o))>0){for(n=s,a=0;n>0;n--)o=e.input.charCodeAt(++e.position),(s=$d(o))>=0?a=(a<<4)+s:G(e,"expected hexadecimal character");e.result+=Fd(a),e.position++}else G(e,"unknown escape sequence");r=i=e.position}else ke(o)?(Ke(e,r,i,!0),Cs(e,Ct(e,!1,t)),r=i=e.position):e.position===e.lineStart&&qn(e)?G(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}G(e,"unexpected end of the stream within a double quoted scalar")}g(Nd,"readDoubleQuotedScalar");function zd(e,t){var r=!0,i,n,a,s=e.tag,o,l=e.anchor,c,h,u,f,d,p=Object.create(null),m,y,x,b;if(b=e.input.charCodeAt(e.position),b===91)h=93,d=!1,o=[];else if(b===123)h=125,d=!0,o={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),b=e.input.charCodeAt(++e.position);b!==0;){if(Ct(e,!0,t),b=e.input.charCodeAt(e.position),b===h)return e.position++,e.tag=s,e.anchor=l,e.kind=d?"mapping":"sequence",e.result=o,!0;r?b===44&&G(e,"expected the node content, but found ','"):G(e,"missed comma between flow collection entries"),y=m=x=null,u=f=!1,b===63&&(c=e.input.charCodeAt(e.position+1),Yt(c)&&(u=f=!0,e.position++,Ct(e,!0,t))),i=e.line,n=e.lineStart,a=e.position,Mr(e,t,Na,!1,!0),y=e.tag,m=e.result,Ct(e,!0,t),b=e.input.charCodeAt(e.position),(f||e.line===i)&&b===58&&(u=!0,b=e.input.charCodeAt(++e.position),Ct(e,!0,t),Mr(e,t,Na,!1,!0),x=e.result),d?Cr(e,o,p,y,m,x,i,n,a):u?o.push(Cr(e,null,p,y,m,x,i,n,a)):o.push(m),Ct(e,!0,t),b=e.input.charCodeAt(e.position),b===44?(r=!0,b=e.input.charCodeAt(++e.position)):r=!1}G(e,"unexpected end of the stream within a flow collection")}g(zd,"readFlowCollection");function qd(e,t){var r,i,n=so,a=!1,s=!1,o=t,l=0,c=!1,h,u;if(u=e.input.charCodeAt(e.position),u===124)i=!1;else if(u===62)i=!0;else return!1;for(e.kind="scalar",e.result="";u!==0;)if(u=e.input.charCodeAt(++e.position),u===43||u===45)so===n?n=u===43?vh:I_:G(e,"repeat of a chomping mode identifier");else if((h=Md(u))>=0)h===0?G(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?G(e,"repeat of an indentation width identifier"):(o=t+h-1,s=!0);else break;if(hr(u)){do u=e.input.charCodeAt(++e.position);while(hr(u));if(u===35)do u=e.input.charCodeAt(++e.position);while(!ke(u)&&u!==0)}for(;u!==0;){for(ks(e),e.lineIndent=0,u=e.input.charCodeAt(e.position);(!s||e.lineIndento&&(o=e.lineIndent),ke(u)){l++;continue}if(e.lineIndentt)&&l!==0)G(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(y&&(s=e.line,o=e.lineStart,l=e.position),Mr(e,t,za,!0,n)&&(y?p=e.result:m=e.result),y||(Cr(e,u,f,d,p,m,s,o,l),d=p=m=null),Ct(e,!0,-1),b=e.input.charCodeAt(e.position)),(e.line===a||e.lineIndent>t)&&b!==0)G(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),u=0,f=e.implicitTypes.length;u"),e.result!==null&&p.kind!==e.kind&&G(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+p.kind+'", not "'+e.kind+'"'),p.resolve(e.result,e.tag)?(e.result=p.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):G(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||h}g(Mr,"composeNode");function Yd(e){var t=e.position,r,i,n,a=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(s=e.input.charCodeAt(e.position))!==0&&(Ct(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(a=!0,s=e.input.charCodeAt(++e.position),r=e.position;s!==0&&!Yt(s);)s=e.input.charCodeAt(++e.position);for(i=e.input.slice(r,e.position),n=[],i.length<1&&G(e,"directive name must not be less than one character in length");s!==0;){for(;hr(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!ke(s));break}if(ke(s))break;for(r=e.position;s!==0&&!Yt(s);)s=e.input.charCodeAt(++e.position);n.push(e.input.slice(r,e.position))}s!==0&&ks(e),ur.call(kh,i)?kh[i](e,i,n):pn(e,'unknown document directive "'+i+'"')}if(Ct(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,Ct(e,!0,-1)):a&&G(e,"directives end mark is expected"),Mr(e,e.lineIndent-1,za,!1,!0),Ct(e,!0,-1),e.checkLineBreaks&&O_.test(e.input.slice(t,e.position))&&pn(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&qn(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,Ct(e,!0,-1));return}if(e.position"u"&&(r=t,t=null);var i=Ul(e,r);if(typeof t!="function")return i;for(var n=0,a=i.length;n=55296&&r<=56319&&t+1=56320&&i<=57343)?(r-55296)*1024+i-56320+65536:r}g(ti,"codePointAt");function Gl(e){var t=/^\n* /;return t.test(e)}g(Gl,"needIndentIndicator");var lp=1,Uo=2,cp=3,hp=4,Jr=5;function up(e,t,r,i,n,a,s,o){var l,c=0,h=null,u=!1,f=!1,d=i!==-1,p=-1,m=sp(ti(e,0))&&op(ti(e,e.length-1));if(t||s)for(l=0;l=65536?l+=2:l++){if(c=ti(e,l),!di(c))return Jr;m=m&&jo(c,h,o),h=c}else{for(l=0;l=65536?l+=2:l++){if(c=ti(e,l),c===gn)u=!0,d&&(f=f||l-p-1>i&&e[p+1]!==" ",p=l);else if(!di(c))return Jr;m=m&&jo(c,h,o),h=c}f=f||d&&l-p-1>i&&e[p+1]!==" "}return!u&&!f?m&&!s&&!n(e)?lp:a===mn?Jr:Uo:r>9&&Gl(e)?Jr:s?a===mn?Jr:Uo:f?hp:cp}g(up,"chooseScalarStyle");function fp(e,t,r,i,n){e.dump=function(){if(t.length===0)return e.quotingType===mn?'""':"''";if(!e.noCompatMode&&(iw.indexOf(t)!==-1||nw.test(t)))return e.quotingType===mn?'"'+t+'"':"'"+t+"'";var a=e.indent*Math.max(1,r),s=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),o=i||e.flowLevel>-1&&r>=e.flowLevel;function l(c){return ap(e,c)}switch(g(l,"testAmbiguity"),up(t,o,e.indent,s,l,e.quotingType,e.forceQuotes&&!i,n)){case lp:return t;case Uo:return"'"+t.replace(/'/g,"''")+"'";case cp:return"|"+Yo(t,e.indent)+Go(Wo(t,a));case hp:return">"+Yo(t,e.indent)+Go(Wo(dp(t,s),a));case Jr:return'"'+pp(t)+'"';default:throw new Jt("impossible error: invalid scalar style")}}()}g(fp,"writeScalar");function Yo(e,t){var r=Gl(e)?String(t):"",i=e[e.length-1]===` +`,n=i&&(e[e.length-2]===` +`||e===` +`),a=n?"+":i?"":"-";return r+a+` +`}g(Yo,"blockHeader");function Go(e){return e[e.length-1]===` +`?e.slice(0,-1):e}g(Go,"dropEndingNewline");function dp(e,t){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=e.indexOf(` +`);return c=c!==-1?c:e.length,r.lastIndex=c,Vo(e.slice(0,c),t)}(),n=e[0]===` +`||e[0]===" ",a,s;s=r.exec(e);){var o=s[1],l=s[2];a=l[0]===" ",i+=o+(!n&&!a&&l!==""?` +`:"")+Vo(l,t),n=a}return i}g(dp,"foldString");function Vo(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,i,n=0,a,s=0,o=0,l="";i=r.exec(e);)o=i.index,o-n>t&&(a=s>n?s:o,l+=` +`+e.slice(n,a),n=a+1),s=o;return l+=` +`,e.length-n>t&&s>n?l+=e.slice(n,s)+` +`+e.slice(s+1):l+=e.slice(n),l.slice(1)}g(Vo,"foldLine");function pp(e){for(var t="",r=0,i,n=0;n=65536?n+=2:n++)r=ti(e,n),i=Wt[r],!i&&di(r)?(t+=e[n],r>=65536&&(t+=e[n+1])):t+=i||ip(r);return t}g(pp,"escapeString");function gp(e,t,r){var i="",n=e.tag,a,s,o;for(a=0,s=r.length;a"u"&&Pe(e,t,null,!1,!1))&&(i!==""&&(i+=","+(e.condenseFlow?"":" ")),i+=e.dump);e.tag=n,e.dump="["+i+"]"}g(gp,"writeFlowSequence");function Xo(e,t,r,i){var n="",a=e.tag,s,o,l;for(s=0,o=r.length;s"u"&&Pe(e,t+1,null,!0,!0,!1,!0))&&((!i||n!=="")&&(n+=Wa(e,t)),e.dump&&gn===e.dump.charCodeAt(0)?n+="-":n+="- ",n+=e.dump);e.tag=a,e.dump=n||"[]"}g(Xo,"writeBlockSequence");function mp(e,t,r){var i="",n=e.tag,a=Object.keys(r),s,o,l,c,h;for(s=0,o=a.length;s1024&&(h+="? "),h+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Pe(e,t,c,!1,!1)&&(h+=e.dump,i+=h));e.tag=n,e.dump="{"+i+"}"}g(mp,"writeFlowMapping");function yp(e,t,r,i){var n="",a=e.tag,s=Object.keys(r),o,l,c,h,u,f;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new Jt("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,u&&(e.dump&&gn===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,u&&(f+=Wa(e,t)),Pe(e,t+1,h,!0,u)&&(e.dump&&gn===e.dump.charCodeAt(0)?f+=":":f+=": ",f+=e.dump,n+=f));e.tag=a,e.dump=n||"{}"}g(yp,"writeBlockMapping");function Zo(e,t,r){var i,n,a,s,o,l;for(n=r?e.explicitTypes:e.implicitTypes,a=0,s=n.length;a tag resolver accepts not "'+l+'" style');e.dump=i}return!0}return!1}g(Zo,"detectType");function Pe(e,t,r,i,n,a,s){e.tag=null,e.dump=r,Zo(e,r,!1)||Zo(e,r,!0);var o=Xd.call(e.dump),l=i,c;i&&(i=e.flowLevel<0||e.flowLevel>t);var h=o==="[object Object]"||o==="[object Array]",u,f;if(h&&(u=e.duplicates.indexOf(r),f=u!==-1),(e.tag!==null&&e.tag!=="?"||f||e.indent!==2&&t>0)&&(n=!1),f&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(h&&f&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),o==="[object Object]")i&&Object.keys(e.dump).length!==0?(yp(e,t,e.dump,n),f&&(e.dump="&ref_"+u+e.dump)):(mp(e,t,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if(o==="[object Array]")i&&e.dump.length!==0?(e.noArrayIndent&&!s&&t>0?Xo(e,t-1,e.dump,n):Xo(e,t,e.dump,n),f&&(e.dump="&ref_"+u+e.dump)):(gp(e,t,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if(o==="[object String]")e.tag!=="?"&&fp(e,e.dump,t,a,l);else{if(o==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new Jt("unacceptable kind of an object to dump "+o)}e.tag!==null&&e.tag!=="?"&&(c=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?c="!"+c:c.slice(0,18)==="tag:yaml.org,2002:"?c="!!"+c.slice(18):c="!<"+c+">",e.dump=c+" "+e.dump)}return!0}g(Pe,"writeNode");function xp(e,t){var r=[],i=[],n,a;for(Ha(e,r,i),n=0,a=i.length;n{const n=e.split(":");if(e.slice(0,1)==="@"){if(n.length<2||n.length>3)return null;i=n.shift().slice(1)}if(n.length>3||!n.length)return null;if(n.length>1){const o=n.pop(),l=n.pop(),c={provider:n.length>0?n[0]:i,prefix:l,name:o};return lo(c)?c:null}const a=n[0],s=a.split("-");if(s.length>1){const o={provider:i,prefix:s.shift(),name:s.join("-")};return lo(o)?o:null}if(r&&i===""){const o={provider:i,prefix:"",name:a};return lo(o,r)?o:null}return null},lo=(e,t)=>e?!!((e.provider===""||e.provider.match(oo))&&(t&&e.prefix===""||e.prefix.match(oo))&&e.name.match(oo)):!1;function uw(e,t){const r={};!e.hFlip!=!t.hFlip&&(r.hFlip=!0),!e.vFlip!=!t.vFlip&&(r.vFlip=!0);const i=((e.rotate||0)+(t.rotate||0))%4;return i&&(r.rotate=i),r}function Ch(e,t){const r=uw(e,t);for(const i in Ny)i in Qc?i in e&&!(i in r)&&(r[i]=Qc[i]):i in t?r[i]=t[i]:i in e&&(r[i]=e[i]);return r}function fw(e,t){const r=e.icons,i=e.aliases||Object.create(null),n=Object.create(null);function a(s){if(r[s])return n[s]=[];if(!(s in n)){n[s]=null;const o=i[s]&&i[s].parent,l=o&&a(o);l&&(n[s]=[o].concat(l))}return n[s]}return(t||Object.keys(r).concat(Object.keys(i))).forEach(a),n}function Sh(e,t,r){const i=e.icons,n=e.aliases||Object.create(null);let a={};function s(o){a=Ch(i[o]||n[o],a)}return s(t),r.forEach(s),Ch(e,a)}function dw(e,t){if(e.icons[t])return Sh(e,t,[]);const r=fw(e,[t])[t];return r?Sh(e,t,r):null}const pw=/\sid="(\S+)"/g,gw="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let mw=0;function yw(e,t=gw){const r=[];let i;for(;i=pw.exec(e);)r.push(i[1]);if(!r.length)return e;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return r.forEach(a=>{const s=typeof t=="function"?t(a):t+(mw++).toString(),o=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+o+')([")]|\\.[a-z])',"g"),"$1"+s+n+"$3")}),e=e.replace(new RegExp(n,"g"),""),e}var xw={body:'?',height:80,width:80},Ko=new Map,bp=new Map,bw=g(e=>{for(const t of e){if(!t.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(F.debug("Registering icon pack:",t.name),"loader"in t)bp.set(t.name,t.loader);else if("icons"in t)Ko.set(t.name,t.icons);else throw F.error("Invalid icon loader:",t),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),_w=g(async(e,t)=>{const r=hw(e,!0,t!==void 0);if(!r)throw new Error(`Invalid icon name: ${e}`);const i=r.prefix||t;if(!i)throw new Error(`Icon name must contain a prefix: ${e}`);let n=Ko.get(i);if(!n){const s=bp.get(i);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{n={...await s(),prefix:i},Ko.set(i,n)}catch(o){throw F.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=dw(n,r.name);if(!a)throw new Error(`Icon not found: ${e}`);return a},"getRegisteredIconData"),Ss=g(async(e,t)=>{let r;try{r=await _w(e,t==null?void 0:t.fallbackPrefix)}catch(a){F.error(a),r=xw}const i=zy(r,t);return qy(yw(i.body),i.attributes)},"getIconSVG"),Vl=g(({flowchart:e})=>{var n,a;const t=((n=e==null?void 0:e.subGraphTitleMargin)==null?void 0:n.top)??0,r=((a=e==null?void 0:e.subGraphTitleMargin)==null?void 0:a.bottom)??0,i=t+r;return{subGraphTitleTopMargin:t,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:i}},"getSubGraphTitleMargins"),Xl={},Et={};Object.defineProperty(Et,"__esModule",{value:!0});Et.BLANK_URL=Et.relativeFirstCharacters=Et.whitespaceEscapeCharsRegex=Et.urlSchemeRegex=Et.ctrlCharactersRegex=Et.htmlCtrlEntityRegex=Et.htmlEntitiesRegex=Et.invalidProtocolRegex=void 0;Et.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;Et.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;Et.htmlCtrlEntityRegex=/&(newline|tab);/gi;Et.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;Et.urlSchemeRegex=/^.+(:|:)/gim;Et.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;Et.relativeFirstCharacters=[".","/"];Et.BLANK_URL="about:blank";Object.defineProperty(Xl,"__esModule",{value:!0});var _p=Xl.sanitizeUrl=void 0,zt=Et;function ww(e){return zt.relativeFirstCharacters.indexOf(e[0])>-1}function vw(e){var t=e.replace(zt.ctrlCharactersRegex,"");return t.replace(zt.htmlEntitiesRegex,function(r,i){return String.fromCharCode(i)})}function kw(e){return URL.canParse(e)}function Th(e){try{return decodeURIComponent(e)}catch{return e}}function Cw(e){if(!e)return zt.BLANK_URL;var t,r=Th(e.trim());do r=vw(r).replace(zt.htmlCtrlEntityRegex,"").replace(zt.ctrlCharactersRegex,"").replace(zt.whitespaceEscapeCharsRegex,"").trim(),r=Th(r),t=r.match(zt.ctrlCharactersRegex)||r.match(zt.htmlEntitiesRegex)||r.match(zt.htmlCtrlEntityRegex)||r.match(zt.whitespaceEscapeCharsRegex);while(t&&t.length>0);var i=r;if(!i)return zt.BLANK_URL;if(ww(i))return i;var n=i.trimStart(),a=n.match(zt.urlSchemeRegex);if(!a)return i;var s=a[0].toLowerCase().trim();if(zt.invalidProtocolRegex.test(s))return zt.BLANK_URL;var o=n.replace(/\\/g,"/");if(s==="mailto:"||s.includes("://"))return o;if(s==="http:"||s==="https:"){if(!kw(o))return zt.BLANK_URL;var l=new URL(o);return l.protocol=l.protocol.toLowerCase(),l.hostname=l.hostname.toLowerCase(),l.toString()}return o}_p=Xl.sanitizeUrl=Cw;var Sw={value:()=>{}};function wp(){for(var e=0,t=arguments.length,r={},i;e=0&&(i=r.slice(n+1),r=r.slice(0,n)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:i}})}va.prototype=wp.prototype={constructor:va,on:function(e,t){var r=this._,i=Tw(e+"",r),n,a=-1,s=i.length;if(arguments.length<2){for(;++a0)for(var r=new Array(n),i=0,n,a;i=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),Lh.hasOwnProperty(t)?{space:Lh[t],local:e}:e}function Lw(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===Qo&&t.documentElement.namespaceURI===Qo?t.createElement(e):t.createElementNS(r,e)}}function Bw(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function vp(e){var t=Ts(e);return(t.local?Bw:Lw)(t)}function $w(){}function Zl(e){return e==null?$w:function(){return this.querySelector(e)}}function Ew(e){typeof e!="function"&&(e=Zl(e));for(var t=this._groups,r=t.length,i=new Array(r),n=0;n=_&&(_=b+1);!(w=y[_])&&++_=0;)(s=i[n])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function r2(e){e||(e=i2);function t(u,f){return u&&f?e(u.__data__,f.__data__):!u-!f}for(var r=this._groups,i=r.length,n=new Array(i),a=0;at?1:e>=t?0:NaN}function n2(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function a2(){return Array.from(this)}function s2(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?y2:typeof t=="function"?b2:x2)(e,t,r??"")):pi(this.node(),e)}function pi(e,t){return e.style.getPropertyValue(t)||Ap(e).getComputedStyle(e,null).getPropertyValue(t)}function w2(e){return function(){delete this[e]}}function v2(e,t){return function(){this[e]=t}}function k2(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function C2(e,t){return arguments.length>1?this.each((t==null?w2:typeof t=="function"?k2:v2)(e,t)):this.node()[e]}function Lp(e){return e.trim().split(/^|\s+/)}function Kl(e){return e.classList||new Bp(e)}function Bp(e){this._node=e,this._names=Lp(e.getAttribute("class")||"")}Bp.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function $p(e,t){for(var r=Kl(e),i=-1,n=t.length;++i=0&&(r=t.slice(i+1),t=t.slice(0,i)),{type:t,name:r}})}function Q2(e){return function(){var t=this.__on;if(t){for(var r=0,i=-1,n=t.length,a;r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?sa(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?sa(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ov.exec(e))?new te(t[1],t[2],t[3],1):(t=lv.exec(e))?new te(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=cv.exec(e))?sa(t[1],t[2],t[3],t[4]):(t=hv.exec(e))?sa(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=uv.exec(e))?Rh(t[1],t[2]/100,t[3]/100,1):(t=fv.exec(e))?Rh(t[1],t[2]/100,t[3]/100,t[4]):Bh.hasOwnProperty(e)?Mh(Bh[e]):e==="transparent"?new te(NaN,NaN,NaN,0):null}function Mh(e){return new te(e>>16&255,e>>8&255,e&255,1)}function sa(e,t,r,i){return i<=0&&(e=t=r=NaN),new te(e,t,r,i)}function gv(e){return e instanceof Hn||(e=_n(e)),e?(e=e.rgb(),new te(e.r,e.g,e.b,e.opacity)):new te}function Jo(e,t,r,i){return arguments.length===1?gv(e):new te(e,t,r,i??1)}function te(e,t,r,i){this.r=+e,this.g=+t,this.b=+r,this.opacity=+i}Ql(te,Jo,Ip(Hn,{brighter(e){return e=e==null?Ua:Math.pow(Ua,e),new te(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?xn:Math.pow(xn,e),new te(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new te(Lr(this.r),Lr(this.g),Lr(this.b),Ya(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Fh,formatHex:Fh,formatHex8:mv,formatRgb:Ih,toString:Ih}));function Fh(){return`#${Sr(this.r)}${Sr(this.g)}${Sr(this.b)}`}function mv(){return`#${Sr(this.r)}${Sr(this.g)}${Sr(this.b)}${Sr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ih(){const e=Ya(this.opacity);return`${e===1?"rgb(":"rgba("}${Lr(this.r)}, ${Lr(this.g)}, ${Lr(this.b)}${e===1?")":`, ${e})`}`}function Ya(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Lr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Sr(e){return e=Lr(e),(e<16?"0":"")+e.toString(16)}function Rh(e,t,r,i){return i<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new we(e,t,r,i)}function Rp(e){if(e instanceof we)return new we(e.h,e.s,e.l,e.opacity);if(e instanceof Hn||(e=_n(e)),!e)return new we;if(e instanceof we)return e;e=e.rgb();var t=e.r/255,r=e.g/255,i=e.b/255,n=Math.min(t,r,i),a=Math.max(t,r,i),s=NaN,o=a-n,l=(a+n)/2;return o?(t===a?s=(r-i)/o+(r0&&l<1?0:s,new we(s,o,l,e.opacity)}function yv(e,t,r,i){return arguments.length===1?Rp(e):new we(e,t,r,i??1)}function we(e,t,r,i){this.h=+e,this.s=+t,this.l=+r,this.opacity=+i}Ql(we,yv,Ip(Hn,{brighter(e){return e=e==null?Ua:Math.pow(Ua,e),new we(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?xn:Math.pow(xn,e),new we(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*t,n=2*r-i;return new te(co(e>=240?e-240:e+120,n,i),co(e,n,i),co(e<120?e+240:e-120,n,i),this.opacity)},clamp(){return new we(Oh(this.h),oa(this.s),oa(this.l),Ya(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Ya(this.opacity);return`${e===1?"hsl(":"hsla("}${Oh(this.h)}, ${oa(this.s)*100}%, ${oa(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Oh(e){return e=(e||0)%360,e<0?e+360:e}function oa(e){return Math.max(0,Math.min(1,e||0))}function co(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const Jl=e=>()=>e;function Op(e,t){return function(r){return e+r*t}}function xv(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(i){return Math.pow(e+i*t,r)}}function ZM(e,t){var r=t-e;return r?Op(e,r>180||r<-180?r-360*Math.round(r/360):r):Jl(isNaN(e)?t:e)}function bv(e){return(e=+e)==1?Dp:function(t,r){return r-t?xv(t,r,e):Jl(isNaN(t)?r:t)}}function Dp(e,t){var r=t-e;return r?Op(e,r):Jl(isNaN(e)?t:e)}const Dh=function e(t){var r=bv(t);function i(n,a){var s=r((n=Jo(n)).r,(a=Jo(a)).r),o=r(n.g,a.g),l=r(n.b,a.b),c=Dp(n.opacity,a.opacity);return function(h){return n.r=s(h),n.g=o(h),n.b=l(h),n.opacity=c(h),n+""}}return i.gamma=e,i}(1);function or(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var tl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ho=new RegExp(tl.source,"g");function _v(e){return function(){return e}}function wv(e){return function(t){return e(t)+""}}function vv(e,t){var r=tl.lastIndex=ho.lastIndex=0,i,n,a,s=-1,o=[],l=[];for(e=e+"",t=t+"";(i=tl.exec(e))&&(n=ho.exec(t));)(a=n.index)>r&&(a=t.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(i=i[0])===(n=n[0])?o[s]?o[s]+=n:o[++s]=n:(o[++s]=null,l.push({i:s,x:or(i,n)})),r=ho.lastIndex;return r180?h+=360:h-c>180&&(c+=360),f.push({i:u.push(n(u)+"rotate(",null,i)-2,x:or(c,h)})):h&&u.push(n(u)+"rotate("+h+i)}function o(c,h,u,f){c!==h?f.push({i:u.push(n(u)+"skewX(",null,i)-2,x:or(c,h)}):h&&u.push(n(u)+"skewX("+h+i)}function l(c,h,u,f,d,p){if(c!==u||h!==f){var m=d.push(n(d)+"scale(",null,",",null,")");p.push({i:m-4,x:or(c,u)},{i:m-2,x:or(h,f)})}else(u!==1||f!==1)&&d.push(n(d)+"scale("+u+","+f+")")}return function(c,h){var u=[],f=[];return c=e(c),h=e(h),a(c.translateX,c.translateY,h.translateX,h.translateY,u,f),s(c.rotate,h.rotate,u,f),o(c.skewX,h.skewX,u,f),l(c.scaleX,c.scaleY,h.scaleX,h.scaleY,u,f),c=h=null,function(d){for(var p=-1,m=f.length,y;++p=0&&e._call.call(void 0,t),e=e._next;--gi}function Nh(){Fr=(Va=wn.now())+As,gi=Zi=0;try{Lv()}finally{gi=0,$v(),Fr=0}}function Bv(){var e=wn.now(),t=e-Va;t>zp&&(As-=t,Va=e)}function $v(){for(var e,t=Ga,r,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:Ga=r);Ki=e,rl(i)}function rl(e){if(!gi){Zi&&(Zi=clearTimeout(Zi));var t=e-Fr;t>24?(e<1/0&&(Zi=setTimeout(Nh,e-wn.now()-As)),qi&&(qi=clearInterval(qi))):(qi||(Va=wn.now(),qi=setInterval(Bv,zp)),gi=1,qp(Nh))}}function zh(e,t,r){var i=new Xa;return t=t==null?0:+t,i.restart(n=>{i.stop(),e(n+t)},t,r),i}var Ev=wp("start","end","cancel","interrupt"),Mv=[],Hp=0,qh=1,il=2,ka=3,Wh=4,nl=5,Ca=6;function Ls(e,t,r,i,n,a){var s=e.__transition;if(!s)e.__transition={};else if(r in s)return;Fv(e,r,{name:t,index:i,group:n,on:Ev,tween:Mv,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Hp})}function ec(e,t){var r=Te(e,t);if(r.state>Hp)throw new Error("too late; already scheduled");return r}function Ne(e,t){var r=Te(e,t);if(r.state>ka)throw new Error("too late; already running");return r}function Te(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function Fv(e,t,r){var i=e.__transition,n;i[t]=r,r.timer=Wp(a,0,r.time);function a(c){r.state=qh,r.timer.restart(s,r.delay,r.time),r.delay<=c&&s(c-r.delay)}function s(c){var h,u,f,d;if(r.state!==qh)return l();for(h in i)if(d=i[h],d.name===r.name){if(d.state===ka)return zh(s);d.state===Wh?(d.state=Ca,d.timer.stop(),d.on.call("interrupt",e,e.__data__,d.index,d.group),delete i[h]):+hil&&i.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function hk(e,t,r){var i,n,a=ck(t)?ec:Ne;return function(){var s=a(this,e),o=s.on;o!==i&&(n=(i=o).copy()).on(t,r),s.on=n}}function uk(e,t){var r=this._id;return arguments.length<2?Te(this.node(),r).on.on(e):this.each(hk(r,e,t))}function fk(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function dk(){return this.on("end.remove",fk(this._id))}function pk(e){var t=this._name,r=this._id;typeof e!="function"&&(e=Zl(e));for(var i=this._groups,n=i.length,a=new Array(n),s=0;s=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Gp;const r=10**t;return function(i){this._+=i[0];for(let n=1,a=i.length;nbr)if(!(Math.abs(u*l-c*h)>br)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let d=i-s,p=n-o,m=l*l+c*c,y=d*d+p*p,x=Math.sqrt(m),b=Math.sqrt(f),_=a*Math.tan((al-Math.acos((m+f-y)/(2*x*b)))/2),k=_/b,w=_/x;Math.abs(k-1)>br&&this._append`L${t+k*h},${r+k*u}`,this._append`A${a},${a},0,0,${+(u*d>h*p)},${this._x1=t+w*l},${this._y1=r+w*c}`}}arc(t,r,i,n,a,s){if(t=+t,r=+r,i=+i,s=!!s,i<0)throw new Error(`negative radius: ${i}`);let o=i*Math.cos(n),l=i*Math.sin(n),c=t+o,h=r+l,u=1^s,f=s?n-a:a-n;this._x1===null?this._append`M${c},${h}`:(Math.abs(this._x1-c)>br||Math.abs(this._y1-h)>br)&&this._append`L${c},${h}`,i&&(f<0&&(f=f%sl+sl),f>Nk?this._append`A${i},${i},0,1,${u},${t-o},${r-l}A${i},${i},0,1,${u},${this._x1=c},${this._y1=h}`:f>br&&this._append`A${i},${i},0,${+(f>=al)},${u},${this._x1=t+i*Math.cos(a)},${this._y1=r+i*Math.sin(a)}`)}rect(t,r,i,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${i=+i}v${+n}h${-i}Z`}toString(){return this._}}function Vr(e){return function(){return e}}const KM=Math.abs,QM=Math.atan2,JM=Math.cos,t3=Math.max,e3=Math.min,r3=Math.sin,i3=Math.sqrt,Hh=1e-12,ic=Math.PI,jh=ic/2,n3=2*ic;function a3(e){return e>1?0:e<-1?ic:Math.acos(e)}function s3(e){return e>=1?jh:e<=-1?-jh:Math.asin(e)}function Wk(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const i=Math.floor(r);if(!(i>=0))throw new RangeError(`invalid digits: ${r}`);t=i}return e},()=>new qk(t)}function Hk(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Vp(e){this._context=e}Vp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Xp(e){return new Vp(e)}function jk(e){return e[0]}function Uk(e){return e[1]}function Yk(e,t){var r=Vr(!0),i=null,n=Xp,a=null,s=Wk(o);e=typeof e=="function"?e:e===void 0?jk:Vr(e),t=typeof t=="function"?t:t===void 0?Uk:Vr(t);function o(l){var c,h=(l=Hk(l)).length,u,f=!1,d;for(i==null&&(a=n(d=s())),c=0;c<=h;++c)!(c0)for(var i=e[0],n=t[0],a=e[r]-i,s=t[r]-n,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*e[o]+(1-this._beta)*(i+l*a),this._beta*t[o]+(1-this._beta)*(n+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const Kk=function e(t){function r(i){return t===1?new Bs(i):new tg(i,t)}return r.beta=function(i){return e(+i)},r}(.85);function Ka(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function nc(e,t){this._context=e,this._k=(1-t)/6}nc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ka(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Ka(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const Qk=function e(t){function r(i){return new nc(i,t)}return r.tension=function(i){return e(+i)},r}(0);function ac(e,t){this._context=e,this._k=(1-t)/6}ac.prototype={areaStart:fr,areaEnd:fr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Ka(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const Jk=function e(t){function r(i){return new ac(i,t)}return r.tension=function(i){return e(+i)},r}(0);function sc(e,t){this._context=e,this._k=(1-t)/6}sc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ka(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const tC=function e(t){function r(i){return new sc(i,t)}return r.tension=function(i){return e(+i)},r}(0);function oc(e,t,r){var i=e._x1,n=e._y1,a=e._x2,s=e._y2;if(e._l01_a>Hh){var o=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);i=(i*o-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,n=(n*o-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>Hh){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,h=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*c+e._x1*e._l23_2a-t*e._l12_2a)/h,s=(s*c+e._y1*e._l23_2a-r*e._l12_2a)/h}e._context.bezierCurveTo(i,n,a,s,e._x2,e._y2)}function eg(e,t){this._context=e,this._alpha=t}eg.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:oc(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const eC=function e(t){function r(i){return t?new eg(i,t):new nc(i,0)}return r.alpha=function(i){return e(+i)},r}(.5);function rg(e,t){this._context=e,this._alpha=t}rg.prototype={areaStart:fr,areaEnd:fr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:oc(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const rC=function e(t){function r(i){return t?new rg(i,t):new ac(i,0)}return r.alpha=function(i){return e(+i)},r}(.5);function ig(e,t){this._context=e,this._alpha=t}ig.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:oc(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const iC=function e(t){function r(i){return t?new ig(i,t):new sc(i,0)}return r.alpha=function(i){return e(+i)},r}(.5);function ng(e){this._context=e}ng.prototype={areaStart:fr,areaEnd:fr,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function nC(e){return new ng(e)}function Uh(e){return e<0?-1:1}function Yh(e,t,r){var i=e._x1-e._x0,n=t-e._x1,a=(e._y1-e._y0)/(i||n<0&&-0),s=(r-e._y1)/(n||i<0&&-0),o=(a*n+s*i)/(i+n);return(Uh(a)+Uh(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function Gh(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function uo(e,t,r){var i=e._x0,n=e._y0,a=e._x1,s=e._y1,o=(a-i)/3;e._context.bezierCurveTo(i+o,n+o*t,a-o,s-o*r,a,s)}function Qa(e){this._context=e}Qa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:uo(this,this._t0,Gh(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,uo(this,Gh(this,r=Yh(this,e,t)),r);break;default:uo(this,this._t0,r=Yh(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function ag(e){this._context=new sg(e)}(ag.prototype=Object.create(Qa.prototype)).point=function(e,t){Qa.prototype.point.call(this,t,e)};function sg(e){this._context=e}sg.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,i,n,a){this._context.bezierCurveTo(t,e,i,r,a,n)}};function aC(e){return new Qa(e)}function sC(e){return new ag(e)}function og(e){this._context=e}og.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var i=Vh(e),n=Vh(t),a=0,s=1;s=0;--t)n[t]=(s[t]-n[t+1])/a[t];for(a[r-1]=(e[r]+n[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function lC(e){return new $s(e,.5)}function cC(e){return new $s(e,0)}function hC(e){return new $s(e,1)}function Qi(e,t,r){this.k=e,this.x=t,this.y=r}Qi.prototype={constructor:Qi,scale:function(e){return e===1?this:new Qi(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Qi(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Qi.prototype;var lg=typeof global=="object"&&global&&global.Object===Object&&global,uC=typeof self=="object"&&self&&self.Object===Object&&self,ze=lg||uC||Function("return this")(),Ja=ze.Symbol,cg=Object.prototype,fC=cg.hasOwnProperty,dC=cg.toString,Wi=Ja?Ja.toStringTag:void 0;function pC(e){var t=fC.call(e,Wi),r=e[Wi];try{e[Wi]=void 0;var i=!0}catch{}var n=dC.call(e);return i&&(t?e[Wi]=r:delete e[Wi]),n}var gC=Object.prototype,mC=gC.toString;function yC(e){return mC.call(e)}var xC="[object Null]",bC="[object Undefined]",Xh=Ja?Ja.toStringTag:void 0;function vi(e){return e==null?e===void 0?bC:xC:Xh&&Xh in Object(e)?pC(e):yC(e)}function Pr(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var _C="[object AsyncFunction]",wC="[object Function]",vC="[object GeneratorFunction]",kC="[object Proxy]";function lc(e){if(!Pr(e))return!1;var t=vi(e);return t==wC||t==vC||t==_C||t==kC}var fo=ze["__core-js_shared__"],Zh=function(){var e=/[^.]+$/.exec(fo&&fo.keys&&fo.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function CC(e){return!!Zh&&Zh in e}var SC=Function.prototype,TC=SC.toString;function Nr(e){if(e!=null){try{return TC.call(e)}catch{}try{return e+""}catch{}}return""}var AC=/[\\^$.*+?()[\]{}|]/g,LC=/^\[object .+?Constructor\]$/,BC=Function.prototype,$C=Object.prototype,EC=BC.toString,MC=$C.hasOwnProperty,FC=RegExp("^"+EC.call(MC).replace(AC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function IC(e){if(!Pr(e)||CC(e))return!1;var t=lc(e)?FC:LC;return t.test(Nr(e))}function RC(e,t){return e==null?void 0:e[t]}function zr(e,t){var r=RC(e,t);return IC(r)?r:void 0}var vn=zr(Object,"create");function OC(){this.__data__=vn?vn(null):{},this.size=0}function DC(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var PC="__lodash_hash_undefined__",NC=Object.prototype,zC=NC.hasOwnProperty;function qC(e){var t=this.__data__;if(vn){var r=t[e];return r===PC?void 0:r}return zC.call(t,e)?t[e]:void 0}var WC=Object.prototype,HC=WC.hasOwnProperty;function jC(e){var t=this.__data__;return vn?t[e]!==void 0:HC.call(t,e)}var UC="__lodash_hash_undefined__";function YC(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=vn&&t===void 0?UC:t,this}function Ir(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t-1}function JC(e,t){var r=this.__data__,i=Ms(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}function Je(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=TS}function Rs(e){return e!=null&&pg(e.length)&&!lc(e)}function AS(e){return Un(e)&&Rs(e)}function LS(){return!1}var gg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,iu=gg&&typeof module=="object"&&module&&!module.nodeType&&module,BS=iu&&iu.exports===gg,nu=BS?ze.Buffer:void 0,$S=nu?nu.isBuffer:void 0,hc=$S||LS,ES="[object Object]",MS=Function.prototype,FS=Object.prototype,mg=MS.toString,IS=FS.hasOwnProperty,RS=mg.call(Object);function OS(e){if(!Un(e)||vi(e)!=ES)return!1;var t=fg(e);if(t===null)return!0;var r=IS.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&mg.call(r)==RS}var DS="[object Arguments]",PS="[object Array]",NS="[object Boolean]",zS="[object Date]",qS="[object Error]",WS="[object Function]",HS="[object Map]",jS="[object Number]",US="[object Object]",YS="[object RegExp]",GS="[object Set]",VS="[object String]",XS="[object WeakMap]",ZS="[object ArrayBuffer]",KS="[object DataView]",QS="[object Float32Array]",JS="[object Float64Array]",tT="[object Int8Array]",eT="[object Int16Array]",rT="[object Int32Array]",iT="[object Uint8Array]",nT="[object Uint8ClampedArray]",aT="[object Uint16Array]",sT="[object Uint32Array]",wt={};wt[QS]=wt[JS]=wt[tT]=wt[eT]=wt[rT]=wt[iT]=wt[nT]=wt[aT]=wt[sT]=!0;wt[DS]=wt[PS]=wt[ZS]=wt[NS]=wt[KS]=wt[zS]=wt[qS]=wt[WS]=wt[HS]=wt[jS]=wt[US]=wt[YS]=wt[GS]=wt[VS]=wt[XS]=!1;function oT(e){return Un(e)&&pg(e.length)&&!!wt[vi(e)]}function lT(e){return function(t){return e(t)}}var yg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,cn=yg&&typeof module=="object"&&module&&!module.nodeType&&module,cT=cn&&cn.exports===yg,po=cT&&lg.process,au=function(){try{var e=cn&&cn.require&&cn.require("util").types;return e||po&&po.binding&&po.binding("util")}catch{}}(),su=au&&au.isTypedArray,uc=su?lT(su):oT;function ll(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}var hT=Object.prototype,uT=hT.hasOwnProperty;function fT(e,t,r){var i=e[t];(!(uT.call(e,t)&&Es(i,r))||r===void 0&&!(t in e))&&cc(e,t,r)}function dT(e,t,r,i){var n=!r;r||(r={});for(var a=-1,s=t.length;++a-1&&e%1==0&&e0){if(++t>=$T)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var IT=FT(BT);function RT(e,t){return IT(AT(e,t,wg),e+"")}function OT(e,t,r){if(!Pr(r))return!1;var i=typeof t;return(i=="number"?Rs(r)&&xg(t,r.length):i=="string"&&t in r)?Es(r[t],e):!1}function DT(e){return RT(function(t,r){var i=-1,n=r.length,a=n>1?r[n-1]:void 0,s=n>2?r[2]:void 0;for(a=e.length>3&&typeof a=="function"?(n--,a):void 0,s&&OT(r[0],r[1],s)&&(a=n<3?void 0:a,n=1),t=Object(t);++io.args);Ia(s),i=Ot(i,[...s])}else i=r.args;if(!i)return;let n=Rl(e,t);const a="config";return i[a]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),i[n]=i[a],delete i[a]),i},"detectInit"),vg=g(function(e,t=null){var r,i;try{const n=new RegExp(`[%]{2}(?![{]${qT.source})(?=[}][%]{2}).* +`,"ig");e=e.trim().replace(n,"").replace(/'/gm,'"'),F.debug(`Detecting diagram directive${t!==null?" type:"+t:""} based on the text:${e}`);let a;const s=[];for(;(a=on.exec(e))!==null;)if(a.index===on.lastIndex&&on.lastIndex++,a&&!t||t&&((r=a[1])!=null&&r.match(t))||t&&((i=a[2])!=null&&i.match(t))){const o=a[1]?a[1]:a[2],l=a[3]?a[3].trim():a[4]?JSON.parse(a[4].trim()):null;s.push({type:o,args:l})}return s.length===0?{type:e,args:null}:s.length===1?s[0]:s}catch(n){return F.error(`ERROR: ${n.message} - Unable to parse directive type: '${t}' based on the text: '${e}'`),{type:void 0,args:null}}},"detectDirective"),HT=g(function(e){return e.replace(on,"")},"removeDirectives"),jT=g(function(e,t){for(const[r,i]of t.entries())if(i.match(e))return r;return-1},"isSubstringInArray");function fc(e,t){if(!e)return t;const r=`curve${e.charAt(0).toUpperCase()+e.slice(1)}`;return zT[r]??t}g(fc,"interpolateToCurve");function kg(e,t){const r=e.trim();if(r)return t.securityLevel!=="loose"?_p(r):r}g(kg,"formatUrl");var UT=g((e,...t)=>{const r=e.split("."),i=r.length-1,n=r[i];let a=window;for(let s=0;s{r+=dc(n,t),t=n});const i=r/2;return pc(e,i)}g(Cg,"traverseEdge");function Sg(e){return e.length===1?e[0]:Cg(e)}g(Sg,"calcLabelPosition");var lu=g((e,t=2)=>{const r=Math.pow(10,t);return Math.round(e*r)/r},"roundNumber"),pc=g((e,t)=>{let r,i=t;for(const n of e){if(r){const a=dc(n,r);if(a=1)return{x:n.x,y:n.y};if(s>0&&s<1)return{x:lu((1-s)*r.x+s*n.x,5),y:lu((1-s)*r.y+s*n.y,5)}}}r=n}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),YT=g((e,t,r)=>{F.info(`our points ${JSON.stringify(t)}`),t[0]!==r&&(t=t.reverse());const n=pc(t,25),a=e?10:5,s=Math.atan2(t[0].y-n.y,t[0].x-n.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(t[0].x+n.x)/2,o.y=-Math.cos(s)*a+(t[0].y+n.y)/2,o},"calcCardinalityPosition");function Tg(e,t,r){const i=structuredClone(r);F.info("our points",i),t!=="start_left"&&t!=="start_right"&&i.reverse();const n=25+e,a=pc(i,n),s=10+e*.5,o=Math.atan2(i[0].y-a.y,i[0].x-a.x),l={x:0,y:0};return t==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(i[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(i[0].y+a.y)/2):t==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(i[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(i[0].y+a.y)/2-5):t==="end_left"?(l.x=Math.sin(o)*s+(i[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(i[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(i[0].x+a.x)/2,l.y=-Math.cos(o)*s+(i[0].y+a.y)/2),l}g(Tg,"calcTerminalLabelPosition");function Ag(e){let t="",r="";for(const i of e)i!==void 0&&(i.startsWith("color:")||i.startsWith("text-align:")?r=r+i+";":t=t+i+";");return{style:t,labelStyle:r}}g(Ag,"getStylesFromArray");var cu=0,GT=g(()=>(cu++,"id-"+Math.random().toString(36).substr(2,12)+"-"+cu),"generateId");function Lg(e){let t="";const r="0123456789abcdef",i=r.length;for(let n=0;nLg(e.length),"random"),XT=g(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),ZT=g(function(e,t){const r=t.text.replace(wi.lineBreakRegex," "),[,i]=Os(t.fontSize),n=e.append("text");n.attr("x",t.x),n.attr("y",t.y),n.style("text-anchor",t.anchor),n.style("font-family",t.fontFamily),n.style("font-size",i),n.style("font-weight",t.fontWeight),n.attr("fill",t.fill),t.class!==void 0&&n.attr("class",t.class);const a=n.append("tspan");return a.attr("x",t.x+t.textMargin*2),a.attr("fill",t.fill),a.text(r),n},"drawSimpleText"),KT=jn((e,t,r)=>{if(!e||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),wi.lineBreakRegex.test(e)))return e;const i=e.split(" ").filter(Boolean),n=[];let a="";return i.forEach((s,o)=>{const l=mi(`${s} `,r),c=mi(a,r);if(l>t){const{hyphenatedStrings:f,remainingWord:d}=QT(s,t,"-",r);n.push(a,...f),a=d}else c+l>=t?(n.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===i.length&&n.push(a)}),n.filter(s=>s!=="").join(r.joinWith)},(e,t,r)=>`${e}${t}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),QT=jn((e,t,r="-",i)=>{i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},i);const n=[...e],a=[];let s="";return n.forEach((o,l)=>{const c=`${s}${o}`;if(mi(c,i)>=t){const u=l+1,f=n.length===u,d=`${c}${r}`;a.push(f?c:d),s=""}else s=c}),{hyphenatedStrings:a,remainingWord:s}},(e,t,r="-",i)=>`${e}${t}${r}${i.fontSize}${i.fontWeight}${i.fontFamily}`);function Bg(e,t){return gc(e,t).height}g(Bg,"calculateTextHeight");function mi(e,t){return gc(e,t).width}g(mi,"calculateTextWidth");var gc=jn((e,t)=>{const{fontSize:r=12,fontFamily:i="Arial",fontWeight:n=400}=t;if(!e)return{width:0,height:0};const[,a]=Os(r),s=["sans-serif",i],o=e.split(wi.lineBreakRegex),l=[],c=ut("body");if(!c.remove)return{width:0,height:0,lineHeight:0};const h=c.append("svg");for(const f of s){let d=0;const p={width:0,height:0,lineHeight:0};for(const m of o){const y=XT();y.text=m||NT;const x=ZT(h,y).style("font-size",a).style("font-weight",n).style("font-family",f),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");p.width=Math.round(Math.max(p.width,b.width)),d=Math.round(b.height),p.height+=d,p.lineHeight=Math.round(Math.max(p.lineHeight,d))}l.push(p)}h.remove();const u=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[u]},(e,t)=>`${e}${t.fontSize}${t.fontWeight}${t.fontFamily}`),In,JT=(In=class{constructor(t=!1,r){this.count=0,this.count=r?r.length:0,this.next=t?()=>this.count++:()=>Date.now()}},g(In,"InitIDGenerator"),In),ca,tA=g(function(e){return ca=ca||document.createElement("div"),e=escape(e).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),ca.innerHTML=e,unescape(ca.textContent)},"entityDecode");function mc(e){return"str"in e}g(mc,"isDetailedError");var eA=g((e,t,r,i)=>{var a;if(!i)return;const n=(a=e.node())==null?void 0:a.getBBox();n&&e.append("text").text(i).attr("text-anchor","middle").attr("x",n.x+n.width/2).attr("y",-r).attr("class",t)},"insertTitle"),Os=g(e=>{if(typeof e=="number")return[e,e+"px"];const t=parseInt(e??"",10);return Number.isNaN(t)?[void 0,void 0]:e===String(t)?[t,e+"px"]:[t,e]},"parseFontSize");function yc(e,t){return PT({},e,t)}g(yc,"cleanAndMerge");var Fe={assignWithDepth:Ot,wrapLabel:KT,calculateTextHeight:Bg,calculateTextWidth:mi,calculateTextDimensions:gc,cleanAndMerge:yc,detectInit:WT,detectDirective:vg,isSubstringInArray:jT,interpolateToCurve:fc,calcLabelPosition:Sg,calcCardinalityPosition:YT,calcTerminalLabelPosition:Tg,formatUrl:kg,getStylesFromArray:Ag,generateId:GT,random:VT,runFunc:UT,entityDecode:tA,insertTitle:eA,parseFontSize:Os,InitIDGenerator:JT},rA=g(function(e){let t=e;return t=t.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),t=t.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),t=t.replace(/#\w+;/g,function(r){const i=r.substring(1,r.length-1);return/^\+?\d+$/.test(i)?"fl°°"+i+"¶ß":"fl°"+i+"¶ß"}),t},"encodeEntities"),Ci=g(function(e){return e.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),o3=g((e,t,{counter:r=0,prefix:i,suffix:n})=>`${i?`${i}_`:""}${e}_${t}_${r}${n?`_${n}`:""}`,"getEdgeId");function Gt(e){return e??null}g(Gt,"handleUndefinedAttr");function xc(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let qr=xc();function $g(e){qr=e}const Eg=/[&<>"']/,iA=new RegExp(Eg.source,"g"),Mg=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,nA=new RegExp(Mg.source,"g"),aA={"&":"&","<":"<",">":">",'"':""","'":"'"},hu=e=>aA[e];function ne(e,t){if(t){if(Eg.test(e))return e.replace(iA,hu)}else if(Mg.test(e))return e.replace(nA,hu);return e}const sA=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function oA(e){return e.replace(sA,(t,r)=>(r=r.toLowerCase(),r==="colon"?":":r.charAt(0)==="#"?r.charAt(1)==="x"?String.fromCharCode(parseInt(r.substring(2),16)):String.fromCharCode(+r.substring(1)):""))}const lA=/(^|[^\[])\^/g;function yt(e,t){let r=typeof e=="string"?e:e.source;t=t||"";const i={replace:(n,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(lA,"$1"),r=r.replace(n,s),i},getRegex:()=>new RegExp(r,t)};return i}function uu(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const hn={exec:()=>null};function fu(e,t){const r=e.replace(/\|/g,(a,s,o)=>{let l=!1,c=s;for(;--c>=0&&o[c]==="\\";)l=!l;return l?"|":" |"}),i=r.split(/ \|/);let n=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),t)if(i.length>t)i.splice(t);else for(;i.length{const a=n.match(/^\s+/);if(a===null)return n;const[s]=a;return s.length>=i.length?n.slice(i.length):n}).join(` +`)}class is{constructor(t){Q(this,"options");Q(this,"rules");Q(this,"lexer");this.options=t||qr}space(t){const r=this.rules.block.newline.exec(t);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(t){const r=this.rules.block.code.exec(t);if(r){const i=r[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?i:Hi(i,` +`)}}}fences(t){const r=this.rules.block.fences.exec(t);if(r){const i=r[0],n=hA(i,r[3]||"");return{type:"code",raw:i,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:n}}}heading(t){const r=this.rules.block.heading.exec(t);if(r){let i=r[2].trim();if(/#$/.test(i)){const n=Hi(i,"#");(this.options.pedantic||!n||/ $/.test(n))&&(i=n.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(t){const r=this.rules.block.hr.exec(t);if(r)return{type:"hr",raw:Hi(r[0],` +`)}}blockquote(t){const r=this.rules.block.blockquote.exec(t);if(r){let i=Hi(r[0],` +`).split(` +`),n="",a="";const s=[];for(;i.length>0;){let o=!1;const l=[];let c;for(c=0;c/.test(i[c]))l.push(i[c]),o=!0;else if(!o)l.push(i[c]);else break;i=i.slice(c);const h=l.join(` +`),u=h.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` + $1`).replace(/^ {0,3}>[ \t]?/gm,"");n=n?`${n} +${h}`:h,a=a?`${a} +${u}`:u;const f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(u,s,!0),this.lexer.state.top=f,i.length===0)break;const d=s[s.length-1];if((d==null?void 0:d.type)==="code")break;if((d==null?void 0:d.type)==="blockquote"){const p=d,m=p.raw+` +`+i.join(` +`),y=this.blockquote(m);s[s.length-1]=y,n=n.substring(0,n.length-p.raw.length)+y.raw,a=a.substring(0,a.length-p.text.length)+y.text;break}else if((d==null?void 0:d.type)==="list"){const p=d,m=p.raw+` +`+i.join(` +`),y=this.list(m);s[s.length-1]=y,n=n.substring(0,n.length-d.raw.length)+y.raw,a=a.substring(0,a.length-p.raw.length)+y.raw,i=m.substring(s[s.length-1].raw.length).split(` +`);continue}}return{type:"blockquote",raw:n,tokens:s,text:a}}}list(t){let r=this.rules.block.list.exec(t);if(r){let i=r[1].trim();const n=i.length>1,a={type:"list",raw:"",ordered:n,start:n?+i.slice(0,-1):"",loose:!1,items:[]};i=n?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=n?i:"[*+-]");const s=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`);let o=!1;for(;t;){let l=!1,c="",h="";if(!(r=s.exec(t))||this.rules.block.hr.test(t))break;c=r[0],t=t.substring(c.length);let u=r[2].split(` +`,1)[0].replace(/^\t+/,x=>" ".repeat(3*x.length)),f=t.split(` +`,1)[0],d=!u.trim(),p=0;if(this.options.pedantic?(p=2,h=u.trimStart()):d?p=r[1].length+1:(p=r[2].search(/[^ ]/),p=p>4?1:p,h=u.slice(p),p+=r[1].length),d&&/^ *$/.test(f)&&(c+=f+` +`,t=t.substring(f.length+1),l=!0),!l){const x=new RegExp(`^ {0,${Math.min(3,p-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),b=new RegExp(`^ {0,${Math.min(3,p-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),_=new RegExp(`^ {0,${Math.min(3,p-1)}}(?:\`\`\`|~~~)`),k=new RegExp(`^ {0,${Math.min(3,p-1)}}#`);for(;t;){const w=t.split(` +`,1)[0];if(f=w,this.options.pedantic&&(f=f.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),_.test(f)||k.test(f)||x.test(f)||b.test(t))break;if(f.search(/[^ ]/)>=p||!f.trim())h+=` +`+f.slice(p);else{if(d||u.search(/[^ ]/)>=4||_.test(u)||k.test(u)||b.test(u))break;h+=` +`+f}!d&&!f.trim()&&(d=!0),c+=w+` +`,t=t.substring(w.length+1),u=f.slice(p)}}a.loose||(o?a.loose=!0:/\n *\n *$/.test(c)&&(o=!0));let m=null,y;this.options.gfm&&(m=/^\[[ xX]\] /.exec(h),m&&(y=m[0]!=="[ ] ",h=h.replace(/^\[[ xX]\] +/,""))),a.items.push({type:"list_item",raw:c,task:!!m,checked:y,loose:!1,text:h,tokens:[]}),a.raw+=c}a.items[a.items.length-1].raw=a.items[a.items.length-1].raw.trimEnd(),a.items[a.items.length-1].text=a.items[a.items.length-1].text.trimEnd(),a.raw=a.raw.trimEnd();for(let l=0;lu.type==="space"),h=c.length>0&&c.some(u=>/\n.*\n/.test(u.raw));a.loose=h}if(a.loose)for(let l=0;l$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:i,raw:r[0],href:n,title:a}}}table(t){const r=this.rules.block.table.exec(t);if(!r||!/[:|]/.test(r[2]))return;const i=fu(r[1]),n=r[2].replace(/^\||\| *$/g,"").split("|"),a=r[3]&&r[3].trim()?r[3].replace(/\n[ \t]*$/,"").split(` +`):[],s={type:"table",raw:r[0],header:[],align:[],rows:[]};if(i.length===n.length){for(const o of n)/^ *-+: *$/.test(o)?s.align.push("right"):/^ *:-+: *$/.test(o)?s.align.push("center"):/^ *:-+ *$/.test(o)?s.align.push("left"):s.align.push(null);for(let o=0;o({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[c]})));return s}}lheading(t){const r=this.rules.block.lheading.exec(t);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(t){const r=this.rules.block.paragraph.exec(t);if(r){const i=r[1].charAt(r[1].length-1)===` +`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:i,tokens:this.lexer.inline(i)}}}text(t){const r=this.rules.block.text.exec(t);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(t){const r=this.rules.inline.escape.exec(t);if(r)return{type:"escape",raw:r[0],text:ne(r[1])}}tag(t){const r=this.rules.inline.tag.exec(t);if(r)return!this.lexer.state.inLink&&/^
    /i.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(t){const r=this.rules.inline.link.exec(t);if(r){const i=r[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;const s=Hi(i.slice(0,-1),"\\");if((i.length-s.length)%2===0)return}else{const s=cA(r[2],"()");if(s>-1){const l=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,l).trim(),r[3]=""}}let n=r[2],a="";if(this.options.pedantic){const s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);s&&(n=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return n=n.trim(),/^$/.test(i)?n=n.slice(1):n=n.slice(1,-1)),du(r,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer)}}reflink(t,r){let i;if((i=this.rules.inline.reflink.exec(t))||(i=this.rules.inline.nolink.exec(t))){const n=(i[2]||i[1]).replace(/\s+/g," "),a=r[n.toLowerCase()];if(!a){const s=i[0].charAt(0);return{type:"text",raw:s,text:s}}return du(i,a,i[0],this.lexer)}}emStrong(t,r,i=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!n||n[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(n[1]||n[2]||"")||!i||this.rules.inline.punctuation.exec(i)){const s=[...n[0]].length-1;let o,l,c=s,h=0;const u=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,r=r.slice(-1*t.length+s);(n=u.exec(r))!=null;){if(o=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!o)continue;if(l=[...o].length,n[3]||n[4]){c+=l;continue}else if((n[5]||n[6])&&s%3&&!((s+l)%3)){h+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c+h);const f=[...n[0]][0].length,d=t.slice(0,s+n.index+f+l);if(Math.min(s,l)%2){const m=d.slice(1,-1);return{type:"em",raw:d,text:m,tokens:this.lexer.inlineTokens(m)}}const p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(t){const r=this.rules.inline.code.exec(t);if(r){let i=r[2].replace(/\n/g," ");const n=/[^ ]/.test(i),a=/^ /.test(i)&&/ $/.test(i);return n&&a&&(i=i.substring(1,i.length-1)),i=ne(i,!0),{type:"codespan",raw:r[0],text:i}}}br(t){const r=this.rules.inline.br.exec(t);if(r)return{type:"br",raw:r[0]}}del(t){const r=this.rules.inline.del.exec(t);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(t){const r=this.rules.inline.autolink.exec(t);if(r){let i,n;return r[2]==="@"?(i=ne(r[1]),n="mailto:"+i):(i=ne(r[1]),n=i),{type:"link",raw:r[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}url(t){var i;let r;if(r=this.rules.inline.url.exec(t)){let n,a;if(r[2]==="@")n=ne(r[0]),a="mailto:"+n;else{let s;do s=r[0],r[0]=((i=this.rules.inline._backpedal.exec(r[0]))==null?void 0:i[0])??"";while(s!==r[0]);n=ne(r[0]),r[1]==="www."?a="http://"+r[0]:a=r[0]}return{type:"link",raw:r[0],text:n,href:a,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){const r=this.rules.inline.text.exec(t);if(r){let i;return this.lexer.state.inRawBlock?i=r[0]:i=ne(r[0]),{type:"text",raw:r[0],text:i}}}}const uA=/^(?: *(?:\n|$))+/,fA=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,dA=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Yn=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,pA=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Fg=/(?:[*+-]|\d{1,9}[.)])/,Ig=yt(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Fg).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),bc=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,gA=/^[^\n]+/,_c=/(?!\s*\])(?:\\.|[^\[\]\\])+/,mA=yt(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",_c).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),yA=yt(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Fg).getRegex(),Ds="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",wc=/|$))/,xA=yt("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",wc).replace("tag",Ds).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Rg=yt(bc).replace("hr",Yn).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ds).getRegex(),bA=yt(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Rg).getRegex(),vc={blockquote:bA,code:fA,def:mA,fences:dA,heading:pA,hr:Yn,html:xA,lheading:Ig,list:yA,newline:uA,paragraph:Rg,table:hn,text:gA},pu=yt("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Yn).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ds).getRegex(),_A={...vc,table:pu,paragraph:yt(bc).replace("hr",Yn).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",pu).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ds).getRegex()},wA={...vc,html:yt(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",wc).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:hn,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:yt(bc).replace("hr",Yn).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Ig).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Og=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,vA=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Dg=/^( {2,}|\\)\n(?!\s*$)/,kA=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,TA=yt(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Gn).getRegex(),AA=yt("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Gn).getRegex(),LA=yt("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Gn).getRegex(),BA=yt(/\\([punct])/,"gu").replace(/punct/g,Gn).getRegex(),$A=yt(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),EA=yt(wc).replace("(?:-->|$)","-->").getRegex(),MA=yt("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",EA).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ns=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,FA=yt(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",ns).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Pg=yt(/^!?\[(label)\]\[(ref)\]/).replace("label",ns).replace("ref",_c).getRegex(),Ng=yt(/^!?\[(ref)\](?:\[\])?/).replace("ref",_c).getRegex(),IA=yt("reflink|nolink(?!\\()","g").replace("reflink",Pg).replace("nolink",Ng).getRegex(),kc={_backpedal:hn,anyPunctuation:BA,autolink:$A,blockSkip:SA,br:Dg,code:vA,del:hn,emStrongLDelim:TA,emStrongRDelimAst:AA,emStrongRDelimUnd:LA,escape:Og,link:FA,nolink:Ng,punctuation:CA,reflink:Pg,reflinkSearch:IA,tag:MA,text:kA,url:hn},RA={...kc,link:yt(/^!?\[(label)\]\((.*?)\)/).replace("label",ns).getRegex(),reflink:yt(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ns).getRegex()},cl={...kc,escape:yt(Og).replace("])","~|])").getRegex(),url:yt(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\l+" ".repeat(c.length));let n,a,s;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(o=>(n=o.call({lexer:this},t,r))?(t=t.substring(n.raw.length),r.push(n),!0):!1))){if(n=this.tokenizer.space(t)){t=t.substring(n.raw.length),n.raw.length===1&&r.length>0?r[r.length-1].raw+=` +`:r.push(n);continue}if(n=this.tokenizer.code(t)){t=t.substring(n.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=` +`+n.raw,a.text+=` +`+n.text,this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(n);continue}if(n=this.tokenizer.fences(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.heading(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.hr(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.blockquote(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.list(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.html(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.def(t)){t=t.substring(n.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=` +`+n.raw,a.text+=` +`+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=a.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title});continue}if(n=this.tokenizer.table(t)){t=t.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.lheading(t)){t=t.substring(n.raw.length),r.push(n);continue}if(s=t,this.options.extensions&&this.options.extensions.startBlock){let o=1/0;const l=t.slice(1);let c;this.options.extensions.startBlock.forEach(h=>{c=h.call({lexer:this},l),typeof c=="number"&&c>=0&&(o=Math.min(o,c))}),o<1/0&&o>=0&&(s=t.substring(0,o+1))}if(this.state.top&&(n=this.tokenizer.paragraph(s))){a=r[r.length-1],i&&(a==null?void 0:a.type)==="paragraph"?(a.raw+=` +`+n.raw,a.text+=` +`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(n),i=s.length!==t.length,t=t.substring(n.raw.length);continue}if(n=this.tokenizer.text(t)){t=t.substring(n.raw.length),a=r[r.length-1],a&&a.type==="text"?(a.raw+=` +`+n.raw,a.text+=` +`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(n);continue}if(t){const o="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,r}inline(t,r=[]){return this.inlineQueue.push({src:t,tokens:r}),r}inlineTokens(t,r=[]){let i,n,a,s=t,o,l,c;if(this.tokens.links){const h=Object.keys(this.tokens.links);if(h.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)h.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,o.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(l||(c=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(h=>(i=h.call({lexer:this},t,r))?(t=t.substring(i.raw.length),r.push(i),!0):!1))){if(i=this.tokenizer.escape(t)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.tag(t)){t=t.substring(i.raw.length),n=r[r.length-1],n&&i.type==="text"&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):r.push(i);continue}if(i=this.tokenizer.link(t)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(i.raw.length),n=r[r.length-1],n&&i.type==="text"&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):r.push(i);continue}if(i=this.tokenizer.emStrong(t,s,c)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.codespan(t)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.br(t)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.del(t)){t=t.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.autolink(t)){t=t.substring(i.raw.length),r.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(t))){t=t.substring(i.raw.length),r.push(i);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline){let h=1/0;const u=t.slice(1);let f;this.options.extensions.startInline.forEach(d=>{f=d.call({lexer:this},u),typeof f=="number"&&f>=0&&(h=Math.min(h,f))}),h<1/0&&h>=0&&(a=t.substring(0,h+1))}if(i=this.tokenizer.inlineText(a)){t=t.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(c=i.raw.slice(-1)),l=!0,n=r[r.length-1],n&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):r.push(i);continue}if(t){const h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}}class as{constructor(t){Q(this,"options");Q(this,"parser");this.options=t||qr}space(t){return""}code({text:t,lang:r,escaped:i}){var s;const n=(s=(r||"").match(/^\S*/))==null?void 0:s[0],a=t.replace(/\n$/,"")+` +`;return n?'
    '+(i?a:ne(a,!0))+`
    +`:"
    "+(i?a:ne(a,!0))+`
    +`}blockquote({tokens:t}){return`
    +${this.parser.parse(t)}
    +`}html({text:t}){return t}heading({tokens:t,depth:r}){return`${this.parser.parseInline(t)} +`}hr(t){return`
    +`}list(t){const r=t.ordered,i=t.start;let n="";for(let o=0;o +`+n+" +`}listitem(t){let r="";if(t.task){const i=this.checkbox({checked:!!t.checked});t.loose?t.tokens.length>0&&t.tokens[0].type==="paragraph"?(t.tokens[0].text=i+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=i+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",raw:i+" ",text:i+" "}):r+=i+" "}return r+=this.parser.parse(t.tokens,!!t.loose),`
  • ${r}
  • +`}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

    +`}table(t){let r="",i="";for(let a=0;a${n}`),` + +`+r+` +`+n+`
    +`}tablerow({text:t}){return` +${t} +`}tablecell(t){const r=this.parser.parseInline(t.tokens),i=t.header?"th":"td";return(t.align?`<${i} align="${t.align}">`:`<${i}>`)+r+` +`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${t}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:r,tokens:i}){const n=this.parser.parseInline(i),a=uu(t);if(a===null)return n;t=a;let s='
    ",s}image({href:t,title:r,text:i}){const n=uu(t);if(n===null)return i;t=n;let a=`${i}{const c=o[l].flat(1/0);i=i.concat(this.walkTokens(c,r))}):o.tokens&&(i=i.concat(this.walkTokens(o.tokens,r)))}}return i}use(...t){const r=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(i=>{const n={...i};if(n.async=this.defaults.async||n.async||!1,i.extensions&&(i.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){const s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),n.extensions=r),i.renderer){const a=this.defaults.renderer||new as(this.defaults);for(const s in i.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;const o=s;let l=i.renderer[o];i.useNewRenderer||(l=Mi(this,ds,zg).call(this,l,o,a));const c=a[o];a[o]=(...h)=>{let u=l.apply(a,h);return u===!1&&(u=c.apply(a,h)),u||""}}n.renderer=a}if(i.tokenizer){const a=this.defaults.tokenizer||new is(this.defaults);for(const s in i.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;const o=s,l=i.tokenizer[o],c=a[o];a[o]=(...h)=>{let u=l.apply(a,h);return u===!1&&(u=c.apply(a,h)),u}}n.tokenizer=a}if(i.hooks){const a=this.defaults.hooks||new un;for(const s in i.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;const o=s,l=i.hooks[o],c=a[o];un.passThroughHooks.has(s)?a[o]=h=>{if(this.defaults.async)return Promise.resolve(l.call(a,h)).then(f=>c.call(a,f));const u=l.call(a,h);return c.call(a,u)}:a[o]=(...h)=>{let u=l.apply(a,h);return u===!1&&(u=c.apply(a,h)),u}}n.hooks=a}if(i.walkTokens){const a=this.defaults.walkTokens,s=i.walkTokens;n.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...n}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,r){return Ie.lex(t,r??this.defaults)}parser(t,r){return Re.parse(t,r??this.defaults)}}ds=new WeakSet,zg=function(t,r,i){switch(r){case"heading":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,i.parser.parseInline(n.tokens),n.depth,oA(i.parser.parseInline(n.tokens,i.parser.textRenderer)))};case"code":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,n.text,n.lang,!!n.escaped)};case"table":return function(n){if(!n.type||n.type!==r)return t.apply(this,arguments);let a="",s="";for(let l=0;l0&&h.tokens[0].type==="paragraph"?(h.tokens[0].text=p+" "+h.tokens[0].text,h.tokens[0].tokens&&h.tokens[0].tokens.length>0&&h.tokens[0].tokens[0].type==="text"&&(h.tokens[0].tokens[0].text=p+" "+h.tokens[0].tokens[0].text)):h.tokens.unshift({type:"text",text:p+" "}):d+=p+" "}d+=this.parser.parse(h.tokens,o),l+=this.listitem({type:"list_item",raw:d,text:d,task:f,checked:!!u,loose:o,tokens:h.tokens})}return t.call(this,l,a,s)};case"html":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,n.text,n.block)};case"paragraph":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,this.parser.parseInline(n.tokens))};case"escape":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,n.text)};case"link":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,n.href,n.title,this.parser.parseInline(n.tokens))};case"image":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,n.href,n.title,n.text)};case"strong":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,this.parser.parseInline(n.tokens))};case"em":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,this.parser.parseInline(n.tokens))};case"codespan":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,n.text)};case"del":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,this.parser.parseInline(n.tokens))};case"text":return function(n){return!n.type||n.type!==r?t.apply(this,arguments):t.call(this,n.text)}}return t},Rn=new WeakSet,hl=function(t,r){return(i,n)=>{const a={...n},s={...this.defaults,...a};this.defaults.async===!0&&a.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);const o=Mi(this,ps,qg).call(this,!!s.silent,!!s.async);if(typeof i>"u"||i===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(i):i).then(l=>t(l,s)).then(l=>s.hooks?s.hooks.processAllTokens(l):l).then(l=>s.walkTokens?Promise.all(this.walkTokens(l,s.walkTokens)).then(()=>l):l).then(l=>r(l,s)).then(l=>s.hooks?s.hooks.postprocess(l):l).catch(o);try{s.hooks&&(i=s.hooks.preprocess(i));let l=t(i,s);s.hooks&&(l=s.hooks.processAllTokens(l)),s.walkTokens&&this.walkTokens(l,s.walkTokens);let c=r(l,s);return s.hooks&&(c=s.hooks.postprocess(c)),c}catch(l){return o(l)}}},ps=new WeakSet,qg=function(t,r){return i=>{if(i.message+=` +Please report this to https://github.com/markedjs/marked.`,t){const n="

    An error occurred:

    "+ne(i.message+"",!0)+"
    ";return r?Promise.resolve(n):n}if(r)return Promise.reject(i);throw i}};const Rr=new DA;function dt(e,t){return Rr.parse(e,t)}dt.options=dt.setOptions=function(e){return Rr.setOptions(e),dt.defaults=Rr.defaults,$g(dt.defaults),dt};dt.getDefaults=xc;dt.defaults=qr;dt.use=function(...e){return Rr.use(...e),dt.defaults=Rr.defaults,$g(dt.defaults),dt};dt.walkTokens=function(e,t){return Rr.walkTokens(e,t)};dt.parseInline=Rr.parseInline;dt.Parser=Re;dt.parser=Re.parse;dt.Renderer=as;dt.TextRenderer=Cc;dt.Lexer=Ie;dt.lexer=Ie.lex;dt.Tokenizer=is;dt.Hooks=un;dt.parse=dt;dt.options;dt.setOptions;dt.use;dt.walkTokens;dt.parseInline;Re.parse;Ie.lex;function Wg(e){for(var t=[],r=1;r/g,` +`).replace(/\n{2,}/g,` +`),n=Wg(i);return t===!1?n.replace(/ /g," "):n}g(Hg,"preprocessMarkdown");function jg(e,t={}){const r=Hg(e,t),i=dt.lexer(r),n=[[]];let a=0;function s(o,l="normal"){o.type==="text"?o.text.split(` +`).forEach((h,u)=>{u!==0&&(a++,n.push([])),h.split(" ").forEach(f=>{f=f.replace(/'/g,"'"),f&&n[a].push({content:f,type:l})})}):o.type==="strong"||o.type==="em"?o.tokens.forEach(c=>{s(c,o.type)}):o.type==="html"&&n[a].push({content:o.text,type:"normal"})}return g(s,"processNode"),i.forEach(o=>{var l;o.type==="paragraph"?(l=o.tokens)==null||l.forEach(c=>{s(c)}):o.type==="html"&&n[a].push({content:o.text,type:"normal"})}),n}g(jg,"markdownToLines");function Ug(e,{markdownAutoWrap:t}={}){const r=dt.lexer(e);function i(n){var a,s,o;return n.type==="text"?t===!1?n.text.replace(/\n */g,"
    ").replace(/ /g," "):n.text.replace(/\n */g,"
    "):n.type==="strong"?`${(a=n.tokens)==null?void 0:a.map(i).join("")}`:n.type==="em"?`${(s=n.tokens)==null?void 0:s.map(i).join("")}`:n.type==="paragraph"?`

    ${(o=n.tokens)==null?void 0:o.map(i).join("")}

    `:n.type==="space"?"":n.type==="html"?`${n.text}`:n.type==="escape"?n.text:`Unsupported markdown: ${n.type}`}return g(i,"output"),r.map(i).join("")}g(Ug,"markdownToHTML");function Yg(e){return Intl.Segmenter?[...new Intl.Segmenter().segment(e)].map(t=>t.segment):[...e]}g(Yg,"splitTextToChars");function Gg(e,t){const r=Yg(t.content);return Sc(e,[],r,t.type)}g(Gg,"splitWordToFitWidth");function Sc(e,t,r,i){if(r.length===0)return[{content:t.join(""),type:i},{content:"",type:i}];const[n,...a]=r,s=[...t,n];return e([{content:s.join(""),type:i}])?Sc(e,s,a,i):(t.length===0&&n&&(t.push(n),r.shift()),[{content:t.join(""),type:i},{content:r.join(""),type:i}])}g(Sc,"splitWordToFitWidthRecursion");function Vg(e,t){if(e.some(({content:r})=>r.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return ss(e,t)}g(Vg,"splitLineToFitWidth");function ss(e,t,r=[],i=[]){if(e.length===0)return i.length>0&&r.push(i),r.length>0?r:[];let n="";e[0].content===" "&&(n=" ",e.shift());const a=e.shift()??{content:" ",type:"normal"},s=[...i];if(n!==""&&s.push({content:n,type:"normal"}),s.push(a),t(s))return ss(e,t,r,s);if(i.length>0)r.push(i),e.unshift(a);else if(a.content){const[o,l]=Gg(t,a);r.push([o]),l.content&&e.unshift(l)}return ss(e,t,r)}g(ss,"splitLineToFitWidthRecursion");function ul(e,t){t&&e.attr("style",t)}g(ul,"applyStyle");async function Xg(e,t,r,i,n=!1){const a=e.append("foreignObject");a.attr("width",`${10*r}px`),a.attr("height",`${10*r}px`);const s=a.append("xhtml:div");let o=t.label;t.label&&ui(t.label)&&(o=await Ol(t.label.replace(wi.lineBreakRegex,` +`),ft()));const l=t.isNode?"nodeLabel":"edgeLabel",c=s.append("span");c.html(o),ul(c,t.labelStyle),c.attr("class",`${l} ${i}`),ul(s,t.labelStyle),s.style("display","table-cell"),s.style("white-space","nowrap"),s.style("line-height","1.5"),s.style("max-width",r+"px"),s.style("text-align","center"),s.attr("xmlns","http://www.w3.org/1999/xhtml"),n&&s.attr("class","labelBkg");let h=s.node().getBoundingClientRect();return h.width===r&&(s.style("display","table"),s.style("white-space","break-spaces"),s.style("width",r+"px"),h=s.node().getBoundingClientRect()),a.node()}g(Xg,"addHtmlSpan");function Ps(e,t,r){return e.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",t*r-.1+"em").attr("dy",r+"em")}g(Ps,"createTspan");function Zg(e,t,r){const i=e.append("text"),n=Ps(i,1,t);Ns(n,r);const a=n.node().getComputedTextLength();return i.remove(),a}g(Zg,"computeWidthOfText");function PA(e,t,r){var s;const i=e.append("text"),n=Ps(i,1,t);Ns(n,[{content:r,type:"normal"}]);const a=(s=n.node())==null?void 0:s.getBoundingClientRect();return a&&i.remove(),a}g(PA,"computeDimensionOfText");function Kg(e,t,r,i=!1){const a=t.append("g"),s=a.insert("rect").attr("class","background").attr("style","stroke: none"),o=a.append("text").attr("y","-10.1");let l=0;for(const c of r){const h=g(f=>Zg(a,1.1,f)<=e,"checkWidth"),u=h(c)?[c]:Vg(c,h);for(const f of u){const d=Ps(o,l,1.1);Ns(d,f),l++}}if(i){const c=o.node().getBBox(),h=2;return s.attr("x",c.x-h).attr("y",c.y-h).attr("width",c.width+2*h).attr("height",c.height+2*h),a.node()}else return o.node()}g(Kg,"createFormattedText");function Ns(e,t){e.text(""),t.forEach((r,i)=>{const n=e.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");i===0?n.text(r.content):n.text(" "+r.content)})}g(Ns,"updateTextContentAndStyles");function Qg(e){return e.replace(/fa[bklrs]?:fa-[\w-]+/g,t=>``)}g(Qg,"replaceIconSubstring");var Si=g(async(e,t="",{style:r="",isTitle:i=!1,classes:n="",useHtmlLabels:a=!0,isNode:s=!0,width:o=200,addSvgBackground:l=!1}={},c)=>{if(F.debug("XYZ createText",t,r,i,n,a,s,"addSvgBackground: ",l),a){const h=Ug(t,c),u=Qg(Ci(h)),f=t.replace(/\\\\/g,"\\"),d={isNode:s,label:ui(t)?f:u,labelStyle:r.replace("fill:","color:")};return await Xg(e,d,o,n,l)}else{const h=t.replace(//g,"
    "),u=jg(h.replace("
    ","
    "),c),f=Kg(o,e,u,t?l:!1);if(s){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const d=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");ut(f).attr("style",d)}else{const d=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");ut(f).select("rect").attr("style",d.replace(/background:/g,"fill:"));const p=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");ut(f).select("text").attr("style",p)}return f}},"createText");function go(e,t,r){if(e&&e.length){const[i,n]=t,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of e){const[c,h]=l;l[0]=(c-i)*s-(h-n)*o+i,l[1]=(c-i)*o+(h-n)*s+n}}}function NA(e,t){return e[0]===t[0]&&e[1]===t[1]}function zA(e,t,r,i=1){const n=r,a=Math.max(t,.1),s=e[0]&&e[0][0]&&typeof e[0][0]=="number"?[e]:e,o=[0,0];if(n)for(const c of s)go(c,o,n);const l=function(c,h,u){const f=[];for(const b of c){const _=[...b];NA(_[0],_[_.length-1])||_.push([_[0][0],_[0][1]]),_.length>2&&f.push(_)}const d=[];h=Math.max(h,.1);const p=[];for(const b of f)for(let _=0;_b.ymin<_.ymin?-1:b.ymin>_.ymin?1:b.x<_.x?-1:b.x>_.x?1:b.ymax===_.ymax?0:(b.ymax-_.ymax)/Math.abs(b.ymax-_.ymax)),!p.length)return d;let m=[],y=p[0].ymin,x=0;for(;m.length||p.length;){if(p.length){let b=-1;for(let _=0;_y);_++)b=_;p.splice(0,b+1).forEach(_=>{m.push({s:y,edge:_})})}if(m=m.filter(b=>!(b.edge.ymax<=y)),m.sort((b,_)=>b.edge.x===_.edge.x?0:(b.edge.x-_.edge.x)/Math.abs(b.edge.x-_.edge.x)),(u!==1||x%h==0)&&m.length>1)for(let b=0;b=m.length)break;const k=m[b].edge,w=m[_].edge;d.push([[Math.round(k.x),y],[Math.round(w.x),y]])}y+=u,m.forEach(b=>{b.edge.x=b.edge.x+u*b.edge.islope}),x++}return d}(s,a,i);if(n){for(const c of s)go(c,o,-n);(function(c,h,u){const f=[];c.forEach(d=>f.push(...d)),go(f,h,u)})(l,o,-n)}return l}function Vn(e,t){var r;const i=t.hachureAngle+90;let n=t.hachureGap;n<0&&(n=4*t.strokeWidth),n=Math.round(Math.max(n,.1));let a=1;return t.roughness>=1&&(((r=t.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=n),zA(e,n,i,a||1)}class Tc{constructor(t){this.helper=t}fillPolygons(t,r){return this._fillPolygons(t,r)}_fillPolygons(t,r){const i=Vn(t,r);return{type:"fillSketch",ops:this.renderLines(i,r)}}renderLines(t,r){const i=[];for(const n of t)i.push(...this.helper.doubleLineOps(n[0][0],n[0][1],n[1][0],n[1][1],r));return i}}function zs(e){const t=e[0],r=e[1];return Math.sqrt(Math.pow(t[0]-r[0],2)+Math.pow(t[1]-r[1],2))}class qA extends Tc{fillPolygons(t,r){let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);const n=Vn(t,Object.assign({},r,{hachureGap:i})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*i*Math.cos(a),l=.5*i*Math.sin(a);for(const[c,h]of n)zs([c,h])&&s.push([[c[0]-o,c[1]+l],[...h]],[[c[0]+o,c[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}}class WA extends Tc{fillPolygons(t,r){const i=this._fillPolygons(t,r),n=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(t,n);return i.ops=i.ops.concat(a.ops),i}}class HA{constructor(t){this.helper=t}fillPolygons(t,r){const i=Vn(t,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(i,r)}dotsOnLines(t,r){const i=[];let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=n/4;for(const o of t){const l=zs(o),c=l/n,h=Math.ceil(c)-1,u=l-h*n,f=(o[0][0]+o[1][0])/2-n/4,d=Math.min(o[0][1],o[1][1]);for(let p=0;p{const o=zs(s),l=Math.floor(o/(i+n)),c=(o+n-l*(i+n))/2;let h=s[0],u=s[1];h[0]>u[0]&&(h=s[1],u=s[0]);const f=Math.atan((u[1]-h[1])/(u[0]-h[0]));for(let d=0;d{const s=zs(a),o=Math.round(s/(2*r));let l=a[0],c=a[1];l[0]>c[0]&&(l=a[1],c=a[0]);const h=Math.atan((c[1]-l[1])/(c[0]-l[0]));for(let u=0;uh%2?c+r:c+t);a.push({key:"C",data:l}),t=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),t=o[2],r=o[3];break;case"q":{const l=o.map((c,h)=>h%2?c+r:c+t);a.push({key:"Q",data:l}),t=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),t=o[5],r=o[6];break;case"a":t+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],t,r]});break;case"H":a.push({key:"H",data:[...o]}),t=o[0];break;case"h":t+=o[0],a.push({key:"H",data:[t]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),t=o[2],r=o[3];break;case"s":{const l=o.map((c,h)=>h%2?c+r:c+t);a.push({key:"S",data:l}),t=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),t=o[0],r=o[1];break;case"t":t+=o[0],r+=o[1],a.push({key:"T",data:[t,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),t=i,r=n}return a}function tm(e){const t=[];let r="",i=0,n=0,a=0,s=0,o=0,l=0;for(const{key:c,data:h}of e){switch(c){case"M":t.push({key:"M",data:[...h]}),[i,n]=h,[a,s]=h;break;case"C":t.push({key:"C",data:[...h]}),i=h[4],n=h[5],o=h[2],l=h[3];break;case"L":t.push({key:"L",data:[...h]}),[i,n]=h;break;case"H":i=h[0],t.push({key:"L",data:[i,n]});break;case"V":n=h[0],t.push({key:"L",data:[i,n]});break;case"S":{let u=0,f=0;r==="C"||r==="S"?(u=i+(i-o),f=n+(n-l)):(u=i,f=n),t.push({key:"C",data:[u,f,...h]}),o=h[0],l=h[1],i=h[2],n=h[3];break}case"T":{const[u,f]=h;let d=0,p=0;r==="Q"||r==="T"?(d=i+(i-o),p=n+(n-l)):(d=i,p=n);const m=i+2*(d-i)/3,y=n+2*(p-n)/3,x=u+2*(d-u)/3,b=f+2*(p-f)/3;t.push({key:"C",data:[m,y,x,b,u,f]}),o=d,l=p,i=u,n=f;break}case"Q":{const[u,f,d,p]=h,m=i+2*(u-i)/3,y=n+2*(f-n)/3,x=d+2*(u-d)/3,b=p+2*(f-p)/3;t.push({key:"C",data:[m,y,x,b,d,p]}),o=u,l=f,i=d,n=p;break}case"A":{const u=Math.abs(h[0]),f=Math.abs(h[1]),d=h[2],p=h[3],m=h[4],y=h[5],x=h[6];u===0||f===0?(t.push({key:"C",data:[i,n,y,x,y,x]}),i=y,n=x):(i!==y||n!==x)&&(em(i,n,y,x,u,f,d,p,m).forEach(function(b){t.push({key:"C",data:b})}),i=y,n=x);break}case"Z":t.push({key:"Z",data:[]}),i=a,n=s}r=c}return t}function Ui(e,t,r){return[e*Math.cos(r)-t*Math.sin(r),e*Math.sin(r)+t*Math.cos(r)]}function em(e,t,r,i,n,a,s,o,l,c){const h=(u=s,Math.PI*u/180);var u;let f=[],d=0,p=0,m=0,y=0;if(c)[d,p,m,y]=c;else{[e,t]=Ui(e,t,-h),[r,i]=Ui(r,i,-h);const D=(e-r)/2,A=(t-i)/2;let B=D*D/(n*n)+A*A/(a*a);B>1&&(B=Math.sqrt(B),n*=B,a*=B);const S=n*n,M=a*a,$=S*M-S*A*A-M*D*D,z=S*A*A+M*D*D,Y=(o===l?-1:1)*Math.sqrt(Math.abs($/z));m=Y*n*A/a+(e+r)/2,y=Y*-a*D/n+(t+i)/2,d=Math.asin(parseFloat(((t-y)/a).toFixed(9))),p=Math.asin(parseFloat(((i-y)/a).toFixed(9))),ep&&(d-=2*Math.PI),!l&&p>d&&(p-=2*Math.PI)}let x=p-d;if(Math.abs(x)>120*Math.PI/180){const D=p,A=r,B=i;p=l&&p>d?d+120*Math.PI/180*1:d+120*Math.PI/180*-1,f=em(r=m+n*Math.cos(p),i=y+a*Math.sin(p),A,B,n,a,s,0,l,[p,D,m,y])}x=p-d;const b=Math.cos(d),_=Math.sin(d),k=Math.cos(p),w=Math.sin(p),T=Math.tan(x/4),L=4/3*n*T,O=4/3*a*T,N=[e,t],R=[e+L*_,t-O*b],E=[r+L*w,i-O*k],q=[r,i];if(R[0]=2*N[0]-R[0],R[1]=2*N[1]-R[1],c)return[R,E,q].concat(f);{f=[R,E,q].concat(f);const D=[];for(let A=0;A2){const n=[];for(let a=0;a2*Math.PI&&(d=0,p=2*Math.PI);const m=2*Math.PI/l.curveStepCount,y=Math.min(m/2,(p-d)/2),x=wu(y,c,h,u,f,d,p,1,l);if(!l.disableMultiStroke){const b=wu(y,c,h,u,f,d,p,1.5,l);x.push(...b)}return s&&(o?x.push(...dr(c,h,c+u*Math.cos(d),h+f*Math.sin(d),l),...dr(c,h,c+u*Math.cos(p),h+f*Math.sin(p),l)):x.push({op:"lineTo",data:[c,h]},{op:"lineTo",data:[c+u*Math.cos(d),h+f*Math.sin(d)]})),{type:"path",ops:x}}function xu(e,t){const r=tm(Jg(Ac(e))),i=[];let n=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],n=[o[0],o[1]];break;case"L":i.push(...dr(a[0],a[1],o[0],o[1],t)),a=[o[0],o[1]];break;case"C":{const[l,c,h,u,f,d]=o;i.push(...ZA(l,c,h,u,f,d,a,t)),a=[f,d];break}case"Z":i.push(...dr(a[0],a[1],n[0],n[1],t)),a=[n[0],n[1]]}return{type:"path",ops:i}}function xo(e,t){const r=[];for(const i of e)if(i.length){const n=t.maxRandomnessOffset||0,a=i.length;if(a>2){r.push({op:"move",data:[i[0][0]+et(n,t),i[0][1]+et(n,t)]});for(let s=1;s500?.4:-.0016668*l+1.233334;let h=n.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const u=h/2,f=.2+.2*nm(n);let d=n.bowing*n.maxRandomnessOffset*(i-t)/200,p=n.bowing*n.maxRandomnessOffset*(e-r)/200;d=et(d,n,c),p=et(p,n,c);const m=[],y=()=>et(u,n,c),x=()=>et(h,n,c),b=n.preserveVertices;return s?m.push({op:"move",data:[e+(b?0:y()),t+(b?0:y())]}):m.push({op:"move",data:[e+(b?0:et(h,n,c)),t+(b?0:et(h,n,c))]}),s?m.push({op:"bcurveTo",data:[d+e+(r-e)*f+y(),p+t+(i-t)*f+y(),d+e+2*(r-e)*f+y(),p+t+2*(i-t)*f+y(),r+(b?0:y()),i+(b?0:y())]}):m.push({op:"bcurveTo",data:[d+e+(r-e)*f+x(),p+t+(i-t)*f+x(),d+e+2*(r-e)*f+x(),p+t+2*(i-t)*f+x(),r+(b?0:x()),i+(b?0:x())]}),m}function fa(e,t,r){if(!e.length)return[];const i=[];i.push([e[0][0]+et(t,r),e[0][1]+et(t,r)]),i.push([e[0][0]+et(t,r),e[0][1]+et(t,r)]);for(let n=1;n3){const a=[],s=1-r.curveTightness;n.push({op:"move",data:[e[1][0],e[1][1]]});for(let o=1;o+21&&n.push(o)):n.push(o),n.push(e[t+3])}else{const l=e[t+0],c=e[t+1],h=e[t+2],u=e[t+3],f=_r(l,c,.5),d=_r(c,h,.5),p=_r(h,u,.5),m=_r(f,d,.5),y=_r(d,p,.5),x=_r(m,y,.5);pl([l,f,m,x],0,r,n),pl([x,y,p,u],0,r,n)}var a,s;return n}function QA(e,t){return cs(e,0,e.length,t)}function cs(e,t,r,i,n){const a=n||[],s=e[t],o=e[r-1];let l=0,c=1;for(let h=t+1;hl&&(l=u,c=h)}return Math.sqrt(l)>i?(cs(e,t,c+1,i,a),cs(e,c,r,i,a)):(a.length||a.push(s),a.push(o)),a}function bo(e,t=.15,r){const i=[],n=(e.length-1)/3;for(let a=0;a0?cs(i,0,i.length,r):i}const ee="none";class hs{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,r,i){return{shape:t,sets:r||[],options:i||this.defaultOptions}}line(t,r,i,n,a){const s=this._o(a);return this._d("line",[rm(t,r,i,n,s)],s)}rectangle(t,r,i,n,a){const s=this._o(a),o=[],l=XA(t,r,i,n,s);if(s.fill){const c=[[t,r],[t+i,r],[t+i,r+n],[t,r+n]];s.fillStyle==="solid"?o.push(xo([c],s)):o.push(Xr([c],s))}return s.stroke!==ee&&o.push(l),this._d("rectangle",o,s)}ellipse(t,r,i,n,a){const s=this._o(a),o=[],l=im(i,n,s),c=fl(t,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const h=fl(t,r,s,l).opset;h.type="fillPath",o.push(h)}else o.push(Xr([c.estimatedPoints],s));return s.stroke!==ee&&o.push(c.opset),this._d("ellipse",o,s)}circle(t,r,i,n){const a=this.ellipse(t,r,i,i,n);return a.shape="circle",a}linearPath(t,r){const i=this._o(r);return this._d("linearPath",[Sa(t,!1,i)],i)}arc(t,r,i,n,a,s,o=!1,l){const c=this._o(l),h=[],u=yu(t,r,i,n,a,s,o,!0,c);if(o&&c.fill)if(c.fillStyle==="solid"){const f=Object.assign({},c);f.disableMultiStroke=!0;const d=yu(t,r,i,n,a,s,!0,!1,f);d.type="fillPath",h.push(d)}else h.push(function(f,d,p,m,y,x,b){const _=f,k=d;let w=Math.abs(p/2),T=Math.abs(m/2);w+=et(.01*w,b),T+=et(.01*T,b);let L=y,O=x;for(;L<0;)L+=2*Math.PI,O+=2*Math.PI;O-L>2*Math.PI&&(L=0,O=2*Math.PI);const N=(O-L)/b.curveStepCount,R=[];for(let E=L;E<=O;E+=N)R.push([_+w*Math.cos(E),k+T*Math.sin(E)]);return R.push([_+w*Math.cos(O),k+T*Math.sin(O)]),R.push([_,k]),Xr([R],b)}(t,r,i,n,a,s,c));return c.stroke!==ee&&h.push(u),this._d("arc",h,c)}curve(t,r){const i=this._o(r),n=[],a=mu(t,i);if(i.fill&&i.fill!==ee)if(i.fillStyle==="solid"){const s=mu(t,Object.assign(Object.assign({},i),{disableMultiStroke:!0,roughness:i.roughness?i.roughness+i.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=t;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const c of l)c.length<3?s.push(...c):c.length===3?s.push(...bo(vu([c[0],c[0],c[1],c[2]]),10,(1+i.roughness)/2)):s.push(...bo(vu(c),10,(1+i.roughness)/2))}s.length&&n.push(Xr([s],i))}return i.stroke!==ee&&n.push(a),this._d("curve",n,i)}polygon(t,r){const i=this._o(r),n=[],a=Sa(t,!0,i);return i.fill&&(i.fillStyle==="solid"?n.push(xo([t],i)):n.push(Xr([t],i))),i.stroke!==ee&&n.push(a),this._d("polygon",n,i)}path(t,r){const i=this._o(r),n=[];if(!t)return this._d("path",n,i);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=i.fill&&i.fill!=="transparent"&&i.fill!==ee,s=i.stroke!==ee,o=!!(i.simplification&&i.simplification<1),l=function(h,u,f){const d=tm(Jg(Ac(h))),p=[];let m=[],y=[0,0],x=[];const b=()=>{x.length>=4&&m.push(...bo(x,u)),x=[]},_=()=>{b(),m.length&&(p.push(m),m=[])};for(const{key:w,data:T}of d)switch(w){case"M":_(),y=[T[0],T[1]],m.push(y);break;case"L":b(),m.push([T[0],T[1]]);break;case"C":if(!x.length){const L=m.length?m[m.length-1]:y;x.push([L[0],L[1]])}x.push([T[0],T[1]]),x.push([T[2],T[3]]),x.push([T[4],T[5]]);break;case"Z":b(),m.push([y[0],y[1]])}if(_(),!f)return p;const k=[];for(const w of p){const T=QA(w,f);T.length&&k.push(T)}return k}(t,1,o?4-4*(i.simplification||1):(1+i.roughness)/2),c=xu(t,i);if(a)if(i.fillStyle==="solid")if(l.length===1){const h=xu(t,Object.assign(Object.assign({},i),{disableMultiStroke:!0,roughness:i.roughness?i.roughness+i.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else n.push(xo(l,i));else n.push(Xr(l,i));return s&&(o?l.forEach(h=>{n.push(Sa(h,!1,i))}):n.push(c)),this._d("path",n,i)}opsToPath(t,r){let i="";for(const n of t.ops){const a=typeof r=="number"&&r>=0?n.data.map(s=>+s.toFixed(r)):n.data;switch(n.op){case"move":i+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":i+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":i+=`L${a[0]} ${a[1]} `}}return i.trim()}toPaths(t){const r=t.sets||[],i=t.options||this.defaultOptions,n=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:i.stroke,strokeWidth:i.strokeWidth,fill:ee};break;case"fillPath":s={d:this.opsToPath(a),stroke:ee,strokeWidth:0,fill:i.fill||ee};break;case"fillSketch":s=this.fillSketch(a,i)}s&&n.push(s)}return n}fillSketch(t,r){let i=r.fillWeight;return i<0&&(i=r.strokeWidth/2),{d:this.opsToPath(t),stroke:r.fill||ee,strokeWidth:i,fill:ee}}_mergedShape(t){return t.filter((r,i)=>i===0||r.op!=="move")}}class JA{constructor(t,r){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new hs(r)}draw(t){const r=t.sets||[],i=t.options||this.getDefaultOptions(),n=this.ctx,a=t.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":n.save(),n.strokeStyle=i.stroke==="none"?"transparent":i.stroke,n.lineWidth=i.strokeWidth,i.strokeLineDash&&n.setLineDash(i.strokeLineDash),i.strokeLineDashOffset&&(n.lineDashOffset=i.strokeLineDashOffset),this._drawToContext(n,s,a),n.restore();break;case"fillPath":{n.save(),n.fillStyle=i.fill||"";const o=t.shape==="curve"||t.shape==="polygon"||t.shape==="path"?"evenodd":"nonzero";this._drawToContext(n,s,a,o),n.restore();break}case"fillSketch":this.fillSketch(n,s,i)}}fillSketch(t,r,i){let n=i.fillWeight;n<0&&(n=i.strokeWidth/2),t.save(),i.fillLineDash&&t.setLineDash(i.fillLineDash),i.fillLineDashOffset&&(t.lineDashOffset=i.fillLineDashOffset),t.strokeStyle=i.fill||"",t.lineWidth=n,this._drawToContext(t,r,i.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,r,i,n="nonzero"){t.beginPath();for(const a of r.ops){const s=typeof i=="number"&&i>=0?a.data.map(o=>+o.toFixed(i)):a.data;switch(a.op){case"move":t.moveTo(s[0],s[1]);break;case"bcurveTo":t.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":t.lineTo(s[0],s[1])}}r.type==="fillPath"?t.fill(n):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,r,i,n,a){const s=this.gen.line(t,r,i,n,a);return this.draw(s),s}rectangle(t,r,i,n,a){const s=this.gen.rectangle(t,r,i,n,a);return this.draw(s),s}ellipse(t,r,i,n,a){const s=this.gen.ellipse(t,r,i,n,a);return this.draw(s),s}circle(t,r,i,n){const a=this.gen.circle(t,r,i,n);return this.draw(a),a}linearPath(t,r){const i=this.gen.linearPath(t,r);return this.draw(i),i}polygon(t,r){const i=this.gen.polygon(t,r);return this.draw(i),i}arc(t,r,i,n,a,s,o=!1,l){const c=this.gen.arc(t,r,i,n,a,s,o,l);return this.draw(c),c}curve(t,r){const i=this.gen.curve(t,r);return this.draw(i),i}path(t,r){const i=this.gen.path(t,r);return this.draw(i),i}}const da="http://www.w3.org/2000/svg";class tL{constructor(t,r){this.svg=t,this.gen=new hs(r)}draw(t){const r=t.sets||[],i=t.options||this.getDefaultOptions(),n=this.svg.ownerDocument||window.document,a=n.createElementNS(da,"g"),s=t.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=n.createElementNS(da,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",i.stroke),l.setAttribute("stroke-width",i.strokeWidth+""),l.setAttribute("fill","none"),i.strokeLineDash&&l.setAttribute("stroke-dasharray",i.strokeLineDash.join(" ").trim()),i.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${i.strokeLineDashOffset}`);break;case"fillPath":l=n.createElementNS(da,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",i.fill||""),t.shape!=="curve"&&t.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(n,o,i)}l&&a.appendChild(l)}return a}fillSketch(t,r,i){let n=i.fillWeight;n<0&&(n=i.strokeWidth/2);const a=t.createElementNS(da,"path");return a.setAttribute("d",this.opsToPath(r,i.fixedDecimalPlaceDigits)),a.setAttribute("stroke",i.fill||""),a.setAttribute("stroke-width",n+""),a.setAttribute("fill","none"),i.fillLineDash&&a.setAttribute("stroke-dasharray",i.fillLineDash.join(" ").trim()),i.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${i.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,r){return this.gen.opsToPath(t,r)}line(t,r,i,n,a){const s=this.gen.line(t,r,i,n,a);return this.draw(s)}rectangle(t,r,i,n,a){const s=this.gen.rectangle(t,r,i,n,a);return this.draw(s)}ellipse(t,r,i,n,a){const s=this.gen.ellipse(t,r,i,n,a);return this.draw(s)}circle(t,r,i,n){const a=this.gen.circle(t,r,i,n);return this.draw(a)}linearPath(t,r){const i=this.gen.linearPath(t,r);return this.draw(i)}polygon(t,r){const i=this.gen.polygon(t,r);return this.draw(i)}arc(t,r,i,n,a,s,o=!1,l){const c=this.gen.arc(t,r,i,n,a,s,o,l);return this.draw(c)}curve(t,r){const i=this.gen.curve(t,r);return this.draw(i)}path(t,r){const i=this.gen.path(t,r);return this.draw(i)}}var j={canvas:(e,t)=>new JA(e,t),svg:(e,t)=>new tL(e,t),generator:e=>new hs(e),newSeed:()=>hs.newSeed()},it=g(async(e,t,r)=>{var u,f;let i;const n=t.useHtmlLabels||Dt((u=ft())==null?void 0:u.htmlLabels);r?i=r:i="node default";const a=e.insert("g").attr("class",i).attr("id",t.domId||t.id),s=a.insert("g").attr("class","label").attr("style",Gt(t.labelStyle));let o;t.label===void 0?o="":o=typeof t.label=="string"?t.label:t.label[0];const l=await Si(s,Er(Ci(o),ft()),{useHtmlLabels:n,width:t.width||((f=ft().flowchart)==null?void 0:f.wrappingWidth),cssClasses:"markdown-node-label",style:t.labelStyle,addSvgBackground:!!t.icon||!!t.img});let c=l.getBBox();const h=((t==null?void 0:t.padding)??0)/2;if(n){const d=l.children[0],p=ut(l),m=d.getElementsByTagName("img");if(m){const y=o.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(x=>new Promise(b=>{function _(){if(x.style.display="flex",x.style.flexDirection="column",y){const k=ft().fontSize?ft().fontSize:window.getComputedStyle(document.body).fontSize,w=5,[T=Sf.fontSize]=Os(k),L=T*w+"px";x.style.minWidth=L,x.style.maxWidth=L}else x.style.width="100%";b(x)}g(_,"setupImage"),setTimeout(()=>{x.complete&&_()}),x.addEventListener("error",_),x.addEventListener("load",_)})))}c=d.getBoundingClientRect(),p.attr("width",c.width),p.attr("height",c.height)}return n?s.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"):s.attr("transform","translate(0, "+-c.height/2+")"),t.centerLabel&&s.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:c,halfPadding:h,label:s}},"labelHelper"),_o=g(async(e,t,r)=>{var l,c,h,u,f,d;const i=r.useHtmlLabels||Dt((c=(l=ft())==null?void 0:l.flowchart)==null?void 0:c.htmlLabels),n=e.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await Si(n,Er(Ci(t),ft()),{useHtmlLabels:i,width:r.width||((u=(h=ft())==null?void 0:h.flowchart)==null?void 0:u.wrappingWidth),style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(Dt((d=(f=ft())==null?void 0:f.flowchart)==null?void 0:d.htmlLabels)){const p=a.children[0],m=ut(a);s=p.getBoundingClientRect(),m.attr("width",s.width),m.attr("height",s.height)}return i?n.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):n.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&n.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:e,bbox:s,halfPadding:o,label:n}},"insertLabel"),X=g((e,t)=>{const r=t.node().getBBox();e.width=r.width,e.height=r.height},"updateNodeBounds"),nt=g((e,t)=>(e.look==="handDrawn"?"rough-node":"node")+" "+e.cssClasses+" "+(t||""),"getNodeClasses");function ct(e){const t=e.map((r,i)=>`${i===0?"M":"L"}${r.x},${r.y}`);return t.push("Z"),t.join(" ")}g(ct,"createPathFromPoints");function pr(e,t,r,i,n,a){const s=[],l=r-e,c=i-t,h=l/a,u=2*Math.PI/h,f=t+c/2;for(let d=0;d<=50;d++){const p=d/50,m=e+p*l,y=f+n*Math.sin(u*(m-e));s.push({x:m,y})}return s}g(pr,"generateFullSineWavePoints");function Lc(e,t,r,i,n,a){const s=[],o=n*Math.PI/180,h=(a*Math.PI/180-o)/(i-1);for(let u=0;u{var r=e.x,i=e.y,n=t.x-r,a=t.y-i,s=e.width/2,o=e.height/2,l,c;return Math.abs(a)*s>Math.abs(n)*o?(a<0&&(o=-o),l=a===0?0:o*n/a,c=o):(n<0&&(s=-s),l=s,c=n===0?0:s*a/n),{x:r+l,y:i+c}},"intersectRect"),Ti=eL;function am(e,t){t&&e.attr("style",t)}g(am,"applyStyle");async function sm(e){const t=ut(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=t.append("xhtml:div");let i=e.label;e.label&&ui(e.label)&&(i=await Ol(e.label.replace(wi.lineBreakRegex,` +`),ft()));const n=e.isNode?"nodeLabel":"edgeLabel";return r.html('"+i+""),am(r,e.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}g(sm,"addHtmlLabel");var rL=g(async(e,t,r,i)=>{let n=e||"";if(typeof n=="object"&&(n=n[0]),Dt(ft().flowchart.htmlLabels)){n=n.replace(/\\n|\n/g,"
    "),F.info("vertexText"+n);const a={isNode:i,label:Ci(n).replace(/fa[blrs]?:fa-[\w-]+/g,o=>``),labelStyle:t&&t.replace("fill:","color:")};return await sm(a)}else{const a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof n=="string"?s=n.split(/\\n|\n|/gi):Array.isArray(n)?s=n:s=[];for(const o of s){const l=document.createElementNS("http://www.w3.org/2000/svg","tspan");l.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),l.setAttribute("dy","1em"),l.setAttribute("x","0"),r?l.setAttribute("class","title-row"):l.setAttribute("class","row"),l.textContent=o.trim(),a.appendChild(l)}return a}},"createLabel"),Tr=rL,tr=g((e,t,r,i,n)=>["M",e+n,t,"H",e+r-n,"A",n,n,0,0,1,e+r,t+n,"V",t+i-n,"A",n,n,0,0,1,e+r-n,t+i,"H",e+n,"A",n,n,0,0,1,e,t+i-n,"V",t+n,"A",n,n,0,0,1,e+n,t,"Z"].join(" "),"createRoundedRectPathD"),iL=g(e=>{const{handDrawnSeed:t}=ft();return{fill:e,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:e,seed:t}},"solidStateFill"),Ai=g(e=>{const t=nL([...e.cssCompiledStyles||[],...e.cssStyles||[]]);return{stylesMap:t,stylesArray:[...t]}},"compileStyles"),nL=g(e=>{const t=new Map;return e.forEach(r=>{const[i,n]=r.split(":");t.set(i.trim(),n==null?void 0:n.trim())}),t},"styles2Map"),Z=g(e=>{const{stylesArray:t}=Ai(e),r=[],i=[],n=[],a=[];return t.forEach(s=>{const o=s[0];o==="color"||o==="font-size"||o==="font-family"||o==="font-weight"||o==="font-style"||o==="text-decoration"||o==="text-align"||o==="text-transform"||o==="line-height"||o==="letter-spacing"||o==="word-spacing"||o==="text-shadow"||o==="text-overflow"||o==="white-space"||o==="word-wrap"||o==="word-break"||o==="overflow-wrap"||o==="hyphens"?r.push(s.join(":")+" !important"):(i.push(s.join(":")+" !important"),o.includes("stroke")&&n.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:i.join(";"),stylesArray:t,borderStyles:n,backgroundStyles:a}},"styles2String"),U=g((e,t)=>{var l;const{themeVariables:r,handDrawnSeed:i}=ft(),{nodeBorder:n,mainBkg:a}=r,{stylesMap:s}=Ai(e);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||n,seed:i,strokeWidth:((l=s.get("stroke-width"))==null?void 0:l.replace("px",""))||1.3,fillLineDash:[0,0]},t)},"userNodeOverrides"),om=g(async(e,t)=>{F.info("Creating subgraph rect for ",t.id,t);const r=ft(),{themeVariables:i,handDrawnSeed:n}=r,{clusterBkg:a,clusterBorder:s}=i,{labelStyles:o,nodeStyles:l,borderStyles:c,backgroundStyles:h}=Z(t),u=e.insert("g").attr("class","cluster "+t.cssClasses).attr("id",t.id).attr("data-look",t.look),f=Dt(r.flowchart.htmlLabels),d=u.insert("g").attr("class","cluster-label "),p=await Si(d,t.label,{style:t.labelStyle,useHtmlLabels:f,isNode:!0});let m=p.getBBox();if(Dt(r.flowchart.htmlLabels)){const L=p.children[0],O=ut(p);m=L.getBoundingClientRect(),O.attr("width",m.width),O.attr("height",m.height)}const y=t.width<=m.width+t.padding?m.width+t.padding:t.width;t.width<=m.width+t.padding?t.diff=(y-t.width)/2-t.padding:t.diff=-t.padding;const x=t.height,b=t.x-y/2,_=t.y-x/2;F.trace("Data ",t,JSON.stringify(t));let k;if(t.look==="handDrawn"){const L=j.svg(u),O=U(t,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:n}),N=L.path(tr(b,_,y,x,0),O);k=u.insert(()=>(F.debug("Rough node insert CXC",N),N),":first-child"),k.select("path:nth-child(2)").attr("style",c.join(";")),k.select("path").attr("style",h.join(";").replace("fill","stroke"))}else k=u.insert("rect",":first-child"),k.attr("style",l).attr("rx",t.rx).attr("ry",t.ry).attr("x",b).attr("y",_).attr("width",y).attr("height",x);const{subGraphTitleTopMargin:w}=Vl(r);if(d.attr("transform",`translate(${t.x-m.width/2}, ${t.y-t.height/2+w})`),o){const L=d.select("span");L&&L.attr("style",o)}const T=k.node().getBBox();return t.offsetX=0,t.width=T.width,t.height=T.height,t.offsetY=m.height-t.padding/2,t.intersect=function(L){return Ti(t,L)},{cluster:u,labelBBox:m}},"rect"),aL=g((e,t)=>{const r=e.insert("g").attr("class","note-cluster").attr("id",t.id),i=r.insert("rect",":first-child"),n=0*t.padding,a=n/2;i.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+n).attr("height",t.height+n).attr("fill","none");const s=i.node().getBBox();return t.width=s.width,t.height=s.height,t.intersect=function(o){return Ti(t,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),sL=g(async(e,t)=>{const r=ft(),{themeVariables:i,handDrawnSeed:n}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=i,c=e.insert("g").attr("class",t.cssClasses).attr("id",t.id).attr("data-id",t.id).attr("data-look",t.look),h=c.insert("g",":first-child"),u=c.insert("g").attr("class","cluster-label");let f=c.append("rect");const d=u.node().appendChild(await Tr(t.label,t.labelStyle,void 0,!0));let p=d.getBBox();if(Dt(r.flowchart.htmlLabels)){const N=d.children[0],R=ut(d);p=N.getBoundingClientRect(),R.attr("width",p.width),R.attr("height",p.height)}const m=0*t.padding,y=m/2,x=(t.width<=p.width+t.padding?p.width+t.padding:t.width)+m;t.width<=p.width+t.padding?t.diff=(x-t.width)/2-t.padding:t.diff=-t.padding;const b=t.height+m,_=t.height+m-p.height-6,k=t.x-x/2,w=t.y-b/2;t.width=x;const T=t.y-t.height/2-y+p.height+2;let L;if(t.look==="handDrawn"){const N=t.cssClasses.includes("statediagram-cluster-alt"),R=j.svg(c),E=t.rx||t.ry?R.path(tr(k,w,x,b,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:n}):R.rectangle(k,w,x,b,{seed:n});L=c.insert(()=>E,":first-child");const q=R.rectangle(k,T,x,_,{fill:N?a:s,fillStyle:N?"hachure":"solid",stroke:l,seed:n});L=c.insert(()=>E,":first-child"),f=c.insert(()=>q)}else L=h.insert("rect",":first-child"),L.attr("class","outer").attr("x",k).attr("y",w).attr("width",x).attr("height",b).attr("data-look",t.look),f.attr("class","inner").attr("x",k).attr("y",T).attr("width",x).attr("height",_);u.attr("transform",`translate(${t.x-p.width/2}, ${w+1-(Dt(r.flowchart.htmlLabels)?0:3)})`);const O=L.node().getBBox();return t.height=O.height,t.offsetX=0,t.offsetY=p.height-t.padding/2,t.labelBBox=p,t.intersect=function(N){return Ti(t,N)},{cluster:c,labelBBox:p}},"roundedWithTitle"),oL=g(async(e,t)=>{F.info("Creating subgraph rect for ",t.id,t);const r=ft(),{themeVariables:i,handDrawnSeed:n}=r,{clusterBkg:a,clusterBorder:s}=i,{labelStyles:o,nodeStyles:l,borderStyles:c,backgroundStyles:h}=Z(t),u=e.insert("g").attr("class","cluster "+t.cssClasses).attr("id",t.id).attr("data-look",t.look),f=Dt(r.flowchart.htmlLabels),d=u.insert("g").attr("class","cluster-label "),p=await Si(d,t.label,{style:t.labelStyle,useHtmlLabels:f,isNode:!0,width:t.width});let m=p.getBBox();if(Dt(r.flowchart.htmlLabels)){const L=p.children[0],O=ut(p);m=L.getBoundingClientRect(),O.attr("width",m.width),O.attr("height",m.height)}const y=t.width<=m.width+t.padding?m.width+t.padding:t.width;t.width<=m.width+t.padding?t.diff=(y-t.width)/2-t.padding:t.diff=-t.padding;const x=t.height,b=t.x-y/2,_=t.y-x/2;F.trace("Data ",t,JSON.stringify(t));let k;if(t.look==="handDrawn"){const L=j.svg(u),O=U(t,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:n}),N=L.path(tr(b,_,y,x,t.rx),O);k=u.insert(()=>(F.debug("Rough node insert CXC",N),N),":first-child"),k.select("path:nth-child(2)").attr("style",c.join(";")),k.select("path").attr("style",h.join(";").replace("fill","stroke"))}else k=u.insert("rect",":first-child"),k.attr("style",l).attr("rx",t.rx).attr("ry",t.ry).attr("x",b).attr("y",_).attr("width",y).attr("height",x);const{subGraphTitleTopMargin:w}=Vl(r);if(d.attr("transform",`translate(${t.x-m.width/2}, ${t.y-t.height/2+w})`),o){const L=d.select("span");L&&L.attr("style",o)}const T=k.node().getBBox();return t.offsetX=0,t.width=T.width,t.height=T.height,t.offsetY=m.height-t.padding/2,t.intersect=function(L){return Ti(t,L)},{cluster:u,labelBBox:m}},"kanbanSection"),lL=g((e,t)=>{const r=ft(),{themeVariables:i,handDrawnSeed:n}=r,{nodeBorder:a}=i,s=e.insert("g").attr("class",t.cssClasses).attr("id",t.id).attr("data-look",t.look),o=s.insert("g",":first-child"),l=0*t.padding,c=t.width+l;t.diff=-t.padding;const h=t.height+l,u=t.x-c/2,f=t.y-h/2;t.width=c;let d;if(t.look==="handDrawn"){const y=j.svg(s).rectangle(u,f,c,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:n});d=s.insert(()=>y,":first-child")}else d=o.insert("rect",":first-child"),d.attr("class","divider").attr("x",u).attr("y",f).attr("width",c).attr("height",h).attr("data-look",t.look);const p=d.node().getBBox();return t.height=p.height,t.offsetX=0,t.offsetY=0,t.intersect=function(m){return Ti(t,m)},{cluster:s,labelBBox:{}}},"divider"),cL=om,hL={rect:om,squareRect:cL,roundedWithTitle:sL,noteGroup:aL,divider:lL,kanbanSection:oL},lm=new Map,uL=g(async(e,t)=>{const r=t.shape||"rect",i=await hL[r](e,t);return lm.set(t.id,i),i},"insertCluster"),l3=g(()=>{lm=new Map},"clear");function cm(e,t){return e.intersect(t)}g(cm,"intersectNode");var fL=cm;function hm(e,t,r,i){var n=e.x,a=e.y,s=n-i.x,o=a-i.y,l=Math.sqrt(t*t*o*o+r*r*s*s),c=Math.abs(t*r*s/l);i.x0}g(gl,"sameSign");var pL=dm;function pm(e,t,r){let i=e.x,n=e.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(h){s=Math.min(s,h.x),o=Math.min(o,h.y)}):(s=Math.min(s,t.x),o=Math.min(o,t.y));let l=i-e.width/2-s,c=n-e.height/2-o;for(let h=0;h1&&a.sort(function(h,u){let f=h.x-r.x,d=h.y-r.y,p=Math.sqrt(f*f+d*d),m=u.x-r.x,y=u.y-r.y,x=Math.sqrt(m*m+y*y);return ph,":first-child");return u.attr("class","anchor").attr("style",Gt(o)),X(t,u),t.intersect=function(f){return F.info("Circle intersect",t,s,f),W.circle(t,s,f)},a}g(gm,"anchor");function ml(e,t,r,i,n,a,s){const l=(e+r)/2,c=(t+i)/2,h=Math.atan2(i-t,r-e),u=(r-e)/2,f=(i-t)/2,d=u/n,p=f/a,m=Math.sqrt(d**2+p**2);if(m>1)throw new Error("The given radii are too small to create an arc between the points.");const y=Math.sqrt(1-m**2),x=l+y*a*Math.sin(h)*(s?-1:1),b=c-y*n*Math.cos(h)*(s?-1:1),_=Math.atan2((t-b)/a,(e-x)/n);let w=Math.atan2((i-b)/a,(r-x)/n)-_;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);const T=[];for(let L=0;L<20;L++){const O=L/19,N=_+O*w,R=x+n*Math.cos(N),E=b+a*Math.sin(N);T.push({x:R,y:E})}return T}g(ml,"generateArcPoints");async function mm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=a.width+t.padding+20,o=a.height+t.padding,l=o/2,c=l/(2.5+o/50),{cssStyles:h}=t,u=[{x:s/2,y:-o/2},{x:-s/2,y:-o/2},...ml(-s/2,-o/2,-s/2,o/2,c,l,!1),{x:s/2,y:o/2},...ml(s/2,o/2,s/2,-o/2,c,l,!0)],f=j.svg(n),d=U(t,{});t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const p=ct(u),m=f.path(p,d),y=n.insert(()=>m,":first-child");return y.attr("class","basic label-container"),h&&t.look!=="handDrawn"&&y.selectAll("path").attr("style",h),i&&t.look!=="handDrawn"&&y.selectAll("path").attr("style",i),y.attr("transform",`translate(${c/2}, 0)`),X(t,y),t.intersect=function(x){return W.polygon(t,u,x)},n}g(mm,"bowTieRect");function er(e,t,r,i){return e.insert("polygon",":first-child").attr("points",i.map(function(n){return n.x+","+n.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+r/2+")")}g(er,"insertPolygonShape");async function ym(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=a.height+t.padding,o=12,l=a.width+t.padding+o,c=0,h=l,u=-s,f=0,d=[{x:c+o,y:u},{x:h,y:u},{x:h,y:f},{x:c,y:f},{x:c,y:u+o},{x:c+o,y:u}];let p;const{cssStyles:m}=t;if(t.look==="handDrawn"){const y=j.svg(n),x=U(t,{}),b=ct(d),_=y.path(b,x);p=n.insert(()=>_,":first-child").attr("transform",`translate(${-l/2}, ${s/2})`),m&&p.attr("style",m)}else p=er(n,l,s,d);return i&&p.attr("style",i),X(t,p),t.intersect=function(y){return W.polygon(t,d,y)},n}g(ym,"card");function xm(e,t){const{nodeStyles:r}=Z(t);t.label="";const i=e.insert("g").attr("class",nt(t)).attr("id",t.domId??t.id),{cssStyles:n}=t,a=Math.max(28,t.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=j.svg(i),l=U(t,{});t.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const c=ct(s),h=o.path(c,l),u=i.insert(()=>h,":first-child");return n&&t.look!=="handDrawn"&&u.selectAll("path").attr("style",n),r&&t.look!=="handDrawn"&&u.selectAll("path").attr("style",r),t.width=28,t.height=28,t.intersect=function(f){return W.polygon(t,s,f)},i}g(xm,"choice");async function bm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,halfPadding:s}=await it(e,t,nt(t)),o=a.width/2+s;let l;const{cssStyles:c}=t;if(t.look==="handDrawn"){const h=j.svg(n),u=U(t,{}),f=h.circle(0,0,o*2,u);l=n.insert(()=>f,":first-child"),l.attr("class","basic label-container").attr("style",Gt(c))}else l=n.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",o).attr("cx",0).attr("cy",0);return X(t,l),t.intersect=function(h){return F.info("Circle intersect",t,o,h),W.circle(t,o,h)},n}g(bm,"circle");function _m(e){const t=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),i=e*2,n={x:i/2*t,y:i/2*r},a={x:-(i/2)*t,y:i/2*r},s={x:-(i/2)*t,y:-(i/2)*r},o={x:i/2*t,y:-(i/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y} + M ${n.x},${n.y} L ${s.x},${s.y}`}g(_m,"createLine");function wm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r,t.label="";const n=e.insert("g").attr("class",nt(t)).attr("id",t.domId??t.id),a=Math.max(30,(t==null?void 0:t.width)??0),{cssStyles:s}=t,o=j.svg(n),l=U(t,{});t.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const c=o.circle(0,0,a*2,l),h=_m(a),u=o.path(h,l),f=n.insert(()=>c,":first-child");return f.insert(()=>u),s&&t.look!=="handDrawn"&&f.selectAll("path").attr("style",s),i&&t.look!=="handDrawn"&&f.selectAll("path").attr("style",i),X(t,f),t.intersect=function(d){return F.info("crossedCircle intersect",t,{radius:a,point:d}),W.circle(t,a,d)},n}g(wm,"crossedCircle");function Ue(e,t,r,i=100,n=0,a=180){const s=[],o=n*Math.PI/180,h=(a*Math.PI/180-o)/(i-1);for(let u=0;u_,":first-child").attr("stroke-opacity",0),k.insert(()=>x,":first-child"),k.attr("class","text"),h&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",h),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),k.attr("transform",`translate(${c}, 0)`),s.attr("transform",`translate(${-o/2+c-(a.x-(a.left??0))},${-l/2+(t.padding??0)/2-(a.y-(a.top??0))})`),X(t,k),t.intersect=function(w){return W.polygon(t,f,w)},n}g(vm,"curlyBraceLeft");function Ye(e,t,r,i=100,n=0,a=180){const s=[],o=n*Math.PI/180,h=(a*Math.PI/180-o)/(i-1);for(let u=0;u_,":first-child").attr("stroke-opacity",0),k.insert(()=>x,":first-child"),k.attr("class","text"),h&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",h),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),k.attr("transform",`translate(${-c}, 0)`),s.attr("transform",`translate(${-o/2+(t.padding??0)/2-(a.x-(a.left??0))},${-l/2+(t.padding??0)/2-(a.y-(a.top??0))})`),X(t,k),t.intersect=function(w){return W.polygon(t,f,w)},n}g(km,"curlyBraceRight");function It(e,t,r,i=100,n=0,a=180){const s=[],o=n*Math.PI/180,h=(a*Math.PI/180-o)/(i-1);for(let u=0;uL,":first-child").attr("stroke-opacity",0),O.insert(()=>b,":first-child"),O.insert(()=>w,":first-child"),O.attr("class","text"),h&&t.look!=="handDrawn"&&O.selectAll("path").attr("style",h),i&&t.look!=="handDrawn"&&O.selectAll("path").attr("style",i),O.attr("transform",`translate(${c-c/4}, 0)`),s.attr("transform",`translate(${-o/2+(t.padding??0)/2-(a.x-(a.left??0))},${-l/2+(t.padding??0)/2-(a.y-(a.top??0))})`),X(t,O),t.intersect=function(N){return W.polygon(t,d,N)},n}g(Cm,"curlyBraces");async function Sm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=80,o=20,l=Math.max(s,(a.width+(t.padding??0)*2)*1.25,(t==null?void 0:t.width)??0),c=Math.max(o,a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),h=c/2,{cssStyles:u}=t,f=j.svg(n),d=U(t,{});t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const p=l,m=c,y=p-h,x=m/4,b=[{x:y,y:0},{x,y:0},{x:0,y:m/2},{x,y:m},{x:y,y:m},...Lc(-y,-m/2,h,50,270,90)],_=ct(b),k=f.path(_,d),w=n.insert(()=>k,":first-child");return w.attr("class","basic label-container"),u&&t.look!=="handDrawn"&&w.selectChildren("path").attr("style",u),i&&t.look!=="handDrawn"&&w.selectChildren("path").attr("style",i),w.attr("transform",`translate(${-l/2}, ${-c/2})`),X(t,w),t.intersect=function(T){return W.polygon(t,b,T)},n}g(Sm,"curvedTrapezoid");var mL=g((e,t,r,i,n,a)=>[`M${e},${t+a}`,`a${n},${a} 0,0,0 ${r},0`,`a${n},${a} 0,0,0 ${-r},0`,`l0,${i}`,`a${n},${a} 0,0,0 ${r},0`,`l0,${-i}`].join(" "),"createCylinderPathD"),yL=g((e,t,r,i,n,a)=>[`M${e},${t+a}`,`M${e+r},${t+a}`,`a${n},${a} 0,0,0 ${-r},0`,`l0,${i}`,`a${n},${a} 0,0,0 ${r},0`,`l0,${-i}`].join(" "),"createOuterCylinderPathD"),xL=g((e,t,r,i,n,a)=>[`M${e-r/2},${-i/2}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");async function Tm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Math.max(a.width+t.padding,t.width??0),l=o/2,c=l/(2.5+o/50),h=Math.max(a.height+c+t.padding,t.height??0);let u;const{cssStyles:f}=t;if(t.look==="handDrawn"){const d=j.svg(n),p=yL(0,0,o,h,l,c),m=xL(0,c,o,h,l,c),y=d.path(p,U(t,{})),x=d.path(m,U(t,{fill:"none"}));u=n.insert(()=>x,":first-child"),u=n.insert(()=>y,":first-child"),u.attr("class","basic label-container"),f&&u.attr("style",f)}else{const d=mL(0,0,o,h,l,c);u=n.insert("path",":first-child").attr("d",d).attr("class","basic label-container").attr("style",Gt(f)).attr("style",i)}return u.attr("label-offset-y",c),u.attr("transform",`translate(${-o/2}, ${-(h/2+c)})`),X(t,u),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+(t.padding??0)/1.5-(a.y-(a.top??0))})`),t.intersect=function(d){const p=W.rect(t,d),m=p.x-(t.x??0);if(l!=0&&(Math.abs(m)<(t.width??0)/2||Math.abs(m)==(t.width??0)/2&&Math.abs(p.y-(t.y??0))>(t.height??0)/2-c)){let y=c*c*(1-m*m/(l*l));y>0&&(y=Math.sqrt(y)),y=c-y,d.y-(t.y??0)>0&&(y=-y),p.y+=y}return p},n}g(Tm,"cylinder");async function Am(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=a.width+t.padding,l=a.height+t.padding,c=l*.2,h=-o/2,u=-l/2-c/2,{cssStyles:f}=t,d=j.svg(n),p=U(t,{});t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=[{x:h,y:u+c},{x:-h,y:u+c},{x:-h,y:-u},{x:h,y:-u},{x:h,y:u},{x:-h,y:u},{x:-h,y:u+c}],y=d.polygon(m.map(b=>[b.x,b.y]),p),x=n.insert(()=>y,":first-child");return x.attr("class","basic label-container"),f&&t.look!=="handDrawn"&&x.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&x.selectAll("path").attr("style",i),s.attr("transform",`translate(${h+(t.padding??0)/2-(a.x-(a.left??0))}, ${u+c+(t.padding??0)/2-(a.y-(a.top??0))})`),X(t,x),t.intersect=function(b){return W.rect(t,b)},n}g(Am,"dividedRectangle");async function Lm(e,t){var f,d;const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,halfPadding:s}=await it(e,t,nt(t)),l=a.width/2+s+5,c=a.width/2+s;let h;const{cssStyles:u}=t;if(t.look==="handDrawn"){const p=j.svg(n),m=U(t,{roughness:.2,strokeWidth:2.5}),y=U(t,{roughness:.2,strokeWidth:1.5}),x=p.circle(0,0,l*2,m),b=p.circle(0,0,c*2,y);h=n.insert("g",":first-child"),h.attr("class",Gt(t.cssClasses)).attr("style",Gt(u)),(f=h.node())==null||f.appendChild(x),(d=h.node())==null||d.appendChild(b)}else{h=n.insert("g",":first-child");const p=h.insert("circle",":first-child"),m=h.insert("circle");h.attr("class","basic label-container").attr("style",i),p.attr("class","outer-circle").attr("style",i).attr("r",l).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",i).attr("r",c).attr("cx",0).attr("cy",0)}return X(t,h),t.intersect=function(p){return F.info("DoubleCircle intersect",t,l,p),W.circle(t,l,p)},n}g(Lm,"doublecircle");function Bm(e,t,{config:{themeVariables:r}}){const{labelStyles:i,nodeStyles:n}=Z(t);t.label="",t.labelStyle=i;const a=e.insert("g").attr("class",nt(t)).attr("id",t.domId??t.id),s=7,{cssStyles:o}=t,l=j.svg(a),{nodeBorder:c}=r,h=U(t,{fillStyle:"solid"});t.look!=="handDrawn"&&(h.roughness=0);const u=l.circle(0,0,s*2,h),f=a.insert(()=>u,":first-child");return f.selectAll("path").attr("style",`fill: ${c} !important;`),o&&o.length>0&&t.look!=="handDrawn"&&f.selectAll("path").attr("style",o),n&&t.look!=="handDrawn"&&f.selectAll("path").attr("style",n),X(t,f),t.intersect=function(d){return F.info("filledCircle intersect",t,{radius:s,point:d}),W.circle(t,s,d)},a}g(Bm,"filledCircle");async function $m(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=a.width+(t.padding??0),l=o+a.height,c=o+a.height,h=[{x:0,y:-l},{x:c,y:-l},{x:c/2,y:0}],{cssStyles:u}=t,f=j.svg(n),d=U(t,{});t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const p=ct(h),m=f.path(p,d),y=n.insert(()=>m,":first-child").attr("transform",`translate(${-l/2}, ${l/2})`);return u&&t.look!=="handDrawn"&&y.selectChildren("path").attr("style",u),i&&t.look!=="handDrawn"&&y.selectChildren("path").attr("style",i),t.width=o,t.height=l,X(t,y),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-l/2+(t.padding??0)/2+(a.y-(a.top??0))})`),t.intersect=function(x){return F.info("Triangle intersect",t,h,x),W.polygon(t,h,x)},n}g($m,"flippedTriangle");function Em(e,t,{dir:r,config:{state:i,themeVariables:n}}){const{nodeStyles:a}=Z(t);t.label="";const s=e.insert("g").attr("class",nt(t)).attr("id",t.domId??t.id),{cssStyles:o}=t;let l=Math.max(70,(t==null?void 0:t.width)??0),c=Math.max(10,(t==null?void 0:t.height)??0);r==="LR"&&(l=Math.max(10,(t==null?void 0:t.width)??0),c=Math.max(70,(t==null?void 0:t.height)??0));const h=-1*l/2,u=-1*c/2,f=j.svg(s),d=U(t,{stroke:n.lineColor,fill:n.lineColor});t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const p=f.rectangle(h,u,l,c,d),m=s.insert(()=>p,":first-child");o&&t.look!=="handDrawn"&&m.selectAll("path").attr("style",o),a&&t.look!=="handDrawn"&&m.selectAll("path").attr("style",a),X(t,m);const y=(i==null?void 0:i.padding)??0;return t.width&&t.height&&(t.width+=y/2||0,t.height+=y/2||0),t.intersect=function(x){return W.rect(t,x)},s}g(Em,"forkJoin");async function Mm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const n=80,a=50,{shapeSvg:s,bbox:o}=await it(e,t,nt(t)),l=Math.max(n,o.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),c=Math.max(a,o.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),h=c/2,{cssStyles:u}=t,f=j.svg(s),d=U(t,{});t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const p=[{x:-l/2,y:-c/2},{x:l/2-h,y:-c/2},...Lc(-l/2+h,0,h,50,90,270),{x:l/2-h,y:c/2},{x:-l/2,y:c/2}],m=ct(p),y=f.path(m,d),x=s.insert(()=>y,":first-child");return x.attr("class","basic label-container"),u&&t.look!=="handDrawn"&&x.selectChildren("path").attr("style",u),i&&t.look!=="handDrawn"&&x.selectChildren("path").attr("style",i),X(t,x),t.intersect=function(b){return F.info("Pill intersect",t,{radius:h,point:b}),W.polygon(t,p,b)},s}g(Mm,"halfRoundedRectangle");var bL=g((e,t,r,i,n)=>[`M${e+n},${t}`,`L${e+r-n},${t}`,`L${e+r},${t-i/2}`,`L${e+r-n},${t-i}`,`L${e+n},${t-i}`,`L${e},${t-i/2}`,"Z"].join(" "),"createHexagonPathD");async function Fm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=4,o=a.height+t.padding,l=o/s,c=a.width+2*l+t.padding,h=[{x:l,y:0},{x:c-l,y:0},{x:c,y:-o/2},{x:c-l,y:-o},{x:l,y:-o},{x:0,y:-o/2}];let u;const{cssStyles:f}=t;if(t.look==="handDrawn"){const d=j.svg(n),p=U(t,{}),m=bL(0,0,c,o,l),y=d.path(m,p);u=n.insert(()=>y,":first-child").attr("transform",`translate(${-c/2}, ${o/2})`),f&&u.attr("style",f)}else u=er(n,c,o,h);return i&&u.attr("style",i),t.width=c,t.height=o,X(t,u),t.intersect=function(d){return W.polygon(t,h,d)},n}g(Fm,"hexagon");async function Im(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.label="",t.labelStyle=r;const{shapeSvg:n}=await it(e,t,nt(t)),a=Math.max(30,(t==null?void 0:t.width)??0),s=Math.max(30,(t==null?void 0:t.height)??0),{cssStyles:o}=t,l=j.svg(n),c=U(t,{});t.look!=="handDrawn"&&(c.roughness=0,c.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],u=ct(h),f=l.path(u,c),d=n.insert(()=>f,":first-child");return d.attr("class","basic label-container"),o&&t.look!=="handDrawn"&&d.selectChildren("path").attr("style",o),i&&t.look!=="handDrawn"&&d.selectChildren("path").attr("style",i),d.attr("transform",`translate(${-a/2}, ${-s/2})`),X(t,d),t.intersect=function(p){return F.info("Pill intersect",t,{points:h}),W.polygon(t,h,p)},n}g(Im,"hourglass");async function Rm(e,t,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,s=t.assetWidth??48,o=Math.max(a,s),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(o,l??0);const{shapeSvg:c,bbox:h,label:u}=await it(e,t,"icon-shape default"),f=t.pos==="t",d=o,p=o,{nodeBorder:m}=r,{stylesMap:y}=Ai(t),x=-p/2,b=-d/2,_=t.label?8:0,k=j.svg(c),w=U(t,{stroke:"none",fill:"none"});t.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");const T=k.rectangle(x,b,p,d,w),L=Math.max(p,h.width),O=d+h.height+_,N=k.rectangle(-L/2,-O/2,L,O,{...w,fill:"transparent",stroke:"none"}),R=c.insert(()=>T,":first-child"),E=c.insert(()=>N);if(t.icon){const q=c.append("g");q.html(`${await Ss(t.icon,{height:o,width:o,fallbackPrefix:""})}`);const D=q.node().getBBox(),A=D.width,B=D.height,S=D.x,M=D.y;q.attr("transform",`translate(${-A/2-S},${f?h.height/2+_/2-B/2-M:-h.height/2-_/2-B/2-M})`),q.attr("style",`color: ${y.get("stroke")??m};`)}return u.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-O/2:O/2-h.height})`),R.attr("transform",`translate(0,${f?h.height/2+_/2:-h.height/2-_/2})`),X(t,E),t.intersect=function(q){if(F.info("iconSquare intersect",t,q),!t.label)return W.rect(t,q);const D=t.x??0,A=t.y??0,B=t.height??0;let S=[];return f?S=[{x:D-h.width/2,y:A-B/2},{x:D+h.width/2,y:A-B/2},{x:D+h.width/2,y:A-B/2+h.height+_},{x:D+p/2,y:A-B/2+h.height+_},{x:D+p/2,y:A+B/2},{x:D-p/2,y:A+B/2},{x:D-p/2,y:A-B/2+h.height+_},{x:D-h.width/2,y:A-B/2+h.height+_}]:S=[{x:D-p/2,y:A-B/2},{x:D+p/2,y:A-B/2},{x:D+p/2,y:A-B/2+d},{x:D+h.width/2,y:A-B/2+d},{x:D+h.width/2/2,y:A+B/2},{x:D-h.width/2,y:A+B/2},{x:D-h.width/2,y:A-B/2+d},{x:D-p/2,y:A-B/2+d}],W.polygon(t,S,q)},c}g(Rm,"icon");async function Om(e,t,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,s=t.assetWidth??48,o=Math.max(a,s),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(o,l??0);const{shapeSvg:c,bbox:h,label:u}=await it(e,t,"icon-shape default"),f=20,d=t.label?8:0,p=t.pos==="t",{nodeBorder:m,mainBkg:y}=r,{stylesMap:x}=Ai(t),b=j.svg(c),_=U(t,{});t.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const k=x.get("fill");_.stroke=k??y;const w=c.append("g");t.icon&&w.html(`${await Ss(t.icon,{height:o,width:o,fallbackPrefix:""})}`);const T=w.node().getBBox(),L=T.width,O=T.height,N=T.x,R=T.y,E=Math.max(L,O)*Math.SQRT2+f*2,q=b.circle(0,0,E,_),D=Math.max(E,h.width),A=E+h.height+d,B=b.rectangle(-D/2,-A/2,D,A,{..._,fill:"transparent",stroke:"none"}),S=c.insert(()=>q,":first-child"),M=c.insert(()=>B);return w.attr("transform",`translate(${-L/2-N},${p?h.height/2+d/2-O/2-R:-h.height/2-d/2-O/2-R})`),w.attr("style",`color: ${x.get("stroke")??m};`),u.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-A/2:A/2-h.height})`),S.attr("transform",`translate(0,${p?h.height/2+d/2:-h.height/2-d/2})`),X(t,M),t.intersect=function($){return F.info("iconSquare intersect",t,$),W.rect(t,$)},c}g(Om,"iconCircle");async function Dm(e,t,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,s=t.assetWidth??48,o=Math.max(a,s),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(o,l??0);const{shapeSvg:c,bbox:h,halfPadding:u,label:f}=await it(e,t,"icon-shape default"),d=t.pos==="t",p=o+u*2,m=o+u*2,{nodeBorder:y,mainBkg:x}=r,{stylesMap:b}=Ai(t),_=-m/2,k=-p/2,w=t.label?8:0,T=j.svg(c),L=U(t,{});t.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");const O=b.get("fill");L.stroke=O??x;const N=T.path(tr(_,k,m,p,5),L),R=Math.max(m,h.width),E=p+h.height+w,q=T.rectangle(-R/2,-E/2,R,E,{...L,fill:"transparent",stroke:"none"}),D=c.insert(()=>N,":first-child").attr("class","icon-shape2"),A=c.insert(()=>q);if(t.icon){const B=c.append("g");B.html(`${await Ss(t.icon,{height:o,width:o,fallbackPrefix:""})}`);const S=B.node().getBBox(),M=S.width,$=S.height,z=S.x,Y=S.y;B.attr("transform",`translate(${-M/2-z},${d?h.height/2+w/2-$/2-Y:-h.height/2-w/2-$/2-Y})`),B.attr("style",`color: ${b.get("stroke")??y};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${d?-E/2:E/2-h.height})`),D.attr("transform",`translate(0,${d?h.height/2+w/2:-h.height/2-w/2})`),X(t,A),t.intersect=function(B){if(F.info("iconSquare intersect",t,B),!t.label)return W.rect(t,B);const S=t.x??0,M=t.y??0,$=t.height??0;let z=[];return d?z=[{x:S-h.width/2,y:M-$/2},{x:S+h.width/2,y:M-$/2},{x:S+h.width/2,y:M-$/2+h.height+w},{x:S+m/2,y:M-$/2+h.height+w},{x:S+m/2,y:M+$/2},{x:S-m/2,y:M+$/2},{x:S-m/2,y:M-$/2+h.height+w},{x:S-h.width/2,y:M-$/2+h.height+w}]:z=[{x:S-m/2,y:M-$/2},{x:S+m/2,y:M-$/2},{x:S+m/2,y:M-$/2+p},{x:S+h.width/2,y:M-$/2+p},{x:S+h.width/2/2,y:M+$/2},{x:S-h.width/2,y:M+$/2},{x:S-h.width/2,y:M-$/2+p},{x:S-m/2,y:M-$/2+p}],W.polygon(t,z,B)},c}g(Dm,"iconRounded");async function Pm(e,t,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,s=t.assetWidth??48,o=Math.max(a,s),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(o,l??0);const{shapeSvg:c,bbox:h,halfPadding:u,label:f}=await it(e,t,"icon-shape default"),d=t.pos==="t",p=o+u*2,m=o+u*2,{nodeBorder:y,mainBkg:x}=r,{stylesMap:b}=Ai(t),_=-m/2,k=-p/2,w=t.label?8:0,T=j.svg(c),L=U(t,{});t.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");const O=b.get("fill");L.stroke=O??x;const N=T.path(tr(_,k,m,p,.1),L),R=Math.max(m,h.width),E=p+h.height+w,q=T.rectangle(-R/2,-E/2,R,E,{...L,fill:"transparent",stroke:"none"}),D=c.insert(()=>N,":first-child"),A=c.insert(()=>q);if(t.icon){const B=c.append("g");B.html(`${await Ss(t.icon,{height:o,width:o,fallbackPrefix:""})}`);const S=B.node().getBBox(),M=S.width,$=S.height,z=S.x,Y=S.y;B.attr("transform",`translate(${-M/2-z},${d?h.height/2+w/2-$/2-Y:-h.height/2-w/2-$/2-Y})`),B.attr("style",`color: ${b.get("stroke")??y};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${d?-E/2:E/2-h.height})`),D.attr("transform",`translate(0,${d?h.height/2+w/2:-h.height/2-w/2})`),X(t,A),t.intersect=function(B){if(F.info("iconSquare intersect",t,B),!t.label)return W.rect(t,B);const S=t.x??0,M=t.y??0,$=t.height??0;let z=[];return d?z=[{x:S-h.width/2,y:M-$/2},{x:S+h.width/2,y:M-$/2},{x:S+h.width/2,y:M-$/2+h.height+w},{x:S+m/2,y:M-$/2+h.height+w},{x:S+m/2,y:M+$/2},{x:S-m/2,y:M+$/2},{x:S-m/2,y:M-$/2+h.height+w},{x:S-h.width/2,y:M-$/2+h.height+w}]:z=[{x:S-m/2,y:M-$/2},{x:S+m/2,y:M-$/2},{x:S+m/2,y:M-$/2+p},{x:S+h.width/2,y:M-$/2+p},{x:S+h.width/2/2,y:M+$/2},{x:S-h.width/2,y:M+$/2},{x:S-h.width/2,y:M-$/2+p},{x:S-m/2,y:M-$/2+p}],W.polygon(t,z,B)},c}g(Pm,"iconSquare");async function Nm(e,t,{config:{flowchart:r}}){const i=new Image;i.src=(t==null?void 0:t.img)??"",await i.decode();const n=Number(i.naturalWidth.toString().replace("px","")),a=Number(i.naturalHeight.toString().replace("px",""));t.imageAspectRatio=n/a;const{labelStyles:s}=Z(t);t.labelStyle=s;const o=r==null?void 0:r.wrappingWidth;t.defaultWidth=r==null?void 0:r.wrappingWidth;const l=Math.max(t.label?o??0:0,(t==null?void 0:t.assetWidth)??n),c=t.constraint==="on"&&t!=null&&t.assetHeight?t.assetHeight*t.imageAspectRatio:l,h=t.constraint==="on"?c/t.imageAspectRatio:(t==null?void 0:t.assetHeight)??a;t.width=Math.max(c,o??0);const{shapeSvg:u,bbox:f,label:d}=await it(e,t,"image-shape default"),p=t.pos==="t",m=-c/2,y=-h/2,x=t.label?8:0,b=j.svg(u),_=U(t,{});t.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const k=b.rectangle(m,y,c,h,_),w=Math.max(c,f.width),T=h+f.height+x,L=b.rectangle(-w/2,-T/2,w,T,{..._,fill:"none",stroke:"none"}),O=u.insert(()=>k,":first-child"),N=u.insert(()=>L);if(t.img){const R=u.append("image");R.attr("href",t.img),R.attr("width",c),R.attr("height",h),R.attr("preserveAspectRatio","none"),R.attr("transform",`translate(${-c/2},${p?T/2-h:-T/2})`)}return d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${p?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),O.attr("transform",`translate(0,${p?f.height/2+x/2:-f.height/2-x/2})`),X(t,N),t.intersect=function(R){if(F.info("iconSquare intersect",t,R),!t.label)return W.rect(t,R);const E=t.x??0,q=t.y??0,D=t.height??0;let A=[];return p?A=[{x:E-f.width/2,y:q-D/2},{x:E+f.width/2,y:q-D/2},{x:E+f.width/2,y:q-D/2+f.height+x},{x:E+c/2,y:q-D/2+f.height+x},{x:E+c/2,y:q+D/2},{x:E-c/2,y:q+D/2},{x:E-c/2,y:q-D/2+f.height+x},{x:E-f.width/2,y:q-D/2+f.height+x}]:A=[{x:E-c/2,y:q-D/2},{x:E+c/2,y:q-D/2},{x:E+c/2,y:q-D/2+h},{x:E+f.width/2,y:q-D/2+h},{x:E+f.width/2/2,y:q+D/2},{x:E-f.width/2,y:q+D/2},{x:E-f.width/2,y:q-D/2+h},{x:E-c/2,y:q-D/2+h}],W.polygon(t,A,R)},u}g(Nm,"imageSquare");async function zm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),o=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),l=[{x:0,y:0},{x:s,y:0},{x:s+3*o/6,y:-o},{x:-3*o/6,y:-o}];let c;const{cssStyles:h}=t;if(t.look==="handDrawn"){const u=j.svg(n),f=U(t,{}),d=ct(l),p=u.path(d,f);c=n.insert(()=>p,":first-child").attr("transform",`translate(${-s/2}, ${o/2})`),h&&c.attr("style",h)}else c=er(n,s,o,l);return i&&c.attr("style",i),t.width=s,t.height=o,X(t,c),t.intersect=function(u){return W.polygon(t,l,u)},n}g(zm,"inv_trapezoid");async function qs(e,t,r){const{labelStyles:i,nodeStyles:n}=Z(t);t.labelStyle=i;const{shapeSvg:a,bbox:s}=await it(e,t,nt(t)),o=Math.max(s.width+r.labelPaddingX*2,(t==null?void 0:t.width)||0),l=Math.max(s.height+r.labelPaddingY*2,(t==null?void 0:t.height)||0),c=-o/2,h=-l/2;let u,{rx:f,ry:d}=t;const{cssStyles:p}=t;if(r!=null&&r.rx&&r.ry&&(f=r.rx,d=r.ry),t.look==="handDrawn"){const m=j.svg(a),y=U(t,{}),x=f||d?m.path(tr(c,h,o,l,f||0),y):m.rectangle(c,h,o,l,y);u=a.insert(()=>x,":first-child"),u.attr("class","basic label-container").attr("style",Gt(p))}else u=a.insert("rect",":first-child"),u.attr("class","basic label-container").attr("style",n).attr("rx",Gt(f)).attr("ry",Gt(d)).attr("x",c).attr("y",h).attr("width",o).attr("height",l);return X(t,u),t.intersect=function(m){return W.rect(t,m)},a}g(qs,"drawRect");async function qm(e,t){const{shapeSvg:r,bbox:i,label:n}=await it(e,t,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),n.attr("transform",`translate(${-(i.width/2)-(i.x-(i.left??0))}, ${-(i.height/2)-(i.y-(i.top??0))})`),X(t,a),t.intersect=function(l){return W.rect(t,l)},r}g(qm,"labelRect");async function Wm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=Math.max(a.width+(t.padding??0),(t==null?void 0:t.width)??0),o=Math.max(a.height+(t.padding??0),(t==null?void 0:t.height)??0),l=[{x:0,y:0},{x:s+3*o/6,y:0},{x:s,y:-o},{x:-(3*o)/6,y:-o}];let c;const{cssStyles:h}=t;if(t.look==="handDrawn"){const u=j.svg(n),f=U(t,{}),d=ct(l),p=u.path(d,f);c=n.insert(()=>p,":first-child").attr("transform",`translate(${-s/2}, ${o/2})`),h&&c.attr("style",h)}else c=er(n,s,o,l);return i&&c.attr("style",i),t.width=s,t.height=o,X(t,c),t.intersect=function(u){return W.polygon(t,l,u)},n}g(Wm,"lean_left");async function Hm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=Math.max(a.width+(t.padding??0),(t==null?void 0:t.width)??0),o=Math.max(a.height+(t.padding??0),(t==null?void 0:t.height)??0),l=[{x:-3*o/6,y:0},{x:s,y:0},{x:s+3*o/6,y:-o},{x:0,y:-o}];let c;const{cssStyles:h}=t;if(t.look==="handDrawn"){const u=j.svg(n),f=U(t,{}),d=ct(l),p=u.path(d,f);c=n.insert(()=>p,":first-child").attr("transform",`translate(${-s/2}, ${o/2})`),h&&c.attr("style",h)}else c=er(n,s,o,l);return i&&c.attr("style",i),t.width=s,t.height=o,X(t,c),t.intersect=function(u){return W.polygon(t,l,u)},n}g(Hm,"lean_right");function jm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.label="",t.labelStyle=r;const n=e.insert("g").attr("class",nt(t)).attr("id",t.domId??t.id),{cssStyles:a}=t,s=Math.max(35,(t==null?void 0:t.width)??0),o=Math.max(35,(t==null?void 0:t.height)??0),l=7,c=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],h=j.svg(n),u=U(t,{});t.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const f=ct(c),d=h.path(f,u),p=n.insert(()=>d,":first-child");return a&&t.look!=="handDrawn"&&p.selectAll("path").attr("style",a),i&&t.look!=="handDrawn"&&p.selectAll("path").attr("style",i),p.attr("transform",`translate(-${s/2},${-o})`),X(t,p),t.intersect=function(m){return F.info("lightningBolt intersect",t,m),W.polygon(t,c,m)},n}g(jm,"lightningBolt");var _L=g((e,t,r,i,n,a,s)=>[`M${e},${t+a}`,`a${n},${a} 0,0,0 ${r},0`,`a${n},${a} 0,0,0 ${-r},0`,`l0,${i}`,`a${n},${a} 0,0,0 ${r},0`,`l0,${-i}`,`M${e},${t+a+s}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),wL=g((e,t,r,i,n,a,s)=>[`M${e},${t+a}`,`M${e+r},${t+a}`,`a${n},${a} 0,0,0 ${-r},0`,`l0,${i}`,`a${n},${a} 0,0,0 ${r},0`,`l0,${-i}`,`M${e},${t+a+s}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),vL=g((e,t,r,i,n,a)=>[`M${e-r/2},${-i/2}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");async function Um(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Math.max(a.width+(t.padding??0),t.width??0),l=o/2,c=l/(2.5+o/50),h=Math.max(a.height+c+(t.padding??0),t.height??0),u=h*.1;let f;const{cssStyles:d}=t;if(t.look==="handDrawn"){const p=j.svg(n),m=wL(0,0,o,h,l,c,u),y=vL(0,c,o,h,l,c),x=U(t,{}),b=p.path(m,x),_=p.path(y,x);n.insert(()=>_,":first-child").attr("class","line"),f=n.insert(()=>b,":first-child"),f.attr("class","basic label-container"),d&&f.attr("style",d)}else{const p=_L(0,0,o,h,l,c,u);f=n.insert("path",":first-child").attr("d",p).attr("class","basic label-container").attr("style",Gt(d)).attr("style",i)}return f.attr("label-offset-y",c),f.attr("transform",`translate(${-o/2}, ${-(h/2+c)})`),X(t,f),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+c-(a.y-(a.top??0))})`),t.intersect=function(p){const m=W.rect(t,p),y=m.x-(t.x??0);if(l!=0&&(Math.abs(y)<(t.width??0)/2||Math.abs(y)==(t.width??0)/2&&Math.abs(m.y-(t.y??0))>(t.height??0)/2-c)){let x=c*c*(1-y*y/(l*l));x>0&&(x=Math.sqrt(x)),x=c-x,p.y-(t.y??0)>0&&(x=-x),m.y+=x}return m},n}g(Um,"linedCylinder");async function Ym(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=l/4,h=l+c,{cssStyles:u}=t,f=j.svg(n),d=U(t,{});t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const p=[{x:-o/2-o/2*.1,y:-h/2},{x:-o/2-o/2*.1,y:h/2},...pr(-o/2-o/2*.1,h/2,o/2+o/2*.1,h/2,c,.8),{x:o/2+o/2*.1,y:-h/2},{x:-o/2-o/2*.1,y:-h/2},{x:-o/2,y:-h/2},{x:-o/2,y:h/2*1.1},{x:-o/2,y:-h/2}],m=f.polygon(p.map(x=>[x.x,x.y]),d),y=n.insert(()=>m,":first-child");return y.attr("class","basic label-container"),u&&t.look!=="handDrawn"&&y.selectAll("path").attr("style",u),i&&t.look!=="handDrawn"&&y.selectAll("path").attr("style",i),y.attr("transform",`translate(0,${-c/2})`),s.attr("transform",`translate(${-o/2+(t.padding??0)+o/2*.1/2-(a.x-(a.left??0))},${-l/2+(t.padding??0)-c/2-(a.y-(a.top??0))})`),X(t,y),t.intersect=function(x){return W.polygon(t,p,x)},n}g(Ym,"linedWaveEdgedRect");async function Gm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=5,h=-o/2,u=-l/2,{cssStyles:f}=t,d=j.svg(n),p=U(t,{}),m=[{x:h-c,y:u+c},{x:h-c,y:u+l+c},{x:h+o-c,y:u+l+c},{x:h+o-c,y:u+l},{x:h+o,y:u+l},{x:h+o,y:u+l-c},{x:h+o+c,y:u+l-c},{x:h+o+c,y:u-c},{x:h+c,y:u-c},{x:h+c,y:u},{x:h,y:u},{x:h,y:u+c}],y=[{x:h,y:u+c},{x:h+o-c,y:u+c},{x:h+o-c,y:u+l},{x:h+o,y:u+l},{x:h+o,y:u},{x:h,y:u}];t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const x=ct(m),b=d.path(x,p),_=ct(y),k=d.path(_,{...p,fill:"none"}),w=n.insert(()=>k,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),f&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",i),s.attr("transform",`translate(${-(a.width/2)-c-(a.x-(a.left??0))}, ${-(a.height/2)+c-(a.y-(a.top??0))})`),X(t,w),t.intersect=function(T){return W.polygon(t,m,T)},n}g(Gm,"multiRect");async function Vm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=l/4,h=l+c,u=-o/2,f=-h/2,d=5,{cssStyles:p}=t,m=pr(u-d,f+h+d,u+o-d,f+h+d,c,.8),y=m==null?void 0:m[m.length-1],x=[{x:u-d,y:f+d},{x:u-d,y:f+h+d},...m,{x:u+o-d,y:y.y-d},{x:u+o,y:y.y-d},{x:u+o,y:y.y-2*d},{x:u+o+d,y:y.y-2*d},{x:u+o+d,y:f-d},{x:u+d,y:f-d},{x:u+d,y:f},{x:u,y:f},{x:u,y:f+d}],b=[{x:u,y:f+d},{x:u+o-d,y:f+d},{x:u+o-d,y:y.y-d},{x:u+o,y:y.y-d},{x:u+o,y:f},{x:u,y:f}],_=j.svg(n),k=U(t,{});t.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const w=ct(x),T=_.path(w,k),L=ct(b),O=_.path(L,k),N=n.insert(()=>T,":first-child");return N.insert(()=>O),N.attr("class","basic label-container"),p&&t.look!=="handDrawn"&&N.selectAll("path").attr("style",p),i&&t.look!=="handDrawn"&&N.selectAll("path").attr("style",i),N.attr("transform",`translate(0,${-c/2})`),s.attr("transform",`translate(${-(a.width/2)-d-(a.x-(a.left??0))}, ${-(a.height/2)+d-c/2-(a.y-(a.top??0))})`),X(t,N),t.intersect=function(R){return W.polygon(t,x,R)},n}g(Vm,"multiWaveEdgedRectangle");async function Xm(e,t,{config:{themeVariables:r}}){var x;const{labelStyles:i,nodeStyles:n}=Z(t);t.labelStyle=i,t.useHtmlLabels||((x=Se().flowchart)==null?void 0:x.htmlLabels)!==!1||(t.centerLabel=!0);const{shapeSvg:s,bbox:o}=await it(e,t,nt(t)),l=Math.max(o.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),c=Math.max(o.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),h=-l/2,u=-c/2,{cssStyles:f}=t,d=j.svg(s),p=U(t,{fill:r.noteBkgColor,stroke:r.noteBorderColor});t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=d.rectangle(h,u,l,c,p),y=s.insert(()=>m,":first-child");return y.attr("class","basic label-container"),f&&t.look!=="handDrawn"&&y.selectAll("path").attr("style",f),n&&t.look!=="handDrawn"&&y.selectAll("path").attr("style",n),X(t,y),t.intersect=function(b){return W.rect(t,b)},s}g(Xm,"note");var kL=g((e,t,r)=>[`M${e+r/2},${t}`,`L${e+r},${t-r/2}`,`L${e+r/2},${t-r}`,`L${e},${t-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function Zm(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=a.width+t.padding,o=a.height+t.padding,l=s+o,c=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let h;const{cssStyles:u}=t;if(t.look==="handDrawn"){const f=j.svg(n),d=U(t,{}),p=kL(0,0,l),m=f.path(p,d);h=n.insert(()=>m,":first-child").attr("transform",`translate(${-l/2}, ${l/2})`),u&&h.attr("style",u)}else h=er(n,l,l,c);return i&&h.attr("style",i),X(t,h),t.intersect=function(f){return F.debug(`APA12 Intersect called SPLIT +point:`,f,` +node: +`,t,` +res:`,W.polygon(t,c,f)),W.polygon(t,c,f)},n}g(Zm,"question");async function Km(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Math.max(a.width+(t.padding??0),(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0),(t==null?void 0:t.height)??0),c=-o/2,h=-l/2,u=h/2,f=[{x:c+u,y:h},{x:c,y:0},{x:c+u,y:-h},{x:-c,y:-h},{x:-c,y:h}],{cssStyles:d}=t,p=j.svg(n),m=U(t,{});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const y=ct(f),x=p.path(y,m),b=n.insert(()=>x,":first-child");return b.attr("class","basic label-container"),d&&t.look!=="handDrawn"&&b.selectAll("path").attr("style",d),i&&t.look!=="handDrawn"&&b.selectAll("path").attr("style",i),b.attr("transform",`translate(${-u/2},0)`),s.attr("transform",`translate(${-u/2-a.width/2-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),X(t,b),t.intersect=function(_){return W.polygon(t,f,_)},n}g(Km,"rect_left_inv_arrow");async function Qm(e,t){var O,N;const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;let n;t.cssClasses?n="node "+t.cssClasses:n="node default";const a=e.insert("g").attr("class",n).attr("id",t.domId||t.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",i),l=t.description,c=t.label,h=o.node().appendChild(await Tr(c,t.labelStyle,!0,!0));let u={width:0,height:0};if(Dt((N=(O=ft())==null?void 0:O.flowchart)==null?void 0:N.htmlLabels)){const R=h.children[0],E=ut(h);u=R.getBoundingClientRect(),E.attr("width",u.width),E.attr("height",u.height)}F.info("Text 2",l);const f=l||[],d=h.getBBox(),p=o.node().appendChild(await Tr(f.join?f.join("
    "):f,t.labelStyle,!0,!0)),m=p.children[0],y=ut(p);u=m.getBoundingClientRect(),y.attr("width",u.width),y.attr("height",u.height);const x=(t.padding||0)/2;ut(p).attr("transform","translate( "+(u.width>d.width?0:(d.width-u.width)/2)+", "+(d.height+x+5)+")"),ut(h).attr("transform","translate( "+(u.width(F.debug("Rough node insert CXC",q),D),":first-child"),T=a.insert(()=>(F.debug("Rough node insert CXC",q),q),":first-child")}else T=s.insert("rect",":first-child"),L=s.insert("line"),T.attr("class","outer title-state").attr("style",i).attr("x",-u.width/2-x).attr("y",-u.height/2-x).attr("width",u.width+(t.padding||0)).attr("height",u.height+(t.padding||0)),L.attr("class","divider").attr("x1",-u.width/2-x).attr("x2",u.width/2+x).attr("y1",-u.height/2-x+d.height+x).attr("y2",-u.height/2-x+d.height+x);return X(t,T),t.intersect=function(R){return W.rect(t,R)},a}g(Qm,"rectWithTitle");async function Jm(e,t){const r={rx:5,ry:5,classes:"",labelPaddingX:((t==null?void 0:t.padding)||0)*1,labelPaddingY:((t==null?void 0:t.padding)||0)*1};return qs(e,t,r)}g(Jm,"roundedRect");async function t0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=(t==null?void 0:t.padding)??0,l=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),c=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),h=-a.width/2-o,u=-a.height/2-o,{cssStyles:f}=t,d=j.svg(n),p=U(t,{});t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=[{x:h,y:u},{x:h+l+8,y:u},{x:h+l+8,y:u+c},{x:h-8,y:u+c},{x:h-8,y:u},{x:h,y:u},{x:h,y:u+c}],y=d.polygon(m.map(b=>[b.x,b.y]),p),x=n.insert(()=>y,":first-child");return x.attr("class","basic label-container").attr("style",Gt(f)),i&&t.look!=="handDrawn"&&x.selectAll("path").attr("style",i),f&&t.look!=="handDrawn"&&x.selectAll("path").attr("style",i),s.attr("transform",`translate(${-l/2+4+(t.padding??0)-(a.x-(a.left??0))},${-c/2+(t.padding??0)-(a.y-(a.top??0))})`),X(t,x),t.intersect=function(b){return W.rect(t,b)},n}g(t0,"shadedProcess");async function e0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=-o/2,h=-l/2,{cssStyles:u}=t,f=j.svg(n),d=U(t,{});t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const p=[{x:c,y:h},{x:c,y:h+l},{x:c+o,y:h+l},{x:c+o,y:h-l/2}],m=ct(p),y=f.path(m,d),x=n.insert(()=>y,":first-child");return x.attr("class","basic label-container"),u&&t.look!=="handDrawn"&&x.selectChildren("path").attr("style",u),i&&t.look!=="handDrawn"&&x.selectChildren("path").attr("style",i),x.attr("transform",`translate(0, ${l/4})`),s.attr("transform",`translate(${-o/2+(t.padding??0)-(a.x-(a.left??0))}, ${-l/4+(t.padding??0)-(a.y-(a.top??0))})`),X(t,x),t.intersect=function(b){return W.polygon(t,p,b)},n}g(e0,"slopedRect");async function r0(e,t){const r={rx:0,ry:0,classes:"",labelPaddingX:((t==null?void 0:t.padding)||0)*2,labelPaddingY:((t==null?void 0:t.padding)||0)*1};return qs(e,t,r)}g(r0,"squareRect");async function i0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=a.height+t.padding,o=a.width+s/4+t.padding;let l;const{cssStyles:c}=t;if(t.look==="handDrawn"){const h=j.svg(n),u=U(t,{}),f=tr(-o/2,-s/2,o,s,s/2),d=h.path(f,u);l=n.insert(()=>d,":first-child"),l.attr("class","basic label-container").attr("style",Gt(c))}else l=n.insert("rect",":first-child"),l.attr("class","basic label-container").attr("style",i).attr("rx",s/2).attr("ry",s/2).attr("x",-o/2).attr("y",-s/2).attr("width",o).attr("height",s);return X(t,l),t.intersect=function(h){return W.rect(t,h)},n}g(i0,"stadium");async function n0(e,t){return qs(e,t,{rx:5,ry:5,classes:"flowchart-node"})}g(n0,"state");function a0(e,t,{config:{themeVariables:r}}){const{labelStyles:i,nodeStyles:n}=Z(t);t.labelStyle=i;const{cssStyles:a}=t,{lineColor:s,stateBorder:o,nodeBorder:l}=r,c=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),h=j.svg(c),u=U(t,{});t.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const f=h.circle(0,0,14,{...u,stroke:s,strokeWidth:2}),d=o??l,p=h.circle(0,0,5,{...u,fill:d,stroke:d,strokeWidth:2,fillStyle:"solid"}),m=c.insert(()=>f,":first-child");return m.insert(()=>p),a&&m.selectAll("path").attr("style",a),n&&m.selectAll("path").attr("style",n),X(t,m),t.intersect=function(y){return W.circle(t,7,y)},c}g(a0,"stateEnd");function s0(e,t,{config:{themeVariables:r}}){const{lineColor:i}=r,n=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let a;if(t.look==="handDrawn"){const o=j.svg(n).circle(0,0,14,iL(i));a=n.insert(()=>o),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14)}else a=n.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14);return X(t,a),t.intersect=function(s){return W.circle(t,7,s)},n}g(s0,"stateStart");async function o0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=((t==null?void 0:t.padding)||0)/2,o=a.width+t.padding,l=a.height+t.padding,c=-a.width/2-s,h=-a.height/2-s,u=[{x:0,y:0},{x:o,y:0},{x:o,y:-l},{x:0,y:-l},{x:0,y:0},{x:-8,y:0},{x:o+8,y:0},{x:o+8,y:-l},{x:-8,y:-l},{x:-8,y:0}];if(t.look==="handDrawn"){const f=j.svg(n),d=U(t,{}),p=f.rectangle(c-8,h,o+16,l,d),m=f.line(c,h,c,h+l,d),y=f.line(c+o,h,c+o,h+l,d);n.insert(()=>m,":first-child"),n.insert(()=>y,":first-child");const x=n.insert(()=>p,":first-child"),{cssStyles:b}=t;x.attr("class","basic label-container").attr("style",Gt(b)),X(t,x)}else{const f=er(n,o,l,u);i&&f.attr("style",i),X(t,f)}return t.intersect=function(f){return W.polygon(t,u,f)},n}g(o0,"subroutine");async function l0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),o=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),l=-s/2,c=-o/2,h=.2*o,u=.2*o,{cssStyles:f}=t,d=j.svg(n),p=U(t,{}),m=[{x:l-h/2,y:c},{x:l+s+h/2,y:c},{x:l+s+h/2,y:c+o},{x:l-h/2,y:c+o}],y=[{x:l+s-h/2,y:c+o},{x:l+s+h/2,y:c+o},{x:l+s+h/2,y:c+o-u}];t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const x=ct(m),b=d.path(x,p),_=ct(y),k=d.path(_,{...p,fillStyle:"solid"}),w=n.insert(()=>k,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),f&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",i),X(t,w),t.intersect=function(T){return W.polygon(t,m,T)},n}g(l0,"taggedRect");async function c0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=l/4,h=.2*o,u=.2*l,f=l+c,{cssStyles:d}=t,p=j.svg(n),m=U(t,{});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const y=[{x:-o/2-o/2*.1,y:f/2},...pr(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,c,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],x=-o/2+o/2*.1,b=-f/2-u*.4,_=[{x:x+o-h,y:(b+l)*1.4},{x:x+o,y:b+l-u},{x:x+o,y:(b+l)*.9},...pr(x+o,(b+l)*1.3,x+o-h,(b+l)*1.5,-l*.03,.5)],k=ct(y),w=p.path(k,m),T=ct(_),L=p.path(T,{...m,fillStyle:"solid"}),O=n.insert(()=>L,":first-child");return O.insert(()=>w,":first-child"),O.attr("class","basic label-container"),d&&t.look!=="handDrawn"&&O.selectAll("path").attr("style",d),i&&t.look!=="handDrawn"&&O.selectAll("path").attr("style",i),O.attr("transform",`translate(0,${-c/2})`),s.attr("transform",`translate(${-o/2+(t.padding??0)-(a.x-(a.left??0))},${-l/2+(t.padding??0)-c/2-(a.y-(a.top??0))})`),X(t,O),t.intersect=function(N){return W.polygon(t,y,N)},n}g(c0,"taggedWaveEdgedRectangle");async function h0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=Math.max(a.width+t.padding,(t==null?void 0:t.width)||0),o=Math.max(a.height+t.padding,(t==null?void 0:t.height)||0),l=-s/2,c=-o/2,h=n.insert("rect",":first-child");return h.attr("class","text").attr("style",i).attr("rx",0).attr("ry",0).attr("x",l).attr("y",c).attr("width",s).attr("height",o),X(t,h),t.intersect=function(u){return W.rect(t,u)},n}g(h0,"text");var CL=g((e,t,r,i,n,a)=>`M${e},${t} + a${n},${a} 0,0,1 0,${-i} + l${r},0 + a${n},${a} 0,0,1 0,${i} + M${r},${-i} + a${n},${a} 0,0,0 0,${i} + l${-r},0`,"createCylinderPathD"),SL=g((e,t,r,i,n,a)=>[`M${e},${t}`,`M${e+r},${t}`,`a${n},${a} 0,0,0 0,${-i}`,`l${-r},0`,`a${n},${a} 0,0,0 0,${i}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),TL=g((e,t,r,i,n,a)=>[`M${e+r/2},${-i/2}`,`a${n},${a} 0,0,0 0,${i}`].join(" "),"createInnerCylinderPathD");async function u0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s,halfPadding:o}=await it(e,t,nt(t)),l=t.look==="neo"?o*2:o,c=a.height+l,h=c/2,u=h/(2.5+c/50),f=a.width+u+l,{cssStyles:d}=t;let p;if(t.look==="handDrawn"){const m=j.svg(n),y=SL(0,0,f,c,u,h),x=TL(0,0,f,c,u,h),b=m.path(y,U(t,{})),_=m.path(x,U(t,{fill:"none"}));p=n.insert(()=>_,":first-child"),p=n.insert(()=>b,":first-child"),p.attr("class","basic label-container"),d&&p.attr("style",d)}else{const m=CL(0,0,f,c,u,h);p=n.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",Gt(d)).attr("style",i),p.attr("class","basic label-container"),d&&p.selectAll("path").attr("style",d),i&&p.selectAll("path").attr("style",i)}return p.attr("label-offset-x",u),p.attr("transform",`translate(${-f/2}, ${c/2} )`),s.attr("transform",`translate(${-(a.width/2)-u-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),X(t,p),t.intersect=function(m){const y=W.rect(t,m),x=y.y-(t.y??0);if(h!=0&&(Math.abs(x)<(t.height??0)/2||Math.abs(x)==(t.height??0)/2&&Math.abs(y.x-(t.x??0))>(t.width??0)/2-u)){let b=u*u*(1-x*x/(h*h));b!=0&&(b=Math.sqrt(Math.abs(b))),b=u-b,m.x-(t.x??0)>0&&(b=-b),y.x+=b}return y},n}g(u0,"tiltedCylinder");async function f0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=a.width+t.padding,o=a.height+t.padding,l=[{x:-3*o/6,y:0},{x:s+3*o/6,y:0},{x:s,y:-o},{x:0,y:-o}];let c;const{cssStyles:h}=t;if(t.look==="handDrawn"){const u=j.svg(n),f=U(t,{}),d=ct(l),p=u.path(d,f);c=n.insert(()=>p,":first-child").attr("transform",`translate(${-s/2}, ${o/2})`),h&&c.attr("style",h)}else c=er(n,s,o,l);return i&&c.attr("style",i),t.width=s,t.height=o,X(t,c),t.intersect=function(u){return W.polygon(t,l,u)},n}g(f0,"trapezoid");async function d0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=60,o=20,l=Math.max(s,a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),c=Math.max(o,a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),{cssStyles:h}=t,u=j.svg(n),f=U(t,{});t.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const d=[{x:-l/2*.8,y:-c/2},{x:l/2*.8,y:-c/2},{x:l/2,y:-c/2*.6},{x:l/2,y:c/2},{x:-l/2,y:c/2},{x:-l/2,y:-c/2*.6}],p=ct(d),m=u.path(p,f),y=n.insert(()=>m,":first-child");return y.attr("class","basic label-container"),h&&t.look!=="handDrawn"&&y.selectChildren("path").attr("style",h),i&&t.look!=="handDrawn"&&y.selectChildren("path").attr("style",i),X(t,y),t.intersect=function(x){return W.polygon(t,d,x)},n}g(d0,"trapezoidalPentagon");async function p0(e,t){var b;const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Dt((b=ft().flowchart)==null?void 0:b.htmlLabels),l=a.width+(t.padding??0),c=l+a.height,h=l+a.height,u=[{x:0,y:0},{x:h,y:0},{x:h/2,y:-c}],{cssStyles:f}=t,d=j.svg(n),p=U(t,{});t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=ct(u),y=d.path(m,p),x=n.insert(()=>y,":first-child").attr("transform",`translate(${-c/2}, ${c/2})`);return f&&t.look!=="handDrawn"&&x.selectChildren("path").attr("style",f),i&&t.look!=="handDrawn"&&x.selectChildren("path").attr("style",i),t.width=l,t.height=c,X(t,x),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${c/2-(a.height+(t.padding??0)/(o?2:1)-(a.y-(a.top??0)))})`),t.intersect=function(_){return F.info("Triangle intersect",t,u,_),W.polygon(t,u,_)},n}g(p0,"triangle");async function g0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=l/8,h=l+c,{cssStyles:u}=t,d=70-o,p=d>0?d/2:0,m=j.svg(n),y=U(t,{});t.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const x=[{x:-o/2-p,y:h/2},...pr(-o/2-p,h/2,o/2+p,h/2,c,.8),{x:o/2+p,y:-h/2},{x:-o/2-p,y:-h/2}],b=ct(x),_=m.path(b,y),k=n.insert(()=>_,":first-child");return k.attr("class","basic label-container"),u&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",u),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),k.attr("transform",`translate(0,${-c/2})`),s.attr("transform",`translate(${-o/2+(t.padding??0)-(a.x-(a.left??0))},${-l/2+(t.padding??0)-c-(a.y-(a.top??0))})`),X(t,k),t.intersect=function(w){return W.polygon(t,x,w)},n}g(g0,"waveEdgedRectangle");async function m0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await it(e,t,nt(t)),s=100,o=50,l=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),c=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),h=l/c;let u=l,f=c;u>f*h?f=u/h:u=f*h,u=Math.max(u,s),f=Math.max(f,o);const d=Math.min(f*.2,f/4),p=f+d*2,{cssStyles:m}=t,y=j.svg(n),x=U(t,{});t.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");const b=[{x:-u/2,y:p/2},...pr(-u/2,p/2,u/2,p/2,d,1),{x:u/2,y:-p/2},...pr(u/2,-p/2,-u/2,-p/2,d,-1)],_=ct(b),k=y.path(_,x),w=n.insert(()=>k,":first-child");return w.attr("class","basic label-container"),m&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",m),i&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",i),X(t,w),t.intersect=function(T){return W.polygon(t,b,T)},n}g(m0,"waveRectangle");async function y0(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:s}=await it(e,t,nt(t)),o=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=5,h=-o/2,u=-l/2,{cssStyles:f}=t,d=j.svg(n),p=U(t,{}),m=[{x:h-c,y:u-c},{x:h-c,y:u+l},{x:h+o,y:u+l},{x:h+o,y:u-c}],y=`M${h-c},${u-c} L${h+o},${u-c} L${h+o},${u+l} L${h-c},${u+l} L${h-c},${u-c} + M${h-c},${u} L${h+o},${u} + M${h},${u-c} L${h},${u+l}`;t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const x=d.path(y,p),b=n.insert(()=>x,":first-child");return b.attr("transform",`translate(${c/2}, ${c/2})`),b.attr("class","basic label-container"),f&&t.look!=="handDrawn"&&b.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&b.selectAll("path").attr("style",i),s.attr("transform",`translate(${-(a.width/2)+c/2-(a.x-(a.left??0))}, ${-(a.height/2)+c/2-(a.y-(a.top??0))})`),X(t,b),t.intersect=function(_){return W.polygon(t,m,_)},n}g(y0,"windowPane");async function x0(e,t,r,i,n=r.class.padding??12){const a=i?0:3,s=e.insert("g").attr("class",nt(t)).attr("id",t.domId||t.id);let o=null,l=null,c=null,h=null,u=0,f=0,d=0;if(o=s.insert("g").attr("class","annotation-group text"),t.annotations.length>0){const b=t.annotations[0];await Ji(o,{text:`«${b}»`},0),u=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await Ji(l,t,0,["font-weight: bolder"]);const p=l.node().getBBox();f=p.height,c=s.insert("g").attr("class","members-group text");let m=0;for(const b of t.members){const _=await Ji(c,b,m,[b.parseClassifier()]);m+=_+a}d=c.node().getBBox().height,d<=0&&(d=n/2),h=s.insert("g").attr("class","methods-group text");let y=0;for(const b of t.methods){const _=await Ji(h,b,y,[b.parseClassifier()]);y+=_+a}let x=s.node().getBBox();if(o!==null){const b=o.node().getBBox();o.attr("transform",`translate(${-b.width/2})`)}return l.attr("transform",`translate(${-p.width/2}, ${u})`),x=s.node().getBBox(),c.attr("transform",`translate(0, ${u+f+n*2})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${u+f+(d?d+n*4:n*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}g(x0,"textHelper");async function Ji(e,t,r,i=[]){const n=e.insert("g").attr("class","label").attr("style",i.join("; ")),a=Se();let s="useHtmlLabels"in t?t.useHtmlLabels:Dt(a.htmlLabels)??!0,o="";"text"in t?o=t.text:o=t.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),ui(o)&&(s=!0);const l=await Si(n,Of(Ci(o)),{width:mi(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let c,h=1;if(s){const u=l.children[0],f=ut(l);h=u.innerHTML.split("
    ").length,u.innerHTML.includes("")&&(h+=u.innerHTML.split("").length-1);const d=u.getElementsByTagName("img");if(d){const p=o.replace(/]*>/g,"").trim()==="";await Promise.all([...d].map(m=>new Promise(y=>{function x(){var b;if(m.style.display="flex",m.style.flexDirection="column",p){const _=((b=a.fontSize)==null?void 0:b.toString())??window.getComputedStyle(document.body).fontSize,w=parseInt(_,10)*5+"px";m.style.minWidth=w,m.style.maxWidth=w}else m.style.width="100%";y(m)}g(x,"setupImage"),setTimeout(()=>{m.complete&&x()}),m.addEventListener("error",x),m.addEventListener("load",x)})))}c=u.getBoundingClientRect(),f.attr("width",c.width),f.attr("height",c.height)}else{i.includes("font-weight: bolder")&&ut(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const u=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(u.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(u.textContent=u.textContent[0]+" "+u.textContent.substring(1))),u.textContent==="undefined"&&(u.textContent=""),c=l.getBBox()}return n.attr("transform","translate(0,"+(-c.height/(2*h)+r)+")"),c.height}g(Ji,"addText");async function b0(e,t){var N,R;const r=ft(),i=r.class.padding??12,n=i,a=t.useHtmlLabels??Dt(r.htmlLabels)??!0,s=t;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];const{shapeSvg:o,bbox:l}=await x0(e,t,r,a,n),{labelStyles:c,nodeStyles:h}=Z(t);t.labelStyle=c,t.cssStyles=s.styles||"";const u=((N=s.styles)==null?void 0:N.join(";"))||h||"";t.cssStyles||(t.cssStyles=u.replaceAll("!important","").split(";"));const f=s.members.length===0&&s.methods.length===0&&!((R=r.class)!=null&&R.hideEmptyMembersBox),d=j.svg(o),p=U(t,{});t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const m=l.width;let y=l.height;s.members.length===0&&s.methods.length===0?y+=n:s.members.length>0&&s.methods.length===0&&(y+=n*2);const x=-m/2,b=-y/2,_=d.rectangle(x-i,b-i-(f?i:s.members.length===0&&s.methods.length===0?-i/2:0),m+2*i,y+2*i+(f?i*2:s.members.length===0&&s.methods.length===0?-i:0),p),k=o.insert(()=>_,":first-child");k.attr("class","basic label-container");const w=k.node().getBBox();o.selectAll(".text").each((E,q,D)=>{var z;const A=ut(D[q]),B=A.attr("transform");let S=0;if(B){const tt=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(B);tt&&(S=parseFloat(tt[2]))}let M=S+b+i-(f?i:s.members.length===0&&s.methods.length===0?-i/2:0);a||(M-=4);let $=x;(A.attr("class").includes("label-group")||A.attr("class").includes("annotation-group"))&&($=-((z=A.node())==null?void 0:z.getBBox().width)/2||0,o.selectAll("text").each(function(Y,tt,bt){window.getComputedStyle(bt[tt]).textAnchor==="middle"&&($=0)})),A.attr("transform",`translate(${$}, ${M})`)});const T=o.select(".annotation-group").node().getBBox().height-(f?i/2:0)||0,L=o.select(".label-group").node().getBBox().height-(f?i/2:0)||0,O=o.select(".members-group").node().getBBox().height-(f?i/2:0)||0;if(s.members.length>0||s.methods.length>0||f){const E=d.line(w.x,T+L+b+i,w.x+w.width,T+L+b+i,p);o.insert(()=>E).attr("class","divider").attr("style",u)}if(f||s.members.length>0||s.methods.length>0){const E=d.line(w.x,T+L+O+b+n*2+i,w.x+w.width,T+L+O+b+i+n*2,p);o.insert(()=>E).attr("class","divider").attr("style",u)}if(s.look!=="handDrawn"&&o.selectAll("path").attr("style",u),k.select(":nth-child(2)").attr("style",u),o.selectAll(".divider").select("path").attr("style",u),t.labelStyle?o.selectAll("span").attr("style",t.labelStyle):o.selectAll("span").attr("style",u),!a){const E=RegExp(/color\s*:\s*([^;]*)/),q=E.exec(u);if(q){const D=q[0].replace("color","fill");o.selectAll("tspan").attr("style",D)}else if(c){const D=E.exec(c);if(D){const A=D[0].replace("color","fill");o.selectAll("tspan").attr("style",A)}}}return X(t,k),t.intersect=function(E){return W.rect(t,E)},o}g(b0,"classBox");var AL=g(e=>{switch(e){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function _0(e,t,{config:r}){var q,D;const{labelStyles:i,nodeStyles:n}=Z(t);t.labelStyle=i||"";const a=10,s=t.width;t.width=(t.width??200)-10;const{shapeSvg:o,bbox:l,label:c}=await it(e,t,nt(t)),h=t.padding||10;let u="",f;"ticket"in t&&t.ticket&&((q=r==null?void 0:r.kanban)!=null&&q.ticketBaseUrl)&&(u=(D=r==null?void 0:r.kanban)==null?void 0:D.ticketBaseUrl.replace("#TICKET#",t.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",u).attr("target","_blank"));const d={useHtmlLabels:t.useHtmlLabels,labelStyle:t.labelStyle||"",width:t.width,img:t.img,padding:t.padding||8,centerLabel:!1};let p,m;f?{label:p,bbox:m}=await _o(f,"ticket"in t&&t.ticket||"",d):{label:p,bbox:m}=await _o(o,"ticket"in t&&t.ticket||"",d);const{label:y,bbox:x}=await _o(o,"assigned"in t&&t.assigned||"",d);t.width=s;const b=10,_=(t==null?void 0:t.width)||0,k=Math.max(m.height,x.height)/2,w=Math.max(l.height+b*2,(t==null?void 0:t.height)||0)+k,T=-_/2,L=-w/2;c.attr("transform","translate("+(h-_/2)+", "+(-k-l.height/2)+")"),p.attr("transform","translate("+(h-_/2)+", "+(-k+l.height/2)+")"),y.attr("transform","translate("+(h+_/2-x.width-2*a)+", "+(-k+l.height/2)+")");let O;const{rx:N,ry:R}=t,{cssStyles:E}=t;if(t.look==="handDrawn"){const A=j.svg(o),B=U(t,{}),S=N||R?A.path(tr(T,L,_,w,N||0),B):A.rectangle(T,L,_,w,B);O=o.insert(()=>S,":first-child"),O.attr("class","basic label-container").attr("style",E||null)}else{O=o.insert("rect",":first-child"),O.attr("class","basic label-container __APA__").attr("style",n).attr("rx",N??5).attr("ry",R??5).attr("x",T).attr("y",L).attr("width",_).attr("height",w);const A="priority"in t&&t.priority;if(A){const B=o.append("line"),S=T+2,M=L+Math.floor((N??0)/2),$=L+w-Math.floor((N??0)/2);B.attr("x1",S).attr("y1",M).attr("x2",S).attr("y2",$).attr("stroke-width","4").attr("stroke",AL(A))}}return X(t,O),t.height=w,t.intersect=function(A){return W.rect(t,A)},o}g(_0,"kanbanItem");var LL=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:r0},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:Jm},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:i0},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:o0},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:Tm},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:bm},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:Zm},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:Fm},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:Hm},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:Wm},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:f0},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:zm},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:Lm},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:h0},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:ym},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:t0},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:s0},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:a0},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:Em},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:Im},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:vm},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:km},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:Cm},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:jm},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:g0},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:Mm},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:u0},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:Um},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:Sm},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:Am},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:p0},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:y0},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:Bm},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:d0},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:$m},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:e0},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:Vm},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:Gm},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:mm},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:wm},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:c0},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:l0},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:m0},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:Km},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:Ym}],BL=g(()=>{const t=[...Object.entries({state:n0,choice:xm,note:Xm,rectWithTitle:Qm,labelRect:qm,iconSquare:Pm,iconCircle:Om,icon:Rm,iconRounded:Dm,imageSquare:Nm,anchor:gm,kanbanItem:_0,classBox:b0}),...LL.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(n=>[n,r.handler]))];return Object.fromEntries(t)},"generateShapeMap"),w0=BL();function $L(e){return e in w0}g($L,"isValidShape");var Ws=new Map;async function v0(e,t,r){let i,n;t.shape==="rect"&&(t.rx&&t.ry?t.shape="roundedRect":t.shape="squareRect");const a=t.shape?w0[t.shape]:void 0;if(!a)throw new Error(`No such shape: ${t.shape}. Please check your syntax.`);if(t.link){let s;r.config.securityLevel==="sandbox"?s="_top":t.linkTarget&&(s=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",s??null),n=await a(i,t,r)}else n=await a(e,t,r),i=n;return t.tooltip&&n.attr("title",t.tooltip),Ws.set(t.id,i),t.haveCallback&&i.attr("class",i.attr("class")+" clickable"),i}g(v0,"insertNode");var c3=g((e,t)=>{Ws.set(t.id,e)},"setNodeElem"),h3=g(()=>{Ws.clear()},"clear"),u3=g(e=>{const t=Ws.get(e.id);F.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const r=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-r)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},"positionNode"),fe={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};function tn(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=kt(e),t=kt(t);const[r,i]=[e.x,e.y],[n,a]=[t.x,t.y],s=n-r,o=a-i;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}g(tn,"calculateDeltaAndAngle");var kt=g(e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,"pointTransformer"),EL=g(e=>({x:g(function(t,r,i){let n=0;const a=kt(i[0]).x=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(fe,e.arrowTypeEnd)){const{angle:d,deltaX:p}=tn(i[i.length-1],i[i.length-2]);n=fe[e.arrowTypeEnd]*Math.cos(d)*(p>=0?1:-1)}const s=Math.abs(kt(t).x-kt(i[i.length-1]).x),o=Math.abs(kt(t).y-kt(i[i.length-1]).y),l=Math.abs(kt(t).x-kt(i[0]).x),c=Math.abs(kt(t).y-kt(i[0]).y),h=fe[e.arrowTypeStart],u=fe[e.arrowTypeEnd],f=1;if(s0&&o0&&c=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(fe,e.arrowTypeEnd)){const{angle:d,deltaY:p}=tn(i[i.length-1],i[i.length-2]);n=fe[e.arrowTypeEnd]*Math.abs(Math.sin(d))*(p>=0?1:-1)}const s=Math.abs(kt(t).y-kt(i[i.length-1]).y),o=Math.abs(kt(t).x-kt(i[i.length-1]).x),l=Math.abs(kt(t).y-kt(i[0]).y),c=Math.abs(kt(t).x-kt(i[0]).x),h=fe[e.arrowTypeStart],u=fe[e.arrowTypeEnd],f=1;if(s0&&o0&&c{t.arrowTypeStart&&ku(e,"start",t.arrowTypeStart,r,i,n),t.arrowTypeEnd&&ku(e,"end",t.arrowTypeEnd,r,i,n)},"addEdgeMarkers"),FL={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},ku=g((e,t,r,i,n,a)=>{const s=FL[r];if(!s){F.warn(`Unknown arrow type: ${r}`);return}const o=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${n}_${a}-${s}${o})`)},"addEdgeMarker"),us=new Map,Rt=new Map,f3=g(()=>{us.clear(),Rt.clear()},"clear"),Gi=g(e=>e?e.reduce((r,i)=>r+";"+i,""):"","getLabelStyles"),IL=g(async(e,t)=>{let r=Dt(ft().flowchart.htmlLabels);const i=await Si(e,t.label,{style:Gi(t.labelStyle),useHtmlLabels:r,addSvgBackground:!0,isNode:!1});F.info("abc82",t,t.labelType);const n=e.insert("g").attr("class","edgeLabel"),a=n.insert("g").attr("class","label");a.node().appendChild(i);let s=i.getBBox();if(r){const l=i.children[0],c=ut(i);s=l.getBoundingClientRect(),c.attr("width",s.width),c.attr("height",s.height)}a.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),us.set(t.id,n),t.width=s.width,t.height=s.height;let o;if(t.startLabelLeft){const l=await Tr(t.startLabelLeft,Gi(t.labelStyle)),c=e.insert("g").attr("class","edgeTerminals"),h=c.insert("g").attr("class","inner");o=h.node().appendChild(l);const u=l.getBBox();h.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),Rt.get(t.id)||Rt.set(t.id,{}),Rt.get(t.id).startLeft=c,en(o,t.startLabelLeft)}if(t.startLabelRight){const l=await Tr(t.startLabelRight,Gi(t.labelStyle)),c=e.insert("g").attr("class","edgeTerminals"),h=c.insert("g").attr("class","inner");o=c.node().appendChild(l),h.node().appendChild(l);const u=l.getBBox();h.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),Rt.get(t.id)||Rt.set(t.id,{}),Rt.get(t.id).startRight=c,en(o,t.startLabelRight)}if(t.endLabelLeft){const l=await Tr(t.endLabelLeft,Gi(t.labelStyle)),c=e.insert("g").attr("class","edgeTerminals"),h=c.insert("g").attr("class","inner");o=h.node().appendChild(l);const u=l.getBBox();h.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),c.node().appendChild(l),Rt.get(t.id)||Rt.set(t.id,{}),Rt.get(t.id).endLeft=c,en(o,t.endLabelLeft)}if(t.endLabelRight){const l=await Tr(t.endLabelRight,Gi(t.labelStyle)),c=e.insert("g").attr("class","edgeTerminals"),h=c.insert("g").attr("class","inner");o=h.node().appendChild(l);const u=l.getBBox();h.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),c.node().appendChild(l),Rt.get(t.id)||Rt.set(t.id,{}),Rt.get(t.id).endRight=c,en(o,t.endLabelRight)}return i},"insertEdgeLabel");function en(e,t){ft().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}g(en,"setTerminalWidth");var RL=g((e,t)=>{F.debug("Moving label abc88 ",e.id,e.label,us.get(e.id),t);let r=t.updatedPath?t.updatedPath:t.originalPath;const i=ft(),{subGraphTitleTotalMargin:n}=Vl(i);if(e.label){const a=us.get(e.id);let s=e.x,o=e.y;if(r){const l=Fe.calcLabelPosition(r);F.debug("Moving label "+e.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),t.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+n/2})`)}if(e.startLabelLeft){const a=Rt.get(e.id).startLeft;let s=e.x,o=e.y;if(r){const l=Fe.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(e.startLabelRight){const a=Rt.get(e.id).startRight;let s=e.x,o=e.y;if(r){const l=Fe.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(e.endLabelLeft){const a=Rt.get(e.id).endLeft;let s=e.x,o=e.y;if(r){const l=Fe.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(e.endLabelRight){const a=Rt.get(e.id).endRight;let s=e.x,o=e.y;if(r){const l=Fe.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),OL=g((e,t)=>{const r=e.x,i=e.y,n=Math.abs(t.x-r),a=Math.abs(t.y-i),s=e.width/2,o=e.height/2;return n>=s||a>=o},"outsideNode"),DL=g((e,t,r)=>{F.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(t)} + insidePoint : ${JSON.stringify(r)} + node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const i=e.x,n=e.y,a=Math.abs(i-r.x),s=e.width/2;let o=r.xMath.abs(i-t.x)*l){let u=r.y{F.warn("abc88 cutPathAtIntersect",e,t);let r=[],i=e[0],n=!1;return e.forEach(a=>{if(F.info("abc88 checking point",a,t),!OL(t,a)&&!n){const s=DL(t,i,a);F.debug("abc88 inside",a,i,s),F.debug("abc88 intersection",s,t);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?F.warn("abc88 no intersect",s,r):r.push(s),n=!0}else F.warn("abc88 outside",a,i),i=a,n||r.push(a)}),F.debug("returning points",r),r},"cutPathAtIntersect");function k0(e){const t=[],r=[];for(let i=1;i5&&Math.abs(a.y-n.y)>5||n.y===a.y&&a.x===s.x&&Math.abs(a.x-n.x)>5&&Math.abs(a.y-s.y)>5)&&(t.push(a),r.push(i))}return{cornerPoints:t,cornerPointPositions:r}}g(k0,"extractCornerPoints");var Su=g(function(e,t,r){const i=t.x-e.x,n=t.y-e.y,a=Math.sqrt(i*i+n*n),s=r/a;return{x:t.x-s*i,y:t.y-s*n}},"findAdjacentPoint"),PL=g(function(e){const{cornerPointPositions:t}=k0(e),r=[];for(let i=0;i10&&Math.abs(a.y-n.y)>=10){F.debug("Corner point fixing",Math.abs(a.x-n.x),Math.abs(a.y-n.y));const d=5;s.x===o.x?f={x:c<0?o.x-d+u:o.x+d-u,y:h<0?o.y-u:o.y+u}:f={x:c<0?o.x-u:o.x+u,y:h<0?o.y-d+u:o.y+d-u}}else F.debug("Corner point skipping fixing",Math.abs(a.x-n.x),Math.abs(a.y-n.y));r.push(f,l)}else r.push(e[i]);return r},"fixCorners"),NL=g(function(e,t,r,i,n,a,s){const{handDrawnSeed:o}=ft();let l=t.points,c=!1;const h=n;var u=a;u.intersect&&h.intersect&&(l=l.slice(1,t.points.length-1),l.unshift(h.intersect(l[0])),F.debug("Last point APA12",t.start,"-->",t.end,l[l.length-1],u,u.intersect(l[l.length-1])),l.push(u.intersect(l[l.length-1]))),t.toCluster&&(F.info("to cluster abc88",r.get(t.toCluster)),l=Cu(t.points,r.get(t.toCluster).node),c=!0),t.fromCluster&&(F.debug("from cluster abc88",r.get(t.fromCluster),JSON.stringify(l,null,2)),l=Cu(l.reverse(),r.get(t.fromCluster).node).reverse(),c=!0);let f=l.filter(L=>!Number.isNaN(L.y));f=PL(f);let d=Kp;t.curve&&(d=t.curve);const{x:p,y:m}=EL(t),y=Yk().x(p).y(m).curve(d);let x;switch(t.thickness){case"normal":x="edge-thickness-normal";break;case"thick":x="edge-thickness-thick";break;case"invisible":x="edge-thickness-invisible";break;default:x="edge-thickness-normal"}switch(t.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed";break;default:x+=" edge-pattern-solid"}let b,_=y(f);const k=Array.isArray(t.style)?t.style:[t.style];if(t.look==="handDrawn"){const L=j.svg(e);Object.assign([],f);const O=L.path(_,{roughness:.3,seed:o});x+=" transition",b=ut(O).select("path").attr("id",t.id).attr("class"," "+x+(t.classes?" "+t.classes:"")).attr("style",k?k.reduce((R,E)=>R+";"+E,""):"");let N=b.attr("d");b.attr("d",N),e.node().appendChild(b.node())}else b=e.append("path").attr("d",_).attr("id",t.id).attr("class"," "+x+(t.classes?" "+t.classes:"")).attr("style",k?k.reduce((L,O)=>L+";"+O,""):"");let w="";(ft().flowchart.arrowMarkerAbsolute||ft().state.arrowMarkerAbsolute)&&(w=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,w=w.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),F.info("arrowTypeStart",t.arrowTypeStart),F.info("arrowTypeEnd",t.arrowTypeEnd),ML(b,t,w,s,i);let T={};return c&&(T.updatedPath=l),T.originalPath=t.points,T},"insertEdge"),zL=g((e,t,r,i)=>{t.forEach(n=>{ZL[n](e,r,i)})},"insertMarkers"),qL=g((e,t,r)=>{F.trace("Making markers for ",r),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),WL=g((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),HL=g((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),jL=g((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),UL=g((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),YL=g((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),GL=g((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),VL=g((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),XL=g((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),ZL={extension:qL,composition:WL,aggregation:HL,dependency:jL,lollipop:UL,point:YL,circle:GL,cross:VL,barb:XL},KL=zL,QL={common:wi,getConfig:Se,insertCluster:uL,insertEdge:NL,insertEdgeLabel:IL,insertMarkers:KL,insertNode:v0,interpolateToCurve:fc,labelHelper:it,log:F,positionEdgeLabel:RL},Cn={},C0=g(e=>{for(const t of e)Cn[t.name]=t},"registerLayoutLoaders"),JL=g(()=>{C0([{name:"dagre",loader:g(async()=>await xt(()=>import("./HK6om9Mg.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),"loader")}])},"registerDefaultLayoutLoaders");JL();var d3=g(async(e,t)=>{if(!(e.layoutAlgorithm in Cn))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);const r=Cn[e.layoutAlgorithm];return(await r.loader()).render(e,t,QL,{algorithm:r.algorithm})},"render"),p3=g((e="",{fallback:t="dagre"}={})=>{if(e in Cn)return e;if(t in Cn)return F.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),Tu="11.4.1",tB=g(e=>{var n;const{securityLevel:t}=ft();let r=ut("body");if(t==="sandbox"){const s=((n=ut(`#i${e}`).node())==null?void 0:n.contentDocument)??document;r=ut(s.body)}return r.select(`#${e}`)},"selectSvgElement"),S0="comm",T0="rule",A0="decl",eB="@import",rB="@keyframes",iB="@layer",L0=Math.abs,Bc=String.fromCharCode;function B0(e){return e.trim()}function Aa(e,t,r){return e.replace(t,r)}function nB(e,t,r){return e.indexOf(t,r)}function Sn(e,t){return e.charCodeAt(t)|0}function yi(e,t,r){return e.slice(t,r)}function Ee(e){return e.length}function aB(e){return e.length}function pa(e,t){return t.push(e),e}var Hs=1,xi=1,$0=0,pe=0,Tt=0,Li="";function $c(e,t,r,i,n,a,s,o){return{value:e,root:t,parent:r,type:i,props:n,children:a,line:Hs,column:xi,length:s,return:"",siblings:o}}function sB(){return Tt}function oB(){return Tt=pe>0?Sn(Li,--pe):0,xi--,Tt===10&&(xi=1,Hs--),Tt}function Ce(){return Tt=pe<$0?Sn(Li,pe++):0,xi++,Tt===10&&(xi=1,Hs++),Tt}function lr(){return Sn(Li,pe)}function La(){return pe}function js(e,t){return yi(Li,e,t)}function Tn(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function lB(e){return Hs=xi=1,$0=Ee(Li=e),pe=0,[]}function cB(e){return Li="",e}function wo(e){return B0(js(pe-1,yl(e===91?e+2:e===40?e+1:e)))}function hB(e){for(;(Tt=lr())&&Tt<33;)Ce();return Tn(e)>2||Tn(Tt)>3?"":" "}function uB(e,t){for(;--t&&Ce()&&!(Tt<48||Tt>102||Tt>57&&Tt<65||Tt>70&&Tt<97););return js(e,La()+(t<6&&lr()==32&&Ce()==32))}function yl(e){for(;Ce();)switch(Tt){case e:return pe;case 34:case 39:e!==34&&e!==39&&yl(Tt);break;case 40:e===41&&yl(e);break;case 92:Ce();break}return pe}function fB(e,t){for(;Ce()&&e+Tt!==57;)if(e+Tt===84&&lr()===47)break;return"/*"+js(t,pe-1)+"*"+Bc(e===47?e:Ce())}function dB(e){for(;!Tn(lr());)Ce();return js(e,pe)}function pB(e){return cB(Ba("",null,null,null,[""],e=lB(e),0,[0],e))}function Ba(e,t,r,i,n,a,s,o,l){for(var c=0,h=0,u=s,f=0,d=0,p=0,m=1,y=1,x=1,b=0,_="",k=n,w=a,T=i,L=_;y;)switch(p=b,b=Ce()){case 40:if(p!=108&&Sn(L,u-1)==58){nB(L+=Aa(wo(b),"&","&\f"),"&\f",L0(c?o[c-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:L+=wo(b);break;case 9:case 10:case 13:case 32:L+=hB(p);break;case 92:L+=uB(La()-1,7);continue;case 47:switch(lr()){case 42:case 47:pa(gB(fB(Ce(),La()),t,r,l),l),(Tn(p||1)==5||Tn(lr()||1)==5)&&Ee(L)&&yi(L,-1,void 0)!==" "&&(L+=" ");break;default:L+="/"}break;case 123*m:o[c++]=Ee(L)*x;case 125*m:case 59:case 0:switch(b){case 0:case 125:y=0;case 59+h:x==-1&&(L=Aa(L,/\f/g,"")),d>0&&(Ee(L)-u||m===0&&p===47)&&pa(d>32?Lu(L+";",i,r,u-1,l):Lu(Aa(L," ","")+";",i,r,u-2,l),l);break;case 59:L+=";";default:if(pa(T=Au(L,t,r,c,h,n,o,_,k=[],w=[],u,a),a),b===123)if(h===0)Ba(L,t,T,T,k,a,u,o,w);else switch(f===99&&Sn(L,3)===110?100:f){case 100:case 108:case 109:case 115:Ba(e,T,T,i&&pa(Au(e,T,T,0,0,n,o,_,n,k=[],u,w),w),n,w,u,o,i?k:w);break;default:Ba(L,T,T,T,[""],w,0,o,w)}}c=h=d=0,m=x=1,_=L="",u=s;break;case 58:u=1+Ee(L),d=p;default:if(m<1){if(b==123)--m;else if(b==125&&m++==0&&oB()==125)continue}switch(L+=Bc(b),b*m){case 38:x=h>0?1:(L+="\f",-1);break;case 44:o[c++]=(Ee(L)-1)*x,x=1;break;case 64:lr()===45&&(L+=wo(Ce())),f=lr(),h=u=Ee(_=L+=dB(La())),b++;break;case 45:p===45&&Ee(L)==2&&(m=0)}}return a}function Au(e,t,r,i,n,a,s,o,l,c,h,u){for(var f=n-1,d=n===0?a:[""],p=aB(d),m=0,y=0,x=0;m0?d[b]+" "+_:Aa(_,/&\f/g,d[b])))&&(l[x++]=k);return $c(e,t,r,n===0?T0:o,l,c,h,u)}function gB(e,t,r,i){return $c(e,t,r,S0,Bc(sB()),yi(e,2,-2),0,i)}function Lu(e,t,r,i,n){return $c(e,t,r,A0,yi(e,0,i),yi(e,i+1,-1),i,n)}function xl(e,t){for(var r="",i=0;i/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),MB=g(async()=>{const{diagram:e}=await xt(()=>import("./DZ8fBfTf.js"),__vite__mapDeps([10,11,6,7,8,9]),import.meta.url);return{id:E0,diagram:e}},"loader"),FB={id:E0,detector:EB,loader:MB},IB=FB,M0="flowchart",RB=g((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),OB=g(async()=>{const{diagram:e}=await xt(()=>import("./MVIqH3qo.js"),__vite__mapDeps([12,13,14,6,7,8,9]),import.meta.url);return{id:M0,diagram:e}},"loader"),DB={id:M0,detector:RB,loader:OB},PB=DB,F0="flowchart-v2",NB=g((e,t)=>{var r,i,n;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),zB=g(async()=>{const{diagram:e}=await xt(()=>import("./MVIqH3qo.js"),__vite__mapDeps([12,13,14,6,7,8,9]),import.meta.url);return{id:F0,diagram:e}},"loader"),qB={id:F0,detector:NB,loader:zB},WB=qB,I0="er",HB=g(e=>/^\s*erDiagram/.test(e),"detector"),jB=g(async()=>{const{diagram:e}=await xt(()=>import("./vh4weN6L.js"),__vite__mapDeps([15,1,2,3,4,6,7,8,9]),import.meta.url);return{id:I0,diagram:e}},"loader"),UB={id:I0,detector:HB,loader:jB},YB=UB,R0="gitGraph",GB=g(e=>/^\s*gitGraph/.test(e),"detector"),VB=g(async()=>{const{diagram:e}=await xt(()=>import("./DiUVSron.js"),__vite__mapDeps([16,17,18,19,7,2,4,5,6,8,9]),import.meta.url);return{id:R0,diagram:e}},"loader"),XB={id:R0,detector:GB,loader:VB},ZB=XB,O0="gantt",KB=g(e=>/^\s*gantt/.test(e),"detector"),QB=g(async()=>{const{diagram:e}=await xt(()=>import("./B6SjRGD-.js"),__vite__mapDeps([20,9,21,22,6,7,8]),import.meta.url);return{id:O0,diagram:e}},"loader"),JB={id:O0,detector:KB,loader:QB},t$=JB,D0="info",e$=g(e=>/^\s*info/.test(e),"detector"),r$=g(async()=>{const{diagram:e}=await xt(()=>import("./DZpnpg6r.js"),__vite__mapDeps([23,19,7,2,4,5,6,8,9]),import.meta.url);return{id:D0,diagram:e}},"loader"),i$={id:D0,detector:e$,loader:r$},P0="pie",n$=g(e=>/^\s*pie/.test(e),"detector"),a$=g(async()=>{const{diagram:e}=await xt(()=>import("./BzRHfUZr.js"),__vite__mapDeps([24,17,19,7,2,4,5,25,26,22,6,8,9]),import.meta.url);return{id:P0,diagram:e}},"loader"),s$={id:P0,detector:n$,loader:a$},N0="quadrantChart",o$=g(e=>/^\s*quadrantChart/.test(e),"detector"),l$=g(async()=>{const{diagram:e}=await xt(()=>import("./BBPqxCFz.js"),__vite__mapDeps([27,21,22,6,7,8,9]),import.meta.url);return{id:N0,diagram:e}},"loader"),c$={id:N0,detector:o$,loader:l$},h$=c$,z0="xychart",u$=g(e=>/^\s*xychart-beta/.test(e),"detector"),f$=g(async()=>{const{diagram:e}=await xt(()=>import("./jm5Vvyv-.js"),__vite__mapDeps([28,22,26,21,6,7,8,9]),import.meta.url);return{id:z0,diagram:e}},"loader"),d$={id:z0,detector:u$,loader:f$},p$=d$,q0="requirement",g$=g(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),m$=g(async()=>{const{diagram:e}=await xt(()=>import("./CyiKzZke.js"),__vite__mapDeps([29,1,2,3,4,6,7,8,9]),import.meta.url);return{id:q0,diagram:e}},"loader"),y$={id:q0,detector:g$,loader:m$},x$=y$,W0="sequence",b$=g(e=>/^\s*sequenceDiagram/.test(e),"detector"),_$=g(async()=>{const{diagram:e}=await xt(()=>import("./CKq6uz6i.js"),__vite__mapDeps([30,11,18,6,7,8,9]),import.meta.url);return{id:W0,diagram:e}},"loader"),w$={id:W0,detector:b$,loader:_$},v$=w$,H0="class",k$=g((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),C$=g(async()=>{const{diagram:e}=await xt(()=>import("./8ufgy5XF.js"),__vite__mapDeps([31,32,13,6,7,8,9]),import.meta.url);return{id:H0,diagram:e}},"loader"),S$={id:H0,detector:k$,loader:C$},T$=S$,j0="classDiagram",A$=g((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),L$=g(async()=>{const{diagram:e}=await xt(()=>import("./piQ0EMDe.js"),__vite__mapDeps([33,32,13,6,7,8,9]),import.meta.url);return{id:j0,diagram:e}},"loader"),B$={id:j0,detector:A$,loader:L$},$$=B$,U0="state",E$=g((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),M$=g(async()=>{const{diagram:e}=await xt(()=>import("./DPkNqMKw.js"),__vite__mapDeps([34,35,13,1,2,3,4,6,7,8,9]),import.meta.url);return{id:U0,diagram:e}},"loader"),F$={id:U0,detector:E$,loader:M$},I$=F$,Y0="stateDiagram",R$=g((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),O$=g(async()=>{const{diagram:e}=await xt(()=>import("./DV860Oij.js"),__vite__mapDeps([36,35,13,6,7,8,9]),import.meta.url);return{id:Y0,diagram:e}},"loader"),D$={id:Y0,detector:R$,loader:O$},P$=D$,G0="journey",N$=g(e=>/^\s*journey/.test(e),"detector"),z$=g(async()=>{const{diagram:e}=await xt(()=>import("./7UxjXbch.js"),__vite__mapDeps([37,11,25,6,7,8,9]),import.meta.url);return{id:G0,diagram:e}},"loader"),q$={id:G0,detector:N$,loader:z$},W$=q$,H$=g((e,t,r)=>{F.debug(`rendering svg for syntax error +`);const i=tB(t),n=i.append("g");i.attr("viewBox","0 0 2412 512"),If(i,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),V0={draw:H$},j$=V0,U$={db:{},renderer:V0,parser:{parse:g(()=>{},"parse")}},Y$=U$,X0="flowchart-elk",G$=g((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*flowchart|graph/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),V$=g(async()=>{const{diagram:e}=await xt(()=>import("./MVIqH3qo.js"),__vite__mapDeps([12,13,14,6,7,8,9]),import.meta.url);return{id:X0,diagram:e}},"loader"),X$={id:X0,detector:G$,loader:V$},Z$=X$,Z0="timeline",K$=g(e=>/^\s*timeline/.test(e),"detector"),Q$=g(async()=>{const{diagram:e}=await xt(()=>import("./Cwt5j3M4.js"),__vite__mapDeps([38,25,6,7,8,9]),import.meta.url);return{id:Z0,diagram:e}},"loader"),J$={id:Z0,detector:K$,loader:Q$},tE=J$,K0="mindmap",eE=g(e=>/^\s*mindmap/.test(e),"detector"),rE=g(async()=>{const{diagram:e}=await xt(()=>import("./7I4epCkE.js"),__vite__mapDeps([39,40,9,6,7,8]),import.meta.url);return{id:K0,diagram:e}},"loader"),iE={id:K0,detector:eE,loader:rE},nE=iE,Q0="kanban",aE=g(e=>/^\s*kanban/.test(e),"detector"),sE=g(async()=>{const{diagram:e}=await xt(()=>import("./RKDQ-nER.js"),__vite__mapDeps([41,6,7,8,9]),import.meta.url);return{id:Q0,diagram:e}},"loader"),oE={id:Q0,detector:aE,loader:sE},lE=oE,J0="sankey",cE=g(e=>/^\s*sankey-beta/.test(e),"detector"),hE=g(async()=>{const{diagram:e}=await xt(()=>import("./DJhIy8L4.js"),__vite__mapDeps([42,26,22,6,7,8,9]),import.meta.url);return{id:J0,diagram:e}},"loader"),uE={id:J0,detector:cE,loader:hE},fE=uE,ty="packet",dE=g(e=>/^\s*packet-beta/.test(e),"detector"),pE=g(async()=>{const{diagram:e}=await xt(()=>import("./BdpWdHaY.js"),__vite__mapDeps([43,17,19,7,2,4,5,6,8,9]),import.meta.url);return{id:ty,diagram:e}},"loader"),gE={id:ty,detector:dE,loader:pE},ey="block",mE=g(e=>/^\s*block-beta/.test(e),"detector"),yE=g(async()=>{const{diagram:e}=await xt(()=>import("./DDsBBK07.js"),__vite__mapDeps([44,5,2,1,14,6,7,8,9]),import.meta.url);return{id:ey,diagram:e}},"loader"),xE={id:ey,detector:mE,loader:yE},bE=xE,ry="architecture",_E=g(e=>/^\s*architecture/.test(e),"detector"),wE=g(async()=>{const{diagram:e}=await xt(()=>import("./tC7BsrAy.js"),__vite__mapDeps([45,17,18,19,7,2,4,5,40,9,6,8]),import.meta.url);return{id:ry,diagram:e}},"loader"),vE={id:ry,detector:_E,loader:wE},kE=vE,Ru=!1,Us=g(()=>{Ru||(Ru=!0,Da("error",Y$,e=>e.toLowerCase().trim()==="error"),Da("---",{db:{clear:g(()=>{},"clear")},styles:{},renderer:{draw:g(()=>{},"draw")},parser:{parse:g(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:g(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),wf(IB,lE,$$,T$,YB,t$,i$,s$,x$,v$,Z$,WB,PB,nE,tE,ZB,P$,I$,W$,h$,fE,gE,p$,bE,kE))},"addDiagrams"),CE=g(async()=>{F.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(li).map(async([r,{detector:i,loader:n}])=>{if(n)try{Ro(r)}catch{try{const{diagram:a,id:s}=await n();Da(s,a,i)}catch(a){throw F.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete li[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){F.error(`Failed to load ${t.length} external diagrams`);for(const r of t)F.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),SE="graphics-document document";function iy(e,t){e.attr("role",SE),t!==""&&e.attr("aria-roledescription",t)}g(iy,"setA11yDiagramInfo");function ny(e,t,r,i){if(e.insert!==void 0){if(r){const n=`chart-desc-${i}`;e.attr("aria-describedby",n),e.insert("desc",":first-child").attr("id",n).text(r)}if(t){const n=`chart-title-${i}`;e.attr("aria-labelledby",n),e.insert("title",":first-child").attr("id",n).text(t)}}}g(ny,"addSVGa11yTitleDescription");var bi,kl=(bi=class{constructor(t,r,i,n,a){this.type=t,this.text=r,this.db=i,this.parser=n,this.renderer=a}static async fromText(t,r={}){var c,h;const i=Se(),n=Rl(t,i);t=rA(t)+` +`;try{Ro(n)}catch{const u=h1(n);if(!u)throw new _f(`Diagram ${n} not found.`);const{id:f,diagram:d}=await u();Da(f,d)}const{db:a,parser:s,renderer:o,init:l}=Ro(n);return s.parser&&(s.parser.yy=a),(c=a.clear)==null||c.call(a),l==null||l(i),r.title&&((h=a.setDiagramTitle)==null||h.call(a,r.title)),await s.parse(t),new bi(n,t,a,s,o)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},g(bi,"Diagram"),bi),Ou=[],TE=g(()=>{Ou.forEach(e=>{e()}),Ou=[]},"attachFunctions"),AE=g(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function ay(e){const t=e.match(bf);if(!t)return{text:e,metadata:{}};let r=cw(t[1],{schema:lw})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const i={};return r.displayMode&&(i.displayMode=r.displayMode.toString()),r.title&&(i.title=r.title.toString()),r.config&&(i.config=r.config),{text:e.slice(t[0].length),metadata:i}}g(ay,"extractFrontMatter");var LE=g(e=>e.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(t,r,i)=>"<"+r+i.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),BE=g(e=>{const{text:t,metadata:r}=ay(e),{displayMode:i,title:n,config:a={}}=r;return i&&(a.gantt||(a.gantt={}),a.gantt.displayMode=i),{title:n,config:a,text:t}},"processFrontmatter"),$E=g(e=>{const t=Fe.detectInit(e)??{},r=Fe.detectDirective(e,"wrap");return Array.isArray(r)?t.wrap=r.some(({type:i})=>i==="wrap"):(r==null?void 0:r.type)==="wrap"&&(t.wrap=!0),{text:HT(e),directive:t}},"processDirectives");function Ec(e){const t=LE(e),r=BE(t),i=$E(r.text),n=yc(r.config,i.directive);return e=AE(i.text),{code:e,title:r.title,config:n}}g(Ec,"preprocessDiagram");function sy(e){const t=new TextEncoder().encode(e),r=Array.from(t,i=>String.fromCodePoint(i)).join("");return btoa(r)}g(sy,"toBase64");var EE=5e4,ME="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",FE="sandbox",IE="loose",RE="http://www.w3.org/2000/svg",OE="http://www.w3.org/1999/xlink",DE="http://www.w3.org/1999/xhtml",PE="100%",NE="100%",zE="border:0;margin:0;",qE="margin:0",WE="allow-top-navigation-by-user-activation allow-popups",HE='The "iframe" tag is not supported by your browser.',jE=["foreignobject"],UE=["dominant-baseline"];function Mc(e){const t=Ec(e);return Ra(),T1(t.config??{}),t}g(Mc,"processAndSetConfigs");async function oy(e,t){Us();try{const{code:r,config:i}=Mc(e);return{diagramType:(await cy(r)).type,config:i}}catch(r){if(t!=null&&t.suppressErrors)return!1;throw r}}g(oy,"parse");var Du=g((e,t,r=[])=>` +.${e} ${t} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),YE=g((e,t=new Map)=>{var i;let r="";if(e.themeCSS!==void 0&&(r+=` +${e.themeCSS}`),e.fontFamily!==void 0&&(r+=` +:root { --mermaid-font-family: ${e.fontFamily}}`),e.altFontFamily!==void 0&&(r+=` +:root { --mermaid-alt-font-family: ${e.altFontFamily}}`),t instanceof Map){const o=e.htmlLabels??((i=e.flowchart)==null?void 0:i.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];t.forEach(l=>{Iu(l.styles)||o.forEach(c=>{r+=Du(l.id,c,l.styles)}),Iu(l.textStyles)||(r+=Du(l.id,"tspan",((l==null?void 0:l.textStyles)||[]).map(c=>c.replace("color","fill"))))})}return r},"createCssStyles"),GE=g((e,t,r,i)=>{const n=YE(e,r),a=U1(t,n,e.themeVariables);return xl(pB(`${i}{${a}}`),mB)},"createUserStyles"),VE=g((e="",t,r)=>{let i=e;return!r&&!t&&(i=i.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),i=Ci(i),i=i.replace(/
    /g,"
    "),i},"cleanUpSvgCode"),XE=g((e="",t)=>{var n,a;const r=(a=(n=t==null?void 0:t.viewBox)==null?void 0:n.baseVal)!=null&&a.height?t.viewBox.baseVal.height+"px":NE,i=sy(`${e}`);return``},"putIntoIFrame"),Pu=g((e,t,r,i,n)=>{const a=e.append("div");a.attr("id",r),i&&a.attr("style",i);const s=a.append("svg").attr("id",t).attr("width","100%").attr("xmlns",RE);return n&&s.attr("xmlns:xlink",n),s.append("g"),e},"appendDivSvgG");function Cl(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}g(Cl,"sandboxedIframe");var ZE=g((e,t,r,i)=>{var n,a,s;(n=e.getElementById(t))==null||n.remove(),(a=e.getElementById(r))==null||a.remove(),(s=e.getElementById(i))==null||s.remove()},"removeExistingElements"),KE=g(async function(e,t,r){var q,D,A,B,S,M;Us();const i=Mc(t);t=i.code;const n=Se();F.debug(n),t.length>((n==null?void 0:n.maxTextSize)??EE)&&(t=ME);const a="#"+e,s="i"+e,o="#"+s,l="d"+e,c="#"+l,h=g(()=>{const z=ut(f?o:c).node();z&&"remove"in z&&z.remove()},"removeTempElements");let u=ut("body");const f=n.securityLevel===FE,d=n.securityLevel===IE,p=n.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const $=Cl(ut(r),s);u=ut($.nodes()[0].contentDocument.body),u.node().style.margin=0}else u=ut(r);Pu(u,e,l,`font-family: ${p}`,OE)}else{if(ZE(document,e,l,s),f){const $=Cl(ut("body"),s);u=ut($.nodes()[0].contentDocument.body),u.node().style.margin=0}else u=ut("body");Pu(u,e,l)}let m,y;try{m=await kl.fromText(t,{title:i.title})}catch($){if(n.suppressErrorRendering)throw h(),$;m=await kl.fromText("error"),y=$}const x=u.select(c).node(),b=m.type,_=x.firstChild,k=_.firstChild,w=(D=(q=m.renderer).getClasses)==null?void 0:D.call(q,t,m),T=GE(n,b,w,a),L=document.createElement("style");L.innerHTML=T,_.insertBefore(L,k);try{await m.renderer.draw(t,e,Tu,m)}catch($){throw n.suppressErrorRendering?h():j$.draw(t,e,Tu),$}const O=u.select(`${c} svg`),N=(B=(A=m.db).getAccTitle)==null?void 0:B.call(A),R=(M=(S=m.db).getAccDescription)==null?void 0:M.call(S);hy(b,O,N,R),u.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns",DE);let E=u.select(c).node().innerHTML;if(F.debug("config.arrowMarkerAbsolute",n.arrowMarkerAbsolute),E=VE(E,f,Dt(n.arrowMarkerAbsolute)),f){const $=u.select(c+" svg").node();E=XE(E,$)}else d||(E=oi.sanitize(E,{ADD_TAGS:jE,ADD_ATTR:UE,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(TE(),y)throw y;return h(),{diagramType:b,svg:E,bindFunctions:m.db.bindFunctions}},"render");function ly(e={}){var i;const t=Ot({},e);t!=null&&t.fontFamily&&!((i=t.themeVariables)!=null&&i.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),C1(t),t!=null&&t.theme&&t.theme in Ze?t.themeVariables=Ze[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Ze.default.getThemeVariables(t.themeVariables));const r=typeof t=="object"?k1(t):Af();Il(r.logLevel),Us()}g(ly,"initialize");var cy=g((e,t={})=>{const{code:r}=Ec(e);return kl.fromText(r,t)},"getDiagramFromText");function hy(e,t,r,i){iy(t,e),ny(t,r,i,t.attr("id"))}g(hy,"addA11yInfo");var Or=Object.freeze({render:KE,parse:oy,getDiagramFromText:cy,initialize:ly,getConfig:Se,setConfig:Lf,getSiteConfig:Af,updateSiteConfig:S1,reset:g(()=>{Ra()},"reset"),globalReset:g(()=>{Ra(ci)},"globalReset"),defaultConfig:ci});Il(Se().logLevel);Ra(Se());var QE=g((e,t,r)=>{F.warn(e),mc(e)?(r&&r(e.str,e.hash),t.push({...e,message:e.str,error:e})):(r&&r(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError"),uy=g(async function(e={querySelector:".mermaid"}){try{await JE(e)}catch(t){if(mc(t)&&F.error(t.str),ae.parseError&&ae.parseError(t),!e.suppressErrors)throw F.error("Use the suppressErrors option to suppress these errors"),t}},"run"),JE=g(async function({postRenderCallback:e,querySelector:t,nodes:r}={querySelector:".mermaid"}){const i=Or.getConfig();F.debug(`${e?"":"No "}Callback function found`);let n;if(r)n=r;else if(t)n=document.querySelectorAll(t);else throw new Error("Nodes and querySelector are both undefined");F.debug(`Found ${n.length} diagrams`),(i==null?void 0:i.startOnLoad)!==void 0&&(F.debug("Start On Load: "+(i==null?void 0:i.startOnLoad)),Or.updateSiteConfig({startOnLoad:i==null?void 0:i.startOnLoad}));const a=new Fe.InitIDGenerator(i.deterministicIds,i.deterministicIDSeed);let s;const o=[];for(const l of Array.from(n)){if(F.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const c=`mermaid-${a.next()}`;s=l.innerHTML,s=Wg(Fe.entityDecode(s)).trim().replace(//gi,"
    ");const h=Fe.detectInit(s);h&&F.debug("Detected early reinit: ",h);try{const{svg:u,bindFunctions:f}=await gy(c,s,l);l.innerHTML=u,e&&await e(c),f&&f(l)}catch(u){QE(u,o,ae.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),fy=g(function(e){Or.initialize(e)},"initialize"),tM=g(async function(e,t,r){F.warn("mermaid.init is deprecated. Please use run instead."),e&&fy(e);const i={postRenderCallback:r,querySelector:".mermaid"};typeof t=="string"?i.querySelector=t:t&&(t instanceof HTMLElement?i.nodes=[t]:i.nodes=t),await uy(i)},"init"),eM=g(async(e,{lazyLoad:t=!0}={})=>{Us(),wf(...e),t===!1&&await CE()},"registerExternalDiagrams"),dy=g(function(){if(ae.startOnLoad){const{startOnLoad:e}=Or.getConfig();e&&ae.run().catch(t=>F.error("Mermaid failed to initialize",t))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",dy,!1);var rM=g(function(e){ae.parseError=e},"setParseErrorHandler"),fs=[],vo=!1,py=g(async()=>{if(!vo){for(vo=!0;fs.length>0;){const e=fs.shift();if(e)try{await e()}catch(t){F.error("Error executing queue",t)}}vo=!1}},"executeQueue"),iM=g(async(e,t)=>new Promise((r,i)=>{const n=g(()=>new Promise((a,s)=>{Or.parse(e,t).then(o=>{a(o),r(o)},o=>{var l;F.error("Error parsing",o),(l=ae.parseError)==null||l.call(ae,o),s(o),i(o)})}),"performCall");fs.push(n),py().catch(i)}),"parse"),gy=g((e,t,r)=>new Promise((i,n)=>{const a=g(()=>new Promise((s,o)=>{Or.render(e,t,r).then(l=>{s(l),i(l)},l=>{var c;F.error("Error parsing",l),(c=ae.parseError)==null||c.call(ae,l),o(l),n(l)})}),"performCall");fs.push(a),py().catch(n)}),"render"),ae={startOnLoad:!0,mermaidAPI:Or,parse:iM,render:gy,init:tM,run:uy,registerExternalDiagrams:eM,registerLayoutLoaders:C0,initialize:fy,parseError:void 0,contentLoaded:dy,setParseErrorHandler:rM,detectType:Rl,registerIconPacks:bw},Nu=ae;/*! Check if previously processed *//*! + * Wait for document loaded before starting the execution + */const nM=["innerHTML"],aM=le({__name:"MarkdownRenderer",props:{markdownContent:{type:String,required:!0}},setup(e){const t=e,r=Lt("");Nu.initialize({startOnLoad:!1,theme:"neutral"}),dn(()=>t.markdownContent,a=>{i(a)},{immediate:!0});async function i(a){r.value=await gt(a),await So(),n()}function n(){document.querySelectorAll(".language-mermaid").forEach(s=>{const o=s.parentElement,l=s.textContent||"";if(o)try{const c=`mermaid-${Math.random().toString(36).substr(2,9)}`;Nu.render(c,l).then(h=>o.innerHTML=h.svg),o.classList.add("not-prose")}catch(c){console.error("Mermaid rendering error:",c)}})}return(a,s)=>(ht(),_t("div",{innerHTML:r.value},null,8,nM))}}),sM={class:"author"},oM=["href"],lM={key:1},cM=le({__name:"Author",props:{author:{}},setup(e){const t=e,r=at(()=>t.author.orcid?`https://orcid.org/${t.author.orcid}`:"#");return(i,n)=>(ht(),_t("span",sM,[fn(r)!=="#"?(ht(),_t("a",{key:0,href:fn(r),target:"_blank",rel:"noopener noreferrer",class:"author-link"},Kt(i.author.name),9,oM)):(ht(),_t("span",lM,Kt(i.author.name),1))]))}}),hM=ms(cM,[["__scopeId","data-v-f69547aa"]]),rr=e=>(Uy("data-v-bcfbdfc0"),e=e(),Yy(),e),uM={key:0,class:"flex mx-auto justify-center items-center",style:{height:"60vh"}},fM=rr(()=>pt("div",{class:"relative"},[pt("div",{class:"loader border-t-8 border-hokey-pokey"}),pt("div",{class:"absolute inset-0 flex justify-center items-center text-xl font-bold font-mono"},"Loading...")],-1)),dM=[fM],pM={key:0,class:"mt-6"},gM={class:"font-bold text-xl mb-4"},mM={class:"mb-4"},yM=rr(()=>pt("li",null,[pt("strong",null,"Author(s):")],-1)),xM=rr(()=>pt("strong",null,"Release:",-1)),bM=rr(()=>pt("strong",null,"License:",-1)),_M=rr(()=>pt("strong",null,"UniqueID:",-1)),wM={key:0,class:"mx-auto"},vM={class:"p-4 mb-6"},kM={key:0,class:"mt-6"},CM={class:"prose dark:prose-invert !max-w-none"},SM={key:1,class:"mt-6"},TM={class:"prose dark:prose-invert !max-w-none"},AM=rr(()=>pt("h3",null,"The following tools are used by this workflow.",-1)),LM=rr(()=>pt("p",null," This will eventually be a pretty page with links to each tool in the (new) toolshed, etc. ",-1)),BM={key:2,class:"mt-6"},$M=rr(()=>pt("iframe",{title:"Galaxy Workflow Embed",style:{width:"100%",height:"700px",border:"none"},src:"https://usegalaxy.org/published/workflow?id=a63d3ee4a2a4a20b&embed=true&buttons=true&about=false&heading=false&minimap=true&zoom_controls=true&initialX=-20&initialY=-20&zoom=1"},null,-1)),EM=[$M],MM={key:1,class:"max-w-3xl mx-auto py-8"},FM=rr(()=>pt("h1",{class:"text-3xl font-bold mb-4"},"Workflow not found",-1)),IM=le({__name:"[id]",setup(e){const t=Wy(),r=$y(),i=at(()=>r.workflow);at(()=>{var m;let p="";return(m=i.value)!=null&&m.authors&&(p=i.value.authors.map(y=>y.name).join(", ")),p});const n=at(()=>!i.value||!h.value?"":`${h.value}/workflows/trs_import?trs_server=dockstore.org&trs_id=${encodeURIComponent(i.value.trsID)}&trs_version=v${i.value.definition.release}&run_form=true`);function a(){var m;const p=(m=i.value)==null?void 0:m.tests;if(p&&p.length)return p[0].job}function s(p,m){return`https://dockstore.org/api/ga4gh/trs/v2/tools/${p}/versions/${m}`}async function o(){var _,k;const p=a(),m=s((_=i.value)==null?void 0:_.trsID,`v${(k=i.value)==null?void 0:k.definition.release}`),x=await(await fetch(`${h.value}/api/workflow_landings`,{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify({workflow_id:m,workflow_target_type:"trs_url",request_state:p,public:!0})})).json(),b=`${h.value}/workflow_landings/${x.uuid}?public=true`;window.open(b,"_blank")}const l=at(()=>{if(!i.value||!i.value.definition||!i.value.definition.steps)return[];const p=Object.values(i.value.definition.steps).map(m=>m.tool_id).filter(m=>m!=null);return Array.from(new Set(p))}),c=at(()=>{var p,m,y;return[{label:"About",content:((p=i.value)==null?void 0:p.readme)||"No README available."},{label:"Version History",content:((m=i.value)==null?void 0:m.changelog)||"No CHANGELOG available."},{label:"Diagram",content:((y=i.value)==null?void 0:y.diagrams)||"No diagram available"},{label:"Tools",tools:l||"This tab will show a nice listing of all the tools used in this workflow."}]}),h=Lt(""),u=Hy([{value:"http://localhost:8081",label:"local dev instance"},{value:"https://usegalaxy.org",label:"usegalaxy.org"},{value:"https://test.galaxyproject.org",label:"test.galaxyproject.org"},{value:"https://usegalaxy.eu",label:"usegalaxy.eu"}]),f=Lt(!0);jy(async()=>{await r.setWorkflow();const p=localStorage.getItem("selectedInstance");p?h.value=p:h.value=u[0].value,f.value=!1});const d=p=>{localStorage.setItem("selectedInstance",p)};return(p,m)=>{const y=bx,x=My,b=vx,_=tb,k=Ey;return f.value?(ht(),_t("div",uM,dM)):(ht(),Kr(k,{key:1},{sidebar:Me(()=>[i.value?(ht(),_t("div",pM,[pt("h2",gM,Kt(i.value.definition.name),1),pt("p",mM,Kt(i.value.definition.annotation),1),pt("ul",null,[yM,(ht(!0),_t(Xe,null,ni(i.value.authors,w=>(ht(),_t("li",{class:"ml-2",key:w.name},[$e(hM,{author:w},null,8,["author"])]))),128)),pt("li",null,[xM,ga(" "+Kt(i.value.definition.release),1)]),pt("li",null,[bM,ga(" "+Kt(i.value.definition.license),1)]),pt("li",null,[_M,ga(" "+Kt(i.value.definition.uuid),1)])]),$e(b,{class:"mt-4",size:"sm",orientation:"vertical"},{default:Me(()=>[$e(y,{modelValue:h.value,"onUpdate:modelValue":m[0]||(m[0]=w=>h.value=w),options:fn(u),label:"Select Galaxy Instance",onChange:d},null,8,["modelValue","options"]),$e(x,{to:n.value,target:"_blank",icon:"i-heroicons-rocket-launch",color:"primary",variant:"solid",label:"Launch at"},null,8,["to"]),$e(x,{class:"mt-4",onClick:o,target:"_blank",icon:"i-heroicons-rocket-launch",color:"primary",variant:"solid",label:"Run with example data"})]),_:1})])):ai("",!0)]),content:Me(()=>[i.value?(ht(),_t("div",wM,[pt("div",vM,[$e(_,{items:c.value,class:"w-full"},{default:Me(({item:w,index:T,selected:L})=>[pt("span",{class:re(["truncate",[L&&"text-primary-500 dark:text-primary-400"]])},Kt(w.label),3)]),item:Me(({item:w})=>[w.content?(ht(),_t("div",kM,[pt("div",CM,[$e(aM,{markdownContent:w.content},null,8,["markdownContent"])])])):w.tools?(ht(),_t("div",SM,[pt("div",TM,[AM,LM,pt("ul",null,[(ht(!0),_t(Xe,null,ni(l.value,T=>(ht(),_t("li",{key:T},Kt(T),1))),128))])])])):w.preview?(ht(),_t("div",BM,EM)):ai("",!0)]),_:1},8,["items"])])])):(ht(),_t("div",MM,[FM,pt("p",null,"Workflow with identifier "+Kt(fn(t).params.id)+" could not be found.",1)]))]),_:1}))}}}),RM=ms(IM,[["__scopeId","data-v-bcfbdfc0"]]),g3=Object.freeze(Object.defineProperty({__proto__:null,default:RM},Symbol.toStringTag,{value:"Module"}));export{t3 as $,d3 as A,sn as B,De as C,Sf as D,yc as E,Se as F,VT as G,t_ as H,tB as I,lw as J,Tu as K,Wk as L,jh as M,Hh as N,n3 as O,JM as P,r3 as Q,e3 as R,KM as S,ic as T,rt as U,i3 as V,QM as W,Vr as X,s3 as Y,a3 as Z,g as _,Ot as a,or as a$,m1 as a0,Yk as a1,ui as a2,GM as a3,Ol as a4,Os as a5,NT as a6,YM as a7,Kp as a8,GT as a9,c3 as aA,NL as aB,RL as aC,IL as aD,PA as aE,Hk as aF,xw as aG,bw as aH,Ss as aI,Pr as aJ,OT as aK,bg as aL,Es as aM,Rs as aN,rs as aO,wg as aP,xg as aQ,fT as aR,Ql as aS,Ip as aT,te as aU,Hn as aV,gv as aW,Dp as aX,ZM as aY,Rb as aZ,Jl as a_,l1 as aa,Rf as ab,W1 as ac,Nn as ad,V as ae,J as af,uL as ag,v0 as ah,u3 as ai,Ag as aj,Dt as ak,Si as al,Vl as am,EL as an,Qg as ao,Ci as ap,RT as aq,AS as ar,LT as as,lc as at,Iu as au,KL as av,h3 as aw,f3 as ax,l3 as ay,X as az,Z1 as b,_n as b0,Dh as b1,vv as b2,IT as b3,AT as b4,pS as b5,cc as b6,lT as b7,PT as b8,Un as b9,vi as ba,Ja as bb,bT as bc,_B as bd,jn as be,es as bf,dT as bg,fg as bh,yS as bi,xS as bj,wr as bk,au as bl,bS as bm,hc as bn,mS as bo,vS as bp,ki as bq,gr as br,tu as bs,uc as bt,pg as bu,wl as bv,DT as bw,Is as bx,g3 as by,X1 as c,ft as d,wi as e,Bg as f,V1 as g,mi as h,Er as i,ut as j,If as k,F as l,_p as m,zn as n,VM as o,XM as p,K1 as q,Q1 as r,G1 as s,cw as t,$L as u,Fe as v,KT as w,Y1 as x,o3 as y,p3 as z}; diff --git a/_nuxt/BOm3I9Ep.js b/_nuxt/BOm3I9Ep.js deleted file mode 100644 index 07d2c94e1..000000000 --- a/_nuxt/BOm3I9Ep.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as l}from"./igdY0Og6.js";import{h as n,o as s,q as i,w as r,a as o,s as g,U as u,r as f}from"./ZI84DZB4.js";const h=n({__name:"ProsePre",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null},class:{type:String,default:null},style:{type:[String,Object],default:null}},setup(e){return(a,m)=>{const t=l;return s(),i(t,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:r(()=>[o("pre",{class:g(a.$props.class),style:u(e.style)},[f(a.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{h as default}; diff --git a/_nuxt/BQAUpuJp.js b/_nuxt/BQAUpuJp.js new file mode 100644 index 000000000..23b525446 --- /dev/null +++ b/_nuxt/BQAUpuJp.js @@ -0,0 +1 @@ +import{_ as o,o as r,b as s,r as t}from"./DzgF3Vew.js";const n={};function c(e,l){return r(),s("ol",null,[t(e.$slots,"default")])}const _=o(n,[["render",c]]);export{_ as default}; diff --git a/_nuxt/dDnsVHSO.js b/_nuxt/BQI0Wxxj.js similarity index 64% rename from _nuxt/dDnsVHSO.js rename to _nuxt/BQI0Wxxj.js index dcbc1a273..f625ea778 100644 --- a/_nuxt/dDnsVHSO.js +++ b/_nuxt/BQI0Wxxj.js @@ -1 +1 @@ -import{_ as r,o,c as t,r as n}from"./ZI84DZB4.js";const s={};function c(e,a){return o(),t("strong",null,[n(e.$slots,"default")])}const _=r(s,[["render",c]]);export{_ as default}; +import{_ as r,o,b as t,r as n}from"./DzgF3Vew.js";const s={};function c(e,a){return o(),t("strong",null,[n(e.$slots,"default")])}const _=r(s,[["render",c]]);export{_ as default}; diff --git a/_nuxt/BT2BSI1v.js b/_nuxt/BT2BSI1v.js new file mode 100644 index 000000000..04c552df7 --- /dev/null +++ b/_nuxt/BT2BSI1v.js @@ -0,0 +1 @@ +import{_ as r,o,b as s,r as t}from"./DzgF3Vew.js";const n={};function c(e,a){return o(),s("p",null,[t(e.$slots,"default")])}const _=r(n,[["render",c]]);export{_ as default}; diff --git a/_nuxt/BTH4M2oM.js b/_nuxt/BTH4M2oM.js deleted file mode 100644 index 1c108840c..000000000 --- a/_nuxt/BTH4M2oM.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,u as o,o as s,c as i,a as e,t as r,p as u,f as l}from"./ZI84DZB4.js";const c=t=>(u("data-v-6fdef64d"),t=t(),l(),t),d={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},p=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},f=["textContent"],g=["textContent"],b={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const n=t;return o({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[],style:[{children:'*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color, #e5e7eb)}:before,:after{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(m,x)=>(s(),i("div",d,[p,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:r(t.statusCode)},null,8,f),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:r(t.description)},null,8,g)])]))}},k=a(b,[["__scopeId","data-v-6fdef64d"]]);export{k as default}; diff --git a/_nuxt/BTrRUYEc.js b/_nuxt/BTrRUYEc.js new file mode 100644 index 000000000..a51814569 --- /dev/null +++ b/_nuxt/BTrRUYEc.js @@ -0,0 +1 @@ +import{_ as r,o,b as t,r as s}from"./DzgF3Vew.js";const a={};function n(e,c){return o(),t("thead",null,[s(e.$slots,"default")])}const _=r(a,[["render",n]]);export{_ as default}; diff --git a/_nuxt/BXAbmjOT.js b/_nuxt/BXAbmjOT.js new file mode 100644 index 000000000..9d216fc7d --- /dev/null +++ b/_nuxt/BXAbmjOT.js @@ -0,0 +1 @@ +import{a_ as un,a$ as I,b0 as U,b1 as Y,b2 as fn}from"./BN9GDn3H.js";import{i as cn}from"./Gi6I4Gst.js";function F(n,t){return n==null||t==null?NaN:nt?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:tn?1:t>=n?0:NaN}function W(n){let t,e,r;n.length!==2?(t=F,e=(u,c)=>F(n(u),c),r=(u,c)=>n(u)-c):(t=n===F||n===hn?n:mn,e=n,r=n);function i(u,c,o=0,s=u.length){if(o>>1;e(u[h],c)<0?o=h+1:s=h}while(o>>1;e(u[h],c)<=0?o=h+1:s=h}while(oo&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:a,right:f}}function mn(){return 0}function ln(n){return n===null?NaN:+n}const sn=W(F),dn=sn.right;W(ln).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function R(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),a=f>=gn?10:f>=yn?5:f>=Mn?2:1;let u,c,o;return i<0?(o=Math.pow(10,-i)/a,u=Math.round(n*o),c=Math.round(t*o),u/ot&&--c,o=-o):(o=Math.pow(10,i)*a,u=Math.round(n/o),c=Math.round(t/o),u*ot&&--c),c0))return[];if(n===t)return[n];const r=t=i))return[];const u=f-i+1,c=new Array(u);if(r)if(a<0)for(let o=0;o=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function E(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function v(n){return n=E(Math.abs(n)),n?n[1]:NaN}function jn(n,t){return function(e,r){for(var i=e.length,f=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),f.push(e.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return f.reverse().join(t)}}function Pn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var zn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=zn.exec(n)))throw new Error("invalid format: "+n);var t;return new B({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=B.prototype;function B(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}B.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function $n(n){n:for(var t=n.length,e=1,r=-1,i;e0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var nn;function Fn(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(nn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return f===a?r:f>a?r+new Array(f-a+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+E(n,Math.max(0,t+f-1))[0]}function Z(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const _={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:bn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>Z(n*100,t),r:Z,s:Fn,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function H(n){return n}var J=Array.prototype.map,K=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Rn(n){var t=n.grouping===void 0||n.thousands===void 0?H:jn(J.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?H:Pn(J.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",u=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var l=h.fill,p=h.align,y=h.sign,S=h.symbol,k=h.zero,b=h.width,T=h.comma,w=h.precision,G=h.trim,d=h.type;d==="n"?(T=!0,d="g"):_[d]||(w===void 0&&(w=12),G=!0,d="g"),(k||l==="0"&&p==="=")&&(k=!0,l="0",p="=");var en=S==="$"?e:S==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",on=S==="$"?r:/[%p]/.test(d)?a:"",O=_[d],an=/[defgprs%]/.test(d);w=w===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function V(m){var N=en,g=on,x,X,j;if(d==="c")g=O(m)+g,m="";else{m=+m;var P=m<0||1/m<0;if(m=isNaN(m)?c:O(Math.abs(m),w),G&&(m=$n(m)),P&&+m==0&&y!=="+"&&(P=!1),N=(P?y==="("?y:u:y==="-"||y==="("?"":y)+N,g=(d==="s"?K[8+nn/3]:"")+g+(P&&y==="("?")":""),an){for(x=-1,X=m.length;++xj||j>57){g=(j===46?i+m.slice(x+1):m.slice(x))+g,m=m.slice(0,x);break}}}T&&!k&&(m=t(m,1/0));var z=N.length+m.length+g.length,M=z>1)+N+m+g+M.slice(z);break;default:m=M+N+m+g;break}return f(m)}return V.toString=function(){return h+""},V}function s(h,l){var p=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(v(l)/3)))*3,S=Math.pow(10,-y),k=K[8+y/3];return function(b){return p(S*b)+k}}return{format:o,formatPrefix:s}}var $,tn,rn;En({thousands:",",grouping:[3],currency:["$",""]});function En(n){return $=Rn(n),tn=$.format,rn=$.formatPrefix,$}function Dn(n){return Math.max(0,-v(Math.abs(n)))}function Tn(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(v(t)/3)))*3-v(Math.abs(n)))}function In(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,v(t)-v(n))+1}function Ln(n){return function(){return n}}function qn(n){return+n}var Q=[0,1];function A(n){return n}function q(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:Ln(isNaN(t)?NaN:.5)}function Cn(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Bn(n,t,e){var r=n[0],i=n[1],f=t[0],a=t[1];return i2?Gn:Bn,c=o=null,h}function h(l){return l==null||isNaN(l=+l)?f:(c||(c=u(n.map(r),t,e)))(r(a(l)))}return h.invert=function(l){return a(i((o||(o=u(t,n.map(r),I)))(l)))},h.domain=function(l){return arguments.length?(n=Array.from(l,qn),s()):n.slice()},h.range=function(l){return arguments.length?(t=Array.from(l),s()):t.slice()},h.rangeRound=function(l){return t=Array.from(l),e=Sn,s()},h.clamp=function(l){return arguments.length?(a=l?!0:A,s()):a!==A},h.interpolate=function(l){return arguments.length?(e=l,s()):e},h.unknown=function(l){return arguments.length?(f=l,h):f},function(l,p){return r=l,i=p,s()}}function Xn(){return Vn()(A,A)}function Un(n,t,e,r){var i=wn(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=Tn(i,a))&&(r.precision=f),rn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=In(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=Dn(i))&&(r.precision=f-(r.type==="%")*2);break}}return tn(r)}function Yn(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return Un(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,a=r[i],u=r[f],c,o,s=10;for(u0;){if(o=L(a,u,e),o===c)return r[i]=a,r[f]=u,t(r);if(o>0)a=Math.floor(a/o)*o,u=Math.ceil(u/o)*o;else if(o<0)a=Math.ceil(a*o)/o,u=Math.floor(u*o)/o;else break;c=o}return n},n}function Zn(){var n=Xn();return n.copy=function(){return On(n,Zn())},cn.apply(n,arguments),Yn(n)}export{On as a,W as b,Xn as c,Zn as l,wn as t}; diff --git a/_nuxt/BdShI6Yz.js b/_nuxt/BdShI6Yz.js new file mode 100644 index 000000000..31fc5474f --- /dev/null +++ b/_nuxt/BdShI6Yz.js @@ -0,0 +1 @@ +import{_ as r,o,b as t,r as s}from"./DzgF3Vew.js";const n={};function c(e,a){return o(),t("tr",null,[s(e.$slots,"default")])}const _=r(n,[["render",c]]);export{_ as default}; diff --git a/_nuxt/BdpWdHaY.js b/_nuxt/BdpWdHaY.js new file mode 100644 index 000000000..04fa0156c --- /dev/null +++ b/_nuxt/BdpWdHaY.js @@ -0,0 +1,24 @@ +import{p as w}from"./DkbTWFKD.js";import{D as B,s as S,g as F,q as z,r as P,b as W,c as D,_ as n,l as x,E as v,F as T,x as E,I as _,k as A}from"./BN9GDn3H.js";import{p as N}from"./lwzoVff7.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";import"./BH-Vtj6c.js";import"./7nLUnQzp.js";import"./DqIxQbFE.js";var C={packet:[]},h=structuredClone(C),I=B.packet,L=n(()=>{const t=v({...I,...T().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),Y=n(()=>h.packet,"getPacket"),M=n(t=>{t.length>0&&h.packet.push(t)},"pushWord"),O=n(()=>{E(),h=structuredClone(C)},"clear"),u={pushWord:M,getPacket:Y,getConfig:L,clear:O,setAccTitle:S,getAccTitle:F,setDiagramTitle:z,getDiagramTitle:P,getAccDescription:W,setAccDescription:D},q=1e4,G=n(t=>{w(t,u);let e=-1,o=[],s=1;const{bitsPerRow:i}=u.getConfig();for(let{start:a,end:r,label:p}of t.blocks){if(r&&r{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*o?[t,void 0]:[{start:t.start,end:e*o-1,label:t.label},{start:e*o,end:t.end,label:t.label}]},"getNextFittingBlock"),K={parse:n(async t=>{const e=await N("packet",t);x.debug(e),G(e)},"parse")},R=n((t,e,o,s)=>{const i=s.db,a=i.getConfig(),{rowHeight:r,paddingY:p,bitWidth:b,bitsPerRow:c}=a,m=i.getPacket(),l=i.getDiagramTitle(),g=r+p,d=g*(m.length+1)-(l?0:r),k=b*c+2,f=_(e);f.attr("viewbox",`0 0 ${k} ${d}`),A(f,d,k,a.useMaxWidth);for(const[$,y]of m.entries())U(f,y,$,a);f.append("text").text(l).attr("x",k/2).attr("y",d-g/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),U=n((t,e,o,{rowHeight:s,paddingX:i,paddingY:a,bitWidth:r,bitsPerRow:p,showBits:b})=>{const c=t.append("g"),m=o*(s+a)+a;for(const l of e){const g=l.start%p*r+1,d=(l.end-l.start+1)*r-i;if(c.append("rect").attr("x",g).attr("y",m).attr("width",d).attr("height",s).attr("class","packetBlock"),c.append("text").attr("x",g+d/2).attr("y",m+s/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(l.label),!b)continue;const k=l.end===l.start,f=m-2;c.append("text").attr("x",g+(k?d/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(l.start),k||c.append("text").attr("x",g+d).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(l.end)}},"drawWord"),X={draw:R},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},J=n(({packet:t}={})=>{const e=v(j,t);return` + .packetByte { + font-size: ${e.byteFontSize}; + } + .packetByte.start { + fill: ${e.startByteColor}; + } + .packetByte.end { + fill: ${e.endByteColor}; + } + .packetLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .packetTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + .packetBlock { + stroke: ${e.blockStrokeColor}; + stroke-width: ${e.blockStrokeWidth}; + fill: ${e.blockFillColor}; + } + `},"styles"),st={parser:K,db:u,renderer:X,styles:J};export{st as diagram}; diff --git a/_nuxt/_pgRj0dJ.js b/_nuxt/Be8qMQ7y.js similarity index 72% rename from _nuxt/_pgRj0dJ.js rename to _nuxt/Be8qMQ7y.js index c5439226d..75223f515 100644 --- a/_nuxt/_pgRj0dJ.js +++ b/_nuxt/Be8qMQ7y.js @@ -1 +1 @@ -import{_ as O,m as W,g as y,h as z,i as A,j as $,k as N,l as T,o,c as n,r as v,d as j,t as b,n as U,q as _,w as u,s as h,v as x,x as L,y as B,a as f,z as M,A as F,B as w,F as S,b as R}from"./ZI84DZB4.js";import{u as D,a as q,b as G,_ as J,c as P}from"./BJxZixah.js";import"./IShi1APO.js";const Q={base:"inline-flex items-center",rounded:"rounded-md",font:"font-medium",size:{xs:"text-xs px-1.5 py-0.5",sm:"text-xs px-2 py-1",md:"text-sm px-2 py-1",lg:"text-sm px-2.5 py-1.5"},color:{white:{solid:"ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-900 dark:text-white bg-white dark:bg-gray-900"},gray:{solid:"ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-700 dark:text-gray-200 bg-gray-50 dark:bg-gray-800"},black:{solid:"text-white dark:text-gray-900 bg-gray-900 dark:bg-white"}},variant:{solid:"bg-{color}-500 dark:bg-{color}-400 text-white dark:text-gray-900",outline:"text-{color}-500 dark:text-{color}-400 ring-1 ring-inset ring-{color}-500 dark:ring-{color}-400",soft:"bg-{color}-50 dark:bg-{color}-400 dark:bg-opacity-10 text-{color}-500 dark:text-{color}-400",subtle:"bg-{color}-50 dark:bg-{color}-400 dark:bg-opacity-10 text-{color}-500 dark:text-{color}-400 ring-1 ring-inset ring-{color}-500 dark:ring-{color}-400 ring-opacity-25 dark:ring-opacity-25"},default:{size:"sm",variant:"solid",color:"primary"}},H={base:"",background:"bg-white dark:bg-gray-900",divide:"divide-y divide-gray-200 dark:divide-gray-800",ring:"ring-1 ring-gray-200 dark:ring-gray-800",rounded:"rounded-lg",shadow:"shadow",body:{base:"",background:"",padding:"px-4 py-5 sm:p-6"},header:{base:"",background:"",padding:"px-4 py-5 sm:px-6"},footer:{base:"",background:"",padding:"px-4 py-4 sm:px-6"}},i=W(y.ui.strategy,y.ui.badge,Q),K=z({inheritAttrs:!1,props:{size:{type:String,default:()=>i.default.size,validator(e){return Object.keys(i.size).includes(e)}},color:{type:String,default:()=>i.default.color,validator(e){return[...y.ui.colors,...Object.keys(i.color)].includes(e)}},variant:{type:String,default:()=>i.default.variant,validator(e){return[...Object.keys(i.variant),...Object.values(i.color).flatMap(t=>Object.keys(t))].includes(e)}},label:{type:[String,Number],default:null},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},setup(e){const{ui:t,attrs:s}=D("badge",A(e,"ui"),i),{size:d,rounded:g}=q({ui:t,props:e}),c=$(()=>{var m,r;const p=((r=(m=t.value.color)==null?void 0:m[e.color])==null?void 0:r[e.variant])||t.value.variant[e.variant];return N(T(t.value.base,t.value.font,g.value,t.value.size[d.value],p==null?void 0:p.replaceAll("{color}",e.color)),e.class)});return{attrs:s,badgeClass:c}}});function X(e,t,s,d,g,c){return o(),n("span",U({class:e.badgeClass},e.attrs),[v(e.$slots,"default",{},()=>[j(b(e.label),1)])],16)}const Y=O(K,[["render",X]]),Z=W(y.ui.strategy,y.ui.card,H),ee=z({inheritAttrs:!1,props:{as:{type:String,default:"div"},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},setup(e){const{ui:t,attrs:s}=D("card",A(e,"ui"),Z),d=$(()=>N(T(t.value.base,t.value.rounded,t.value.divide,t.value.ring,t.value.shadow,t.value.background),e.class));return{ui:t,attrs:s,cardClass:d}}});function te(e,t,s,d,g,c){return o(),_(L(e.$attrs.onSubmit?"form":e.as),U({class:e.cardClass},e.attrs),{default:u(()=>[e.$slots.header?(o(),n("div",{key:0,class:h([e.ui.header.base,e.ui.header.padding,e.ui.header.background])},[v(e.$slots,"header")],2)):x("",!0),e.$slots.default?(o(),n("div",{key:1,class:h([e.ui.body.base,e.ui.body.padding,e.ui.body.background])},[v(e.$slots,"default")],2)):x("",!0),e.$slots.footer?(o(),n("div",{key:2,class:h([e.ui.footer.base,e.ui.footer.padding,e.ui.footer.background])},[v(e.$slots,"footer")],2)):x("",!0)]),_:3},16,["class"])}const ae=O(ee,[["render",te]]),oe={class:"sticky top-4 h-16"},re={class:"mt-6"},ne=["onClick"],se={class:"text-xl font-bold mb-2"},ie={class:"mb-4"},de={key:0,class:"mb-4"},ge=z({__name:"index",setup(e){const t=B(""),s=B(null),d=G(),g=$(()=>d.allWorkflows),c=$(()=>g.value.filter(r=>r.definition.name.toLowerCase().includes(t.value.toLowerCase())));function p(r){var k;const l=document.getElementById(`workflow-${r.definition.uuid}`);l&&((k=l.parentElement)==null||k.scrollTo({top:l.offsetTop-l.parentElement.offsetTop-8,behavior:"smooth"}))}function m(r){s.value=r,p(r)}return(r,l)=>{const k=Y,I=P,V=ae,E=J;return o(),_(E,null,{sidebar:u(()=>[f("div",oe,[M(f("input",{"onUpdate:modelValue":l[0]||(l[0]=a=>t.value=a),type:"text",placeholder:"Search workflows",class:"w-full mb-4 p-2 border rounded"},null,512),[[F,t.value]])]),f("ul",re,[(o(!0),n(S,null,w(c.value,a=>(o(),n("li",{key:a.definition.uuid,onClick:C=>m(a),class:h(["cursor-pointer hover:bg-gray-100 p-2 rounded",{"bg-blue-100":s.value===a}])},b(a.definition.name),11,ne))),128))])]),content:u(()=>[(o(!0),n(S,null,w(c.value,a=>(o(),_(V,{key:a.definition.uuid,id:`workflow-${a.definition.uuid}`,class:"mb-4 p-6"},{header:u(()=>[f("h2",se,b(a.definition.name),1)]),default:u(()=>[f("p",ie,b(a.definition.annotation),1),a.definition.tags&&a.definition.tags.length>0?(o(),n("div",de,[(o(!0),n(S,null,w(a.definition.tags,C=>(o(),_(k,{key:C,class:"mr-2 mb-2",variant:"soft"},{default:u(()=>[j(b(C),1)]),_:2},1024))),128))])):x("",!0),R(I,{to:`/workflow/${encodeURIComponent(a.trsID)}/`},{default:u(()=>[j("Details")]),_:2},1032,["to"])]),_:2},1032,["id"]))),128))]),_:1})}}});export{ge as default}; +import{_ as B,L as N,M as y,d as O,N as T,c as $,O as U,P as W,o,b as n,r as v,l as j,i as b,Q as A,A as _,k as u,E as h,D as x,R as L,G as z,e as f,S as M,T as R,U as S,V as w,j as G}from"./DzgF3Vew.js";import{u as D,a as P,b as Q,_ as F,c as J}from"./BJevMQrH.js";import"./IShi1APO.js";const q={base:"inline-flex items-center",rounded:"rounded-md",font:"font-medium",size:{xs:"text-xs px-1.5 py-0.5",sm:"text-xs px-2 py-1",md:"text-sm px-2 py-1",lg:"text-sm px-2.5 py-1.5"},color:{white:{solid:"ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-900 dark:text-white bg-white dark:bg-gray-900"},gray:{solid:"ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-700 dark:text-gray-200 bg-gray-50 dark:bg-gray-800"},black:{solid:"text-white dark:text-gray-900 bg-gray-900 dark:bg-white"}},variant:{solid:"bg-{color}-500 dark:bg-{color}-400 text-white dark:text-gray-900",outline:"text-{color}-500 dark:text-{color}-400 ring-1 ring-inset ring-{color}-500 dark:ring-{color}-400",soft:"bg-{color}-50 dark:bg-{color}-400 dark:bg-opacity-10 text-{color}-500 dark:text-{color}-400",subtle:"bg-{color}-50 dark:bg-{color}-400 dark:bg-opacity-10 text-{color}-500 dark:text-{color}-400 ring-1 ring-inset ring-{color}-500 dark:ring-{color}-400 ring-opacity-25 dark:ring-opacity-25"},default:{size:"sm",variant:"solid",color:"primary"}},H={base:"",background:"bg-white dark:bg-gray-900",divide:"divide-y divide-gray-200 dark:divide-gray-800",ring:"ring-1 ring-gray-200 dark:ring-gray-800",rounded:"rounded-lg",shadow:"shadow",body:{base:"",background:"",padding:"px-4 py-5 sm:p-6"},header:{base:"",background:"",padding:"px-4 py-5 sm:px-6"},footer:{base:"",background:"",padding:"px-4 py-4 sm:px-6"}},i=N(y.ui.strategy,y.ui.badge,q),K=O({inheritAttrs:!1,props:{size:{type:String,default:()=>i.default.size,validator(e){return Object.keys(i.size).includes(e)}},color:{type:String,default:()=>i.default.color,validator(e){return[...y.ui.colors,...Object.keys(i.color)].includes(e)}},variant:{type:String,default:()=>i.default.variant,validator(e){return[...Object.keys(i.variant),...Object.values(i.color).flatMap(t=>Object.keys(t))].includes(e)}},label:{type:[String,Number],default:null},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},setup(e){const{ui:t,attrs:s}=D("badge",T(e,"ui"),i),{size:d,rounded:g}=P({ui:t,props:e}),c=$(()=>{var m,r;const p=((r=(m=t.value.color)==null?void 0:m[e.color])==null?void 0:r[e.variant])||t.value.variant[e.variant];return U(W(t.value.base,t.value.font,g.value,t.value.size[d.value],p==null?void 0:p.replaceAll("{color}",e.color)),e.class)});return{attrs:s,badgeClass:c}}});function X(e,t,s,d,g,c){return o(),n("span",A({class:e.badgeClass},e.attrs),[v(e.$slots,"default",{},()=>[j(b(e.label),1)])],16)}const Y=B(K,[["render",X]]),Z=N(y.ui.strategy,y.ui.card,H),ee=O({inheritAttrs:!1,props:{as:{type:String,default:"div"},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},setup(e){const{ui:t,attrs:s}=D("card",T(e,"ui"),Z),d=$(()=>U(W(t.value.base,t.value.rounded,t.value.divide,t.value.ring,t.value.shadow,t.value.background),e.class));return{ui:t,attrs:s,cardClass:d}}});function te(e,t,s,d,g,c){return o(),_(L(e.$attrs.onSubmit?"form":e.as),A({class:e.cardClass},e.attrs),{default:u(()=>[e.$slots.header?(o(),n("div",{key:0,class:h([e.ui.header.base,e.ui.header.padding,e.ui.header.background])},[v(e.$slots,"header")],2)):x("",!0),e.$slots.default?(o(),n("div",{key:1,class:h([e.ui.body.base,e.ui.body.padding,e.ui.body.background])},[v(e.$slots,"default")],2)):x("",!0),e.$slots.footer?(o(),n("div",{key:2,class:h([e.ui.footer.base,e.ui.footer.padding,e.ui.footer.background])},[v(e.$slots,"footer")],2)):x("",!0)]),_:3},16,["class"])}const ae=B(ee,[["render",te]]),oe={class:"sticky top-4 h-16"},re={class:"mt-6"},ne=["onClick"],se={class:"text-xl font-bold mb-2"},ie={class:"mb-4"},de={key:0,class:"mb-4"},ge=O({__name:"index",setup(e){const t=z(""),s=z(null),d=Q(),g=$(()=>d.allWorkflows),c=$(()=>g.value.filter(r=>r.definition.name.toLowerCase().includes(t.value.toLowerCase())));function p(r){var k;const l=document.getElementById(`workflow-${r.definition.uuid}`);l&&((k=l.parentElement)==null||k.scrollTo({top:l.offsetTop-l.parentElement.offsetTop-8,behavior:"smooth"}))}function m(r){s.value=r,p(r)}return(r,l)=>{const k=Y,V=J,E=ae,I=F;return o(),_(I,null,{sidebar:u(()=>[f("div",oe,[M(f("input",{"onUpdate:modelValue":l[0]||(l[0]=a=>t.value=a),type:"text",placeholder:"Search workflows",class:"w-full mb-4 p-2 border rounded"},null,512),[[R,t.value]])]),f("ul",re,[(o(!0),n(w,null,S(c.value,a=>(o(),n("li",{key:a.definition.uuid,onClick:C=>m(a),class:h(["cursor-pointer hover:bg-gray-100 p-2 rounded",{"bg-blue-100":s.value===a}])},b(a.definition.name),11,ne))),128))])]),content:u(()=>[(o(!0),n(w,null,S(c.value,a=>(o(),_(E,{key:a.definition.uuid,id:`workflow-${a.definition.uuid}`,class:"mb-4 p-6"},{header:u(()=>[f("h2",se,b(a.definition.name),1)]),default:u(()=>[f("p",ie,b(a.definition.annotation),1),a.definition.tags&&a.definition.tags.length>0?(o(),n("div",de,[(o(!0),n(w,null,S(a.definition.tags,C=>(o(),_(k,{key:C,class:"mr-2 mb-2",variant:"soft"},{default:u(()=>[j(b(C),1)]),_:2},1024))),128))])):x("",!0),G(V,{to:`/workflow/${encodeURIComponent(a.trsID)}/`},{default:u(()=>[j("Details")]),_:2},1032,["to"])]),_:2},1032,["id"]))),128))]),_:1})}}});export{ge as default}; diff --git a/_nuxt/BhT3LTym.js b/_nuxt/BhT3LTym.js new file mode 100644 index 000000000..1c88144eb --- /dev/null +++ b/_nuxt/BhT3LTym.js @@ -0,0 +1 @@ +import{_ as e,o as r,b as c}from"./DzgF3Vew.js";const o={};function t(n,s){return r(),c("hr")}const a=e(o,[["render",t]]);export{a as default}; diff --git a/_nuxt/CAJW8Aus.js b/_nuxt/BhaonjGO.js similarity index 95% rename from _nuxt/CAJW8Aus.js rename to _nuxt/BhaonjGO.js index d7bb645df..81c0af6f9 100644 --- a/_nuxt/CAJW8Aus.js +++ b/_nuxt/BhaonjGO.js @@ -1 +1 @@ -import{h as j,E as ln,ar as en,j as w,N as z,T as on,as as P,at as tn,au as rn,o as an,q as un,I as sn}from"./ZI84DZB4.js";import{p as F,k as cn}from"./C-v3KzvZ.js";import{u as pn}from"./ny9-2f-j.js";class S{constructor(l,o,t){this.property=l,this.normal=o,t&&(this.space=t)}}S.prototype.property={};S.prototype.normal={};S.prototype.space=null;function H(n,l){const o={},t={};let r=-1;for(;++r4&&o.slice(0,4)==="data"&&fn.test(l)){if(l.charAt(4)==="-"){const a=l.slice(5).replace(_,kn);t="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=l.slice(4);if(!_.test(a)){let i=a.replace(yn,bn);i.charAt(0)!=="-"&&(i="-"+i),l="data"+i}}r=T}return new r(t,l)}function bn(n){return"-"+n.toLowerCase()}function kn(n){return n.charAt(1).toUpperCase()}const Cn=H([q,N,X,Y,hn],"html");H([q,N,X,Y,mn],"svg");const A=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],R="default",$=/^@|^v-on:/,Z=/^:|^v-bind:/,J=/^v-model/,Sn=["select","textarea","input"],xn=Object.fromEntries(["p","a","blockquote","code","pre","code","em","h1","h2","h3","h4","h5","h6","hr","img","ul","ol","li","strong","table","thead","tbody","td","th","tr","script"].map(n=>[n,`prose-${n}`])),wn=j({name:"MDCRenderer",props:{body:{type:Object,required:!0},data:{type:Object,default:()=>({})},tag:{type:[String,Boolean],default:void 0},prose:{type:Boolean,default:void 0},components:{type:Object,default:()=>({})}},async setup(n){var i,s,c,g,f,p,y,B;const l=(c=(s=(i=ln())==null?void 0:i.appContext)==null?void 0:s.app)==null?void 0:c.$nuxt,o=(l==null?void 0:l.$route)||(l==null?void 0:l._route),{mdc:t}=((g=l==null?void 0:l.$config)==null?void 0:g.public)||{},r={...(f=t==null?void 0:t.components)!=null&&f.prose&&n.prose!==!1?xn:{},...((p=t==null?void 0:t.components)==null?void 0:p.map)||{},...en(((B=(y=n.data)==null?void 0:y.mdc)==null?void 0:B.components)||{}),...n.components},a=w(()=>{var U;const nn=(((U=n.body)==null?void 0:U.children)||[]).map(x=>x.tag||x.type).filter(x=>!A.includes(x));return Array.from(new Set(nn)).sort().join(".")});return await Un(n.body,{tags:r}),{tags:r,contentKey:a,route:o}},render(n){var f,p,y;const{tags:l,tag:o,body:t,data:r,contentKey:a,route:i}=n;if(!t)return null;const s={...r,tags:l,$route:i},c=o!==!1?E(o||((f=s.component)==null?void 0:f.name)||s.component||"div"):void 0,g=G(t,z,s,s);return c?z(c,{...(p=s.component)==null?void 0:p.props,...this.$attrs,key:a},g):(y=g.default)==null?void 0:y.call(g)}});function Pn(n,l,o,t={}){if(n.type==="text")return l(P,n.value);if(n.type==="comment")return l(tn,null,n.value);const r=n.tag,a=Q(n,o.tags);if(n.tag==="binding")return On(n,l,o,t);const i=E(a);typeof i=="object"&&(i.tag=r);const s=Dn(n,o);return l(i,s,G(n,l,o,{...t,...s}))}function On(n,l,o,t={}){var g,f;const r={...t,$document:o,$doc:o},a=/\.|\[(\d+)\]/,s=((g=n.props)==null?void 0:g.value.trim().split(a).filter(Boolean)).reduce((p,y)=>{if(p&&y in p)return typeof p[y]=="function"?p[y]():p[y]},r),c=(f=n.props)==null?void 0:f.defaultValue;return l(P,s??c??"")}function G(n,l,o,t){const a=(n.children||[]).reduce((s,c)=>{if(!En(c))return s[R].push(c),s;const g=An(c);return s[g]=s[g]||[],c.type==="element"&&s[g].push(...c.children||[]),s},{[R]:[]});return Object.entries(a).reduce((s,[c,g])=>(g.length&&(s[c]=()=>{const f=g.map(p=>Pn(p,l,o,t));return Bn(f)}),s),{})}function Dn(n,l){const{tag:o="",props:t={}}=n;return Object.keys(t).reduce(function(r,a){if(a==="__ignoreMap")return r;const i=t[a];if(J.test(a)&&!Sn.includes(o))return Ln(a,i,r,l);if(a==="v-bind")return Mn(a,i,r,l);if($.test(a))return Rn(a,i,r,l);if(Z.test(a))return Tn(a,i,r,l);const{attribute:s}=vn(Cn,a);return Array.isArray(i)&&i.every(c=>typeof c=="string")?(r[s]=i.join(" "),r):(r[s]=i,r)},{})}function Ln(n,l,o,t){const r=p=>+p,a=p=>p.trim(),i=p=>p,s=n.replace(J,"").split(".").filter(p=>p).reduce((p,y)=>(p[y]=!0,p),{}),c="value",g=s.lazy?"change":"input",f=s.number?r:s.trim?a:i;return o[c]=O(l,t),o.on=o.on||{},o.on[g]=p=>t[l]=f(p),o}function Mn(n,l,o,t){const r=O(l,t);return o=Object.assign(o,r),o}function Rn(n,l,o,t){return n=n.replace($,""),o.on=o.on||{},o.on[n]=()=>O(l,t),o}function Tn(n,l,o,t){return n=n.replace(Z,""),o[n]=O(l,t),o}const E=n=>{if(!A.includes(n)&&!(n!=null&&n.render)&&!(n!=null&&n.ssrRender)){const l=on(F(n),!1);if(typeof l=="object")return l}return n};function O(n,l){const o=n.split(".").reduce((t,r)=>typeof t=="object"?t[r]:void 0,l);return typeof o>"u"?rn(n):o}function An(n){let l="";for(const o of Object.keys(n.props||{}))if(!(!o.startsWith("#")&&!o.startsWith("v-slot:"))){l=o.split(/[:#]/,2)[1];break}return l||R}function En(n){return n.tag==="template"}function Bn(n){const l=[];for(const o of n){const t=l[l.length-1];o.type===P&&(t==null?void 0:t.type)===P?t.children=t.children+o.children:l.push(o)}return l}async function Un(n,l){if(!n)return;const o=Array.from(new Set(t(n,l)));await Promise.all(o.map(async r=>{if(r!=null&&r.render||r!=null&&r.ssrRender||r!=null&&r.__ssrInlineRender)return;const a=E(r);a!=null&&a.__asyncLoader&&!a.__asyncResolved&&await a.__asyncLoader()}));function t(r,a){const i=r.tag;if(r.type==="text"||i==="binding"||r.type==="comment")return[];const s=Q(r,a.tags),c=[];r.type!=="root"&&!A.includes(s)&&c.push(s);for(const g of r.children||[])c.push(...t(g,a));return c}}function Q(n,l){var t;const o=n.tag;return!o||typeof((t=n.props)==null?void 0:t.__ignoreMap)<"u"?o:l[o]||l[F(o)]||l[cn(n.tag)]||o}const zn=wn,Fn=j({__name:"ContentRendererMarkdown",props:{value:{type:Object,required:!0},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"},components:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})}},setup(n){const l=n,o=pn().isEnabled(),t=w(()=>{let i=l.value.body||l.value;return l.excerpt&&l.value.excerpt&&(i=l.value.excerpt),i}),r=w(()=>{const{body:i,excerpt:s,...c}=l.value;return{...c,...l.data}}),a=w(()=>({...l.components,...r.value._components||{}}));return(i,s)=>{const c=zn;return an(),un(c,{body:t.value,data:r.value,tag:n.tag,components:a.value,"data-content-id":sn(o)?n.value._id:void 0},null,8,["body","data","tag","components","data-content-id"])}}});export{Fn as _}; +import{d as j,g as ln,ao as en,c as w,h as z,ap as on,aq as P,ar as tn,K as rn,o as an,A as un,q as sn}from"./DzgF3Vew.js";import{p as F,k as cn}from"./C-v3KzvZ.js";import{u as pn}from"./1XwWt0dk.js";class S{constructor(l,o,t){this.property=l,this.normal=o,t&&(this.space=t)}}S.prototype.property={};S.prototype.normal={};S.prototype.space=null;function H(n,l){const o={},t={};let r=-1;for(;++r4&&o.slice(0,4)==="data"&&fn.test(l)){if(l.charAt(4)==="-"){const a=l.slice(5).replace(I,kn);t="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=l.slice(4);if(!I.test(a)){let i=a.replace(yn,bn);i.charAt(0)!=="-"&&(i="-"+i),l="data"+i}}r=T}return new r(t,l)}function bn(n){return"-"+n.toLowerCase()}function kn(n){return n.charAt(1).toUpperCase()}const Cn=H([N,q,X,Y,hn],"html");H([N,q,X,Y,mn],"svg");const A=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],R="default",$=/^@|^v-on:/,Z=/^:|^v-bind:/,J=/^v-model/,Sn=["select","textarea","input"],xn=Object.fromEntries(["p","a","blockquote","code","pre","code","em","h1","h2","h3","h4","h5","h6","hr","img","ul","ol","li","strong","table","thead","tbody","td","th","tr","script"].map(n=>[n,`prose-${n}`])),wn=j({name:"MDCRenderer",props:{body:{type:Object,required:!0},data:{type:Object,default:()=>({})},tag:{type:[String,Boolean],default:void 0},prose:{type:Boolean,default:void 0},components:{type:Object,default:()=>({})}},async setup(n){var i,s,c,g,f,p,y,B;const l=(c=(s=(i=ln())==null?void 0:i.appContext)==null?void 0:s.app)==null?void 0:c.$nuxt,o=(l==null?void 0:l.$route)||(l==null?void 0:l._route),{mdc:t}=((g=l==null?void 0:l.$config)==null?void 0:g.public)||{},r={...(f=t==null?void 0:t.components)!=null&&f.prose&&n.prose!==!1?xn:{},...((p=t==null?void 0:t.components)==null?void 0:p.map)||{},...en(((B=(y=n.data)==null?void 0:y.mdc)==null?void 0:B.components)||{}),...n.components},a=w(()=>{var U;const nn=(((U=n.body)==null?void 0:U.children)||[]).map(x=>x.tag||x.type).filter(x=>!A.includes(x));return Array.from(new Set(nn)).sort().join(".")});return await Un(n.body,{tags:r}),{tags:r,contentKey:a,route:o}},render(n){var f,p,y;const{tags:l,tag:o,body:t,data:r,contentKey:a,route:i}=n;if(!t)return null;const s={...r,tags:l,$route:i},c=o!==!1?E(o||((f=s.component)==null?void 0:f.name)||s.component||"div"):void 0,g=G(t,z,s,s);return c?z(c,{...(p=s.component)==null?void 0:p.props,...this.$attrs,key:a},g):(y=g.default)==null?void 0:y.call(g)}});function Pn(n,l,o,t={}){if(n.type==="text")return l(P,n.value);if(n.type==="comment")return l(tn,null,n.value);const r=n.tag,a=Q(n,o.tags);if(n.tag==="binding")return On(n,l,o,t);const i=E(a);typeof i=="object"&&(i.tag=r);const s=Dn(n,o);return l(i,s,G(n,l,o,{...t,...s}))}function On(n,l,o,t={}){var g,f;const r={...t,$document:o,$doc:o},a=/\.|\[(\d+)\]/,s=((g=n.props)==null?void 0:g.value.trim().split(a).filter(Boolean)).reduce((p,y)=>{if(p&&y in p)return typeof p[y]=="function"?p[y]():p[y]},r),c=(f=n.props)==null?void 0:f.defaultValue;return l(P,s??c??"")}function G(n,l,o,t){const a=(n.children||[]).reduce((s,c)=>{if(!En(c))return s[R].push(c),s;const g=An(c);return s[g]=s[g]||[],c.type==="element"&&s[g].push(...c.children||[]),s},{[R]:[]});return Object.entries(a).reduce((s,[c,g])=>(g.length&&(s[c]=()=>{const f=g.map(p=>Pn(p,l,o,t));return Bn(f)}),s),{})}function Dn(n,l){const{tag:o="",props:t={}}=n;return Object.keys(t).reduce(function(r,a){if(a==="__ignoreMap")return r;const i=t[a];if(J.test(a)&&!Sn.includes(o))return Ln(a,i,r,l);if(a==="v-bind")return Mn(a,i,r,l);if($.test(a))return Rn(a,i,r,l);if(Z.test(a))return Tn(a,i,r,l);const{attribute:s}=vn(Cn,a);return Array.isArray(i)&&i.every(c=>typeof c=="string")?(r[s]=i.join(" "),r):(r[s]=i,r)},{})}function Ln(n,l,o,t){const r=p=>+p,a=p=>p.trim(),i=p=>p,s=n.replace(J,"").split(".").filter(p=>p).reduce((p,y)=>(p[y]=!0,p),{}),c="value",g=s.lazy?"change":"input",f=s.number?r:s.trim?a:i;return o[c]=O(l,t),o.on=o.on||{},o.on[g]=p=>t[l]=f(p),o}function Mn(n,l,o,t){const r=O(l,t);return o=Object.assign(o,r),o}function Rn(n,l,o,t){return n=n.replace($,""),o.on=o.on||{},o.on[n]=()=>O(l,t),o}function Tn(n,l,o,t){return n=n.replace(Z,""),o[n]=O(l,t),o}const E=n=>{if(!A.includes(n)&&!(n!=null&&n.render)&&!(n!=null&&n.ssrRender)){const l=on(F(n),!1);if(typeof l=="object")return l}return n};function O(n,l){const o=n.split(".").reduce((t,r)=>typeof t=="object"?t[r]:void 0,l);return typeof o>"u"?rn(n):o}function An(n){let l="";for(const o of Object.keys(n.props||{}))if(!(!o.startsWith("#")&&!o.startsWith("v-slot:"))){l=o.split(/[:#]/,2)[1];break}return l||R}function En(n){return n.tag==="template"}function Bn(n){const l=[];for(const o of n){const t=l[l.length-1];o.type===P&&(t==null?void 0:t.type)===P?t.children=t.children+o.children:l.push(o)}return l}async function Un(n,l){if(!n)return;const o=Array.from(new Set(t(n,l)));await Promise.all(o.map(async r=>{if(r!=null&&r.render||r!=null&&r.ssrRender||r!=null&&r.__ssrInlineRender)return;const a=E(r);a!=null&&a.__asyncLoader&&!a.__asyncResolved&&await a.__asyncLoader()}));function t(r,a){const i=r.tag;if(r.type==="text"||i==="binding"||r.type==="comment")return[];const s=Q(r,a.tags),c=[];r.type!=="root"&&!A.includes(s)&&c.push(s);for(const g of r.children||[])c.push(...t(g,a));return c}}function Q(n,l){var t;const o=n.tag;return!o||typeof((t=n.props)==null?void 0:t.__ignoreMap)<"u"?o:l[o]||l[F(o)]||l[cn(n.tag)]||o}const zn=wn,Fn=j({__name:"ContentRendererMarkdown",props:{value:{type:Object,required:!0},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"},components:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})}},setup(n){const l=n,o=pn().isEnabled(),t=w(()=>{let i=l.value.body||l.value;return l.excerpt&&l.value.excerpt&&(i=l.value.excerpt),i}),r=w(()=>{const{body:i,excerpt:s,...c}=l.value;return{...c,...l.data}}),a=w(()=>({...l.components,...r.value._components||{}}));return(i,s)=>{const c=zn;return an(),un(c,{body:t.value,data:r.value,tag:n.tag,components:a.value,"data-content-id":sn(o)?n.value._id:void 0},null,8,["body","data","tag","components","data-content-id"])}}});export{Fn as _}; diff --git a/_nuxt/BiaM9gQc.js b/_nuxt/BiaM9gQc.js deleted file mode 100644 index afc4b4069..000000000 --- a/_nuxt/BiaM9gQc.js +++ /dev/null @@ -1 +0,0 @@ -import{h as i,ae as c,j as p,o as s,c as n,I as u,r as t}from"./ZI84DZB4.js";const f=["id"],l=["href"],k=i({__name:"ProseH2",props:{id:{}},setup(r){const a=r,{headings:o}=c().public.mdc,d=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h2)});return(e,m)=>(s(),n("h2",{id:e.id},[e.id&&u(d)?(s(),n("a",{key:0,href:`#${e.id}`},[t(e.$slots,"default")],8,l)):t(e.$slots,"default",{key:1})],8,f))}});export{k as default}; diff --git a/_nuxt/BjkRZCrk.js b/_nuxt/BjkRZCrk.js deleted file mode 100644 index ee5927bee..000000000 --- a/_nuxt/BjkRZCrk.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,o,c as t,r as s}from"./ZI84DZB4.js";const c={};function n(e,a){return o(),t("th",null,[s(e.$slots,"default")])}const _=r(c,[["render",n]]);export{_ as default}; diff --git a/_nuxt/Bk5l7imX.js b/_nuxt/Bk5l7imX.js deleted file mode 100644 index 3f46f2afc..000000000 --- a/_nuxt/Bk5l7imX.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as c}from"./CAJW8Aus.js";import{h as l,J as s,af as d,N as o}from"./ZI84DZB4.js";import"./C-v3KzvZ.js";import"./ny9-2f-j.js";import"./IShi1APO.js";const _=l({name:"ContentRenderer",props:{value:{type:Object,required:!1,default:()=>({})},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"}},setup(t){s(()=>t.excerpt,n=>{var e,a,i;n&&!((e=t.value)!=null&&e.excerpt)&&(console.warn(`No excerpt found for document content/${(a=t==null?void 0:t.value)==null?void 0:a._path}.${(i=t==null?void 0:t.value)==null?void 0:i._extension}!`),console.warn("Make sure to use in your content if you want to use excerpt feature."))},{immediate:!0})},render(t){var u,f;const n=d(),{value:e,excerpt:a,tag:i}=t,r=a?e==null?void 0:e.excerpt:e==null?void 0:e.body;return!((u=r==null?void 0:r.children)!=null&&u.length)&&(n!=null&&n.empty)?n.empty({value:e,excerpt:a,tag:i,...this.$attrs}):n!=null&&n.default?n.default({value:e,excerpt:a,tag:i,...this.$attrs}):(r==null?void 0:r.type)==="root"&&((f=r==null?void 0:r.children)!=null&&f.length)?o(c,{value:e,excerpt:a,tag:i,...this.$attrs}):o("pre",null,JSON.stringify({message:"You should use slots with ",value:e,excerpt:a,tag:i},null,2))}});export{_ as default}; diff --git a/_nuxt/BpEg4sbd.js b/_nuxt/BpEg4sbd.js new file mode 100644 index 000000000..2b21b06e3 --- /dev/null +++ b/_nuxt/BpEg4sbd.js @@ -0,0 +1 @@ +import{L as ln,M as un,N as y,O as tn,P as X,Q as O,R as _,S as an,T as rn,V as $,W as o,X as N,Y as sn,Z as on,$ as fn}from"./BN9GDn3H.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,D,S,v,R,Q,u){var E=D-l,i=S-h,n=Q-v,d=u-R,a=d*E-n*i;if(!(a*ar*r+W*W&&(L=w,M=p),{cx:L,cy:M,x01:-n,y01:-d,x11:L*(v/T-1),y11:M*(v/T-1)}}function hn(){var l=cn,h=yn,D=N(0),S=null,v=gn,R=dn,Q=mn,u=null,E=ln(i);function i(){var n,d,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,V=an(c-f),t=c>f;if(u||(u=n=E()),sy))u.moveTo(0,0);else if(V>tn-y)u.moveTo(s*X(f),s*O(f)),u.arc(0,0,s,f,c,!t),a>y&&(u.moveTo(a*X(c),a*O(c)),u.arc(0,0,a,c,f,t));else{var m=f,g=c,A=f,T=c,P=V,I=V,L=Q.apply(this,arguments)/2,M=L>y&&(S?+S.apply(this,arguments):$(a*a+s*s)),w=_(an(s-a)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(M>y){var W=sn(M/a*O(L)),j=sn(M/s*O(L));(P-=W*2)>y?(W*=t?1:-1,A+=W,T-=W):(P=0,A=T=(f+c)/2),(I-=j*2)>y?(j*=t?1:-1,m+=j,g-=j):(I=0,m=g=(f+c)/2)}var Y=s*X(m),Z=s*O(m),z=a*X(T),B=a*O(T);if(w>y){var C=s*X(g),F=s*O(g),H=a*X(A),J=a*O(A),q;if(Vy?x>y?(e=G(H,J,Y,Z,s,x,t),r=G(C,F,z,B,s,x,t),u.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?u.lineTo(z,B):p>y?(e=G(z,B,C,F,a,-p,t),r=G(Y,Z,H,J,a,-p,t),u.lineTo(e.cx+e.x01,e.cy+e.y01),ptypeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:a,tags:s,between:n,parent:e}}});export{i as default}; diff --git a/_nuxt/Bts1nb3V.js b/_nuxt/Bts1nb3V.js deleted file mode 100644 index b50c63a75..000000000 --- a/_nuxt/Bts1nb3V.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__fileDeps=["./BJOqsctX.js","./ZI84DZB4.js","./-yCMipV_.js","./IShi1APO.js","./ny9-2f-j.js","./C-v3KzvZ.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); -import{q as f,w as m,e as v,s as g,j as d,u as l,a as h}from"./-yCMipV_.js";import{ae as _,ah as y,h as C,ai as w,j as N,aj as P,af as $,N as r,e as j}from"./ZI84DZB4.js";import{h as p}from"./IShi1APO.js";import{u as T}from"./ny9-2f-j.js";const D=async e=>{const{content:t}=_().public;typeof(e==null?void 0:e.params)!="function"&&(e=f(e));const a=e.params(),s=t.experimental.stripQueryParameters?m(`/navigation/${`${p(a)}.${t.integrity}`}/${v(a)}.json`):m(`/navigation/${p(a)}.${t.integrity}.json`);if(g())return(await y(()=>import("./BJOqsctX.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url).then(o=>o.generateNavigation))(a);const n=await $fetch(s,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:d(a),previewToken:T().getPreviewToken()}});if(typeof n=="string"&&n.startsWith(""))throw new Error("Not found");return n},E=C({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(e){const{query:t}=w(e),a=N(()=>{var n;return typeof((n=t.value)==null?void 0:n.params)=="function"?t.value.params():t.value});if(!a.value&&P("dd-navigation").value){const{navigation:n}=l();return{navigation:n}}const{data:s}=await h(`content-navigation-${p(a.value)}`,()=>D(a.value));return{navigation:s}},render(e){const t=$(),{navigation:a}=e,s=o=>r(j,{to:o._path},()=>o.title),n=(o,u)=>r("ul",u?{"data-level":u}:null,o.map(i=>i.children?r("li",null,[s(i),n(i.children,u+1)]):r("li",null,s(i)))),c=o=>n(o,0);return t!=null&&t.default?t.default({navigation:a,...this.$attrs}):c(a)}}),Q=E;export{Q as default}; diff --git a/_nuxt/Btv4BgYl.js b/_nuxt/Btv4BgYl.js deleted file mode 100644 index 6e03f4878..000000000 --- a/_nuxt/Btv4BgYl.js +++ /dev/null @@ -1 +0,0 @@ -import{h as i,ae as c,j as p,o as s,c as n,I as u,r as t}from"./ZI84DZB4.js";const f=["id"],l=["href"],k=i({__name:"ProseH6",props:{id:{}},setup(r){const a=r,{headings:o}=c().public.mdc,d=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h6)});return(e,m)=>(s(),n("h6",{id:e.id},[e.id&&u(d)?(s(),n("a",{key:0,href:`#${e.id}`},[t(e.$slots,"default")],8,l)):t(e.$slots,"default",{key:1})],8,f))}});export{k as default}; diff --git a/_nuxt/BzRHfUZr.js b/_nuxt/BzRHfUZr.js new file mode 100644 index 000000000..7a500c8df --- /dev/null +++ b/_nuxt/BzRHfUZr.js @@ -0,0 +1,30 @@ +import{p as U}from"./DkbTWFKD.js";import{X as x,O as z,aF as j,D as q,q as X,r as Z,s as H,g as J,c as K,b as Q,_ as u,l as F,x as Y,d as tt,E as et,I as at,a5 as rt,k as nt}from"./BN9GDn3H.js";import{p as it}from"./lwzoVff7.js";import{d as N}from"./BpEg4sbd.js";import{o as st}from"./CmKTTxBW.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";import"./BH-Vtj6c.js";import"./7nLUnQzp.js";import"./DqIxQbFE.js";import"./Gi6I4Gst.js";function ot(t,a){return at?1:a>=t?0:NaN}function lt(t){return t}function ct(){var t=lt,a=ot,m=null,o=x(0),g=x(z),y=x(0);function i(e){var r,l=(e=j(e)).length,c,A,h=0,p=new Array(l),n=new Array(l),v=+o.apply(this,arguments),w=Math.min(z,Math.max(-z,g.apply(this,arguments)-v)),f,T=Math.min(Math.abs(w)/l,y.apply(this,arguments)),$=T*(w<0?-1:1),d;for(r=0;r0&&(h+=d);for(a!=null?p.sort(function(S,D){return a(n[S],n[D])}):m!=null&&p.sort(function(S,D){return m(e[S],e[D])}),r=0,A=h?(w-l*$)/h:0;r0?d*A:0)+$,n[c]={data:e[c],index:r,value:d,startAngle:v,endAngle:f,padAngle:T};return n}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:x(+e),i):t},i.sortValues=function(e){return arguments.length?(a=e,m=null,i):a},i.sort=function(e){return arguments.length?(m=e,a=null,i):m},i.startAngle=function(e){return arguments.length?(o=typeof e=="function"?e:x(+e),i):o},i.endAngle=function(e){return arguments.length?(g=typeof e=="function"?e:x(+e),i):g},i.padAngle=function(e){return arguments.length?(y=typeof e=="function"?e:x(+e),i):y},i}var P=q.pie,G={sections:new Map,showData:!1,config:P},b=G.sections,O=G.showData,pt=structuredClone(P),ut=u(()=>structuredClone(pt),"getConfig"),gt=u(()=>{b=new Map,O=G.showData,Y()},"clear"),dt=u(({label:t,value:a})=>{b.has(t)||(b.set(t,a),F.debug(`added new section: ${t}, with value: ${a}`))},"addSection"),ft=u(()=>b,"getSections"),mt=u(t=>{O=t},"setShowData"),ht=u(()=>O,"getShowData"),R={getConfig:ut,clear:gt,setDiagramTitle:X,getDiagramTitle:Z,setAccTitle:H,getAccTitle:J,setAccDescription:K,getAccDescription:Q,addSection:dt,getSections:ft,setShowData:mt,getShowData:ht},vt=u((t,a)=>{U(t,a),a.setShowData(t.showData),t.sections.map(a.addSection)},"populateDb"),St={parse:u(async t=>{const a=await it("pie",t);F.debug(a),vt(a,R)},"parse")},xt=u(t=>` + .pieCircle{ + stroke: ${t.pieStrokeColor}; + stroke-width : ${t.pieStrokeWidth}; + opacity : ${t.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${t.pieOuterStrokeColor}; + stroke-width: ${t.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${t.pieTitleTextSize}; + fill: ${t.pieTitleTextColor}; + font-family: ${t.fontFamily}; + } + .slice { + font-family: ${t.fontFamily}; + fill: ${t.pieSectionTextColor}; + font-size:${t.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${t.pieLegendTextColor}; + font-family: ${t.fontFamily}; + font-size: ${t.pieLegendTextSize}; + } +`,"getStyles"),yt=xt,At=u(t=>{const a=[...t.entries()].map(o=>({label:o[0],value:o[1]})).sort((o,g)=>g.value-o.value);return ct().value(o=>o.value)(a)},"createPieArcs"),wt=u((t,a,m,o)=>{F.debug(`rendering pie chart +`+t);const g=o.db,y=tt(),i=et(g.getConfig(),y.pie),e=40,r=18,l=4,c=450,A=c,h=at(a),p=h.append("g");p.attr("transform","translate("+A/2+","+c/2+")");const{themeVariables:n}=y;let[v]=rt(n.pieOuterStrokeWidth);v??(v=2);const w=i.textPosition,f=Math.min(A,c)/2-e,T=N().innerRadius(0).outerRadius(f),$=N().innerRadius(f*w).outerRadius(f*w);p.append("circle").attr("cx",0).attr("cy",0).attr("r",f+v/2).attr("class","pieOuterCircle");const d=g.getSections(),S=At(d),D=[n.pie1,n.pie2,n.pie3,n.pie4,n.pie5,n.pie6,n.pie7,n.pie8,n.pie9,n.pie10,n.pie11,n.pie12],C=st(D);p.selectAll("mySlices").data(S).enter().append("path").attr("d",T).attr("fill",s=>C(s.data.label)).attr("class","pieCircle");let W=0;d.forEach(s=>{W+=s}),p.selectAll("mySlices").data(S).enter().append("text").text(s=>(s.data.value/W*100).toFixed(0)+"%").attr("transform",s=>"translate("+$.centroid(s)+")").style("text-anchor","middle").attr("class","slice"),p.append("text").text(g.getDiagramTitle()).attr("x",0).attr("y",-(c-50)/2).attr("class","pieTitleText");const M=p.selectAll(".legend").data(C.domain()).enter().append("g").attr("class","legend").attr("transform",(s,k)=>{const E=r+l,_=E*C.domain().length/2,B=12*r,V=k*E-_;return"translate("+B+","+V+")"});M.append("rect").attr("width",r).attr("height",r).style("fill",C).style("stroke",C),M.data(S).append("text").attr("x",r+l).attr("y",r-l).text(s=>{const{label:k,value:E}=s.data;return g.getShowData()?`${k} [${E}]`:k});const L=Math.max(...M.selectAll("text").nodes().map(s=>(s==null?void 0:s.getBoundingClientRect().width)??0)),I=A+e+r+l+L;h.attr("viewBox",`0 0 ${I} ${c}`),nt(h,c,I,i.useMaxWidth)},"draw"),Dt={draw:wt},Nt={parser:St,db:R,renderer:Dt,styles:yt};export{Nt as diagram}; diff --git a/_nuxt/CM2yUB0e.js b/_nuxt/C17nQrMx.js similarity index 65% rename from _nuxt/CM2yUB0e.js rename to _nuxt/C17nQrMx.js index cc2c25271..60c5ed61c 100644 --- a/_nuxt/CM2yUB0e.js +++ b/_nuxt/C17nQrMx.js @@ -1 +1 @@ -import{_ as o,o as r,c as t,r as c}from"./ZI84DZB4.js";const s={};function n(e,l){return r(),t("blockquote",null,[c(e.$slots,"default")])}const _=o(s,[["render",n]]);export{_ as default}; +import{_ as o,o as r,b as t,r as c}from"./DzgF3Vew.js";const s={};function n(e,l){return r(),t("blockquote",null,[c(e.$slots,"default")])}const _=o(s,[["render",n]]);export{_ as default}; diff --git a/_nuxt/C1JfJP5P.js b/_nuxt/C1JfJP5P.js new file mode 100644 index 000000000..578e0110b --- /dev/null +++ b/_nuxt/C1JfJP5P.js @@ -0,0 +1,2 @@ +const __vite__fileDeps=["./CYg2XdTk.js","./DzgF3Vew.js","./by_5UnZ2.js","./IShi1APO.js","./1XwWt0dk.js","./C-v3KzvZ.js","./Cpj98o6Y.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +import{q as f,w as m,e as v,s as g,j as d,a as l,u as h}from"./by_5UnZ2.js";import{a as _,y,d as C,t as w,c as P,z as $,u as N,h as r,m as j}from"./DzgF3Vew.js";import{h as c}from"./IShi1APO.js";import{u as T}from"./1XwWt0dk.js";const D=async e=>{const{content:t}=_().public;typeof(e==null?void 0:e.params)!="function"&&(e=f(e));const a=e.params(),s=t.experimental.stripQueryParameters?m(`/navigation/${`${c(a)}.${t.integrity}`}/${v(a)}.json`):m(`/navigation/${c(a)}.${t.integrity}.json`);if(g())return(await y(()=>import("./CYg2XdTk.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(o=>o.generateNavigation))(a);const n=await $fetch(s,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:d(a),previewToken:T().getPreviewToken()}});if(typeof n=="string"&&n.startsWith(""))throw new Error("Not found");return n},E=C({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(e){const{query:t}=w(e),a=P(()=>{var n;return typeof((n=t.value)==null?void 0:n.params)=="function"?t.value.params():t.value});if(!a.value&&$("dd-navigation").value){const{navigation:n}=l();return{navigation:n}}const{data:s}=await h(`content-navigation-${c(a.value)}`,()=>D(a.value));return{navigation:s}},render(e){const t=N(),{navigation:a}=e,s=o=>r(j,{to:o._path},()=>o.title),n=(o,u)=>r("ul",u?{"data-level":u}:null,o.map(i=>i.children?r("li",null,[s(i),n(i.children,u+1)]):r("li",null,s(i)))),p=o=>n(o,0);return t!=null&&t.default?t.default({navigation:a,...this.$attrs}):p(a)}}),Q=E;export{Q as default}; diff --git a/_nuxt/C3NahR2g.js b/_nuxt/C3NahR2g.js new file mode 100644 index 000000000..e6bf2e844 --- /dev/null +++ b/_nuxt/C3NahR2g.js @@ -0,0 +1 @@ +import{G as g}from"./csrLU7rk.js";import{b as Te,p as ce,q as le,g as z,e as ee,l as j,o as Ie,s as Me,c as Se,u as Fe,d as f,i as m,f as _,v as x,r as M}from"./BH-Vtj6c.js";import{f as O,b as he,a as je,c as Ve,d as Ae,t as V,m as w,e as P,h as ve,g as X,l as T,i as Be}from"./7nLUnQzp.js";import{b3 as Ge,b4 as Ye,b5 as De,aL as qe,b6 as $e,aP as pe,aO as we,b7 as We,aK as q,aq as ze,aR as Xe,as as Ue,b8 as $}from"./BN9GDn3H.js";function He(e){return Ge(Ye(e,void 0,O),e+"")}var Je=1,Ke=4;function Ze(e){return Te(e,Je|Ke)}function Qe(e,n){return e==null?e:De(e,ce(n),qe)}function en(e,n){return e&&le(e,ce(n))}function nn(e,n){return e>n}function S(e,n){var r={};return n=z(n),le(e,function(t,a,i){$e(r,a,n(t,a,i))}),r}function y(e){return e&&e.length?he(e,pe,nn):void 0}function U(e,n){return e&&e.length?he(e,z(n),je):void 0}function rn(e,n){var r=e.length;for(e.sort(n);r--;)e[r]=e[r].value;return e}function tn(e,n){if(e!==n){var r=e!==void 0,t=e===null,a=e===e,i=ee(e),o=n!==void 0,u=n===null,d=n===n,s=ee(n);if(!u&&!s&&!i&&e>n||i&&o&&d&&!u&&!s||t&&o&&d||!r&&d||!a)return 1;if(!t&&!i&&!s&&e=u)return d;var s=r[t];return d*(s=="desc"?-1:1)}}return e.index-n.index}function on(e,n,r){n.length?n=j(n,function(i){return we(i)?function(o){return Ie(o,i.length===1?i[0]:i)}:i}):n=[pe];var t=-1;n=j(n,We(z));var a=Ve(e,function(i,o,u){var d=j(n,function(s){return s(i)});return{criteria:d,index:++t,value:i}});return rn(a,function(i,o){return an(i,o,r)})}function un(e,n){return Ae(e,n,function(r,t){return Me(e,t)})}var I=He(function(e,n){return e==null?{}:un(e,n)}),dn=Math.ceil,sn=Math.max;function fn(e,n,r,t){for(var a=-1,i=sn(dn((n-e)/(r||1)),0),o=Array(i);i--;)o[++a]=e,e+=r;return o}function cn(e){return function(n,r,t){return t&&typeof t!="number"&&q(n,r,t)&&(r=t=void 0),n=V(n),r===void 0?(r=n,n=0):r=V(r),t=t===void 0?n1&&q(e,n[0],n[1])?n=[]:r>2&&q(n[0],n[1],n[2])&&(n=[n[0]]),on(e,Se(n),[])}),ln=0;function H(e){var n=++ln;return Fe(e)+n}function hn(e,n,r){for(var t=-1,a=e.length,i=n.length,o={};++t0;--u)if(o=n[u].dequeue(),o){t=t.concat(A(e,n,r,o,!0));break}}}return t}function A(e,n,r,t,a){var i=a?[]:void 0;return f(e.inEdges(t.v),function(o){var u=e.edge(o),d=e.node(o.v);a&&i.push({v:o.v,w:o.w}),d.out-=u,W(n,r,d)}),f(e.outEdges(t.v),function(o){var u=e.edge(o),d=o.w,s=e.node(d);s.in-=u,W(n,r,s)}),e.removeNode(t.v),i}function yn(e,n){var r=new g,t=0,a=0;f(e.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),f(e.edges(),function(u){var d=r.edge(u.v,u.w)||0,s=n(u),c=d+s;r.setEdge(u.v,u.w,c),a=Math.max(a,r.node(u.v).out+=s),t=Math.max(t,r.node(u.w).in+=s)});var i=E(a+t+3).map(function(){return new pn}),o=t+1;return f(r.nodes(),function(u){W(i,o,r.node(u))}),{graph:r,buckets:i,zeroIdx:o}}function W(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}function kn(e){var n=e.graph().acyclicer==="greedy"?mn(e,r(e)):xn(e);f(n,function(t){var a=e.edge(t);e.removeEdge(t),a.forwardName=t.name,a.reversed=!0,e.setEdge(t.w,t.v,a,H("rev"))});function r(t){return function(a){return t.edge(a).weight}}}function xn(e){var n=[],r={},t={};function a(i){Object.prototype.hasOwnProperty.call(t,i)||(t[i]=!0,r[i]=!0,f(e.outEdges(i),function(o){Object.prototype.hasOwnProperty.call(r,o.w)?n.push(o):a(o.w)}),delete r[i])}return f(e.nodes(),a),n}function En(e){f(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var t=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,t)}})}function L(e,n,r,t){var a;do a=H(t);while(e.hasNode(a));return r.dummy=n,e.setNode(a,r),a}function On(e){var n=new g().setGraph(e.graph());return f(e.nodes(),function(r){n.setNode(r,e.node(r))}),f(e.edges(),function(r){var t=n.edge(r.v,r.w)||{weight:0,minlen:1},a=e.edge(r);n.setEdge(r.v,r.w,{weight:t.weight+a.weight,minlen:Math.max(t.minlen,a.minlen)})}),n}function be(e){var n=new g({multigraph:e.isMultigraph()}).setGraph(e.graph());return f(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),f(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function re(e,n){var r=e.x,t=e.y,a=n.x-r,i=n.y-t,o=e.width/2,u=e.height/2;if(!a&&!i)throw new Error("Not possible to find intersection inside of the rectangle");var d,s;return Math.abs(i)*o>Math.abs(a)*u?(i<0&&(u=-u),d=u*a/i,s=u):(a<0&&(o=-o),d=o,s=o*i/a),{x:r+d,y:t+s}}function F(e){var n=w(E(me(e)+1),function(){return[]});return f(e.nodes(),function(r){var t=e.node(r),a=t.rank;m(a)||(n[a][t.order]=r)}),n}function Ln(e){var n=P(w(e.nodes(),function(r){return e.node(r).rank}));f(e.nodes(),function(r){var t=e.node(r);ve(t,"rank")&&(t.rank-=n)})}function Nn(e){var n=P(w(e.nodes(),function(i){return e.node(i).rank})),r=[];f(e.nodes(),function(i){var o=e.node(i).rank-n;r[o]||(r[o]=[]),r[o].push(i)});var t=0,a=e.graph().nodeRankFactor;f(r,function(i,o){m(i)&&o%a!==0?--t:t&&f(i,function(u){e.node(u).rank+=t})})}function te(e,n,r,t){var a={width:0,height:0};return arguments.length>=4&&(a.rank=r,a.order=t),L(e,"border",a,n)}function me(e){return y(w(e.nodes(),function(n){var r=e.node(n).rank;if(!m(r))return r}))}function Pn(e,n){var r={lhs:[],rhs:[]};return f(e,function(t){n(t)?r.lhs.push(t):r.rhs.push(t)}),r}function Cn(e,n){return n()}function _n(e){function n(r){var t=e.children(r),a=e.node(r);if(t.length&&f(t,n),Object.prototype.hasOwnProperty.call(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var i=a.minRank,o=a.maxRank+1;io.lim&&(u=o,d=!0);var s=_(n.edges(),function(c){return d===oe(e,e.node(c.v),u)&&d!==oe(e,e.node(c.w),u)});return U(s,function(c){return C(n,c)})}function Pe(e,n,r,t){var a=r.v,i=r.w;e.removeEdge(a,i),e.setEdge(t.v,t.w,{}),Z(e),K(e,n),$n(e,n)}function $n(e,n){var r=X(e.nodes(),function(a){return!n.node(a).parent}),t=Dn(e,r);t=t.slice(1),f(t,function(a){var i=e.node(a).parent,o=n.edge(a,i),u=!1;o||(o=n.edge(i,a),u=!0),n.node(a).rank=n.node(i).rank+(u?o.minlen:-o.minlen)})}function Wn(e,n,r){return e.hasEdge(n,r)}function oe(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}function zn(e){switch(e.graph().ranker){case"network-simplex":ue(e);break;case"tight-tree":Un(e);break;case"longest-path":Xn(e);break;default:ue(e)}}var Xn=J;function Un(e){J(e),ye(e)}function ue(e){k(e)}function Hn(e){var n=L(e,"root",{},"_root"),r=Jn(e),t=y(x(r))-1,a=2*t+1;e.graph().nestingRoot=n,f(e.edges(),function(o){e.edge(o).minlen*=a});var i=Kn(e)+1;f(e.children(),function(o){Ce(e,n,a,i,t,r,o)}),e.graph().nodeRankFactor=a}function Ce(e,n,r,t,a,i,o){var u=e.children(o);if(!u.length){o!==n&&e.setEdge(n,o,{weight:0,minlen:r});return}var d=te(e,"_bt"),s=te(e,"_bb"),c=e.node(o);e.setParent(d,o),c.borderTop=d,e.setParent(s,o),c.borderBottom=s,f(u,function(l){Ce(e,n,r,t,a,i,l);var h=e.node(l),v=h.borderTop?h.borderTop:l,p=h.borderBottom?h.borderBottom:l,b=h.borderTop?t:2*t,N=v!==p?1:a-i[o]+1;e.setEdge(d,v,{weight:b,minlen:N,nestingEdge:!0}),e.setEdge(p,s,{weight:b,minlen:N,nestingEdge:!0})}),e.parent(o)||e.setEdge(n,d,{weight:0,minlen:a+i[o]})}function Jn(e){var n={};function r(t,a){var i=e.children(t);i&&i.length&&f(i,function(o){r(o,a+1)}),n[t]=a}return f(e.children(),function(t){r(t,1)}),n}function Kn(e){return M(e.edges(),function(n,r){return n+e.edge(r).weight},0)}function Zn(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,f(e.edges(),function(r){var t=e.edge(r);t.nestingEdge&&e.removeEdge(r)})}function Qn(e,n,r){var t={},a;f(r,function(i){for(var o=e.parent(i),u,d;o;){if(u=e.parent(o),u?(d=t[u],t[u]=o):(d=a,a=o),d&&d!==o){n.setEdge(d,o);return}o=u}})}function er(e,n,r){var t=nr(e),a=new g({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(i){return e.node(i)});return f(e.nodes(),function(i){var o=e.node(i),u=e.parent(i);(o.rank===n||o.minRank<=n&&n<=o.maxRank)&&(a.setNode(i),a.setParent(i,u||t),f(e[r](i),function(d){var s=d.v===i?d.w:d.v,c=a.edge(s,i),l=m(c)?0:c.weight;a.setEdge(s,i,{weight:e.edge(d).weight+l})}),Object.prototype.hasOwnProperty.call(o,"minRank")&&a.setNode(i,{borderLeft:o.borderLeft[n],borderRight:o.borderRight[n]}))}),a}function nr(e){for(var n;e.hasNode(n=H("_root")););return n}function rr(e,n){for(var r=0,t=1;t0;)c%2&&(l+=u[c+1]),c=c-1>>1,u[c]+=s.weight;d+=s.weight*l})),d}function ar(e){var n={},r=_(e.nodes(),function(u){return!e.children(u).length}),t=y(w(r,function(u){return e.node(u).rank})),a=w(E(t+1),function(){return[]});function i(u){if(!ve(n,u)){n[u]=!0;var d=e.node(u);a[d.rank].push(u),f(e.successors(u),i)}}var o=R(r,function(u){return e.node(u).rank});return f(o,i),a}function ir(e,n){return w(n,function(r){var t=e.inEdges(r);if(t.length){var a=M(t,function(i,o){var u=e.edge(o),d=e.node(o.v);return{sum:i.sum+u.weight*d.order,weight:i.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:r}})}function or(e,n){var r={};f(e,function(a,i){var o=r[a.v]={indegree:0,in:[],out:[],vs:[a.v],i};m(a.barycenter)||(o.barycenter=a.barycenter,o.weight=a.weight)}),f(n.edges(),function(a){var i=r[a.v],o=r[a.w];!m(i)&&!m(o)&&(o.indegree++,i.out.push(r[a.w]))});var t=_(r,function(a){return!a.indegree});return ur(t)}function ur(e){var n=[];function r(i){return function(o){o.merged||(m(o.barycenter)||m(i.barycenter)||o.barycenter>=i.barycenter)&&dr(i,o)}}function t(i){return function(o){o.in.push(i),--o.indegree===0&&e.push(o)}}for(;e.length;){var a=e.pop();n.push(a),f(a.in.reverse(),r(a)),f(a.out,t(a))}return w(_(n,function(i){return!i.merged}),function(i){return I(i,["vs","i","barycenter","weight"])})}function dr(e,n){var r=0,t=0;e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/t,e.weight=t,e.i=Math.min(n.i,e.i),n.merged=!0}function sr(e,n){var r=Pn(e,function(c){return Object.prototype.hasOwnProperty.call(c,"barycenter")}),t=r.lhs,a=R(r.rhs,function(c){return-c.i}),i=[],o=0,u=0,d=0;t.sort(fr(!!n)),d=de(i,a,d),f(t,function(c){d+=c.vs.length,i.push(c.vs),o+=c.barycenter*c.weight,u+=c.weight,d=de(i,a,d)});var s={vs:O(i)};return u&&(s.barycenter=o/u,s.weight=u),s}function de(e,n,r){for(var t;n.length&&(t=T(n)).i<=r;)n.pop(),e.push(t.vs),r++;return r}function fr(e){return function(n,r){return n.barycenterr.barycenter?1:e?r.i-n.i:n.i-r.i}}function _e(e,n,r,t){var a=e.children(n),i=e.node(n),o=i?i.borderLeft:void 0,u=i?i.borderRight:void 0,d={};o&&(a=_(a,function(p){return p!==o&&p!==u}));var s=ir(e,a);f(s,function(p){if(e.children(p.v).length){var b=_e(e,p.v,r,t);d[p.v]=b,Object.prototype.hasOwnProperty.call(b,"barycenter")&&lr(p,b)}});var c=or(s,r);cr(c,d);var l=sr(c,t);if(o&&(l.vs=O([o,l.vs,u]),e.predecessors(o).length)){var h=e.node(e.predecessors(o)[0]),v=e.node(e.predecessors(u)[0]);Object.prototype.hasOwnProperty.call(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+v.order)/(l.weight+2),l.weight+=2}return l}function cr(e,n){f(e,function(r){r.vs=O(r.vs.map(function(t){return n[t]?n[t].vs:t}))})}function lr(e,n){m(e.barycenter)?(e.barycenter=n.barycenter,e.weight=n.weight):(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight)}function hr(e){var n=me(e),r=se(e,E(1,n+1),"inEdges"),t=se(e,E(n-1,-1,-1),"outEdges"),a=ar(e);fe(e,a);for(var i=Number.POSITIVE_INFINITY,o,u=0,d=0;d<4;++u,++d){vr(u%2?r:t,u%4>=2),a=F(e);var s=rr(e,a);so||u>n[d].lim));for(s=d,d=t;(d=e.parent(d))!==s;)i.push(d);return{path:a.concat(i.reverse()),lca:s}}function br(e){var n={},r=0;function t(a){var i=r;f(e.children(a),t),n[a]={low:i,lim:r++}}return f(e.children(),t),n}function mr(e,n){var r={};function t(a,i){var o=0,u=0,d=a.length,s=T(i);return f(i,function(c,l){var h=yr(e,c),v=h?e.node(h).order:d;(h||c===s)&&(f(i.slice(u,l+1),function(p){f(e.predecessors(p),function(b){var N=e.node(b),Q=N.order;(Qs)&&Re(r,h,c)})})}function a(i,o){var u=-1,d,s=0;return f(o,function(c,l){if(e.node(c).dummy==="border"){var h=e.predecessors(c);h.length&&(d=e.node(h[0]).order,t(o,s,l,u,d),s=l,u=d)}t(o,s,o.length,d,i.length)}),o}return M(n,a),r}function yr(e,n){if(e.node(n).dummy)return X(e.predecessors(n),function(r){return e.node(r).dummy})}function Re(e,n,r){if(n>r){var t=n;n=r,r=t}var a=e[n];a||(e[n]=a={}),a[r]=!0}function kr(e,n,r){if(n>r){var t=n;n=r,r=t}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],r)}function xr(e,n,r,t){var a={},i={},o={};return f(n,function(u){f(u,function(d,s){a[d]=d,i[d]=d,o[d]=s})}),f(n,function(u){var d=-1;f(u,function(s){var c=t(s);if(c.length){c=R(c,function(b){return o[b]});for(var l=(c.length-1)/2,h=Math.floor(l),v=Math.ceil(l);h<=v;++h){var p=c[h];i[s]===s&&d{var t=r(" buildLayoutGraph",()=>qr(e));r(" runLayout",()=>Mr(t,r)),r(" updateInputGraph",()=>Sr(e,t))})}function Mr(e,n){n(" makeSpaceForEdgeLabels",()=>$r(e)),n(" removeSelfEdges",()=>Qr(e)),n(" acyclic",()=>kn(e)),n(" nestingGraph.run",()=>Hn(e)),n(" rank",()=>zn(be(e))),n(" injectEdgeLabelProxies",()=>Wr(e)),n(" removeEmptyRanks",()=>Nn(e)),n(" nestingGraph.cleanup",()=>Zn(e)),n(" normalizeRanks",()=>Ln(e)),n(" assignRankMinMax",()=>zr(e)),n(" removeEdgeLabelProxies",()=>Xr(e)),n(" normalize.run",()=>Sn(e)),n(" parentDummyChains",()=>pr(e)),n(" addBorderSegments",()=>_n(e)),n(" order",()=>hr(e)),n(" insertSelfEdges",()=>et(e)),n(" adjustCoordinateSystem",()=>Rn(e)),n(" position",()=>Tr(e)),n(" positionSelfEdges",()=>nt(e)),n(" removeBorderNodes",()=>Zr(e)),n(" normalize.undo",()=>jn(e)),n(" fixupEdgeLabelCoords",()=>Jr(e)),n(" undoCoordinateSystem",()=>Tn(e)),n(" translateGraph",()=>Ur(e)),n(" assignNodeIntersects",()=>Hr(e)),n(" reversePoints",()=>Kr(e)),n(" acyclic.undo",()=>En(e))}function Sr(e,n){f(e.nodes(),function(r){var t=e.node(r),a=n.node(r);t&&(t.x=a.x,t.y=a.y,n.children(r).length&&(t.width=a.width,t.height=a.height))}),f(e.edges(),function(r){var t=e.edge(r),a=n.edge(r);t.points=a.points,Object.prototype.hasOwnProperty.call(a,"x")&&(t.x=a.x,t.y=a.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var Fr=["nodesep","edgesep","ranksep","marginx","marginy"],jr={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Vr=["acyclicer","ranker","rankdir","align"],Ar=["width","height"],Br={width:0,height:0},Gr=["minlen","weight","width","height","labeloffset"],Yr={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Dr=["labelpos"];function qr(e){var n=new g({multigraph:!0,compound:!0}),r=D(e.graph());return n.setGraph($({},jr,Y(r,Fr),I(r,Vr))),f(e.nodes(),function(t){var a=D(e.node(t));n.setNode(t,Be(Y(a,Ar),Br)),n.setParent(t,e.parent(t))}),f(e.edges(),function(t){var a=D(e.edge(t));n.setEdge(t,$({},Yr,Y(a,Gr),I(a,Dr)))}),n}function $r(e){var n=e.graph();n.ranksep/=2,f(e.edges(),function(r){var t=e.edge(r);t.minlen*=2,t.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?t.width+=t.labeloffset:t.height+=t.labeloffset)})}function Wr(e){f(e.edges(),function(n){var r=e.edge(n);if(r.width&&r.height){var t=e.node(n.v),a=e.node(n.w),i={rank:(a.rank-t.rank)/2+t.rank,e:n};L(e,"edge-proxy",i,"_ep")}})}function zr(e){var n=0;f(e.nodes(),function(r){var t=e.node(r);t.borderTop&&(t.minRank=e.node(t.borderTop).rank,t.maxRank=e.node(t.borderBottom).rank,n=y(n,t.maxRank))}),e.graph().maxRank=n}function Xr(e){f(e.nodes(),function(n){var r=e.node(n);r.dummy==="edge-proxy"&&(e.edge(r.e).labelRank=r.rank,e.removeNode(n))})}function Ur(e){var n=Number.POSITIVE_INFINITY,r=0,t=Number.POSITIVE_INFINITY,a=0,i=e.graph(),o=i.marginx||0,u=i.marginy||0;function d(s){var c=s.x,l=s.y,h=s.width,v=s.height;n=Math.min(n,c-h/2),r=Math.max(r,c+h/2),t=Math.min(t,l-v/2),a=Math.max(a,l+v/2)}f(e.nodes(),function(s){d(e.node(s))}),f(e.edges(),function(s){var c=e.edge(s);Object.prototype.hasOwnProperty.call(c,"x")&&d(c)}),n-=o,t-=u,f(e.nodes(),function(s){var c=e.node(s);c.x-=n,c.y-=t}),f(e.edges(),function(s){var c=e.edge(s);f(c.points,function(l){l.x-=n,l.y-=t}),Object.prototype.hasOwnProperty.call(c,"x")&&(c.x-=n),Object.prototype.hasOwnProperty.call(c,"y")&&(c.y-=t)}),i.width=r-n+o,i.height=a-t+u}function Hr(e){f(e.edges(),function(n){var r=e.edge(n),t=e.node(n.v),a=e.node(n.w),i,o;r.points?(i=r.points[0],o=r.points[r.points.length-1]):(r.points=[],i=a,o=t),r.points.unshift(re(t,i)),r.points.push(re(a,o))})}function Jr(e){f(e.edges(),function(n){var r=e.edge(n);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function Kr(e){f(e.edges(),function(n){var r=e.edge(n);r.reversed&&r.points.reverse()})}function Zr(e){f(e.nodes(),function(n){if(e.children(n).length){var r=e.node(n),t=e.node(r.borderTop),a=e.node(r.borderBottom),i=e.node(T(r.borderLeft)),o=e.node(T(r.borderRight));r.width=Math.abs(o.x-i.x),r.height=Math.abs(a.y-t.y),r.x=i.x+r.width/2,r.y=t.y+r.height/2}}),f(e.nodes(),function(n){e.node(n).dummy==="border"&&e.removeNode(n)})}function Qr(e){f(e.edges(),function(n){if(n.v===n.w){var r=e.node(n.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function et(e){var n=F(e);f(n,function(r){var t=0;f(r,function(a,i){var o=e.node(a);o.order=i+t,f(o.selfEdges,function(u){L(e,"selfedge",{width:u.label.width,height:u.label.height,rank:o.rank,order:i+ ++t,e:u.e,label:u.label},"_se")}),delete o.selfEdges})})}function nt(e){f(e.nodes(),function(n){var r=e.node(n);if(r.dummy==="selfedge"){var t=e.node(r.e.v),a=t.x+t.width/2,i=t.y,o=r.x-a,u=t.height/2;e.setEdge(r.e,r.label),e.removeNode(n),r.label.points=[{x:a+2*o/3,y:i-u},{x:a+5*o/6,y:i-u},{x:a+o,y:i},{x:a+5*o/6,y:i+u},{x:a+2*o/3,y:i+u}],r.label.x=r.x,r.label.y=r.y}})}function Y(e,n){return S(I(e,n),Number)}function D(e){var n={};return f(e,function(r,t){n[t.toLowerCase()]=r}),n}export{ot as l}; diff --git a/_nuxt/C6I_uMOn.js b/_nuxt/C6I_uMOn.js deleted file mode 100644 index 71b92a318..000000000 --- a/_nuxt/C6I_uMOn.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,o,c as t,r as s}from"./ZI84DZB4.js";const a={};function c(e,n){return o(),t("table",null,[s(e.$slots,"default")])}const _=r(a,[["render",c]]);export{_ as default}; diff --git a/_nuxt/C7rv9HNS.js b/_nuxt/C7rv9HNS.js deleted file mode 100644 index fab595c35..000000000 --- a/_nuxt/C7rv9HNS.js +++ /dev/null @@ -1 +0,0 @@ -import{h as p,af as m,j as A,N as l,E as w}from"./ZI84DZB4.js";const S=["p","h1","h2","h3","h4","h5","h6","li"];function f(r,t){return r.type===t||typeof r.type=="object"&&r.type.tag===t||r.tag===t}function s(r){return f(r,"text")||f(r,Symbol.for("v-txt"))}function y(r){var t;return Array.isArray(r.children)||typeof r.children=="string"?r.children:typeof((t=r.children)==null?void 0:t.default)=="function"?r.children.default():[]}function a(r){if(!r)return"";if(Array.isArray(r))return r.map(a).join("");if(s(r))return r.children||r.value||"";const t=y(r);return Array.isArray(t)?t.map(a).filter(Boolean).join(""):""}function c(r,t=[]){if(Array.isArray(r))return r.flatMap(n=>c(n,t));let e=r;return t.some(n=>n==="*"||f(r,n))&&(e=y(r)||r,!Array.isArray(e)&&S.some(n=>f(r,n))&&(e=[e])),e}function h(r,t=[]){return r=Array.isArray(r)?r:[r],t.length?r.flatMap(e=>h(c(e,[t[0]]),t.slice(1))).filter(e=>!(s(e)&&a(e).trim()==="")):r}function g(r,t=[]){return typeof t=="string"&&(t=t.split(",").map(e=>e.trim()).filter(Boolean)),t.length?h(r,t).reduce((e,n)=>(s(n)?typeof e[e.length-1]=="string"?e[e.length-1]+=n.children:e.push(n.children):e.push(n),e),[]):r}const C=p({name:"MDCSlot",functional:!0,props:{name:{type:String,default:"default"},unwrap:{type:[Boolean,String],default:!1},use:{type:Function,default:void 0}},setup(r){const{parent:t}=w(),{default:e}=m(),n=A(()=>typeof r.unwrap=="string"?r.unwrap.split(" "):["*"]);return{fallbackSlot:e,tags:n,parent:t}},render({use:r,unwrap:t,fallbackSlot:e,tags:n,parent:i}){var o;try{let u=r;return typeof r=="string"&&(u=(i==null?void 0:i.slots[r])||((o=i==null?void 0:i.parent)==null?void 0:o.slots[r]),console.warn(`Please set :use="$slots.${r}" in component to enable reactivity`)),u?t?g(u(),n):[u()]:e?e():l("div")}catch{return l("div")}}}),_=p({props:{use:{type:Function,default:void 0},unwrap:{type:[Boolean,String],default:!1}},render(r){return l(C,r)}});export{_ as default}; diff --git a/_nuxt/C8kEXrLA.js b/_nuxt/C8kEXrLA.js new file mode 100644 index 000000000..ac4621273 --- /dev/null +++ b/_nuxt/C8kEXrLA.js @@ -0,0 +1 @@ +import{_ as n,n as c,m as l}from"./BN9GDn3H.js";var o=n((a,t)=>{const e=a.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const r in t.attrs)e.attr(r,t.attrs[r]);return t.class&&e.attr("class",t.class),e},"drawRect"),d=n((a,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};o(a,e).lower()},"drawBackgroundRect"),g=n((a,t)=>{const e=t.text.replace(c," "),r=a.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class&&r.attr("class",t.class);const s=r.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),r},"drawText"),m=n((a,t,e,r)=>{const s=a.append("image");s.attr("x",t),s.attr("y",e);const i=l(r);s.attr("xlink:href",i)},"drawImage"),h=n((a,t,e,r)=>{const s=a.append("use");s.attr("x",t),s.attr("y",e);const i=l(r);s.attr("xlink:href",`#${i}`)},"drawEmbeddedImage"),y=n(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=n(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj");export{p as a,d as b,h as c,o as d,m as e,g as f,y as g}; diff --git a/_nuxt/C9budKl-.js b/_nuxt/C9budKl-.js new file mode 100644 index 000000000..d95d9f993 --- /dev/null +++ b/_nuxt/C9budKl-.js @@ -0,0 +1 @@ +import{_ as s}from"./BN9GDn3H.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as I}; diff --git a/_nuxt/CEbTorUm.js b/_nuxt/CEbTorUm.js new file mode 100644 index 000000000..b03888da3 --- /dev/null +++ b/_nuxt/CEbTorUm.js @@ -0,0 +1 @@ +import{_ as l}from"./11VvIB8a.js";import{d as n,o as s,A as i,k as r,e as o,E as g,F as u,r as d}from"./DzgF3Vew.js";const h=n({__name:"ProsePre",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null},class:{type:String,default:null},style:{type:[String,Object],default:null}},setup(e){return(t,f)=>{const a=l;return s(),i(a,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:r(()=>[o("pre",{class:g(t.$props.class),style:u(e.style)},[d(t.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{h as default}; diff --git a/_nuxt/CEh4-x7r.js b/_nuxt/CEh4-x7r.js new file mode 100644 index 000000000..5e89554cd --- /dev/null +++ b/_nuxt/CEh4-x7r.js @@ -0,0 +1 @@ +import{_ as o}from"./BhaonjGO.js";import"./DzgF3Vew.js";import"./C-v3KzvZ.js";import"./1XwWt0dk.js";import"./IShi1APO.js";export{o as default}; diff --git a/_nuxt/CKq6uz6i.js b/_nuxt/CKq6uz6i.js new file mode 100644 index 000000000..50767de74 --- /dev/null +++ b/_nuxt/CKq6uz6i.js @@ -0,0 +1,122 @@ +import{g as St,a as Kt,d as Se,b as Me,c as Re,e as De}from"./C8kEXrLA.js";import{I as Ce}from"./C9budKl-.js";import{_ as d,g as Oe,r as Be,q as Ve,d as at,s as se,c as Ye,b as Fe,e as _,a2 as lt,a3 as wt,v as F,l as J,x as We,i as Mt,a as qe,j as kt,k as ze,m as ae,a4 as ie,F as Ft,a5 as ne,a6 as He}from"./BN9GDn3H.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";var Wt=function(){var t=d(function(pt,I,L,A){for(L=L||{},A=pt.length;A--;L[pt[A]]=I);return L},"o"),e=[1,2],o=[1,3],r=[1,4],a=[2,4],i=[1,9],c=[1,11],h=[1,13],p=[1,14],s=[1,16],f=[1,17],E=[1,18],g=[1,24],T=[1,25],m=[1,26],w=[1,27],k=[1,28],V=[1,29],M=[1,30],Y=[1,31],C=[1,32],z=[1,33],H=[1,34],Z=[1,35],et=[1,36],K=[1,37],U=[1,38],q=[1,39],R=[1,41],Q=[1,42],G=[1,43],j=[1,44],rt=[1,45],S=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],P=[4,5,16,50,52,53],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],it=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],N=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Jt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],ot=[68,69,70],dt=[1,122],Ct={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:d(function(I,L,A,b,D,l,mt){var u=l.length-1;switch(D){case 3:return b.apply(l[u]),l[u];case 4:case 9:this.$=[];break;case 5:case 10:l[u-1].push(l[u]),this.$=l[u-1];break;case 6:case 7:case 11:case 12:this.$=l[u];break;case 8:case 13:this.$=[];break;case 15:l[u].type="createParticipant",this.$=l[u];break;case 16:l[u-1].unshift({type:"boxStart",boxData:b.parseBoxData(l[u-2])}),l[u-1].push({type:"boxEnd",boxText:l[u-2]}),this.$=l[u-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(l[u-2]),sequenceIndexStep:Number(l[u-1]),sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(l[u-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:b.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:l[u-1].actor};break;case 23:this.$={type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:l[u-1].actor};break;case 29:b.setDiagramTitle(l[u].substring(6)),this.$=l[u].substring(6);break;case 30:b.setDiagramTitle(l[u].substring(7)),this.$=l[u].substring(7);break;case 31:this.$=l[u].trim(),b.setAccTitle(this.$);break;case 32:case 33:this.$=l[u].trim(),b.setAccDescription(this.$);break;case 34:l[u-1].unshift({type:"loopStart",loopText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.LOOP_START}),l[u-1].push({type:"loopEnd",loopText:l[u-2],signalType:b.LINETYPE.LOOP_END}),this.$=l[u-1];break;case 35:l[u-1].unshift({type:"rectStart",color:b.parseMessage(l[u-2]),signalType:b.LINETYPE.RECT_START}),l[u-1].push({type:"rectEnd",color:b.parseMessage(l[u-2]),signalType:b.LINETYPE.RECT_END}),this.$=l[u-1];break;case 36:l[u-1].unshift({type:"optStart",optText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.OPT_START}),l[u-1].push({type:"optEnd",optText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.OPT_END}),this.$=l[u-1];break;case 37:l[u-1].unshift({type:"altStart",altText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.ALT_START}),l[u-1].push({type:"altEnd",signalType:b.LINETYPE.ALT_END}),this.$=l[u-1];break;case 38:l[u-1].unshift({type:"parStart",parText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.PAR_START}),l[u-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=l[u-1];break;case 39:l[u-1].unshift({type:"parStart",parText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.PAR_OVER_START}),l[u-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=l[u-1];break;case 40:l[u-1].unshift({type:"criticalStart",criticalText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.CRITICAL_START}),l[u-1].push({type:"criticalEnd",signalType:b.LINETYPE.CRITICAL_END}),this.$=l[u-1];break;case 41:l[u-1].unshift({type:"breakStart",breakText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.BREAK_START}),l[u-1].push({type:"breakEnd",optText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.BREAK_END}),this.$=l[u-1];break;case 43:this.$=l[u-3].concat([{type:"option",optionText:b.parseMessage(l[u-1]),signalType:b.LINETYPE.CRITICAL_OPTION},l[u]]);break;case 45:this.$=l[u-3].concat([{type:"and",parText:b.parseMessage(l[u-1]),signalType:b.LINETYPE.PAR_AND},l[u]]);break;case 47:this.$=l[u-3].concat([{type:"else",altText:b.parseMessage(l[u-1]),signalType:b.LINETYPE.ALT_ELSE},l[u]]);break;case 48:l[u-3].draw="participant",l[u-3].type="addParticipant",l[u-3].description=b.parseMessage(l[u-1]),this.$=l[u-3];break;case 49:l[u-1].draw="participant",l[u-1].type="addParticipant",this.$=l[u-1];break;case 50:l[u-3].draw="actor",l[u-3].type="addParticipant",l[u-3].description=b.parseMessage(l[u-1]),this.$=l[u-3];break;case 51:l[u-1].draw="actor",l[u-1].type="addParticipant",this.$=l[u-1];break;case 52:l[u-1].type="destroyParticipant",this.$=l[u-1];break;case 53:this.$=[l[u-1],{type:"addNote",placement:l[u-2],actor:l[u-1].actor,text:l[u]}];break;case 54:l[u-2]=[].concat(l[u-1],l[u-1]).slice(0,2),l[u-2][0]=l[u-2][0].actor,l[u-2][1]=l[u-2][1].actor,this.$=[l[u-1],{type:"addNote",placement:b.PLACEMENT.OVER,actor:l[u-2].slice(0,2),text:l[u]}];break;case 55:this.$=[l[u-1],{type:"addLinks",actor:l[u-1].actor,text:l[u]}];break;case 56:this.$=[l[u-1],{type:"addALink",actor:l[u-1].actor,text:l[u]}];break;case 57:this.$=[l[u-1],{type:"addProperties",actor:l[u-1].actor,text:l[u]}];break;case 58:this.$=[l[u-1],{type:"addDetails",actor:l[u-1].actor,text:l[u]}];break;case 61:this.$=[l[u-2],l[u]];break;case 62:this.$=l[u];break;case 63:this.$=b.PLACEMENT.LEFTOF;break;case 64:this.$=b.PLACEMENT.RIGHTOF;break;case 65:this.$=[l[u-4],l[u-1],{type:"addMessage",from:l[u-4].actor,to:l[u-1].actor,signalType:l[u-3],msg:l[u],activate:!0},{type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:l[u-1].actor}];break;case 66:this.$=[l[u-4],l[u-1],{type:"addMessage",from:l[u-4].actor,to:l[u-1].actor,signalType:l[u-3],msg:l[u]},{type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:l[u-4].actor}];break;case 67:this.$=[l[u-3],l[u-1],{type:"addMessage",from:l[u-3].actor,to:l[u-1].actor,signalType:l[u-2],msg:l[u]}];break;case 68:this.$={type:"addParticipant",actor:l[u]};break;case 69:this.$=b.LINETYPE.SOLID_OPEN;break;case 70:this.$=b.LINETYPE.DOTTED_OPEN;break;case 71:this.$=b.LINETYPE.SOLID;break;case 72:this.$=b.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=b.LINETYPE.DOTTED;break;case 74:this.$=b.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=b.LINETYPE.SOLID_CROSS;break;case 76:this.$=b.LINETYPE.DOTTED_CROSS;break;case 77:this.$=b.LINETYPE.SOLID_POINT;break;case 78:this.$=b.LINETYPE.DOTTED_POINT;break;case 79:this.$=b.parseMessage(l[u].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:o,6:r},{1:[3]},{3:5,4:e,5:o,6:r},{3:6,4:e,5:o,6:r},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],a,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:i,5:c,8:8,9:10,12:12,13:h,14:p,17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},t(y,[2,5]),{9:47,12:12,13:h,14:p,17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},t(y,[2,7]),t(y,[2,8]),t(y,[2,14]),{12:48,50:K,52:U,53:q},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:S},{22:55,70:S},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(y,[2,29]),t(y,[2,30]),{32:[1,61]},{34:[1,62]},t(y,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:S},{22:72,70:S},{22:73,70:S},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:S},{22:90,70:S},{22:91,70:S},{22:92,70:S},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(y,[2,6]),t(y,[2,15]),t(P,[2,9],{10:93}),t(y,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(y,[2,21]),{5:[1,97]},{5:[1,98]},t(y,[2,24]),t(y,[2,25]),t(y,[2,26]),t(y,[2,27]),t(y,[2,28]),t(y,[2,31]),t(y,[2,32]),t($,a,{7:99}),t($,a,{7:100}),t($,a,{7:101}),t(it,a,{40:102,7:103}),t(N,a,{42:104,7:105}),t(N,a,{7:105,42:106}),t(Jt,a,{45:107,7:108}),t($,a,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:S},t(ot,[2,69]),t(ot,[2,70]),t(ot,[2,71]),t(ot,[2,72]),t(ot,[2,73]),t(ot,[2,74]),t(ot,[2,75]),t(ot,[2,76]),t(ot,[2,77]),t(ot,[2,78]),{22:118,70:S},{22:120,58:119,70:S},{70:[2,63]},{70:[2,64]},{56:121,81:dt},{56:123,81:dt},{56:124,81:dt},{56:125,81:dt},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:K,52:U,53:q},{5:[1,131]},t(y,[2,19]),t(y,[2,20]),t(y,[2,22]),t(y,[2,23]),{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,132],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,133],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,134],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{16:[1,135]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,46],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,49:[1,136],50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{16:[1,137]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,44],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,48:[1,138],50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{16:[1,139]},{16:[1,140]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,42],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,47:[1,141],50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,142],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{15:[1,143]},t(y,[2,49]),{15:[1,144]},t(y,[2,51]),t(y,[2,52]),{22:145,70:S},{22:146,70:S},{56:147,81:dt},{56:148,81:dt},{56:149,81:dt},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(y,[2,16]),t(P,[2,10]),{12:151,50:K,52:U,53:q},t(P,[2,12]),t(P,[2,13]),t(y,[2,18]),t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),{15:[1,152]},t(y,[2,38]),{15:[1,153]},t(y,[2,39]),t(y,[2,40]),{15:[1,154]},t(y,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:dt},{56:158,81:dt},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:S},t(P,[2,11]),t(it,a,{7:103,40:160}),t(N,a,{7:105,42:161}),t(Jt,a,{7:108,45:162}),t(y,[2,48]),t(y,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:d(function(I,L){if(L.recoverable)this.trace(I);else{var A=new Error(I);throw A.hash=L,A}},"parseError"),parse:d(function(I){var L=this,A=[0],b=[],D=[null],l=[],mt=this.table,u="",Lt=0,Zt=0,Pe=2,Qt=1,Ae=l.slice.call(arguments,1),W=Object.create(this.lexer),ut={yy:{}};for(var Ot in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ot)&&(ut.yy[Ot]=this.yy[Ot]);W.setInput(I,ut.yy),ut.yy.lexer=W,ut.yy.parser=this,typeof W.yylloc>"u"&&(W.yylloc={});var Bt=W.yylloc;l.push(Bt);var ke=W.options&&W.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ne(tt){A.length=A.length-2*tt,D.length=D.length-tt,l.length=l.length-tt}d(Ne,"popStack");function jt(){var tt;return tt=b.pop()||W.lex()||Qt,typeof tt!="number"&&(tt instanceof Array&&(b=tt,tt=b.pop()),tt=L.symbols_[tt]||tt),tt}d(jt,"lex");for(var X,gt,st,Vt,yt={},Pt,ht,$t,At;;){if(gt=A[A.length-1],this.defaultActions[gt]?st=this.defaultActions[gt]:((X===null||typeof X>"u")&&(X=jt()),st=mt[gt]&&mt[gt][X]),typeof st>"u"||!st.length||!st[0]){var Yt="";At=[];for(Pt in mt[gt])this.terminals_[Pt]&&Pt>Pe&&At.push("'"+this.terminals_[Pt]+"'");W.showPosition?Yt="Parse error on line "+(Lt+1)+`: +`+W.showPosition()+` +Expecting `+At.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Yt="Parse error on line "+(Lt+1)+": Unexpected "+(X==Qt?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Yt,{text:W.match,token:this.terminals_[X]||X,line:W.yylineno,loc:Bt,expected:At})}if(st[0]instanceof Array&&st.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gt+", token: "+X);switch(st[0]){case 1:A.push(X),D.push(W.yytext),l.push(W.yylloc),A.push(st[1]),X=null,Zt=W.yyleng,u=W.yytext,Lt=W.yylineno,Bt=W.yylloc;break;case 2:if(ht=this.productions_[st[1]][1],yt.$=D[D.length-ht],yt._$={first_line:l[l.length-(ht||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(ht||1)].first_column,last_column:l[l.length-1].last_column},ke&&(yt._$.range=[l[l.length-(ht||1)].range[0],l[l.length-1].range[1]]),Vt=this.performAction.apply(yt,[u,Zt,Lt,ut.yy,st[1],D,l].concat(Ae)),typeof Vt<"u")return Vt;ht&&(A=A.slice(0,-1*ht*2),D=D.slice(0,-1*ht),l=l.slice(0,-1*ht)),A.push(this.productions_[st[1]][0]),D.push(yt.$),l.push(yt._$),$t=mt[A[A.length-2]][A[A.length-1]],A.push($t);break;case 3:return!0}}return!0},"parse")},Le=function(){var pt={EOF:1,parseError:d(function(L,A){if(this.yy.parser)this.yy.parser.parseError(L,A);else throw new Error(L)},"parseError"),setInput:d(function(I,L){return this.yy=L||this.yy||{},this._input=I,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var I=this._input[0];this.yytext+=I,this.yyleng++,this.offset++,this.match+=I,this.matched+=I;var L=I.match(/(?:\r\n?|\n).*/g);return L?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),I},"input"),unput:d(function(I){var L=I.length,A=I.split(/(?:\r\n?|\n)/g);this._input=I+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-L),this.offset-=L;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),A.length-1&&(this.yylineno-=A.length-1);var D=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:A?(A.length===b.length?this.yylloc.first_column:0)+b[b.length-A.length].length-A[0].length:this.yylloc.first_column-L},this.options.ranges&&(this.yylloc.range=[D[0],D[0]+this.yyleng-L]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(I){this.unput(this.match.slice(I))},"less"),pastInput:d(function(){var I=this.matched.substr(0,this.matched.length-this.match.length);return(I.length>20?"...":"")+I.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var I=this.match;return I.length<20&&(I+=this._input.substr(0,20-I.length)),(I.substr(0,20)+(I.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var I=this.pastInput(),L=new Array(I.length+1).join("-");return I+this.upcomingInput()+` +`+L+"^"},"showPosition"),test_match:d(function(I,L){var A,b,D;if(this.options.backtrack_lexer&&(D={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(D.yylloc.range=this.yylloc.range.slice(0))),b=I[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+I[0].length},this.yytext+=I[0],this.match+=I[0],this.matches=I,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(I[0].length),this.matched+=I[0],A=this.performAction.call(this,this.yy,this,L,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var l in D)this[l]=D[l];return!1}return!1},"test_match"),next:d(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var I,L,A,b;this._more||(this.yytext="",this.match="");for(var D=this._currentRules(),l=0;lL[0].length)){if(L=A,b=l,this.options.backtrack_lexer){if(I=this.test_match(A,D[l]),I!==!1)return I;if(this._backtrack){L=!1;continue}else return!1}else if(!this.options.flex)break}return L?(I=this.test_match(L,D[b]),I!==!1?I:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:d(function(){var L=this.next();return L||this.lex()},"lex"),begin:d(function(L){this.conditionStack.push(L)},"begin"),popState:d(function(){var L=this.conditionStack.length-1;return L>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:d(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:d(function(L){return L=this.conditionStack.length-1-Math.abs(L||0),L>=0?this.conditionStack[L]:"INITIAL"},"topState"),pushState:d(function(L){this.begin(L)},"pushState"),stateStackSize:d(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:d(function(L,A,b,D){switch(b){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return A.yytext=A.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return A.yytext=A.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 68;case 65:return 69;case 66:return 5;case 67:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};return pt}();Ct.lexer=Le;function _t(){this.yy={}}return d(_t,"Parser"),_t.prototype=Ct,Ct.Parser=_t,new _t}();Wt.parser=Wt;var Ke=Wt,v=new Ce(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),Ue=d(function(t){v.records.boxes.push({name:t.text,wrap:t.wrap??xt(),fill:t.color,actorKeys:[]}),v.records.currentBox=v.records.boxes.slice(-1)[0]},"addBox"),qt=d(function(t,e,o,r){let a=v.records.currentBox;const i=v.records.actors.get(t);if(i){if(v.records.currentBox&&i.box&&v.records.currentBox!==i.box)throw new Error(`A same participant should only be defined in one Box: ${i.name} can't be in '${i.box.name}' and in '${v.records.currentBox.name}' at the same time.`);if(a=i.box?i.box:v.records.currentBox,i.box=a,i&&e===i.name&&o==null)return}if((o==null?void 0:o.text)==null&&(o={text:e,type:r}),(r==null||o.text==null)&&(o={text:e,type:r}),v.records.actors.set(t,{box:a,name:e,description:o.text,wrap:o.wrap??xt(),prevActor:v.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:r??"participant"}),v.records.prevActor){const c=v.records.actors.get(v.records.prevActor);c&&(c.nextActor=t)}v.records.currentBox&&v.records.currentBox.actorKeys.push(t),v.records.prevActor=t},"addActor"),Ge=d(t=>{let e,o=0;if(!t)return 0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},c}return v.records.messages.push({from:t,to:e,message:(o==null?void 0:o.text)??"",wrap:(o==null?void 0:o.wrap)??xt(),type:r,activate:a}),!0},"addSignal"),Je=d(function(){return v.records.boxes.length>0},"hasAtLeastOneBox"),Ze=d(function(){return v.records.boxes.some(t=>t.name)},"hasAtLeastOneBoxWithTitle"),Qe=d(function(){return v.records.messages},"getMessages"),je=d(function(){return v.records.boxes},"getBoxes"),$e=d(function(){return v.records.actors},"getActors"),t0=d(function(){return v.records.createdActors},"getCreatedActors"),e0=d(function(){return v.records.destroyedActors},"getDestroyedActors"),It=d(function(t){return v.records.actors.get(t)},"getActor"),r0=d(function(){return[...v.records.actors.keys()]},"getActorKeys"),s0=d(function(){v.records.sequenceNumbersEnabled=!0},"enableSequenceNumbers"),a0=d(function(){v.records.sequenceNumbersEnabled=!1},"disableSequenceNumbers"),i0=d(()=>v.records.sequenceNumbersEnabled,"showSequenceNumbers"),n0=d(function(t){v.records.wrapEnabled=t},"setWrap"),oe=d(t=>{if(t===void 0)return{};t=t.trim();const e=/^:?wrap:/.exec(t)!==null?!0:/^:?nowrap:/.exec(t)!==null?!1:void 0;return{cleanedText:(e===void 0?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}},"extractWrap"),xt=d(()=>{var t;return v.records.wrapEnabled!==void 0?v.records.wrapEnabled:((t=at().sequence)==null?void 0:t.wrap)??!1},"autoWrap"),o0=d(function(){v.reset(),We()},"clear"),c0=d(function(t){const e=t.trim(),{wrap:o,cleanedText:r}=oe(e),a={text:r,wrap:o};return J.debug(`parseMessage: ${JSON.stringify(a)}`),a},"parseMessage"),l0=d(function(t){const e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t);let o=e!=null&&e[1]?e[1].trim():"transparent",r=e!=null&&e[2]?e[2].trim():void 0;if(window!=null&&window.CSS)window.CSS.supports("color",o)||(o="transparent",r=t.trim());else{const c=new Option().style;c.color=o,c.color!==o&&(o="transparent",r=t.trim())}const{wrap:a,cleanedText:i}=oe(r);return{text:i?Mt(i,at()):void 0,color:o,wrap:a}},"parseBoxData"),vt={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},d0={FILLED:0,OPEN:1},h0={LEFTOF:0,RIGHTOF:1,OVER:2},ce=d(function(t,e,o){const r={actor:t,placement:e,message:o.text,wrap:o.wrap??xt()},a=[].concat(t,t);v.records.notes.push(r),v.records.messages.push({from:a[0],to:a[1],message:o.text,wrap:o.wrap??xt(),type:vt.NOTE,placement:e})},"addNote"),le=d(function(t,e){const o=It(t);try{let r=Mt(e.text,at());r=r.replace(/&/g,"&"),r=r.replace(/=/g,"=");const a=JSON.parse(r);Rt(o,a)}catch(r){J.error("error while parsing actor link text",r)}},"addLinks"),p0=d(function(t,e){const o=It(t);try{const r={};let a=Mt(e.text,at());const i=a.indexOf("@");a=a.replace(/&/g,"&"),a=a.replace(/=/g,"=");const c=a.slice(0,i-1).trim(),h=a.slice(i+1).trim();r[c]=h,Rt(o,r)}catch(r){J.error("error while parsing actor link text",r)}},"addALink");function Rt(t,e){if(t.links==null)t.links=e;else for(const o in e)t.links[o]=e[o]}d(Rt,"insertLinks");var de=d(function(t,e){const o=It(t);try{const r=Mt(e.text,at()),a=JSON.parse(r);Ut(o,a)}catch(r){J.error("error while parsing actor properties text",r)}},"addProperties");function Ut(t,e){if(t.properties==null)t.properties=e;else for(const o in e)t.properties[o]=e[o]}d(Ut,"insertProperties");function he(){v.records.currentBox=void 0}d(he,"boxEnd");var pe=d(function(t,e){const o=It(t),r=document.getElementById(e.text);try{const a=r.innerHTML,i=JSON.parse(a);i.properties&&Ut(o,i.properties),i.links&&Rt(o,i.links)}catch(a){J.error("error while parsing actor details text",a)}},"addDetails"),u0=d(function(t,e){if((t==null?void 0:t.properties)!==void 0)return t.properties[e]},"getActorProperty"),ue=d(function(t){if(Array.isArray(t))t.forEach(function(e){ue(e)});else switch(t.type){case"sequenceIndex":v.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":qt(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(v.records.actors.has(t.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");v.records.lastCreated=t.actor,qt(t.actor,t.actor,t.description,t.draw),v.records.createdActors.set(t.actor,v.records.messages.length);break;case"destroyParticipant":v.records.lastDestroyed=t.actor,v.records.destroyedActors.set(t.actor,v.records.messages.length);break;case"activeStart":O(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":O(t.actor,void 0,void 0,t.signalType);break;case"addNote":ce(t.actor,t.placement,t.text);break;case"addLinks":le(t.actor,t.text);break;case"addALink":p0(t.actor,t.text);break;case"addProperties":de(t.actor,t.text);break;case"addDetails":pe(t.actor,t.text);break;case"addMessage":if(v.records.lastCreated){if(t.to!==v.records.lastCreated)throw new Error("The created participant "+v.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");v.records.lastCreated=void 0}else if(v.records.lastDestroyed){if(t.to!==v.records.lastDestroyed&&t.from!==v.records.lastDestroyed)throw new Error("The destroyed participant "+v.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");v.records.lastDestroyed=void 0}O(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":Ue(t.boxData);break;case"boxEnd":he();break;case"loopStart":O(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":O(void 0,void 0,void 0,t.signalType);break;case"rectStart":O(void 0,void 0,t.color,t.signalType);break;case"rectEnd":O(void 0,void 0,void 0,t.signalType);break;case"optStart":O(void 0,void 0,t.optText,t.signalType);break;case"optEnd":O(void 0,void 0,void 0,t.signalType);break;case"altStart":O(void 0,void 0,t.altText,t.signalType);break;case"else":O(void 0,void 0,t.altText,t.signalType);break;case"altEnd":O(void 0,void 0,void 0,t.signalType);break;case"setAccTitle":se(t.text);break;case"parStart":O(void 0,void 0,t.parText,t.signalType);break;case"and":O(void 0,void 0,t.parText,t.signalType);break;case"parEnd":O(void 0,void 0,void 0,t.signalType);break;case"criticalStart":O(void 0,void 0,t.criticalText,t.signalType);break;case"option":O(void 0,void 0,t.optionText,t.signalType);break;case"criticalEnd":O(void 0,void 0,void 0,t.signalType);break;case"breakStart":O(void 0,void 0,t.breakText,t.signalType);break;case"breakEnd":O(void 0,void 0,void 0,t.signalType);break}},"apply"),te={addActor:qt,addMessage:Xe,addSignal:O,addLinks:le,addDetails:pe,addProperties:de,autoWrap:xt,setWrap:n0,enableSequenceNumbers:s0,disableSequenceNumbers:a0,showSequenceNumbers:i0,getMessages:Qe,getActors:$e,getCreatedActors:t0,getDestroyedActors:e0,getActor:It,getActorKeys:r0,getActorProperty:u0,getAccTitle:Oe,getBoxes:je,getDiagramTitle:Be,setDiagramTitle:Ve,getConfig:d(()=>at().sequence,"getConfig"),clear:o0,parseMessage:c0,parseBoxData:l0,LINETYPE:vt,ARROWTYPE:d0,PLACEMENT:h0,addNote:ce,setAccTitle:se,apply:ue,setAccDescription:Ye,getAccDescription:Fe,hasAtLeastOneBox:Je,hasAtLeastOneBoxWithTitle:Ze},g0=d(t=>`.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + #arrowhead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${t.signalColor}; + } + + #crosshead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + .actor-man circle, line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: 2px; + } +`,"getStyles"),f0=g0,ft=18*2,ge="actor-top",fe="actor-bottom",x0="actor-box",ee="actor-man",Gt=d(function(t,e){return Se(t,e)},"drawRect"),T0=d(function(t,e,o,r,a){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const i=e.links,c=e.actorCnt,h=e.rectData;var p="none";a&&(p="block !important");const s=t.append("g");s.attr("id","actor"+c+"_popup"),s.attr("class","actorPopupMenu"),s.attr("display",p);var f="";h.class!==void 0&&(f=" "+h.class);let E=h.width>o?h.width:o;const g=s.append("rect");if(g.attr("class","actorPopupMenuPanel"+f),g.attr("x",h.x),g.attr("y",h.height),g.attr("fill",h.fill),g.attr("stroke",h.stroke),g.attr("width",E),g.attr("height",h.height),g.attr("rx",h.rx),g.attr("ry",h.ry),i!=null){var T=20;for(let k in i){var m=s.append("a"),w=ae(i[k]);m.attr("xlink:href",w),m.attr("target","_blank"),D0(r)(k,m,h.x+10,h.height+T,E,20,{class:"actor"},r),T+=30}}return g.attr("height",T),{height:h.height+T,width:E}},"drawPopup"),y0=d(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),Nt=d(async function(t,e,o=null){let r=t.append("foreignObject");const a=await ie(e.text,Ft()),c=r.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(a).node().getBoundingClientRect();if(r.attr("height",Math.round(c.height)).attr("width",Math.round(c.width)),e.class==="noteText"){const h=t.node().firstChild;h.setAttribute("height",c.height+2*e.textMargin);const p=h.getBBox();r.attr("x",Math.round(p.x+p.width/2-c.width/2)).attr("y",Math.round(p.y+p.height/2-c.height/2))}else if(o){let{startx:h,stopx:p,starty:s}=o;if(h>p){const f=h;h=p,p=f}r.attr("x",Math.round(h+Math.abs(h-p)/2-c.width/2)),e.class==="loopText"?r.attr("y",Math.round(s)):r.attr("y",Math.round(s-c.height))}return[r]},"drawKatex"),bt=d(function(t,e){let o=0,r=0;const a=e.text.split(_.lineBreakRegex),[i,c]=ne(e.fontSize);let h=[],p=0,s=d(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":s=d(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":s=d(()=>Math.round(e.y+(o+r+e.textMargin)/2),"yfunc");break;case"bottom":case"end":s=d(()=>Math.round(e.y+(o+r+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[f,E]of a.entries()){e.textMargin!==void 0&&e.textMargin===0&&i!==void 0&&(p=f*i);const g=t.append("text");g.attr("x",e.x),g.attr("y",s()),e.anchor!==void 0&&g.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&g.style("font-family",e.fontFamily),c!==void 0&&g.style("font-size",c),e.fontWeight!==void 0&&g.style("font-weight",e.fontWeight),e.fill!==void 0&&g.attr("fill",e.fill),e.class!==void 0&&g.attr("class",e.class),e.dy!==void 0?g.attr("dy",e.dy):p!==0&&g.attr("dy",p);const T=E||He;if(e.tspan){const m=g.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(T)}else g.text(T);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(r+=(g._groups||g)[0][0].getBBox().height,o=r),h.push(g)}return h},"drawText"),xe=d(function(t,e){function o(a,i,c,h,p){return a+","+i+" "+(a+c)+","+i+" "+(a+c)+","+(i+h-p)+" "+(a+c-p*1.2)+","+(i+h)+" "+a+","+(i+h)}d(o,"genPoints");const r=t.append("polygon");return r.attr("points",o(e.x,e.y,e.width,e.height,7)),r.attr("class","labelBox"),e.y=e.y+e.height/2,bt(t,e),r},"drawLabel"),ct=-1,Te=d((t,e,o,r)=>{t.select&&o.forEach(a=>{const i=e.get(a),c=t.select("#actor"+i.actorCnt);!r.mirrorActors&&i.stopy?c.attr("y2",i.stopy+i.height/2):r.mirrorActors&&c.attr("y2",i.stopy)})},"fixLifeLineHeights"),E0=d(function(t,e,o,r){var T,m;const a=r?e.stopy:e.starty,i=e.x+e.width/2,c=a+e.height,h=t.append("g").lower();var p=h;r||(ct++,Object.keys(e.links||{}).length&&!o.forceMenus&&p.attr("onclick",y0(`actor${ct}_popup`)).attr("cursor","pointer"),p.append("line").attr("id","actor"+ct).attr("x1",i).attr("y1",c).attr("x2",i).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),p=h.append("g"),e.actorCnt=ct,e.links!=null&&p.attr("id","root-"+ct));const s=St();var f="actor";(T=e.properties)!=null&&T.class?f=e.properties.class:s.fill="#eaeaea",r?f+=` ${fe}`:f+=` ${ge}`,s.x=e.x,s.y=a,s.width=e.width,s.height=e.height,s.class=f,s.rx=3,s.ry=3,s.name=e.name;const E=Gt(p,s);if(e.rectData=s,(m=e.properties)!=null&&m.icon){const w=e.properties.icon.trim();w.charAt(0)==="@"?Re(p,s.x+s.width-20,s.y+10,w.substr(1)):De(p,s.x+s.width-20,s.y+10,w)}Xt(o,lt(e.description))(e.description,p,s.x,s.y,s.width,s.height,{class:`actor ${x0}`},o);let g=e.height;if(E.node){const w=E.node().getBBox();e.height=w.height,g=w.height}return g},"drawActorTypeParticipant"),b0=d(function(t,e,o,r){const a=r?e.stopy:e.starty,i=e.x+e.width/2,c=a+80,h=t.append("g").lower();r||(ct++,h.append("line").attr("id","actor"+ct).attr("x1",i).attr("y1",c).attr("x2",i).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=ct);const p=t.append("g");let s=ee;r?s+=` ${fe}`:s+=` ${ge}`,p.attr("class",s),p.attr("name",e.name);const f=St();f.x=e.x,f.y=a,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,p.append("line").attr("id","actor-man-torso"+ct).attr("x1",i).attr("y1",a+25).attr("x2",i).attr("y2",a+45),p.append("line").attr("id","actor-man-arms"+ct).attr("x1",i-ft/2).attr("y1",a+33).attr("x2",i+ft/2).attr("y2",a+33),p.append("line").attr("x1",i-ft/2).attr("y1",a+60).attr("x2",i).attr("y2",a+45),p.append("line").attr("x1",i).attr("y1",a+45).attr("x2",i+ft/2-2).attr("y2",a+60);const E=p.append("circle");E.attr("cx",e.x+e.width/2),E.attr("cy",a+10),E.attr("r",15),E.attr("width",e.width),E.attr("height",e.height);const g=p.node().getBBox();return e.height=g.height,Xt(o,lt(e.description))(e.description,p,f.x,f.y+35,f.width,f.height,{class:`actor ${ee}`},o),e.height},"drawActorTypeActor"),m0=d(async function(t,e,o,r){switch(e.type){case"actor":return await b0(t,e,o,r);case"participant":return await E0(t,e,o,r)}},"drawActor"),v0=d(function(t,e,o){const a=t.append("g");ye(a,e),e.name&&Xt(o)(e.name,a,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},o),a.lower()},"drawBox"),w0=d(function(t){return t.append("g")},"anchorElement"),I0=d(function(t,e,o,r,a){const i=St(),c=e.anchored;i.x=e.startx,i.y=e.starty,i.class="activation"+a%3,i.width=e.stopx-e.startx,i.height=o-e.starty,Gt(c,i)},"drawActivation"),_0=d(async function(t,e,o,r){const{boxMargin:a,boxTextMargin:i,labelBoxHeight:c,labelBoxWidth:h,messageFontFamily:p,messageFontSize:s,messageFontWeight:f}=r,E=t.append("g"),g=d(function(w,k,V,M){return E.append("line").attr("x1",w).attr("y1",k).attr("x2",V).attr("y2",M).attr("class","loopLine")},"drawLoopLine");g(e.startx,e.starty,e.stopx,e.starty),g(e.stopx,e.starty,e.stopx,e.stopy),g(e.startx,e.stopy,e.stopx,e.stopy),g(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(w){g(e.startx,w.y,e.stopx,w.y).style("stroke-dasharray","3, 3")});let T=Kt();T.text=o,T.x=e.startx,T.y=e.starty,T.fontFamily=p,T.fontSize=s,T.fontWeight=f,T.anchor="middle",T.valign="middle",T.tspan=!1,T.width=h||50,T.height=c||20,T.textMargin=i,T.class="labelText",xe(E,T),T=Ee(),T.text=e.title,T.x=e.startx+h/2+(e.stopx-e.startx)/2,T.y=e.starty+a+i,T.anchor="middle",T.valign="middle",T.textMargin=i,T.class="loopText",T.fontFamily=p,T.fontSize=s,T.fontWeight=f,T.wrap=!0;let m=lt(T.text)?await Nt(E,T,e):bt(E,T);if(e.sectionTitles!==void 0){for(const[w,k]of Object.entries(e.sectionTitles))if(k.message){T.text=k.message,T.x=e.startx+(e.stopx-e.startx)/2,T.y=e.sections[w].y+a+i,T.class="loopText",T.anchor="middle",T.valign="middle",T.tspan=!1,T.fontFamily=p,T.fontSize=s,T.fontWeight=f,T.wrap=e.wrap,lt(T.text)?(e.starty=e.sections[w].y,await Nt(E,T,e)):bt(E,T);let V=Math.round(m.map(M=>(M._groups||M)[0][0].getBBox().height).reduce((M,Y)=>M+Y));e.sections[w].height+=V-(a+i)}}return e.height=Math.round(e.stopy-e.starty),E},"drawLoop"),ye=d(function(t,e){Me(t,e)},"drawBackgroundRect"),L0=d(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),P0=d(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),A0=d(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),k0=d(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),N0=d(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),S0=d(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),M0=d(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),Ee=d(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),R0=d(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Xt=function(){function t(i,c,h,p,s,f,E){const g=c.append("text").attr("x",h+s/2).attr("y",p+f/2+5).style("text-anchor","middle").text(i);a(g,E)}d(t,"byText");function e(i,c,h,p,s,f,E,g){const{actorFontSize:T,actorFontFamily:m,actorFontWeight:w}=g,[k,V]=ne(T),M=i.split(_.lineBreakRegex);for(let Y=0;Yt.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:d(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:d(function(t){this.boxes.push(t)},"addBox"),addActor:d(function(t){this.actors.push(t)},"addActor"),addLoop:d(function(t){this.loops.push(t)},"addLoop"),addMessage:d(function(t){this.messages.push(t)},"addMessage"),addNote:d(function(t){this.notes.push(t)},"addNote"),lastActor:d(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:d(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:d(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:d(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:d(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,ve(at())},"init"),updateVal:d(function(t,e,o,r){t[e]===void 0?t[e]=o:t[e]=r(o,t[e])},"updateVal"),updateBounds:d(function(t,e,o,r){const a=this;let i=0;function c(h){return d(function(s){i++;const f=a.sequenceItems.length-i+1;a.updateVal(s,"starty",e-f*n.boxMargin,Math.min),a.updateVal(s,"stopy",r+f*n.boxMargin,Math.max),a.updateVal(x.data,"startx",t-f*n.boxMargin,Math.min),a.updateVal(x.data,"stopx",o+f*n.boxMargin,Math.max),h!=="activation"&&(a.updateVal(s,"startx",t-f*n.boxMargin,Math.min),a.updateVal(s,"stopx",o+f*n.boxMargin,Math.max),a.updateVal(x.data,"starty",e-f*n.boxMargin,Math.min),a.updateVal(x.data,"stopy",r+f*n.boxMargin,Math.max))},"updateItemBounds")}d(c,"updateFn"),this.sequenceItems.forEach(c()),this.activations.forEach(c("activation"))},"updateBounds"),insert:d(function(t,e,o,r){const a=_.getMin(t,o),i=_.getMax(t,o),c=_.getMin(e,r),h=_.getMax(e,r);this.updateVal(x.data,"startx",a,Math.min),this.updateVal(x.data,"starty",c,Math.min),this.updateVal(x.data,"stopx",i,Math.max),this.updateVal(x.data,"stopy",h,Math.max),this.updateBounds(a,c,i,h)},"insert"),newActivation:d(function(t,e,o){const r=o.get(t.from),a=Dt(t.from).length||0,i=r.x+r.width/2+(a-1)*n.activationWidth/2;this.activations.push({startx:i,starty:this.verticalPos+2,stopx:i+n.activationWidth,stopy:void 0,actor:t.from,anchored:B.anchorElement(e)})},"newActivation"),endActivation:d(function(t){const e=this.activations.map(function(o){return o.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:d(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:d(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:d(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:d(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:d(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:x.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:d(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:d(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:d(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=_.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:d(function(){return this.verticalPos},"getVerticalPos"),getBounds:d(function(){return{bounds:this.data,models:this.models}},"getBounds")},C0=d(async function(t,e){x.bumpVerticalPos(n.boxMargin),e.height=n.boxMargin,e.starty=x.getVerticalPos();const o=St();o.x=e.startx,o.y=e.starty,o.width=e.width||n.width,o.class="note";const r=t.append("g"),a=B.drawRect(r,o),i=Kt();i.x=e.startx,i.y=e.starty,i.width=o.width,i.dy="1em",i.text=e.message,i.class="noteText",i.fontFamily=n.noteFontFamily,i.fontSize=n.noteFontSize,i.fontWeight=n.noteFontWeight,i.anchor=n.noteAlign,i.textMargin=n.noteMargin,i.valign="center";const c=lt(i.text)?await Nt(r,i):bt(r,i),h=Math.round(c.map(p=>(p._groups||p)[0][0].getBBox().height).reduce((p,s)=>p+s));a.attr("height",h+2*n.noteMargin),e.height+=h+2*n.noteMargin,x.bumpVerticalPos(h+2*n.noteMargin),e.stopy=e.starty+h+2*n.noteMargin,e.stopx=e.startx+o.width,x.insert(e.startx,e.starty,e.stopx,e.stopy),x.models.addNote(e)},"drawNote"),Tt=d(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),Et=d(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),zt=d(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function be(t,e){x.bumpVerticalPos(10);const{startx:o,stopx:r,message:a}=e,i=_.splitBreaks(a).length,c=lt(a),h=c?await wt(a,at()):F.calculateTextDimensions(a,Tt(n));if(!c){const E=h.height/i;e.height+=E,x.bumpVerticalPos(E)}let p,s=h.height-10;const f=h.width;if(o===r){p=x.getVerticalPos()+s,n.rightAngles||(s+=n.boxMargin,p=x.getVerticalPos()+s),s+=30;const E=_.getMax(f/2,n.width/2);x.insert(o-E,x.getVerticalPos()-10+s,r+E,x.getVerticalPos()+30+s)}else s+=n.boxMargin,p=x.getVerticalPos()+s,x.insert(o,p-10,r,p);return x.bumpVerticalPos(s),e.height+=s,e.stopy=e.starty+e.height,x.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),p}d(be,"boundMessage");var O0=d(async function(t,e,o,r){const{startx:a,stopx:i,starty:c,message:h,type:p,sequenceIndex:s,sequenceVisible:f}=e,E=F.calculateTextDimensions(h,Tt(n)),g=Kt();g.x=a,g.y=c+10,g.width=i-a,g.class="messageText",g.dy="1em",g.text=h,g.fontFamily=n.messageFontFamily,g.fontSize=n.messageFontSize,g.fontWeight=n.messageFontWeight,g.anchor=n.messageAlign,g.valign="center",g.textMargin=n.wrapPadding,g.tspan=!1,lt(g.text)?await Nt(t,g,{startx:a,stopx:i,starty:o}):bt(t,g);const T=E.width;let m;a===i?n.rightAngles?m=t.append("path").attr("d",`M ${a},${o} H ${a+_.getMax(n.width/2,T/2)} V ${o+25} H ${a}`):m=t.append("path").attr("d","M "+a+","+o+" C "+(a+60)+","+(o-10)+" "+(a+60)+","+(o+30)+" "+a+","+(o+20)):(m=t.append("line"),m.attr("x1",a),m.attr("y1",o),m.attr("x2",i),m.attr("y2",o)),p===r.db.LINETYPE.DOTTED||p===r.db.LINETYPE.DOTTED_CROSS||p===r.db.LINETYPE.DOTTED_POINT||p===r.db.LINETYPE.DOTTED_OPEN||p===r.db.LINETYPE.BIDIRECTIONAL_DOTTED?(m.style("stroke-dasharray","3, 3"),m.attr("class","messageLine1")):m.attr("class","messageLine0");let w="";n.arrowMarkerAbsolute&&(w=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,w=w.replace(/\(/g,"\\("),w=w.replace(/\)/g,"\\)")),m.attr("stroke-width",2),m.attr("stroke","none"),m.style("fill","none"),(p===r.db.LINETYPE.SOLID||p===r.db.LINETYPE.DOTTED)&&m.attr("marker-end","url("+w+"#arrowhead)"),(p===r.db.LINETYPE.BIDIRECTIONAL_SOLID||p===r.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(m.attr("marker-start","url("+w+"#arrowhead)"),m.attr("marker-end","url("+w+"#arrowhead)")),(p===r.db.LINETYPE.SOLID_POINT||p===r.db.LINETYPE.DOTTED_POINT)&&m.attr("marker-end","url("+w+"#filled-head)"),(p===r.db.LINETYPE.SOLID_CROSS||p===r.db.LINETYPE.DOTTED_CROSS)&&m.attr("marker-end","url("+w+"#crosshead)"),(f||n.showSequenceNumbers)&&(m.attr("marker-start","url("+w+"#sequencenumber)"),t.append("text").attr("x",a).attr("y",o+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(s))},"drawMessage"),B0=d(function(t,e,o,r,a,i,c){let h=0,p=0,s,f=0;for(const E of r){const g=e.get(E),T=g.box;s&&s!=T&&(c||x.models.addBox(s),p+=n.boxMargin+s.margin),T&&T!=s&&(c||(T.x=h+p,T.y=a),p+=T.margin),g.width=g.width||n.width,g.height=_.getMax(g.height||n.height,n.height),g.margin=g.margin||n.actorMargin,f=_.getMax(f,g.height),o.get(g.name)&&(p+=g.width/2),g.x=h+p,g.starty=x.getVerticalPos(),x.insert(g.x,a,g.x+g.width,g.height),h+=g.width+p,g.box&&(g.box.width=h+T.margin-g.box.x),p=g.margin,s=g.box,x.models.addActor(g)}s&&!c&&x.models.addBox(s),x.bumpVerticalPos(f)},"addActorRenderingData"),Ht=d(async function(t,e,o,r){if(r){let a=0;x.bumpVerticalPos(n.boxMargin*2);for(const i of o){const c=e.get(i);c.stopy||(c.stopy=x.getVerticalPos());const h=await B.drawActor(t,c,n,!0);a=_.getMax(a,h)}x.bumpVerticalPos(a+n.boxMargin)}else for(const a of o){const i=e.get(a);await B.drawActor(t,i,n,!1)}},"drawActors"),me=d(function(t,e,o,r){let a=0,i=0;for(const c of o){const h=e.get(c),p=Y0(h),s=B.drawPopup(t,h,p,n,n.forceMenus,r);s.height>a&&(a=s.height),s.width+h.x>i&&(i=s.width+h.x)}return{maxHeight:a,maxWidth:i}},"drawActorsPopup"),ve=d(function(t){qe(n,t),t.fontFamily&&(n.actorFontFamily=n.noteFontFamily=n.messageFontFamily=t.fontFamily),t.fontSize&&(n.actorFontSize=n.noteFontSize=n.messageFontSize=t.fontSize),t.fontWeight&&(n.actorFontWeight=n.noteFontWeight=n.messageFontWeight=t.fontWeight)},"setConf"),Dt=d(function(t){return x.activations.filter(function(e){return e.actor===t})},"actorActivations"),re=d(function(t,e){const o=e.get(t),r=Dt(t),a=r.reduce(function(c,h){return _.getMin(c,h.startx)},o.x+o.width/2-1),i=r.reduce(function(c,h){return _.getMax(c,h.stopx)},o.x+o.width/2+1);return[a,i]},"activationBounds");function nt(t,e,o,r,a){x.bumpVerticalPos(o);let i=r;if(e.id&&e.message&&t[e.id]){const c=t[e.id].width,h=Tt(n);e.message=F.wrapLabel(`[${e.message}]`,c-2*n.wrapPadding,h),e.width=c,e.wrap=!0;const p=F.calculateTextDimensions(e.message,h),s=_.getMax(p.height,n.labelBoxHeight);i=r+s,J.debug(`${s} - ${e.message}`)}a(e),x.bumpVerticalPos(i)}d(nt,"adjustLoopHeightForWrap");function we(t,e,o,r,a,i,c){function h(s,f){s.x{y.add(P.from),y.add(P.to)}),m=m.filter(P=>y.has(P))}B0(s,f,E,m,0,w,!1);const C=await q0(w,f,Y,r);B.insertArrowHead(s),B.insertArrowCrossHead(s),B.insertArrowFilledHead(s),B.insertSequenceNumber(s);function z(y,P){const $=x.endActivation(y);$.starty+18>P&&($.starty=P-6,P+=12),B.drawActivation(s,$,P,n,Dt(y.from).length),x.insert($.startx,P-10,$.stopx,P)}d(z,"activeEnd");let H=1,Z=1;const et=[],K=[];let U=0;for(const y of w){let P,$,it;switch(y.type){case r.db.LINETYPE.NOTE:x.resetVerticalPos(),$=y.noteModel,await C0(s,$);break;case r.db.LINETYPE.ACTIVE_START:x.newActivation(y,s,f);break;case r.db.LINETYPE.ACTIVE_END:z(y,x.getVerticalPos());break;case r.db.LINETYPE.LOOP_START:nt(C,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>x.newLoop(N));break;case r.db.LINETYPE.LOOP_END:P=x.endLoop(),await B.drawLoop(s,P,"loop",n),x.bumpVerticalPos(P.stopy-x.getVerticalPos()),x.models.addLoop(P);break;case r.db.LINETYPE.RECT_START:nt(C,y,n.boxMargin,n.boxMargin,N=>x.newLoop(void 0,N.message));break;case r.db.LINETYPE.RECT_END:P=x.endLoop(),K.push(P),x.models.addLoop(P),x.bumpVerticalPos(P.stopy-x.getVerticalPos());break;case r.db.LINETYPE.OPT_START:nt(C,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>x.newLoop(N));break;case r.db.LINETYPE.OPT_END:P=x.endLoop(),await B.drawLoop(s,P,"opt",n),x.bumpVerticalPos(P.stopy-x.getVerticalPos()),x.models.addLoop(P);break;case r.db.LINETYPE.ALT_START:nt(C,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>x.newLoop(N));break;case r.db.LINETYPE.ALT_ELSE:nt(C,y,n.boxMargin+n.boxTextMargin,n.boxMargin,N=>x.addSectionToLoop(N));break;case r.db.LINETYPE.ALT_END:P=x.endLoop(),await B.drawLoop(s,P,"alt",n),x.bumpVerticalPos(P.stopy-x.getVerticalPos()),x.models.addLoop(P);break;case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:nt(C,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>x.newLoop(N)),x.saveVerticalPos();break;case r.db.LINETYPE.PAR_AND:nt(C,y,n.boxMargin+n.boxTextMargin,n.boxMargin,N=>x.addSectionToLoop(N));break;case r.db.LINETYPE.PAR_END:P=x.endLoop(),await B.drawLoop(s,P,"par",n),x.bumpVerticalPos(P.stopy-x.getVerticalPos()),x.models.addLoop(P);break;case r.db.LINETYPE.AUTONUMBER:H=y.message.start||H,Z=y.message.step||Z,y.message.visible?r.db.enableSequenceNumbers():r.db.disableSequenceNumbers();break;case r.db.LINETYPE.CRITICAL_START:nt(C,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>x.newLoop(N));break;case r.db.LINETYPE.CRITICAL_OPTION:nt(C,y,n.boxMargin+n.boxTextMargin,n.boxMargin,N=>x.addSectionToLoop(N));break;case r.db.LINETYPE.CRITICAL_END:P=x.endLoop(),await B.drawLoop(s,P,"critical",n),x.bumpVerticalPos(P.stopy-x.getVerticalPos()),x.models.addLoop(P);break;case r.db.LINETYPE.BREAK_START:nt(C,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>x.newLoop(N));break;case r.db.LINETYPE.BREAK_END:P=x.endLoop(),await B.drawLoop(s,P,"break",n),x.bumpVerticalPos(P.stopy-x.getVerticalPos()),x.models.addLoop(P);break;default:try{it=y.msgModel,it.starty=x.getVerticalPos(),it.sequenceIndex=H,it.sequenceVisible=r.db.showSequenceNumbers();const N=await be(s,it);we(y,it,N,U,f,E,g),et.push({messageModel:it,lineStartY:N}),x.models.addMessage(it)}catch(N){J.error("error while drawing message",N)}}[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT,r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(y.type)&&(H=H+Z),U++}J.debug("createdActors",E),J.debug("destroyedActors",g),await Ht(s,f,m,!1);for(const y of et)await O0(s,y.messageModel,y.lineStartY,r);n.mirrorActors&&await Ht(s,f,m,!0),K.forEach(y=>B.drawBackgroundRect(s,y)),Te(s,f,m,n);for(const y of x.models.boxes)y.height=x.getVerticalPos()-y.y,x.insert(y.x,y.y,y.x+y.width,y.height),y.startx=y.x,y.starty=y.y,y.stopx=y.startx+y.width,y.stopy=y.starty+y.height,y.stroke="rgb(0,0,0, 0.5)",B.drawBox(s,y,n);V&&x.bumpVerticalPos(n.boxMargin);const q=me(s,f,m,p),{bounds:R}=x.getBounds();R.startx===void 0&&(R.startx=0),R.starty===void 0&&(R.starty=0),R.stopx===void 0&&(R.stopx=0),R.stopy===void 0&&(R.stopy=0);let Q=R.stopy-R.starty;Q{const c=Tt(n);let h=i.actorKeys.reduce((f,E)=>f+=t.get(E).width+(t.get(E).margin||0),0);h-=2*n.boxTextMargin,i.wrap&&(i.name=F.wrapLabel(i.name,h-2*n.wrapPadding,c));const p=F.calculateTextDimensions(i.name,c);a=_.getMax(p.height,a);const s=_.getMax(h,p.width+2*n.wrapPadding);if(i.margin=n.boxTextMargin,hi.textMaxHeight=a),_.getMax(r,n.height)}d(_e,"calculateActorMargins");var F0=d(async function(t,e,o){const r=e.get(t.from),a=e.get(t.to),i=r.x,c=a.x,h=t.wrap&&t.message;let p=lt(t.message)?await wt(t.message,at()):F.calculateTextDimensions(h?F.wrapLabel(t.message,n.width,Et(n)):t.message,Et(n));const s={width:h?n.width:_.getMax(n.width,p.width+2*n.noteMargin),height:0,startx:r.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===o.db.PLACEMENT.RIGHTOF?(s.width=h?_.getMax(n.width,p.width):_.getMax(r.width/2+a.width/2,p.width+2*n.noteMargin),s.startx=i+(r.width+n.actorMargin)/2):t.placement===o.db.PLACEMENT.LEFTOF?(s.width=h?_.getMax(n.width,p.width+2*n.noteMargin):_.getMax(r.width/2+a.width/2,p.width+2*n.noteMargin),s.startx=i-s.width+(r.width-n.actorMargin)/2):t.to===t.from?(p=F.calculateTextDimensions(h?F.wrapLabel(t.message,_.getMax(n.width,r.width),Et(n)):t.message,Et(n)),s.width=h?_.getMax(n.width,r.width):_.getMax(r.width,n.width,p.width+2*n.noteMargin),s.startx=i+(r.width-s.width)/2):(s.width=Math.abs(i+r.width/2-(c+a.width/2))+n.actorMargin,s.startx=i2,E=d(w=>h?-w:w,"adjustValue");t.from===t.to?s=p:(t.activate&&!f&&(s+=E(n.activationWidth/2-1)),[o.db.LINETYPE.SOLID_OPEN,o.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(s+=E(3)),[o.db.LINETYPE.BIDIRECTIONAL_SOLID,o.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(p-=E(3)));const g=[r,a,i,c],T=Math.abs(p-s);t.wrap&&t.message&&(t.message=F.wrapLabel(t.message,_.getMax(T+2*n.wrapPadding,n.width),Tt(n)));const m=F.calculateTextDimensions(t.message,Tt(n));return{width:_.getMax(t.wrap?0:m.width+2*n.wrapPadding,T+2*n.wrapPadding,n.width),height:0,startx:p,stopx:s,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,g),toBounds:Math.max.apply(null,g)}},"buildMessageModel"),q0=d(async function(t,e,o,r){const a={},i=[];let c,h,p;for(const s of t){switch(s.id=F.random({length:10}),s.type){case r.db.LINETYPE.LOOP_START:case r.db.LINETYPE.ALT_START:case r.db.LINETYPE.OPT_START:case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:case r.db.LINETYPE.CRITICAL_START:case r.db.LINETYPE.BREAK_START:i.push({id:s.id,msg:s.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case r.db.LINETYPE.ALT_ELSE:case r.db.LINETYPE.PAR_AND:case r.db.LINETYPE.CRITICAL_OPTION:s.message&&(c=i.pop(),a[c.id]=c,a[s.id]=c,i.push(c));break;case r.db.LINETYPE.LOOP_END:case r.db.LINETYPE.ALT_END:case r.db.LINETYPE.OPT_END:case r.db.LINETYPE.PAR_END:case r.db.LINETYPE.CRITICAL_END:case r.db.LINETYPE.BREAK_END:c=i.pop(),a[c.id]=c;break;case r.db.LINETYPE.ACTIVE_START:{const E=e.get(s.from?s.from:s.to.actor),g=Dt(s.from?s.from:s.to.actor).length,T=E.x+E.width/2+(g-1)*n.activationWidth/2,m={startx:T,stopx:T+n.activationWidth,actor:s.from,enabled:!0};x.activations.push(m)}break;case r.db.LINETYPE.ACTIVE_END:{const E=x.activations.map(g=>g.actor).lastIndexOf(s.from);x.activations.splice(E,1).splice(0,1)}break}s.placement!==void 0?(h=await F0(s,e,r),s.noteModel=h,i.forEach(E=>{c=E,c.from=_.getMin(c.from,h.startx),c.to=_.getMax(c.to,h.startx+h.width),c.width=_.getMax(c.width,Math.abs(c.from-c.to))-n.labelBoxWidth})):(p=W0(s,e,r),s.msgModel=p,p.startx&&p.stopx&&i.length>0&&i.forEach(E=>{if(c=E,p.startx===p.stopx){const g=e.get(s.from),T=e.get(s.to);c.from=_.getMin(g.x-p.width/2,g.x-g.width/2,c.from),c.to=_.getMax(T.x+p.width/2,T.x+g.width/2,c.to),c.width=_.getMax(c.width,Math.abs(c.to-c.from))-n.labelBoxWidth}else c.from=_.getMin(p.startx,c.from),c.to=_.getMax(p.stopx,c.to),c.width=_.getMax(c.width,p.width)-n.labelBoxWidth}))}return x.activations=[],J.debug("Loop type widths:",a),a},"calculateLoopBounds"),z0={bounds:x,drawActors:Ht,drawActorsPopup:me,setConf:ve,draw:V0},Q0={parser:Ke,db:te,renderer:z0,styles:f0,init:d(({wrap:t})=>{te.setWrap(t)},"init")};export{Q0 as diagram}; diff --git a/_nuxt/CLvOkMre.js b/_nuxt/CLvOkMre.js deleted file mode 100644 index 82feaf8fc..000000000 --- a/_nuxt/CLvOkMre.js +++ /dev/null @@ -1 +0,0 @@ -import{I as a,J as w,a5 as y,S as D,u as H,ae as g,h as S,af as _,ag as b,N as u}from"./ZI84DZB4.js";import q from"./Bk5l7imX.js";import x from"./BI2NzfhY.js";import"./CAJW8Aus.js";import"./C-v3KzvZ.js";import"./ny9-2f-j.js";import"./IShi1APO.js";import"./-yCMipV_.js";const d=(p,s=y())=>{const e=a(p),f=g();w(()=>a(p),(n=e)=>{if(!s.path||!n)return;const t=Object.assign({},(n==null?void 0:n.head)||{});t.meta=[...t.meta||[]],t.link=[...t.link||[]];const r=t.title||(n==null?void 0:n.title);r&&(t.title=r),f.public.content.host;const c=(t==null?void 0:t.description)||(n==null?void 0:n.description);c&&t.meta.filter(l=>l.name==="description").length===0&&t.meta.push({name:"description",content:c}),t!=null&&t.image||(n==null||n.image),D(()=>H(t))},{immediate:!0})},$=S({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:void 0}},render(p){const{contentHead:s}=g().public.content,e=_(),{tag:f,excerpt:m,path:n,query:t,head:r}=p,c=r===void 0?s:r,l={...t||{},path:n||(t==null?void 0:t.path)||b(y().path),find:"one"},C=(o,i)=>u("pre",null,JSON.stringify({message:"You should use slots with ",slot:o,data:i},null,2));return u(x,l,{default:e!=null&&e.default?({data:o,refresh:i,isPartial:v})=>{var h;return c&&d(o),(h=e.default)==null?void 0:h.call(e,{doc:o,refresh:i,isPartial:v,excerpt:m,...this.$attrs})}:({data:o})=>(c&&d(o),u(q,{value:o,excerpt:m,tag:f,...this.$attrs},{empty:i=>e!=null&&e.empty?e.empty(i):C("default",o)})),empty:o=>{var i;return((i=e==null?void 0:e.empty)==null?void 0:i.call(e,o))||u("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":o=>{var i;return((i=e==null?void 0:e["not-found"])==null?void 0:i.call(e,o))||u("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}}),T=$;export{T as default}; diff --git a/_nuxt/CMWefPjl.js b/_nuxt/CMWefPjl.js new file mode 100644 index 000000000..6a2bd2bc3 --- /dev/null +++ b/_nuxt/CMWefPjl.js @@ -0,0 +1 @@ +import{d as p,u as m,c as A,h as l,g}from"./DzgF3Vew.js";const w=["p","h1","h2","h3","h4","h5","h6","li"];function f(r,t){return r.type===t||typeof r.type=="object"&&r.type.tag===t||r.tag===t}function s(r){return f(r,"text")||f(r,Symbol.for("v-txt"))}function y(r){var t;return Array.isArray(r.children)||typeof r.children=="string"?r.children:typeof((t=r.children)==null?void 0:t.default)=="function"?r.children.default():[]}function a(r){if(!r)return"";if(Array.isArray(r))return r.map(a).join("");if(s(r))return r.children||r.value||"";const t=y(r);return Array.isArray(t)?t.map(a).filter(Boolean).join(""):""}function c(r,t=[]){if(Array.isArray(r))return r.flatMap(n=>c(n,t));let e=r;return t.some(n=>n==="*"||f(r,n))&&(e=y(r)||r,!Array.isArray(e)&&w.some(n=>f(r,n))&&(e=[e])),e}function h(r,t=[]){return r=Array.isArray(r)?r:[r],t.length?r.flatMap(e=>h(c(e,[t[0]]),t.slice(1))).filter(e=>!(s(e)&&a(e).trim()==="")):r}function S(r,t=[]){return typeof t=="string"&&(t=t.split(",").map(e=>e.trim()).filter(Boolean)),t.length?h(r,t).reduce((e,n)=>(s(n)?typeof e[e.length-1]=="string"?e[e.length-1]+=n.children:e.push(n.children):e.push(n),e),[]):r}const C=p({name:"MDCSlot",functional:!0,props:{name:{type:String,default:"default"},unwrap:{type:[Boolean,String],default:!1},use:{type:Function,default:void 0}},setup(r){const{parent:t}=g(),{default:e}=m(),n=A(()=>typeof r.unwrap=="string"?r.unwrap.split(" "):["*"]);return{fallbackSlot:e,tags:n,parent:t}},render({use:r,unwrap:t,fallbackSlot:e,tags:n,parent:i}){var o;try{let u=r;return typeof r=="string"&&(u=(i==null?void 0:i.slots[r])||((o=i==null?void 0:i.parent)==null?void 0:o.slots[r]),console.warn(`Please set :use="$slots.${r}" in component to enable reactivity`)),u?t?S(u(),n):[u()]:e?e():l("div")}catch{return l("div")}}}),_=p({props:{use:{type:Function,default:void 0},unwrap:{type:[Boolean,String],default:!1}},render(r){return l(C,r)}});export{_ as default}; diff --git a/_nuxt/CN5ytbgz.js b/_nuxt/CN5ytbgz.js deleted file mode 100644 index 1e2aaa8f5..000000000 --- a/_nuxt/CN5ytbgz.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,o,c as t,r as s}from"./ZI84DZB4.js";const a={};function c(e,n){return o(),t("thead",null,[s(e.$slots,"default")])}const _=r(a,[["render",c]]);export{_ as default}; diff --git a/_nuxt/COcyib0V.js b/_nuxt/COcyib0V.js deleted file mode 100644 index 514bb1865..000000000 --- a/_nuxt/COcyib0V.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,o,c as t,r as s}from"./ZI84DZB4.js";const c={};function n(e,a){return o(),t("tr",null,[s(e.$slots,"default")])}const _=r(c,[["render",n]]);export{_ as default}; diff --git a/_nuxt/CP0KRmK-.js b/_nuxt/CP0KRmK-.js deleted file mode 100644 index b2d7bb7f8..000000000 --- a/_nuxt/CP0KRmK-.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./igdY0Og6.js";import"./ZI84DZB4.js";export{m as default}; diff --git a/_nuxt/CWcjv5hM.js b/_nuxt/CWcjv5hM.js deleted file mode 100644 index 2069ba749..000000000 --- a/_nuxt/CWcjv5hM.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,o as r,c as t,r as s}from"./ZI84DZB4.js";const c={};function n(e,a){return r(),t("tbody",null,[s(e.$slots,"default")])}const _=o(c,[["render",n]]);export{_ as default}; diff --git a/_nuxt/CYg2XdTk.js b/_nuxt/CYg2XdTk.js new file mode 100644 index 000000000..f99f80f9e --- /dev/null +++ b/_nuxt/CYg2XdTk.js @@ -0,0 +1 @@ +import{K as _,C as W,a as M,a1 as B,$ as T}from"./DzgF3Vew.js";import{g as k,b as j,c as E,o as J,d as H,f as $,h as P,i as D,k as b}from"./by_5UnZ2.js";import{p as G}from"./C-v3KzvZ.js";import{c as Z}from"./Cpj98o6Y.js";import{u as U}from"./1XwWt0dk.js";import"./IShi1APO.js";const q="memory",F=()=>{const t=new Map;return{name:q,options:{},hasItem(r){return t.has(r)},getItem(r){return t.get(r)??null},getItemRaw(r){return t.get(r)??null},setItem(r,n){t.set(r,n)},setItemRaw(r,n){t.set(r,n)},removeItem(r){t.delete(r)},getKeys(){return Array.from(t.keys())},clear(){t.clear()},dispose(){t.clear()}}};function V(t){return!t||typeof t.then!="function"?Promise.resolve(t):t}function p(t,...r){try{return V(t(...r))}catch(n){return Promise.reject(n)}}function Q(t){const r=typeof t;return t===null||r!=="object"&&r!=="function"}function X(t){const r=Object.getPrototypeOf(t);return!r||r.isPrototypeOf(Object)}function S(t){if(Q(t))return String(t);if(X(t)||Array.isArray(t))return JSON.stringify(t);if(typeof t.toJSON=="function")return S(t.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function z(){if(typeof Buffer===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const R="base64:";function ee(t){if(typeof t=="string")return t;z();const r=Buffer.from(t).toString("base64");return R+r}function te(t){return typeof t!="string"||!t.startsWith(R)?t:(z(),Buffer.from(t.slice(R.length),"base64"))}const re=["hasItem","getItem","getItemRaw","setItem","setItemRaw","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function ne(t,r){if(r=A(r),!r)return t;const n={...t};for(const a of re)n[a]=(l="",...c)=>t[a](r+l,...c);return n.getKeys=(a="",...l)=>t.getKeys(r+a,...l).then(c=>c.map(o=>o.slice(r.length))),n}function d(t){return t?t.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function ie(...t){return d(t.join(":"))}function A(t){return t=d(t),t?t+":":""}const ae="memory",se=()=>{const t=new Map;return{name:ae,options:{},hasItem(r){return t.has(r)},getItem(r){return t.get(r)??null},getItemRaw(r){return t.get(r)??null},setItem(r,n){t.set(r,n)},setItemRaw(r,n){t.set(r,n)},removeItem(r){t.delete(r)},getKeys(){return Array.from(t.keys())},clear(){t.clear()},dispose(){t.clear()}}};function oe(t={}){const r={mounts:{"":t.driver||se()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(const i of r.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:r.mounts[i]};return{base:"",relativeKey:e,driver:r.mounts[""]}},a=(e,i)=>r.mountpoints.filter(s=>s.startsWith(e)||i&&e.startsWith(s)).map(s=>({relativeBase:e.length>s.length?e.slice(s.length):void 0,mountpoint:s,driver:r.mounts[s]})),l=(e,i)=>{if(r.watching){i=d(i);for(const s of r.watchListeners)s(e,i)}},c=async()=>{if(!r.watching){r.watching=!0;for(const e in r.mounts)r.unwatch[e]=await x(r.mounts[e],l,e)}},o=async()=>{if(r.watching){for(const e in r.unwatch)await r.unwatch[e]();r.unwatch={},r.watching=!1}},h=(e,i,s)=>{const u=new Map,f=m=>{let y=u.get(m.base);return y||(y={driver:m.driver,base:m.base,items:[]},u.set(m.base,y)),y};for(const m of e){const y=typeof m=="string",v=d(y?m:m.key),w=y?void 0:m.value,I=y||!m.options?i:{...i,...m.options},O=n(v);f(O).items.push({key:v,value:w,relativeKey:O.relativeKey,options:I})}return Promise.all([...u.values()].map(m=>s(m))).then(m=>m.flat())},g={hasItem(e,i={}){e=d(e);const{relativeKey:s,driver:u}=n(e);return p(u.hasItem,s,i)},getItem(e,i={}){e=d(e);const{relativeKey:s,driver:u}=n(e);return p(u.getItem,s,i).then(f=>_(f))},getItems(e,i){return h(e,i,s=>s.driver.getItems?p(s.driver.getItems,s.items.map(u=>({key:u.relativeKey,options:u.options})),i).then(u=>u.map(f=>({key:ie(s.base,f.key),value:_(f.value)}))):Promise.all(s.items.map(u=>p(s.driver.getItem,u.relativeKey,u.options).then(f=>({key:u.key,value:_(f)})))))},getItemRaw(e,i={}){e=d(e);const{relativeKey:s,driver:u}=n(e);return u.getItemRaw?p(u.getItemRaw,s,i):p(u.getItem,s,i).then(f=>te(f))},async setItem(e,i,s={}){if(i===void 0)return g.removeItem(e);e=d(e);const{relativeKey:u,driver:f}=n(e);f.setItem&&(await p(f.setItem,u,S(i),s),f.watch||l("update",e))},async setItems(e,i){await h(e,i,async s=>{if(s.driver.setItems)return p(s.driver.setItems,s.items.map(u=>({key:u.relativeKey,value:S(u.value),options:u.options})),i);s.driver.setItem&&await Promise.all(s.items.map(u=>p(s.driver.setItem,u.relativeKey,S(u.value),u.options)))})},async setItemRaw(e,i,s={}){if(i===void 0)return g.removeItem(e,s);e=d(e);const{relativeKey:u,driver:f}=n(e);if(f.setItemRaw)await p(f.setItemRaw,u,i,s);else if(f.setItem)await p(f.setItem,u,ee(i),s);else return;f.watch||l("update",e)},async removeItem(e,i={}){typeof i=="boolean"&&(i={removeMeta:i}),e=d(e);const{relativeKey:s,driver:u}=n(e);u.removeItem&&(await p(u.removeItem,s,i),(i.removeMeta||i.removeMata)&&await p(u.removeItem,s+"$",i),u.watch||l("remove",e))},async getMeta(e,i={}){typeof i=="boolean"&&(i={nativeOnly:i}),e=d(e);const{relativeKey:s,driver:u}=n(e),f=Object.create(null);if(u.getMeta&&Object.assign(f,await p(u.getMeta,s,i)),!i.nativeOnly){const m=await p(u.getItem,s+"$",i).then(y=>_(y));m&&typeof m=="object"&&(typeof m.atime=="string"&&(m.atime=new Date(m.atime)),typeof m.mtime=="string"&&(m.mtime=new Date(m.mtime)),Object.assign(f,m))}return f},setMeta(e,i,s={}){return this.setItem(e+"$",i,s)},removeMeta(e,i={}){return this.removeItem(e+"$",i)},async getKeys(e,i={}){e=A(e);const s=a(e,!0);let u=[];const f=[];for(const m of s){const v=(await p(m.driver.getKeys,m.relativeBase,i)).map(w=>m.mountpoint+d(w)).filter(w=>!u.some(I=>w.startsWith(I)));f.push(...v),u=[m.mountpoint,...u.filter(w=>!w.startsWith(m.mountpoint))]}return e?f.filter(m=>m.startsWith(e)&&!m.endsWith("$")):f.filter(m=>!m.endsWith("$"))},async clear(e,i={}){e=A(e),await Promise.all(a(e,!1).map(async s=>{if(s.driver.clear)return p(s.driver.clear,s.relativeBase,i);if(s.driver.removeItem){const u=await s.driver.getKeys(s.relativeBase||"",i);return Promise.all(u.map(f=>s.driver.removeItem(f,i)))}}))},async dispose(){await Promise.all(Object.values(r.mounts).map(e=>L(e)))},async watch(e){return await c(),r.watchListeners.push(e),async()=>{r.watchListeners=r.watchListeners.filter(i=>i!==e),r.watchListeners.length===0&&await o()}},async unwatch(){r.watchListeners=[],await o()},mount(e,i){if(e=A(e),e&&r.mounts[e])throw new Error(`already mounted at ${e}`);return e&&(r.mountpoints.push(e),r.mountpoints.sort((s,u)=>u.length-s.length)),r.mounts[e]=i,r.watching&&Promise.resolve(x(i,l,e)).then(s=>{r.unwatch[e]=s}).catch(console.error),g},async unmount(e,i=!0){e=A(e),!(!e||!r.mounts[e])&&(r.watching&&e in r.unwatch&&(r.unwatch[e](),delete r.unwatch[e]),i&&await L(r.mounts[e]),r.mountpoints=r.mountpoints.filter(s=>s!==e),delete r.mounts[e])},getMount(e=""){e=d(e)+":";const i=n(e);return{driver:i.driver,base:i.base}},getMounts(e="",i={}){return e=d(e),a(e,i.parents).map(u=>({driver:u.driver,base:u.mountpoint}))}};return g}function x(t,r,n){return t.watch?t.watch((a,l)=>r(a,n+l)):()=>{}}async function L(t){typeof t.dispose=="function"&&await p(t.dispose)}function ue(t={}){const r=ce(n,t.operators);function n(a,l){return typeof l!="object"||l instanceof RegExp?r.$eq(a,l):Object.keys(l||{}).every(c=>{const o=l[c];if(c.startsWith("$")&&r[c]){const h=r[c];return typeof h=="function"?h(a,o):!1}return n(k(a,c),o)})}return n}function ce(t,r={}){return{$match:(n,a)=>t(n,a),$eq:(n,a)=>a instanceof RegExp?a.test(n):n===a,$ne:(n,a)=>a instanceof RegExp?!a.test(n):n!==a,$not:(n,a)=>!t(n,a),$and:(n,a)=>(j(a,"$and requires an array as condition"),a.every(l=>t(n,l))),$or:(n,a)=>(j(a,"$or requires an array as condition"),a.some(l=>t(n,l))),$in:(n,a)=>E(a).some(l=>Array.isArray(n)?t(n,{$contains:l}):t(n,l)),$contains:(n,a)=>(n=Array.isArray(n)?n:String(n),E(a).every(l=>n.includes(l))),$icontains:(n,a)=>{if(typeof a!="string")throw new TypeError("$icontains requires a string, use $contains instead");return n=String(n).toLocaleLowerCase(),E(a).every(l=>n.includes(l.toLocaleLowerCase()))},$containsAny:(n,a)=>(j(a,"$containsAny requires an array as condition"),n=Array.isArray(n)?n:String(n),a.some(l=>n.includes(l))),$exists:(n,a)=>a?typeof n<"u":typeof n>"u",$type:(n,a)=>typeof n===String(a),$regex:(n,a)=>{if(!(a instanceof RegExp)){const l=String(a).match(/\/(.*)\/([dgimsuy]*)$/);a=l?new RegExp(l[1],l[2]||""):new RegExp(a)}return a.test(String(n||""))},$lt:(n,a)=>nn<=a,$gt:(n,a)=>n>a,$gte:(n,a)=>n>=a,...r||{}}}function le(t){const r=ue(),n=(c,{query:o,before:h,after:g})=>{const e=typeof o=="string"?{_path:o}:o,i=c.findIndex(u=>r(u,e));h=h??1,g=g??1;const s=new Array(h+g).fill(null,0);return i===-1?s:s.map((u,f)=>c[i-h+f+ +(f>=h)]||null)},a=[(c,o)=>{const h=c.result.filter(g=>E(o.where).every(e=>r(g,e)));return{...c,result:h,total:h.length}},(c,o)=>E(o.sort).forEach(h=>H(c.result,h)),function(o,h,g){var e;if(h.surround){let i=n(((e=o.result)==null?void 0:e.length)===1?g:o.result,h.surround);i=$(P(h.without))(i),i=$(D(h.only))(i),o.surround=i}return o}],l=[(c,o)=>{if(o.skip)return{...c,result:c.result.slice(o.skip),skip:o.skip}},(c,o)=>{if(o.limit)return{...c,result:c.result.slice(0,o.limit),limit:o.limit}},function(o,h,g){var e,i,s;if(h.dirConfig){const u=((e=o.result[0])==null?void 0:e._path)||((s=(i=h.where)==null?void 0:i.find(f=>f._path))==null?void 0:s._path);if(typeof u=="string"){const f=g.find(m=>m._path===W(u,"_dir"));f&&(o.dirConfig={_path:f._path,...P(["_"])(f)})}}return o},(c,o)=>({...c,result:$(P(o.without))(c.result)}),(c,o)=>({...c,result:$(D(o.only))(c.result)})];return async c=>{const o=await t(),h=c.params(),g={result:o,limit:0,skip:0,total:o.length},e=a.reduce((s,u)=>u(s,h,o)||s,g);if(h.count)return{result:e.result.length};const i=l.reduce((s,u)=>u(s,h,o)||s,e);return h.first?{...J(["skip","limit","total"])(i),result:i.result[0]}:i}}function N(t){const r=le(t);return async n=>{var c;n.params().first&&n.withDirConfig();const a=n.params(),l=await r(n);return a.surround?l==null?void 0:l.surround:(l!=null&&l.dirConfig&&(l.result={_path:(c=l.dirConfig)==null?void 0:c._path,...l.result,_dir:l.dirConfig}),l==null?void 0:l.result)}}var fe={exports:{}};(function(t,r){(function(n,a,l){t.exports=l(),t.exports.default=l()})("slugify",Z,function(){var n=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),a=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function l(c,o){if(typeof c!="string")throw new Error("slugify: string argument expected");o=typeof o=="string"?{replacement:o}:o||{};var h=a[o.locale]||{},g=o.replacement===void 0?"-":o.replacement,e=o.trim===void 0?!0:o.trim,i=c.normalize().split("").reduce(function(s,u){var f=h[u];return f===void 0&&(f=n[u]),f===void 0&&(f=u),f===g&&(f=" "),s+f.replace(o.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return o.strict&&(i=i.replace(/[^A-Za-z0-9\s]/g,"")),e&&(i=i.trim()),i=i.replace(/\s+/g,g),o.lower&&(i=i.toLowerCase()),i}return l.extend=function(c){Object.assign(n,c)},l})})(fe);const me=t=>t.split(/[\s-]/g).map(G).join(" ");function he(t,r){const{navigation:n}=M().public.content;if(n===!1)return[];const a=c=>({...pe(["title",...n.fields])(c),...de(c==null?void 0:c.navigation)?c.navigation:{}}),l=t.sort((c,o)=>c._path.localeCompare(o._path)).reduce((c,o)=>{const h=o._path.substring(1).split("/"),g=o._id.split(":").slice(1),e=!!g[g.length-1].match(/([1-9][0-9]*\.)?index.md/g),i=f=>({title:f.title,_path:f._path,_file:f._file,children:[],...a(f),...f._draft?{_draft:!0}:{}}),s=i(o);if(e){const f=r[s._path];if(typeof(f==null?void 0:f.navigation)<"u"&&!(f!=null&&f.navigation))return c;if(o._path!=="/"){const m=i(o);s.children.push(m)}Object.assign(s,a(f))}return h.length===1?(c.push(s),c):(h.slice(0,-1).reduce((f,m,y)=>{const v="/"+h.slice(0,y+1).join("/"),w=r[v];if(typeof(w==null?void 0:w.navigation)<"u"&&!w.navigation)return[];let I=f.find(O=>O._path===v);return I||(I={title:me(m),_path:v,_file:o._file,children:[],...a(w)},f.push(I)),I.children},c).push(s),c)},[]);return Y(l)}const ge=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function Y(t){var n;t.forEach(a=>{a._file=a._file.split(".").slice(0,-1).join(".")});const r=t.sort((a,l)=>ge.compare(a._file,l._file));for(const a of r)(n=a.children)!=null&&n.length?Y(a.children):delete a.children,delete a._file;return t}function pe(t){return r=>(r=r||{},t&&t.length?t.filter(n=>typeof r[n]<"u").reduce((n,a)=>Object.assign(n,{[a]:r[a]}),{}):r)}function de(t){return Object.prototype.toString.call(t)==="[object Object]"}const ye=t=>B(t,M().public.content.api.baseURL),we=ne(oe({driver:F()}),"@content");function ve(t){async function r(){const n=new Set(await t.getKeys("cache:")),a=U().getPreviewToken();if(a){const c=await t.getItem(`${a}$`).then(g=>g||{});if(Array.isArray(c.ignoreSources)){const g=c.ignoreSources.map(e=>`cache:${e.trim()}:`);for(const e of n)g.some(i=>e.startsWith(i))&&n.delete(e)}const o=await t.getKeys(`${a}:`),h=await Promise.all(o.map(g=>t.getItem(g)));for(const g of h)n.delete(`cache:${g._id}`),g.__deleted||n.add(`${a}:${g._id}`)}return await Promise.all(Array.from(n).map(c=>t.getItem(c)))}return{storage:t,fetch:N(r),query:n=>b(N(r),{initialParams:n,legacy:!0})}}let C=null,K=null;async function Ie(){return K?await K:C||(K=Ae(),C=await K),C}async function Ae(){const t=T(),{content:r}=M().public,n=ve(we),a=await n.storage.getItem("integrity");if(r.integrity!==+(a||0)){const{contents:l,navigation:c}=await $fetch(ye(r.integrity?`cache.${r.integrity}.json`:"cache.json"));await Promise.all(l.map(o=>n.storage.setItem(`cache:${o._id}`,o))),await n.storage.setItem("navigation",c),await n.storage.setItem("integrity",r.integrity)}return await t.callHook("content:storage",n.storage),n}async function je(t){const r=await Ie();if(!U().getPreviewToken()&&Object.keys(t||{}).length===0)return r.storage.getItem("navigation");const n=await r.query(t).where({_partial:!1,navigation:{$ne:!1}}).find(),l=(await r.query().where({_path:/\/_dir$/i,_partial:!0}).find()).reduce((c,o)=>{var g;((g=o.title)==null?void 0:g.toLowerCase())==="dir"&&(o.title=void 0);const h=o._path.split("/").slice(0,-1).join("/")||"/";return c[h]={...o,...o.body},c},{});return he(n,l)}export{we as contentStorage,ve as createDB,je as generateNavigation,Ie as useContentDatabase}; diff --git a/_nuxt/BG-Mtyn1.js b/_nuxt/CZyae0UU.js similarity index 77% rename from _nuxt/BG-Mtyn1.js rename to _nuxt/CZyae0UU.js index b63d00e68..3c27b6593 100644 --- a/_nuxt/BG-Mtyn1.js +++ b/_nuxt/CZyae0UU.js @@ -1 +1 @@ -import{h as n,N as e}from"./ZI84DZB4.js";const r=n({name:"DocumentDrivenEmpty",props:{value:{type:Object,required:!0}},render({value:t}){return e("div",void 0,[e("p","Document is empty"),e("p",`Add content to it by opening ${t._source}/${t._file} file.`)])}});export{r as default}; +import{d as n,h as e}from"./DzgF3Vew.js";const r=n({name:"DocumentDrivenEmpty",props:{value:{type:Object,required:!0}},render({value:t}){return e("div",void 0,[e("p","Document is empty"),e("p",`Add content to it by opening ${t._source}/${t._file} file.`)])}});export{r as default}; diff --git a/_nuxt/Cbi5YN8i.js b/_nuxt/Cbi5YN8i.js deleted file mode 100644 index e0429f29a..000000000 --- a/_nuxt/Cbi5YN8i.js +++ /dev/null @@ -1 +0,0 @@ -import{h as d,ae as i,j as p,o as s,c as t,I as u,r as n}from"./ZI84DZB4.js";const f=["id"],l=["href"],_=d({__name:"ProseH1",props:{id:{}},setup(r){const a=r,{headings:o}=i().public.mdc,c=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h1)});return(e,m)=>(s(),t("h1",{id:e.id},[u(c)?(s(),t("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,l)):n(e.$slots,"default",{key:1})],8,f))}});export{_ as default}; diff --git a/_nuxt/DM5ltnW9.js b/_nuxt/CdIHTZtf.js similarity index 80% rename from _nuxt/DM5ltnW9.js rename to _nuxt/CdIHTZtf.js index b1474121c..80d5f508d 100644 --- a/_nuxt/DM5ltnW9.js +++ b/_nuxt/CdIHTZtf.js @@ -1 +1 @@ -import{_ as t,c as a,a as s,r as o,o as c}from"./ZI84DZB4.js";const r={},l={class:"flex w-full"},n={class:"w-1/4 p-4 overflow-y-auto"},_={class:"w-3/4 p-4 overflow-y-auto"};function d(e,f){return c(),a("div",l,[s("div",n,[o(e.$slots,"sidebar")]),s("div",_,[o(e.$slots,"content")])])}const u=t(r,[["render",d]]);export{u as default}; +import{_ as t,b as a,e as s,r as o,o as c}from"./DzgF3Vew.js";const r={},l={class:"flex w-full"},n={class:"w-1/4 p-4 overflow-y-auto"},_={class:"w-3/4 p-4 overflow-y-auto"};function d(e,f){return c(),a("div",l,[s("div",n,[o(e.$slots,"sidebar")]),s("div",_,[o(e.$slots,"content")])])}const u=t(r,[["render",d]]);export{u as default}; diff --git a/_nuxt/CgoineOE.js b/_nuxt/CgoineOE.js new file mode 100644 index 000000000..813183572 --- /dev/null +++ b/_nuxt/CgoineOE.js @@ -0,0 +1 @@ +import{_ as o,o as r,b as t,r as s}from"./DzgF3Vew.js";const n={};function c(e,a){return r(),t("tbody",null,[s(e.$slots,"default")])}const _=o(n,[["render",c]]);export{_ as default}; diff --git a/_nuxt/ChZphjCZ.js b/_nuxt/ChZphjCZ.js new file mode 100644 index 000000000..2ea7e2690 --- /dev/null +++ b/_nuxt/ChZphjCZ.js @@ -0,0 +1 @@ +import{_ as r,o,b as t,r as s}from"./DzgF3Vew.js";const n={};function c(e,a){return o(),t("th",null,[s(e.$slots,"default")])}const _=r(n,[["render",c]]);export{_ as default}; diff --git a/_nuxt/CigpWje-.js b/_nuxt/CigpWje-.js deleted file mode 100644 index e7fe3cdc1..000000000 --- a/_nuxt/CigpWje-.js +++ /dev/null @@ -1 +0,0 @@ -import{h as i,ae as c,j as p,o as s,c as n,I as u,r as t}from"./ZI84DZB4.js";const f=["id"],l=["href"],k=i({__name:"ProseH4",props:{id:{}},setup(r){const a=r,{headings:o}=c().public.mdc,d=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h4)});return(e,m)=>(s(),n("h4",{id:e.id},[e.id&&u(d)?(s(),n("a",{key:0,href:`#${e.id}`},[t(e.$slots,"default")],8,l)):t(e.$slots,"default",{key:1})],8,f))}});export{k as default}; diff --git a/_nuxt/CkbuisaA.js b/_nuxt/CkbuisaA.js deleted file mode 100644 index be573e659..000000000 --- a/_nuxt/CkbuisaA.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as r,c}from"./ZI84DZB4.js";const o={};function t(n,s){return r(),c("hr")}const a=e(o,[["render",t]]);export{a as default}; diff --git a/_nuxt/CmKTTxBW.js b/_nuxt/CmKTTxBW.js new file mode 100644 index 000000000..e5c5cc0e1 --- /dev/null +++ b/_nuxt/CmKTTxBW.js @@ -0,0 +1 @@ +import{i as a}from"./Gi6I4Gst.js";class o extends Map{constructor(n,t=g){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),n!=null)for(const[r,s]of n)this.set(r,s)}get(n){return super.get(c(this,n))}has(n){return super.has(c(this,n))}set(n,t){return super.set(l(this,n),t)}delete(n){return super.delete(p(this,n))}}function c({_intern:e,_key:n},t){const r=n(t);return e.has(r)?e.get(r):t}function l({_intern:e,_key:n},t){const r=n(t);return e.has(r)?e.get(r):(e.set(r,t),t)}function p({_intern:e,_key:n},t){const r=n(t);return e.has(r)&&(t=e.get(r),e.delete(r)),t}function g(e){return e!==null&&typeof e=="object"?e.valueOf():e}const f=Symbol("implicit");function h(){var e=new o,n=[],t=[],r=f;function s(u){let i=e.get(u);if(i===void 0){if(r!==f)return r;e.set(u,i=n.push(u)-1)}return t[i%t.length]}return s.domain=function(u){if(!arguments.length)return n.slice();n=[],e=new o;for(const i of u)e.has(i)||e.set(i,n.push(i)-1);return s},s.range=function(u){return arguments.length?(t=Array.from(u),s):t.slice()},s.unknown=function(u){return arguments.length?(r=u,s):r},s.copy=function(){return h(n,t).unknown(r)},a.apply(s,arguments),s}export{h as o}; diff --git a/_nuxt/Cpj98o6Y.js b/_nuxt/Cpj98o6Y.js new file mode 100644 index 000000000..b285ce543 --- /dev/null +++ b/_nuxt/Cpj98o6Y.js @@ -0,0 +1 @@ +var o=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function l(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}export{o as c,l as g}; diff --git a/_nuxt/CqAEurY-.js b/_nuxt/CqAEurY-.js new file mode 100644 index 000000000..5061db0f4 --- /dev/null +++ b/_nuxt/CqAEurY-.js @@ -0,0 +1 @@ +import{U as a,C as n}from"./BN9GDn3H.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c}; diff --git a/_nuxt/DwjrZLxu.js b/_nuxt/Cr_fMKTm.js similarity index 89% rename from _nuxt/DwjrZLxu.js rename to _nuxt/Cr_fMKTm.js index 3602e7b5c..a678efc9b 100644 --- a/_nuxt/DwjrZLxu.js +++ b/_nuxt/Cr_fMKTm.js @@ -1 +1 @@ -import{_ as r,u as s,o as i,c as u,a as e,t as o,b as c,w as d,d as l,e as p,p as h,f}from"./ZI84DZB4.js";const g=t=>(h("data-v-73a07988"),t=t(),f(),t),b={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},x=g(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),m={class:"max-w-520px text-center z-20"},y=["textContent"],_=["textContent"],k={class:"w-full flex items-center justify-center"},w={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return s({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[],style:[{children:'*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color, #e5e7eb)}:before,:after{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(z,S)=>{const a=p;return i(),u("div",b,[x,e("div",m,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:o(t.statusCode)},null,8,y),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:o(t.description)},null,8,_),e("div",k,[c(a,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:d(()=>[l(o(t.backHome),1)]),_:1})])])])}}},C=r(w,[["__scopeId","data-v-73a07988"]]);export{C as default}; +import{_ as r,f as s,o as i,b as u,e,i as o,j as c,k as l,l as d,m as p,p as h,n as f}from"./DzgF3Vew.js";const g=t=>(h("data-v-73a07988"),t=t(),f(),t),b={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},x=g(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),m={class:"max-w-520px text-center z-20"},y=["textContent"],k=["textContent"],_={class:"w-full flex items-center justify-center"},w={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return s({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[],style:[{children:'*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color, #e5e7eb)}:before,:after{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(z,S)=>{const a=p;return i(),u("div",b,[x,e("div",m,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:o(t.statusCode)},null,8,y),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:o(t.description)},null,8,k),e("div",_,[c(a,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:l(()=>[d(o(t.backHome),1)]),_:1})])])])}}},C=r(w,[["__scopeId","data-v-73a07988"]]);export{C as default}; diff --git a/_nuxt/DCBTzStL.js b/_nuxt/CuNWyn2d.js similarity index 58% rename from _nuxt/DCBTzStL.js rename to _nuxt/CuNWyn2d.js index c4cd751cc..f0d123b3d 100644 --- a/_nuxt/DCBTzStL.js +++ b/_nuxt/CuNWyn2d.js @@ -1 +1 @@ -import{h as n,N as e}from"./ZI84DZB4.js";const t=n({name:"DocumentDrivenNotFound",render(){return e("div","Document not found")}});export{t as default}; +import{d as n,h as e}from"./DzgF3Vew.js";const t=n({name:"DocumentDrivenNotFound",render(){return e("div","Document not found")}});export{t as default}; diff --git a/_nuxt/Cwt5j3M4.js b/_nuxt/Cwt5j3M4.js new file mode 100644 index 000000000..ce4d88266 --- /dev/null +++ b/_nuxt/Cwt5j3M4.js @@ -0,0 +1,61 @@ +import{_ as s,aa as xt,ab as kt,x as vt,j as q,d as _t,l as T,ac as bt,ad as wt,ae as St,af as Et}from"./BN9GDn3H.js";import{d as nt}from"./BpEg4sbd.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";var X=function(){var n=s(function(f,i,a,d){for(a=a||{},d=f.length;d--;a[f[d]]=i);return a},"o"),t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],l=[1,10],r=[1,11],h=[1,12],c=[1,13],g=[1,16],m=[1,17],p={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:s(function(i,a,d,u,y,o,S){var k=o.length-1;switch(y){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.getCommonDb().setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.getCommonDb().setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 15:u.addTask(o[k],0,""),this.$=o[k];break;case 16:u.addEvent(o[k].substr(2)),this.$=o[k];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:l,14:r,16:h,17:c,18:14,19:15,20:g,21:m},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:l,14:r,16:h,17:c,18:14,19:15,20:g,21:m},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:s(function(i,a){if(a.recoverable)this.trace(i);else{var d=new Error(i);throw d.hash=a,d}},"parseError"),parse:s(function(i){var a=this,d=[0],u=[],y=[null],o=[],S=this.table,k="",M=0,P=0,B=2,J=1,O=o.slice.call(arguments,1),v=Object.create(this.lexer),E={yy:{}};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(E.yy[b]=this.yy[b]);v.setInput(i,E.yy),E.yy.lexer=v,E.yy.parser=this,typeof v.yylloc>"u"&&(v.yylloc={});var L=v.yylloc;o.push(L);var A=v.options&&v.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(I){d.length=d.length-2*I,y.length=y.length-I,o.length=o.length-I}s(R,"popStack");function F(){var I;return I=u.pop()||v.lex()||J,typeof I!="number"&&(I instanceof Array&&(u=I,I=u.pop()),I=a.symbols_[I]||I),I}s(F,"lex");for(var w,C,N,K,z={},j,$,et,G;;){if(C=d[d.length-1],this.defaultActions[C]?N=this.defaultActions[C]:((w===null||typeof w>"u")&&(w=F()),N=S[C]&&S[C][w]),typeof N>"u"||!N.length||!N[0]){var Q="";G=[];for(j in S[C])this.terminals_[j]&&j>B&&G.push("'"+this.terminals_[j]+"'");v.showPosition?Q="Parse error on line "+(M+1)+`: +`+v.showPosition()+` +Expecting `+G.join(", ")+", got '"+(this.terminals_[w]||w)+"'":Q="Parse error on line "+(M+1)+": Unexpected "+(w==J?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(Q,{text:v.match,token:this.terminals_[w]||w,line:v.yylineno,loc:L,expected:G})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+w);switch(N[0]){case 1:d.push(w),y.push(v.yytext),o.push(v.yylloc),d.push(N[1]),w=null,P=v.yyleng,k=v.yytext,M=v.yylineno,L=v.yylloc;break;case 2:if($=this.productions_[N[1]][1],z.$=y[y.length-$],z._$={first_line:o[o.length-($||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-($||1)].first_column,last_column:o[o.length-1].last_column},A&&(z._$.range=[o[o.length-($||1)].range[0],o[o.length-1].range[1]]),K=this.performAction.apply(z,[k,P,M,E.yy,N[1],y,o].concat(O)),typeof K<"u")return K;$&&(d=d.slice(0,-1*$*2),y=y.slice(0,-1*$),o=o.slice(0,-1*$)),d.push(this.productions_[N[1]][0]),y.push(z.$),o.push(z._$),et=S[d[d.length-2]][d[d.length-1]],d.push(et);break;case 3:return!0}}return!0},"parse")},x=function(){var f={EOF:1,parseError:s(function(a,d){if(this.yy.parser)this.yy.parser.parseError(a,d);else throw new Error(a)},"parseError"),setInput:s(function(i,a){return this.yy=a||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var a=i.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:s(function(i){var a=i.length,d=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===u.length?this.yylloc.first_column:0)+u[u.length-d.length].length-d[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(i){this.unput(this.match.slice(i))},"less"),pastInput:s(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var i=this.pastInput(),a=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+a+"^"},"showPosition"),test_match:s(function(i,a){var d,u,y;if(this.options.backtrack_lexer&&(y={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(y.yylloc.range=this.yylloc.range.slice(0))),u=i[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],d=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),d)return d;if(this._backtrack){for(var o in y)this[o]=y[o];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,a,d,u;this._more||(this.yytext="",this.match="");for(var y=this._currentRules(),o=0;oa[0].length)){if(a=d,u=o,this.options.backtrack_lexer){if(i=this.test_match(d,y[o]),i!==!1)return i;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(i=this.test_match(a,y[u]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var a=this.next();return a||this.lex()},"lex"),begin:s(function(a){this.conditionStack.push(a)},"begin"),popState:s(function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:s(function(a){this.begin(a)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(a,d,u,y){switch(u){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s[^:\n]+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return f}();p.lexer=x;function _(){this.yy={}}return s(_,"Parser"),_.prototype=p,p.Parser=_,new _}();X.parser=X;var Tt=X,at={};xt(at,{addEvent:()=>yt,addSection:()=>ht,addTask:()=>pt,addTaskOrg:()=>gt,clear:()=>ct,default:()=>It,getCommonDb:()=>ot,getSections:()=>dt,getTasks:()=>ut});var V="",lt=0,Y=[],U=[],W=[],ot=s(()=>kt,"getCommonDb"),ct=s(function(){Y.length=0,U.length=0,V="",W.length=0,vt()},"clear"),ht=s(function(n){V=n,Y.push(n)},"addSection"),dt=s(function(){return Y},"getSections"),ut=s(function(){let n=rt();const t=100;let e=0;for(;!n&&ee.id===lt-1).events.push(n)},"addEvent"),gt=s(function(n){const t={section:V,type:V,description:n,task:n,classes:[]};U.push(t)},"addTaskOrg"),rt=s(function(){const n=s(function(e){return W[e].processed},"compileTask");let t=!0;for(const[e,l]of W.entries())n(e),t=t&&l.processed;return t},"compileTasks"),It={clear:ct,getCommonDb:ot,addSection:ht,getSections:dt,getTasks:ut,addTask:pt,addTaskOrg:gt,addEvent:yt},Nt=12,Z=s(function(n,t){const e=n.append("rect");return e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),e.attr("rx",t.rx),e.attr("ry",t.ry),t.class!==void 0&&e.attr("class",t.class),e},"drawRect"),Lt=s(function(n,t){const l=n.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=n.append("g");r.append("circle").attr("cx",t.cx-15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",t.cx+15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function h(m){const p=nt().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);m.append("path").attr("class","mouth").attr("d",p).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}s(h,"smile");function c(m){const p=nt().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);m.append("path").attr("class","mouth").attr("d",p).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}s(c,"sad");function g(m){m.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s(g,"ambivalent"),t.score>3?h(r):t.score<3?c(r):g(r),l},"drawFace"),Mt=s(function(n,t){const e=n.append("circle");return e.attr("cx",t.cx),e.attr("cy",t.cy),e.attr("class","actor-"+t.pos),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("r",t.r),e.class!==void 0&&e.attr("class",e.class),t.title!==void 0&&e.append("title").text(t.title),e},"drawCircle"),ft=s(function(n,t){const e=t.text.replace(//gi," "),l=n.append("text");l.attr("x",t.x),l.attr("y",t.y),l.attr("class","legend"),l.style("text-anchor",t.anchor),t.class!==void 0&&l.attr("class",t.class);const r=l.append("tspan");return r.attr("x",t.x+t.textMargin*2),r.text(e),l},"drawText"),$t=s(function(n,t){function e(r,h,c,g,m){return r+","+h+" "+(r+c)+","+h+" "+(r+c)+","+(h+g-m)+" "+(r+c-m*1.2)+","+(h+g)+" "+r+","+(h+g)}s(e,"genPoints");const l=n.append("polygon");l.attr("points",e(t.x,t.y,50,20,7)),l.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,ft(n,t)},"drawLabel"),Pt=s(function(n,t,e){const l=n.append("g"),r=D();r.x=t.x,r.y=t.y,r.fill=t.fill,r.width=e.width,r.height=e.height,r.class="journey-section section-type-"+t.num,r.rx=3,r.ry=3,Z(l,r),mt(e)(t.text,l,r.x,r.y,r.width,r.height,{class:"journey-section section-type-"+t.num},e,t.colour)},"drawSection"),it=-1,At=s(function(n,t,e){const l=t.x+e.width/2,r=n.append("g");it++;const h=300+5*30;r.append("line").attr("id","task"+it).attr("x1",l).attr("y1",t.y).attr("x2",l).attr("y2",h).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Lt(r,{cx:l,cy:300+(5-t.score)*30,score:t.score});const c=D();c.x=t.x,c.y=t.y,c.fill=t.fill,c.width=e.width,c.height=e.height,c.class="task task-type-"+t.num,c.rx=3,c.ry=3,Z(r,c),mt(e)(t.task,r,c.x,c.y,c.width,c.height,{class:"task"},e,t.colour)},"drawTask"),Ct=s(function(n,t){Z(n,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},"drawBackgroundRect"),Ht=s(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),D=s(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),mt=function(){function n(r,h,c,g,m,p,x,_){const f=h.append("text").attr("x",c+m/2).attr("y",g+p/2+5).style("font-color",_).style("text-anchor","middle").text(r);l(f,x)}s(n,"byText");function t(r,h,c,g,m,p,x,_,f){const{taskFontSize:i,taskFontFamily:a}=_,d=r.split(//gi);for(let u=0;u)/).reverse(),r,h=[],c=1.1,g=e.attr("y"),m=parseFloat(e.attr("dy")),p=e.text(null).append("tspan").attr("x",0).attr("y",g).attr("dy",m+"em");for(let x=0;xt||r==="
    ")&&(h.pop(),p.text(h.join(" ").trim()),r==="
    "?h=[""]:h=[r],p=e.append("tspan").attr("x",0).attr("y",g).attr("dy",c+"em").text(r))})}s(tt,"wrap");var Ft=s(function(n,t,e,l){var _;const r=e%Nt-1,h=n.append("g");t.section=r,h.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+r));const c=h.append("g"),g=h.append("g"),p=g.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(tt,t.width).node().getBBox(),x=(_=l.fontSize)!=null&&_.replace?l.fontSize.replace("px",""):l.fontSize;return t.height=p.height+x*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,g.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),Vt(c,t,r,l),t},"drawNode"),zt=s(function(n,t,e){var g;const l=n.append("g"),h=l.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(tt,t.width).node().getBBox(),c=(g=e.fontSize)!=null&&g.replace?e.fontSize.replace("px",""):e.fontSize;return l.remove(),h.height+c*1.1*.5+t.padding},"getVirtualNodeHeight"),Vt=s(function(n,t,e){n.append("path").attr("id","node-"+t.id).attr("class","node-bkg node-"+t.type).attr("d",`M0 ${t.height-5} v${-t.height+2*5} q0,-5 5,-5 h${t.width-2*5} q5,0 5,5 v${t.height-5} H0 Z`),n.append("line").attr("class","node-line-"+e).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},"defaultBkg"),H={drawRect:Z,drawCircle:Mt,drawSection:Pt,drawText:ft,drawLabel:$t,drawTask:At,drawBackgroundRect:Ct,getTextObj:Ht,getNoteRect:D,initGraphics:Rt,drawNode:Ft,getVirtualNodeHeight:zt},Wt=s(function(n,t,e,l){var O,v;const r=_t(),h=r.leftMargin??50;T.debug("timeline",l.db);const c=r.securityLevel;let g;c==="sandbox"&&(g=q("#i"+t));const p=(c==="sandbox"?q(g.nodes()[0].contentDocument.body):q("body")).select("#"+t);p.append("g");const x=l.db.getTasks(),_=l.db.getCommonDb().getDiagramTitle();T.debug("task",x),H.initGraphics(p);const f=l.db.getSections();T.debug("sections",f);let i=0,a=0,d=0,u=0,y=50+h,o=50;u=50;let S=0,k=!0;f.forEach(function(E){const b={number:S,descr:E,section:S,width:150,padding:20,maxHeight:i},L=H.getVirtualNodeHeight(p,b,r);T.debug("sectionHeight before draw",L),i=Math.max(i,L+20)});let M=0,P=0;T.debug("tasks.length",x.length);for(const[E,b]of x.entries()){const L={number:E,descr:b,section:b.section,width:150,padding:20,maxHeight:a},A=H.getVirtualNodeHeight(p,L,r);T.debug("taskHeight before draw",A),a=Math.max(a,A+20),M=Math.max(M,b.events.length);let R=0;for(const F of b.events){const w={descr:F,section:b.section,number:b.section,width:150,padding:20,maxHeight:50};R+=H.getVirtualNodeHeight(p,w,r)}P=Math.max(P,R)}T.debug("maxSectionHeight before draw",i),T.debug("maxTaskHeight before draw",a),f&&f.length>0?f.forEach(E=>{const b=x.filter(F=>F.section===E),L={number:S,descr:E,section:S,width:200*Math.max(b.length,1)-50,padding:20,maxHeight:i};T.debug("sectionNode",L);const A=p.append("g"),R=H.drawNode(A,L,S,r);T.debug("sectionNode output",R),A.attr("transform",`translate(${y}, ${u})`),o+=i+50,b.length>0&&st(p,b,S,y,o,a,r,M,P,i,!1),y+=200*Math.max(b.length,1),o=u,S++}):(k=!1,st(p,x,S,y,o,a,r,M,P,i,!0));const B=p.node().getBBox();T.debug("bounds",B),_&&p.append("text").text(_).attr("x",B.width/2-h).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),d=k?i+a+150:a+100,p.append("g").attr("class","lineWrapper").append("line").attr("x1",h).attr("y1",d).attr("x2",B.width+3*h).attr("y2",d).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),bt(void 0,p,((O=r.timeline)==null?void 0:O.padding)??50,((v=r.timeline)==null?void 0:v.useMaxWidth)??!1)},"draw"),st=s(function(n,t,e,l,r,h,c,g,m,p,x){var _;for(const f of t){const i={descr:f.task,section:e,number:e,width:150,padding:20,maxHeight:h};T.debug("taskNode",i);const a=n.append("g").attr("class","taskWrapper"),u=H.drawNode(a,i,e,c).height;if(T.debug("taskHeight after draw",u),a.attr("transform",`translate(${l}, ${r})`),h=Math.max(h,u),f.events){const y=n.append("g").attr("class","lineWrapper");let o=h;r+=100,o=o+Bt(n,f.events,e,l,r,c),r-=100,y.append("line").attr("x1",l+190/2).attr("y1",r+h).attr("x2",l+190/2).attr("y2",r+h+(x?h:p)+m+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}l=l+200,x&&!((_=c.timeline)!=null&&_.disableMulticolor)&&e++}r=r-10},"drawTasks"),Bt=s(function(n,t,e,l,r,h){let c=0;const g=r;r=r+100;for(const m of t){const p={descr:m,section:e,number:e,width:150,padding:20,maxHeight:50};T.debug("eventNode",p);const x=n.append("g").attr("class","eventWrapper"),f=H.drawNode(x,p,e,h).height;c=c+f,x.attr("transform",`translate(${l}, ${r})`),r=r+10+f}return r=g,c},"drawEvents"),Ot={setConf:s(()=>{},"setConf"),draw:Wt},jt=s(n=>{let t="";for(let e=0;e` + .edge { + stroke-width: 3; + } + ${jt(n)} + .section-root rect, .section-root path, .section-root circle { + fill: ${n.git0}; + } + .section-root text { + fill: ${n.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`,"getStyles"),qt=Gt,Yt={db:at,renderer:Ot,parser:Tt,styles:qt};export{Yt as diagram}; diff --git a/_nuxt/CyiKzZke.js b/_nuxt/CyiKzZke.js new file mode 100644 index 000000000..4af69d248 --- /dev/null +++ b/_nuxt/CyiKzZke.js @@ -0,0 +1,52 @@ +import{_ as r,d as ve,s as Fe,g as De,c as Pe,b as Ye,l as xe,x as Ue,j as ce,k as Be,a1 as Qe,e as Te}from"./BN9GDn3H.js";import{G as He}from"./csrLU7rk.js";import{l as We}from"./C3NahR2g.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";import"./BH-Vtj6c.js";import"./7nLUnQzp.js";var he=function(){var e=r(function($,i,a,l){for(a=a||{},l=$.length;l--;a[$[l]]=i);return a},"o"),t=[1,3],c=[1,4],d=[1,5],u=[1,6],p=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],y=[1,18],h=[2,7],o=[1,22],g=[1,23],R=[1,24],I=[1,25],b=[1,26],w=[1,27],q=[1,20],v=[1,28],A=[1,29],F=[62,63],pe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],fe=[1,47],ye=[1,48],_e=[1,49],ge=[1,50],Ee=[1,51],Re=[1,52],me=[1,53],O=[53,54],D=[1,64],P=[1,60],Y=[1,61],U=[1,62],B=[1,63],Q=[1,65],j=[1,69],X=[1,70],J=[1,67],Z=[1,68],S=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],ne={trace:r(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:r(function(i,a,l,n,f,s,K){var E=s.length-1;switch(f){case 4:this.$=s[E].trim(),n.setAccTitle(this.$);break;case 5:case 6:this.$=s[E].trim(),n.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:n.addRequirement(s[E-3],s[E-4]);break;case 14:n.setNewReqId(s[E-2]);break;case 15:n.setNewReqText(s[E-2]);break;case 16:n.setNewReqRisk(s[E-2]);break;case 17:n.setNewReqVerifyMethod(s[E-2]);break;case 20:this.$=n.RequirementType.REQUIREMENT;break;case 21:this.$=n.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=n.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=n.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=n.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=n.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=n.RiskLevel.LOW_RISK;break;case 27:this.$=n.RiskLevel.MED_RISK;break;case 28:this.$=n.RiskLevel.HIGH_RISK;break;case 29:this.$=n.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=n.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=n.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=n.VerifyType.VERIFY_TEST;break;case 33:n.addElement(s[E-3]);break;case 34:n.setNewElementType(s[E-2]);break;case 35:n.setNewElementDocRef(s[E-2]);break;case 38:n.addRelationship(s[E-2],s[E],s[E-4]);break;case 39:n.addRelationship(s[E-2],s[E-4],s[E]);break;case 40:this.$=n.Relationships.CONTAINS;break;case 41:this.$=n.Relationships.COPIES;break;case 42:this.$=n.Relationships.DERIVES;break;case 43:this.$=n.Relationships.SATISFIES;break;case 44:this.$=n.Relationships.VERIFIES;break;case 45:this.$=n.Relationships.REFINES;break;case 46:this.$=n.Relationships.TRACES;break}},"anonymous"),table:[{3:1,4:2,6:t,9:c,11:d,13:u},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:c,11:d,13:u},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(p,[2,6]),{3:12,4:2,6:t,9:c,11:d,13:u},{1:[2,2]},{4:17,5:y,7:13,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},e(p,[2,4]),e(p,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:y,7:31,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:32,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:33,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:34,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:35,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(F,[2,20]),e(F,[2,21]),e(F,[2,22]),e(F,[2,23]),e(F,[2,24]),e(F,[2,25]),e(pe,[2,49]),e(pe,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:fe,56:ye,57:_e,58:ge,59:Ee,60:Re,61:me},{52:54,55:fe,56:ye,57:_e,58:ge,59:Ee,60:Re,61:me},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(O,[2,40]),e(O,[2,41]),e(O,[2,42]),e(O,[2,43]),e(O,[2,44]),e(O,[2,45]),e(O,[2,46]),{54:[1,58]},{5:D,20:59,21:P,24:Y,26:U,28:B,30:Q},{5:j,30:X,46:66,47:J,49:Z},{23:71,62:v,63:A},{23:72,62:v,63:A},e(S,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:D,20:77,21:P,24:Y,26:U,28:B,30:Q},e(S,[2,19]),e(S,[2,33]),{22:[1,78]},{22:[1,79]},{5:j,30:X,46:80,47:J,49:Z},e(S,[2,37]),e(S,[2,38]),e(S,[2,39]),{23:81,62:v,63:A},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(S,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(S,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:D,20:106,21:P,24:Y,26:U,28:B,30:Q},{5:D,20:107,21:P,24:Y,26:U,28:B,30:Q},{5:D,20:108,21:P,24:Y,26:U,28:B,30:Q},{5:D,20:109,21:P,24:Y,26:U,28:B,30:Q},{5:j,30:X,46:110,47:J,49:Z},{5:j,30:X,46:111,47:J,49:Z},e(S,[2,14]),e(S,[2,15]),e(S,[2,16]),e(S,[2,17]),e(S,[2,34]),e(S,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:r(function(i,a){if(a.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=a,l}},"parseError"),parse:r(function(i){var a=this,l=[0],n=[],f=[null],s=[],K=this.table,E="",te=0,Ie=0,Le=2,be=1,Oe=s.slice.call(arguments,1),m=Object.create(this.lexer),C={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(C.yy[se]=this.yy[se]);m.setInput(i,C.yy),C.yy.lexer=m,C.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var ae=m.yylloc;s.push(ae);var Ce=m.options&&m.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(N){l.length=l.length-2*N,f.length=f.length-N,s.length=s.length-N}r(Me,"popStack");function Se(){var N;return N=n.pop()||m.lex()||be,typeof N!="number"&&(N instanceof Array&&(n=N,N=n.pop()),N=a.symbols_[N]||N),N}r(Se,"lex");for(var k,M,x,le,H={},ie,V,ke,re;;){if(M=l[l.length-1],this.defaultActions[M]?x=this.defaultActions[M]:((k===null||typeof k>"u")&&(k=Se()),x=K[M]&&K[M][k]),typeof x>"u"||!x.length||!x[0]){var oe="";re=[];for(ie in K[M])this.terminals_[ie]&&ie>Le&&re.push("'"+this.terminals_[ie]+"'");m.showPosition?oe="Parse error on line "+(te+1)+`: +`+m.showPosition()+` +Expecting `+re.join(", ")+", got '"+(this.terminals_[k]||k)+"'":oe="Parse error on line "+(te+1)+": Unexpected "+(k==be?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(oe,{text:m.match,token:this.terminals_[k]||k,line:m.yylineno,loc:ae,expected:re})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+k);switch(x[0]){case 1:l.push(k),f.push(m.yytext),s.push(m.yylloc),l.push(x[1]),k=null,Ie=m.yyleng,E=m.yytext,te=m.yylineno,ae=m.yylloc;break;case 2:if(V=this.productions_[x[1]][1],H.$=f[f.length-V],H._$={first_line:s[s.length-(V||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(V||1)].first_column,last_column:s[s.length-1].last_column},Ce&&(H._$.range=[s[s.length-(V||1)].range[0],s[s.length-1].range[1]]),le=this.performAction.apply(H,[E,Ie,te,C.yy,x[1],f,s].concat(Oe)),typeof le<"u")return le;V&&(l=l.slice(0,-1*V*2),f=f.slice(0,-1*V),s=s.slice(0,-1*V)),l.push(this.productions_[x[1]][0]),f.push(H.$),s.push(H._$),ke=K[l[l.length-2]][l[l.length-1]],l.push(ke);break;case 3:return!0}}return!0},"parse")},$e=function(){var $={EOF:1,parseError:r(function(a,l){if(this.yy.parser)this.yy.parser.parseError(a,l);else throw new Error(a)},"parseError"),setInput:r(function(i,a){return this.yy=a||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:r(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var a=i.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:r(function(i){var a=i.length,l=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===n.length?this.yylloc.first_column:0)+n[n.length-l.length].length-l[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:r(function(){return this._more=!0,this},"more"),reject:r(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:r(function(i){this.unput(this.match.slice(i))},"less"),pastInput:r(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:r(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:r(function(){var i=this.pastInput(),a=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+a+"^"},"showPosition"),test_match:r(function(i,a){var l,n,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),n=i[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],l=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var s in f)this[s]=f[s];return!1}return!1},"test_match"),next:r(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,a,l,n;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),s=0;sa[0].length)){if(a=l,n=s,this.options.backtrack_lexer){if(i=this.test_match(l,f[s]),i!==!1)return i;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(i=this.test_match(a,f[n]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:r(function(){var a=this.next();return a||this.lex()},"lex"),begin:r(function(a){this.conditionStack.push(a)},"begin"),popState:r(function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:r(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:r(function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:r(function(a){this.begin(a)},"pushState"),stateStackSize:r(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:r(function(a,l,n,f){switch(n){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return l.yytext=l.yytext.trim(),62}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return $}();ne.lexer=$e;function ee(){this.yy={}}return r(ee,"Parser"),ee.prototype=ne,ne.Parser=ee,new ee}();he.parser=he;var Ke=he,de=[],T={},G=new Map,L={},z=new Map,Ge={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},ze={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},je={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Xe={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},Je=r((e,t)=>(G.has(e)||G.set(e,{name:e,type:t,id:T.id,text:T.text,risk:T.risk,verifyMethod:T.verifyMethod}),T={},G.get(e)),"addRequirement"),Ze=r(()=>G,"getRequirements"),et=r(e=>{T!==void 0&&(T.id=e)},"setNewReqId"),tt=r(e=>{T!==void 0&&(T.text=e)},"setNewReqText"),it=r(e=>{T!==void 0&&(T.risk=e)},"setNewReqRisk"),rt=r(e=>{T!==void 0&&(T.verifyMethod=e)},"setNewReqVerifyMethod"),nt=r(e=>(z.has(e)||(z.set(e,{name:e,type:L.type,docRef:L.docRef}),xe.info("Added new requirement: ",e)),L={},z.get(e)),"addElement"),st=r(()=>z,"getElements"),at=r(e=>{L!==void 0&&(L.type=e)},"setNewElementType"),lt=r(e=>{L!==void 0&&(L.docRef=e)},"setNewElementDocRef"),ot=r((e,t,c)=>{de.push({type:e,src:t,dst:c})},"addRelationship"),ct=r(()=>de,"getRelationships"),ht=r(()=>{de=[],T={},G=new Map,L={},z=new Map,Ue()},"clear"),ut={RequirementType:Ge,RiskLevel:ze,VerifyType:je,Relationships:Xe,getConfig:r(()=>ve().req,"getConfig"),addRequirement:Je,getRequirements:Ze,setNewReqId:et,setNewReqText:tt,setNewReqRisk:it,setNewReqVerifyMethod:rt,setAccTitle:Fe,getAccTitle:De,setAccDescription:Pe,getAccDescription:Ye,addElement:nt,getElements:st,setNewElementType:at,setNewElementDocRef:lt,addRelationship:ot,getRelationships:ct,clear:ht},dt=r(e=>` + + marker { + fill: ${e.relationColor}; + stroke: ${e.relationColor}; + } + + marker.cross { + stroke: ${e.lineColor}; + } + + svg { + font-family: ${e.fontFamily}; + font-size: ${e.fontSize}; + } + + .reqBox { + fill: ${e.requirementBackground}; + fill-opacity: 1.0; + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${e.requirementTextColor}; + } + .reqLabelBox { + fill: ${e.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + .relationshipLine { + stroke: ${e.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${e.relationLabelColor}; + } + +`,"getStyles"),pt=dt,ue={CONTAINS:"contains",ARROW:"arrow"},ft=r((e,t)=>{let c=e.append("defs").append("marker").attr("id",ue.CONTAINS+"_line_ending").attr("refX",0).attr("refY",t.line_height/2).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("g");c.append("circle").attr("cx",t.line_height/2).attr("cy",t.line_height/2).attr("r",t.line_height/2).attr("fill","none"),c.append("line").attr("x1",0).attr("x2",t.line_height).attr("y1",t.line_height/2).attr("y2",t.line_height/2).attr("stroke-width",1),c.append("line").attr("y1",0).attr("y2",t.line_height).attr("x1",t.line_height/2).attr("x2",t.line_height/2).attr("stroke-width",1),e.append("defs").append("marker").attr("id",ue.ARROW+"_line_ending").attr("refX",t.line_height).attr("refY",.5*t.line_height).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${t.line_height},${t.line_height/2} + M${t.line_height},${t.line_height/2} + L0,${t.line_height}`).attr("stroke-width",1)},"insertLineEndings"),we={ReqMarkers:ue,insertLineEndings:ft},_={},Ne=0,Ae=r((e,t)=>e.insert("rect","#"+t).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",_.rect_min_width+"px").attr("height",_.rect_min_height+"px"),"newRectNode"),qe=r((e,t,c)=>{let d=_.rect_min_width/2,u=e.append("text").attr("class","req reqLabel reqTitle").attr("id",t).attr("x",d).attr("y",_.rect_padding).attr("dominant-baseline","hanging"),p=0;c.forEach(g=>{p==0?u.append("tspan").attr("text-anchor","middle").attr("x",_.rect_min_width/2).attr("dy",0).text(g):u.append("tspan").attr("text-anchor","middle").attr("x",_.rect_min_width/2).attr("dy",_.line_height*.75).text(g),p++});let y=1.5*_.rect_padding,h=p*_.line_height*.75,o=y+h;return e.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",_.rect_min_width).attr("y1",o).attr("y2",o),{titleNode:u,y:o}},"newTitleNode"),Ve=r((e,t,c,d)=>{let u=e.append("text").attr("class","req reqLabel").attr("id",t).attr("x",_.rect_padding).attr("y",d).attr("dominant-baseline","hanging"),p=0;const y=30;let h=[];return c.forEach(o=>{let g=o.length;for(;g>y&&p<3;){let R=o.substring(0,y);o=o.substring(y,o.length),g=o.length,h[h.length]=R,p++}if(p==3){let R=h[h.length-1];h[h.length-1]=R.substring(0,R.length-4)+"..."}else h[h.length]=o;p=0}),h.forEach(o=>{u.append("tspan").attr("x",_.rect_padding).attr("dy",_.line_height).text(o)}),u},"newBodyNode"),yt=r((e,t,c,d)=>{const u=t.node().getTotalLength(),p=t.node().getPointAtLength(u*.5),y="rel"+Ne;Ne++;const o=e.append("text").attr("class","req relationshipLabel").attr("id",y).attr("x",p.x).attr("y",p.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d).node().getBBox();e.insert("rect","#"+y).attr("class","req reqLabelBox").attr("x",p.x-o.width/2).attr("y",p.y-o.height/2).attr("width",o.width).attr("height",o.height).attr("fill","white").attr("fill-opacity","85%")},"addEdgeLabel"),_t=r(function(e,t,c,d,u){const p=c.edge(W(t.src),W(t.dst)),y=Qe().x(function(o){return o.x}).y(function(o){return o.y}),h=e.insert("path","#"+d).attr("class","er relationshipLine").attr("d",y(p.points)).attr("fill","none");t.type==u.db.Relationships.CONTAINS?h.attr("marker-start","url("+Te.getUrl(_.arrowMarkerAbsolute)+"#"+t.type+"_line_ending)"):(h.attr("stroke-dasharray","10,7"),h.attr("marker-end","url("+Te.getUrl(_.arrowMarkerAbsolute)+"#"+we.ReqMarkers.ARROW+"_line_ending)")),yt(e,h,_,`<<${t.type}>>`)},"drawRelationshipFromLayout"),gt=r((e,t,c)=>{e.forEach((d,u)=>{u=W(u),xe.info("Added new requirement: ",u);const p=c.append("g").attr("id",u),y="req-"+u,h=Ae(p,y);let o=[],g=qe(p,u+"_title",[`<<${d.type}>>`,`${d.name}`]);o.push(g.titleNode);let R=Ve(p,u+"_body",[`Id: ${d.id}`,`Text: ${d.text}`,`Risk: ${d.risk}`,`Verification: ${d.verifyMethod}`],g.y);o.push(R);const I=h.node().getBBox();t.setNode(u,{width:I.width,height:I.height,shape:"rect",id:u})})},"drawReqs"),Et=r((e,t,c)=>{e.forEach((d,u)=>{const p=W(u),y=c.append("g").attr("id",p),h="element-"+p,o=Ae(y,h);let g=[],R=qe(y,h+"_title",["<>",`${u}`]);g.push(R.titleNode);let I=Ve(y,h+"_body",[`Type: ${d.type||"Not Specified"}`,`Doc Ref: ${d.docRef||"None"}`],R.y);g.push(I);const b=o.node().getBBox();t.setNode(p,{width:b.width,height:b.height,shape:"rect",id:p})})},"drawElements"),Rt=r((e,t)=>(e.forEach(function(c){let d=W(c.src),u=W(c.dst);t.setEdge(d,u,{relationship:c})}),e),"addRelationships"),mt=r(function(e,t){t.nodes().forEach(function(c){c!==void 0&&t.node(c)!==void 0&&(e.select("#"+c),e.select("#"+c).attr("transform","translate("+(t.node(c).x-t.node(c).width/2)+","+(t.node(c).y-t.node(c).height/2)+" )"))})},"adjustEntities"),W=r(e=>e.replace(/\s/g,"").replace(/\./g,"_"),"elementString"),It=r((e,t,c,d)=>{_=ve().requirement;const u=_.securityLevel;let p;u==="sandbox"&&(p=ce("#i"+t));const h=(u==="sandbox"?ce(p.nodes()[0].contentDocument.body):ce("body")).select(`[id='${t}']`);we.insertLineEndings(h,_);const o=new He({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:_.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let g=d.db.getRequirements(),R=d.db.getElements(),I=d.db.getRelationships();gt(g,o,h),Et(R,o,h),Rt(I,o),We(o),mt(h,o),I.forEach(function(A){_t(h,A,o,t,d)});const b=_.rect_padding,w=h.node().getBBox(),q=w.width+b*2,v=w.height+b*2;Be(h,v,q,_.useMaxWidth),h.attr("viewBox",`${w.x-b} ${w.y-b} ${q} ${v}`)},"draw"),bt={draw:It},Vt={parser:Ke,db:ut,renderer:bt,styles:pt};export{Vt as diagram}; diff --git a/_nuxt/D-qyYwsU.js b/_nuxt/D-qyYwsU.js new file mode 100644 index 000000000..62f7d2050 --- /dev/null +++ b/_nuxt/D-qyYwsU.js @@ -0,0 +1 @@ +import{d as r,c as n,B as c,x as h,a as o,C as d,o as l,b as u,q as f}from"./DzgF3Vew.js";const g=["src","alt","width","height"],p=r({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(e){const t=e,i=n(()=>{var a;if((a=t.src)!=null&&a.startsWith("/")&&!t.src.startsWith("//")){const s=c(h(o().app.baseURL));if(s!=="/"&&!t.src.startsWith(s))return d(s,t.src)}return t.src});return(a,s)=>(l(),u("img",{src:f(i),alt:e.alt,width:e.width,height:e.height},null,8,g))}});export{p as default}; diff --git a/_nuxt/D5vXOEyf.js b/_nuxt/D5vXOEyf.js deleted file mode 100644 index e433de2f1..000000000 --- a/_nuxt/D5vXOEyf.js +++ /dev/null @@ -1,59 +0,0 @@ -var Ot=Object.defineProperty;var Ct=(e,t,n)=>t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var T=(e,t,n)=>(Ct(e,typeof t!="symbol"?t+"":t,n),n);import{d as ze,u as Pe,a as Lt,e as jt,f as Nt,b as Pt,_ as Bt,c as Ft}from"./BJxZixah.js";import{C as Q,D as Mt,E as st,G as Dt,H as qt,I as be,j as v,J as $e,y as O,K,_ as Ae,m as Re,g as D,h as B,i as G,k as rt,l as ee,o as w,c as S,a as y,F as W,B as se,t as C,n as it,s as L,r as he,b as V,v as re,L as We,M as Ht,N as ie,O as Le,P as at,Q as Ut,R as ot,S as Ze,T as ue,q as te,w as U,U as Vt,d as ye,V as Wt,W as Zt,X as Qt,p as Gt,f as Kt}from"./ZI84DZB4.js";import"./IShi1APO.js";const Xt=Symbol.for("nuxt:client-only"),Jt="data-n-ids",Yt="-";function en(e){var s,r,i,a,o,d;if(typeof e!="string")throw new TypeError("[nuxt] [useId] key must be a string.");e=`n${e.slice(1)}`;const t=Mt(),n=st();if(!n)throw new TypeError("[nuxt] `useId` must be called within a component setup function.");t._id||(t._id=0),n._nuxtIdIndex||(n._nuxtIdIndex={}),(s=n._nuxtIdIndex)[e]||(s[e]=0);const l=e+Yt+n._nuxtIdIndex[e]++;if(t.payload.serverRendered&&t.isHydrating&&!Q(Xt,!1)){const u=((r=n.vnode.el)==null?void 0:r.nodeType)===8&&((a=(i=n.vnode.el)==null?void 0:i.nextElementSibling)!=null&&a.getAttribute)?(o=n.vnode.el)==null?void 0:o.nextElementSibling:n.vnode.el,c=JSON.parse(((d=u==null?void 0:u.getAttribute)==null?void 0:d.call(u,Jt))||"{}");if(c[l])return c[l]}return e+"_"+t._id++}function tn(e){return Dt()?(qt(e),!0):!1}function Ie(e){return typeof e=="function"?e():be(e)}const nn=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Qe=()=>{};function ln(e,t){function n(...l){return new Promise((s,r)=>{Promise.resolve(e(()=>t.apply(this,l),{fn:t,thisArg:this,args:l})).then(s).catch(r)})}return n}function sn(e,t={}){let n,l,s=Qe;const r=a=>{clearTimeout(a),s(),s=Qe};return a=>{const o=Ie(e),d=Ie(t.maxWait);return n&&r(n),o<=0||d!==void 0&&d<=0?(l&&(r(l),l=null),Promise.resolve(a())):new Promise((u,c)=>{s=t.rejectOnCancel?c:u,d&&!l&&(l=setTimeout(()=>{n&&r(n),l=null,u(a())},d)),n=setTimeout(()=>{l&&r(l),l=null,u(a())},o)})}}function rn(e,t=200,n={}){return ln(sn(t,n),e)}const an=nn?window:void 0;function Ge(e){var t;const n=Ie(e);return(t=n==null?void 0:n.$el)!=null?t:n}function on(){const e=O(!1),t=st();return t&&K(()=>{e.value=!0},t),e}function un(e){const t=on();return v(()=>(t.value,!!e()))}function cn(e,t,n={}){const{window:l=an,...s}=n;let r;const i=un(()=>l&&"ResizeObserver"in l),a=()=>{r&&(r.disconnect(),r=void 0)},o=v(()=>{const c=Ie(e);return Array.isArray(c)?c.map(h=>Ge(h)):[Ge(c)]}),d=$e(o,c=>{if(a(),i.value&&l){r=new ResizeObserver(t);for(const h of c)h&&r.observe(h,s)}},{immediate:!0,flush:"post"}),u=()=>{a(),d()};return tn(u),{isSupported:i,stop:u}}const dn={wrapper:{horizontal:"inline-flex -space-x-px",vertical:"inline-flex flex-col -space-y-px"},rounded:"rounded-md",shadow:"shadow-sm",orientation:{"rounded-none":{horizontal:{start:"rounded-s-none",end:"rounded-e-none"},vertical:{start:"rounded-t-none",end:"rounded-b-none"}},"rounded-sm":{horizontal:{start:"rounded-s-sm",end:"rounded-e-sm"},vertical:{start:"rounded-t-sm",end:"rounded-b-sm"}},rounded:{horizontal:{start:"rounded-s",end:"rounded-e"},vertical:{start:"rounded-t",end:"rounded-b"}},"rounded-md":{horizontal:{start:"rounded-s-md",end:"rounded-e-md"},vertical:{start:"rounded-t-md",end:"rounded-b-md"}},"rounded-lg":{horizontal:{start:"rounded-s-lg",end:"rounded-e-lg"},vertical:{start:"rounded-t-lg",end:"rounded-b-lg"}},"rounded-xl":{horizontal:{start:"rounded-s-xl",end:"rounded-e-xl"},vertical:{start:"rounded-t-xl",end:"rounded-b-xl"}},"rounded-2xl":{horizontal:{start:"rounded-s-2xl",end:"rounded-e-2xl"},vertical:{start:"rounded-t-2xl",end:"rounded-b-2xl"}},"rounded-3xl":{horizontal:{start:"rounded-s-3xl",end:"rounded-e-3xl"},vertical:{start:"rounded-t-3xl",end:"rounded-b-3xl"}},"rounded-full":{horizontal:{start:"rounded-s-full",end:"rounded-e-full"},vertical:{start:"rounded-t-full",end:"rounded-b-full"}}}},pn={wrapper:"relative",base:"relative block w-full disabled:cursor-not-allowed disabled:opacity-75 focus:outline-none border-0",form:"form-input",rounded:"rounded-md",placeholder:"placeholder-gray-400 dark:placeholder-gray-500",file:{base:"file:mr-1.5 file:font-medium file:text-gray-500 dark:file:text-gray-400 file:bg-transparent file:border-0 file:p-0 file:outline-none"},size:{"2xs":"text-xs",xs:"text-xs",sm:"text-sm",md:"text-sm",lg:"text-sm",xl:"text-base"},gap:{"2xs":"gap-x-1",xs:"gap-x-1.5",sm:"gap-x-1.5",md:"gap-x-2",lg:"gap-x-2.5",xl:"gap-x-2.5"},padding:{"2xs":"px-2 py-1",xs:"px-2.5 py-1.5",sm:"px-2.5 py-1.5",md:"px-3 py-2",lg:"px-3.5 py-2.5",xl:"px-3.5 py-2.5"},leading:{padding:{"2xs":"ps-7",xs:"ps-8",sm:"ps-9",md:"ps-10",lg:"ps-11",xl:"ps-12"}},trailing:{padding:{"2xs":"pe-7",xs:"pe-8",sm:"pe-9",md:"pe-10",lg:"pe-11",xl:"pe-12"}},color:{white:{outline:"shadow-sm bg-white dark:bg-gray-900 text-gray-900 dark:text-white ring-1 ring-inset ring-gray-300 dark:ring-gray-700 focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400"},gray:{outline:"shadow-sm bg-gray-50 dark:bg-gray-800 text-gray-900 dark:text-white ring-1 ring-inset ring-gray-300 dark:ring-gray-700 focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400"}},variant:{outline:"shadow-sm bg-transparent text-gray-900 dark:text-white ring-1 ring-inset ring-{color}-500 dark:ring-{color}-400 focus:ring-2 focus:ring-{color}-500 dark:focus:ring-{color}-400",none:"bg-transparent focus:ring-0 focus:shadow-none"},icon:{base:"flex-shrink-0 text-gray-400 dark:text-gray-500",color:"text-{color}-500 dark:text-{color}-400",loading:"animate-spin",size:{"2xs":"h-4 w-4",xs:"h-4 w-4",sm:"h-5 w-5",md:"h-5 w-5",lg:"h-5 w-5",xl:"h-6 w-6"},leading:{wrapper:"absolute inset-y-0 start-0 flex items-center",pointer:"pointer-events-none",padding:{"2xs":"px-2",xs:"px-2.5",sm:"px-2.5",md:"px-3",lg:"px-3.5",xl:"px-3.5"}},trailing:{wrapper:"absolute inset-y-0 end-0 flex items-center",pointer:"pointer-events-none",padding:{"2xs":"px-2",xs:"px-2.5",sm:"px-2.5",md:"px-3",lg:"px-3.5",xl:"px-3.5"}}},default:{size:"sm",color:"white",variant:"outline",loadingIcon:"i-heroicons-arrow-path-20-solid"}},hn={...pn,form:"form-select",placeholder:"text-gray-400 dark:text-gray-500",default:{size:"sm",color:"white",variant:"outline",loadingIcon:"i-heroicons-arrow-path-20-solid",trailingIcon:"i-heroicons-chevron-down-20-solid"}},fn={wrapper:"relative space-y-2",container:"relative w-full",base:"focus:outline-none",list:{base:"relative",background:"bg-gray-100 dark:bg-gray-800",rounded:"rounded-lg",shadow:"",padding:"p-1",height:"h-10",width:"w-full",marker:{wrapper:"absolute top-[4px] left-[4px] duration-200 ease-out focus:outline-none",base:"w-full h-full",background:"bg-white dark:bg-gray-900",rounded:"rounded-md",shadow:"shadow-sm"},tab:{base:"relative inline-flex items-center justify-center flex-shrink-0 w-full ui-focus-visible:outline-0 ui-focus-visible:ring-2 ui-focus-visible:ring-primary-500 dark:ui-focus-visible:ring-primary-400 ui-not-focus-visible:outline-none focus:outline-none disabled:cursor-not-allowed disabled:opacity-75 transition-colors duration-200 ease-out",background:"",active:"text-gray-900 dark:text-white",inactive:"text-gray-500 dark:text-gray-400",height:"h-8",padding:"px-3",size:"text-sm",font:"font-medium",rounded:"rounded-md",shadow:"",icon:"w-4 h-4 flex-shrink-0 me-2"}}},gn=(e,t,n=!0)=>{const l=Q("form-events",void 0),s=Q("form-group",void 0),r=Q("form-inputs",void 0);s&&(!n||e!=null&&e.legend?s.inputId.value=void 0:e!=null&&e.id&&(s.inputId.value=e==null?void 0:e.id),r&&(r.value[s.name.value]=s.inputId.value));const i=O(!1);function a(c,h){l&&l.emit({type:c,path:h})}function o(){a("blur",s==null?void 0:s.name.value),i.value=!0}function d(){a("change",s==null?void 0:s.name.value)}const u=rn(()=>{(i.value||s!=null&&s.eagerValidation.value)&&a("input",s==null?void 0:s.name.value)},300);return{inputId:v(()=>(e==null?void 0:e.id)??(s==null?void 0:s.inputId.value)),name:v(()=>(e==null?void 0:e.name)??(s==null?void 0:s.name.value)),size:v(()=>{var h;const c=t.size[s==null?void 0:s.size.value]?s==null?void 0:s.size.value:null;return(e==null?void 0:e.size)??c??((h=t.default)==null?void 0:h.size)}),color:v(()=>{var c;return(c=s==null?void 0:s.error)!=null&&c.value?"red":e==null?void 0:e.color}),emitFormBlur:o,emitFormInput:u,emitFormChange:d}},H=Re(D.ui.strategy,D.ui.select,hn),bn=B({components:{UIcon:ze},inheritAttrs:!1,props:{modelValue:{type:[String,Number,Object],default:""},id:{type:String,default:null},name:{type:String,default:null},placeholder:{type:String,default:null},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},icon:{type:String,default:null},loadingIcon:{type:String,default:()=>H.default.loadingIcon},leadingIcon:{type:String,default:null},trailingIcon:{type:String,default:()=>H.default.trailingIcon},trailing:{type:Boolean,default:!1},leading:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},padded:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},size:{type:String,default:null,validator(e){return Object.keys(H.size).includes(e)}},color:{type:String,default:()=>H.default.color,validator(e){return[...D.ui.colors,...Object.keys(H.color)].includes(e)}},variant:{type:String,default:()=>H.default.variant,validator(e){return[...Object.keys(H.variant),...Object.values(H.color).flatMap(t=>Object.keys(t))].includes(e)}},optionAttribute:{type:String,default:"label"},valueAttribute:{type:String,default:"value"},selectClass:{type:String,default:null},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},emits:["update:modelValue","change"],setup(e,{emit:t,slots:n}){const{ui:l,attrs:s}=Pe("select",G(e,"ui"),H,G(e,"class")),{size:r,rounded:i}=Lt({ui:l,props:e}),{emitFormChange:a,inputId:o,color:d,size:u,name:c}=gn(e,H),h=v(()=>r.value??u.value),b=R=>{t("update:modelValue",R.target.value)},g=R=>{t("change",R.target.value),a()},p=R=>We(R,e.valueAttribute,""),f=R=>We(R,e.optionAttribute,""),k=R=>["string","number","boolean"].includes(typeof R)?{[e.valueAttribute]:R,[e.optionAttribute]:R}:{...R,[e.valueAttribute]:p(R),[e.optionAttribute]:f(R)},m=v(()=>e.options.map(R=>k(R))),_=v(()=>e.placeholder?[{[e.valueAttribute]:"",[e.optionAttribute]:e.placeholder,disabled:!0},...m.value]:m.value),A=v(()=>{const R=k(e.modelValue),oe=_.value.find(xe=>xe[e.valueAttribute]===R[e.valueAttribute]);return oe?oe[e.valueAttribute]:""}),z=v(()=>{var oe,xe;const R=((xe=(oe=l.value.color)==null?void 0:oe[d.value])==null?void 0:xe[e.variant])||l.value.variant[e.variant];return rt(ee(l.value.base,l.value.form,i.value,l.value.size[h.value],e.padded?l.value.padding[h.value]:"p-0",R==null?void 0:R.replaceAll("{color}",d.value),(x.value||n.leading)&&l.value.leading.padding[h.value],(q.value||n.trailing)&&l.value.trailing.padding[h.value]),e.placeholder&&!e.modelValue&&l.value.placeholder,e.selectClass)}),x=v(()=>e.icon&&e.leading||e.icon&&!e.trailing||e.loading&&!e.trailing||e.leadingIcon),q=v(()=>e.icon&&e.trailing||e.loading&&e.trailing||e.trailingIcon),Oe=v(()=>e.loading?e.loadingIcon:e.leadingIcon||e.icon),St=v(()=>e.loading&&!x.value?e.loadingIcon:e.trailingIcon||e.icon),zt=v(()=>ee(l.value.icon.leading.wrapper,l.value.icon.leading.pointer,l.value.icon.leading.padding[h.value])),At=v(()=>ee(l.value.icon.base,d.value&&D.ui.colors.includes(d.value)&&l.value.icon.color.replaceAll("{color}",d.value),l.value.icon.size[h.value],e.loading&&l.value.icon.loading)),Rt=v(()=>ee(l.value.icon.trailing.wrapper,l.value.icon.trailing.pointer,l.value.icon.trailing.padding[h.value])),Et=v(()=>ee(l.value.icon.base,d.value&&D.ui.colors.includes(d.value)&&l.value.icon.color.replaceAll("{color}",d.value),l.value.icon.size[h.value],e.loading&&!x.value&&l.value.icon.loading));return{ui:l,attrs:s,name:c,inputId:o,normalizedOptionsWithPlaceholder:_,normalizedValue:A,isLeading:x,isTrailing:q,selectClass:z,leadingIconName:Oe,leadingIconClass:At,leadingWrapperIconClass:zt,trailingIconName:St,trailingIconClass:Et,trailingWrapperIconClass:Rt,onInput:b,onChange:g}}}),mn=["id","name","value","required","disabled"],vn=["value","label"],kn=["value","selected","disabled","textContent"],xn=["value","selected","disabled","textContent"];function wn(e,t,n,l,s,r){const i=ze;return w(),S("div",{class:L(e.ui.wrapper)},[y("select",it({id:e.inputId,name:e.name,value:e.modelValue,required:e.required,disabled:e.disabled,class:e.selectClass},e.attrs,{onInput:t[0]||(t[0]=(...a)=>e.onInput&&e.onInput(...a)),onChange:t[1]||(t[1]=(...a)=>e.onChange&&e.onChange(...a))}),[(w(!0),S(W,null,se(e.normalizedOptionsWithPlaceholder,(a,o)=>(w(),S(W,null,[a.children?(w(),S("optgroup",{key:`${a[e.valueAttribute]}-optgroup-${o}`,value:a[e.valueAttribute],label:a[e.optionAttribute]},[(w(!0),S(W,null,se(a.children,(d,u)=>(w(),S("option",{key:`${d[e.valueAttribute]}-${o}-${u}`,value:d[e.valueAttribute],selected:d[e.valueAttribute]===e.normalizedValue,disabled:d.disabled,textContent:C(d[e.optionAttribute])},null,8,kn))),128))],8,vn)):(w(),S("option",{key:`${a[e.valueAttribute]}-${o}`,value:a[e.valueAttribute],selected:a[e.valueAttribute]===e.normalizedValue,disabled:a.disabled,textContent:C(a[e.optionAttribute])},null,8,xn))],64))),256))],16,mn),e.isLeading&&e.leadingIconName||e.$slots.leading?(w(),S("span",{key:0,class:L(e.leadingWrapperIconClass)},[he(e.$slots,"leading",{disabled:e.disabled,loading:e.loading},()=>[V(i,{name:e.leadingIconName,class:L(e.leadingIconClass)},null,8,["name","class"])],!0)],2)):re("",!0),e.isTrailing&&e.trailingIconName||e.$slots.trailing?(w(),S("span",{key:1,class:L(e.trailingWrapperIconClass)},[he(e.$slots,"trailing",{disabled:e.disabled,loading:e.loading},()=>[V(i,{name:e.trailingIconName,class:L(e.trailingIconClass),"aria-hidden":"true"},null,8,["name","class"])],!0)],2)):re("",!0)],2)}const yn=Ae(bn,[["render",wn],["__scopeId","data-v-9f80dc9e"]]),$n=Re(D.ui.strategy,D.ui.button,jt),In=Re(D.ui.strategy,D.ui.buttonGroup,dn),_n=B({name:"ButtonGroup",inheritAttrs:!1,props:{size:{type:String,default:null,validator(e){return Object.keys($n.size).includes(e)}},orientation:{type:String,default:"horizontal",validator(e){return["horizontal","vertical"].includes(e)}},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},setup(e,{slots:t}){const{ui:n,attrs:l}=Pe("buttonGroup",G(e,"ui"),In),s=v(()=>Ht(t)),r=v(()=>rt(ee(n.value.wrapper[e.orientation],n.value.rounded,n.value.shadow),e.class)),i=v(()=>n.value.orientation[n.value.rounded][e.orientation]);return Nt({orientation:G(e,"orientation"),size:G(e,"size"),ui:n,rounded:i}),()=>ie("div",{class:r.value,...l.value},s.value)}});function Tn(e){typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e).catch(t=>setTimeout(()=>{throw t}))}var Ke;let ut=Symbol("headlessui.useid"),Sn=0;const ct=(Ke=void 0)!=null?Ke:function(){return Q(ut,()=>`${++Sn}`)()};function zn(e){Le(ut,e)}function E(e){var t;if(e==null||e.value==null)return null;let n=(t=e.value.$el)!=null?t:e.value;return n instanceof Node?n:null}function le(e,t,...n){if(e in t){let s=t[e];return typeof s=="function"?s(...n):s}let l=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(s=>`"${s}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(l,le),l}var An=Object.defineProperty,Rn=(e,t,n)=>t in e?An(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xe=(e,t,n)=>(Rn(e,typeof t!="symbol"?t+"":t,n),n);let En=class{constructor(){Xe(this,"current",this.detect()),Xe(this,"currentId",0)}set(t){this.current!==t&&(this.currentId=0,this.current=t)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current==="server"}get isClient(){return this.current==="client"}detect(){return typeof window>"u"||typeof document>"u"?"server":"client"}},On=new En;function Cn(e){if(On.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty("value")){let t=E(e);if(t)return t.ownerDocument}return document}let Ln=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var F=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(F||{}),pe=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(pe||{}),jn=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(jn||{});function Nn(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(Ln)).sort((t,n)=>Math.sign((t.tabIndex||Number.MAX_SAFE_INTEGER)-(n.tabIndex||Number.MAX_SAFE_INTEGER)))}var Pn=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Pn||{}),Bn=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Mouse=1]="Mouse",e))(Bn||{});typeof window<"u"&&typeof document<"u"&&(document.addEventListener("keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0));let Fn=["textarea","input"].join(",");function Mn(e){var t,n;return(n=(t=e==null?void 0:e.matches)==null?void 0:t.call(e,Fn))!=null?n:!1}function ne(e,t=n=>n){return e.slice().sort((n,l)=>{let s=t(n),r=t(l);if(s===null||r===null)return 0;let i=s.compareDocumentPosition(r);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Y(e,t,{sorted:n=!0,relativeTo:l=null,skipElements:s=[]}={}){var r;let i=(r=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)!=null?r:document,a=Array.isArray(e)?n?ne(e):e:Nn(e);s.length>0&&a.length>1&&(a=a.filter(g=>!s.includes(g))),l=l??i.activeElement;let o=(()=>{if(t&5)return 1;if(t&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),d=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,a.indexOf(l))-1;if(t&4)return Math.max(0,a.indexOf(l))+1;if(t&8)return a.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),u=t&32?{preventScroll:!0}:{},c=0,h=a.length,b;do{if(c>=h||c+h<=0)return 0;let g=d+c;if(t&16)g=(g+h)%h;else{if(g<0)return 3;if(g>=h)return 1}b=a[g],b==null||b.focus(u),c+=o}while(b!==i.activeElement);return t&6&&Mn(b)&&b.select(),2}function Je(e,t){if(e)return e;let n=t??"button";if(typeof n=="string"&&n.toLowerCase()==="button")return"button"}function Dn(e,t){let n=O(Je(e.value.type,e.value.as));return K(()=>{n.value=Je(e.value.type,e.value.as)}),at(()=>{var l;n.value||E(t)&&E(t)instanceof HTMLButtonElement&&!((l=E(t))!=null&&l.hasAttribute("type"))&&(n.value="button")}),n}var je=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(je||{}),qn=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(qn||{});function ae({visible:e=!0,features:t=0,ourProps:n,theirProps:l,...s}){var r;let i=pt(l,n),a=Object.assign(s,{props:i});if(e||t&2&&i.static)return Ce(a);if(t&1){let o=(r=i.unmount)==null||r?0:1;return le(o,{0(){return null},1(){return Ce({...s,props:{...i,hidden:!0,style:{display:"none"}}})}})}return Ce(a)}function Ce({props:e,attrs:t,slots:n,slot:l,name:s}){var r,i;let{as:a,...o}=ht(e,["unmount","static"]),d=(r=n.default)==null?void 0:r.call(n,l),u={};if(l){let c=!1,h=[];for(let[b,g]of Object.entries(l))typeof g=="boolean"&&(c=!0),g===!0&&h.push(b);c&&(u["data-headlessui-state"]=h.join(" "))}if(a==="template"){if(d=dt(d??[]),Object.keys(o).length>0||Object.keys(t).length>0){let[c,...h]=d??[];if(!Hn(c)||h.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${s} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(o).concat(Object.keys(t)).map(p=>p.trim()).filter((p,f,k)=>k.indexOf(p)===f).sort((p,f)=>p.localeCompare(f)).map(p=>` - ${p}`).join(` -`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map(p=>` - ${p}`).join(` -`)].join(` -`));let b=pt((i=c.props)!=null?i:{},o,u),g=Ut(c,b,!0);for(let p in b)p.startsWith("on")&&(g.props||(g.props={}),g.props[p]=b[p]);return g}return Array.isArray(d)&&d.length===1?d[0]:d}return ie(a,Object.assign({},o,u),{default:()=>d})}function dt(e){return e.flatMap(t=>t.type===W?dt(t.children):[t])}function pt(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={},n={};for(let l of e)for(let s in l)s.startsWith("on")&&typeof l[s]=="function"?(n[s]!=null||(n[s]=[]),n[s].push(l[s])):t[s]=l[s];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map(l=>[l,void 0])));for(let l in n)Object.assign(t,{[l](s,...r){let i=n[l];for(let a of i){if(s instanceof Event&&s.defaultPrevented)return;a(s,...r)}}});return t}function ht(e,t=[]){let n=Object.assign({},e);for(let l of t)l in n&&delete n[l];return n}function Hn(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}var ft=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(ft||{});let gt=B({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(e,{slots:t,attrs:n}){return()=>{var l;let{features:s,...r}=e,i={"aria-hidden":(s&2)===2?!0:(l=r["aria-hidden"])!=null?l:void 0,hidden:(s&4)===4?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(s&4)===4&&(s&2)!==2&&{display:"none"}}};return ae({ourProps:i,theirProps:r,slot:{},attrs:n,slots:t,name:"Hidden"})}}});var M=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(M||{});let Un=B({props:{onFocus:{type:Function,required:!0}},setup(e){let t=O(!0);return()=>t.value?ie(gt,{as:"button",type:"button",features:ft.Focusable,onFocus(n){n.preventDefault();let l,s=50;function r(){var i;if(s--<=0){l&&cancelAnimationFrame(l);return}if((i=e.onFocus)!=null&&i.call(e)){t.value=!1,cancelAnimationFrame(l);return}l=requestAnimationFrame(r)}l=requestAnimationFrame(r)}}):null}});var Vn=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(Vn||{}),Wn=(e=>(e[e.Less=-1]="Less",e[e.Equal=0]="Equal",e[e.Greater=1]="Greater",e))(Wn||{});let bt=Symbol("TabsContext");function me(e){let t=Q(bt,null);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,me),n}return t}let Be=Symbol("TabsSSRContext"),Zn=B({name:"TabGroup",emits:{change:e=>!0},props:{as:{type:[Object,String],default:"template"},selectedIndex:{type:[Number],default:null},defaultIndex:{type:[Number],default:0},vertical:{type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(e,{slots:t,attrs:n,emit:l}){var s;let r=O((s=e.selectedIndex)!=null?s:e.defaultIndex),i=O([]),a=O([]),o=v(()=>e.selectedIndex!==null),d=v(()=>o.value?e.selectedIndex:r.value);function u(p){var f;let k=ne(c.tabs.value,E),m=ne(c.panels.value,E),_=k.filter(A=>{var z;return!((z=E(A))!=null&&z.hasAttribute("disabled"))});if(p<0||p>k.length-1){let A=le(r.value===null?0:Math.sign(p-r.value),{[-1]:()=>1,0:()=>le(Math.sign(p),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0}),z=le(A,{0:()=>k.indexOf(_[0]),1:()=>k.indexOf(_[_.length-1])});z!==-1&&(r.value=z),c.tabs.value=k,c.panels.value=m}else{let A=k.slice(0,p),z=[...k.slice(p),...A].find(q=>_.includes(q));if(!z)return;let x=(f=k.indexOf(z))!=null?f:c.selectedIndex.value;x===-1&&(x=c.selectedIndex.value),r.value=x,c.tabs.value=k,c.panels.value=m}}let c={selectedIndex:v(()=>{var p,f;return(f=(p=r.value)!=null?p:e.defaultIndex)!=null?f:null}),orientation:v(()=>e.vertical?"vertical":"horizontal"),activation:v(()=>e.manual?"manual":"auto"),tabs:i,panels:a,setSelectedIndex(p){d.value!==p&&l("change",p),o.value||u(p)},registerTab(p){var f;if(i.value.includes(p))return;let k=i.value[r.value];if(i.value.push(p),i.value=ne(i.value,E),!o.value){let m=(f=i.value.indexOf(k))!=null?f:r.value;m!==-1&&(r.value=m)}},unregisterTab(p){let f=i.value.indexOf(p);f!==-1&&i.value.splice(f,1)},registerPanel(p){a.value.includes(p)||(a.value.push(p),a.value=ne(a.value,E))},unregisterPanel(p){let f=a.value.indexOf(p);f!==-1&&a.value.splice(f,1)}};Le(bt,c);let h=O({tabs:[],panels:[]}),b=O(!1);K(()=>{b.value=!0}),Le(Be,v(()=>b.value?null:h.value));let g=v(()=>e.selectedIndex);return K(()=>{$e([g],()=>{var p;return u((p=e.selectedIndex)!=null?p:e.defaultIndex)},{immediate:!0})}),at(()=>{if(!o.value||d.value==null||c.tabs.value.length<=0)return;let p=ne(c.tabs.value,E);p.some((f,k)=>E(c.tabs.value[k])!==E(f))&&c.setSelectedIndex(p.findIndex(f=>E(f)===E(c.tabs.value[d.value])))}),()=>{let p={selectedIndex:r.value};return ie(W,[i.value.length<=0&&ie(Un,{onFocus:()=>{for(let f of i.value){let k=E(f);if((k==null?void 0:k.tabIndex)===0)return k.focus(),!0}return!1}}),ae({theirProps:{...n,...ht(e,["selectedIndex","defaultIndex","manual","vertical","onChange"])},ourProps:{},slot:p,slots:t,attrs:n,name:"TabGroup"})])}}}),Qn=B({name:"TabList",props:{as:{type:[Object,String],default:"div"}},setup(e,{attrs:t,slots:n}){let l=me("TabList");return()=>{let s={selectedIndex:l.selectedIndex.value},r={role:"tablist","aria-orientation":l.orientation.value};return ae({ourProps:r,theirProps:e,slot:s,attrs:t,slots:n,name:"TabList"})}}}),Gn=B({name:"Tab",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:l}){var s;let r=(s=e.id)!=null?s:`headlessui-tabs-tab-${ct()}`,i=me("Tab"),a=O(null);l({el:a,$el:a}),K(()=>i.registerTab(a)),ot(()=>i.unregisterTab(a));let o=Q(Be),d=v(()=>{if(o.value){let m=o.value.tabs.indexOf(r);return m===-1?o.value.tabs.push(r)-1:m}return-1}),u=v(()=>{let m=i.tabs.value.indexOf(a);return m===-1?d.value:m}),c=v(()=>u.value===i.selectedIndex.value);function h(m){var _;let A=m();if(A===pe.Success&&i.activation.value==="auto"){let z=(_=Cn(a))==null?void 0:_.activeElement,x=i.tabs.value.findIndex(q=>E(q)===z);x!==-1&&i.setSelectedIndex(x)}return A}function b(m){let _=i.tabs.value.map(A=>E(A)).filter(Boolean);if(m.key===M.Space||m.key===M.Enter){m.preventDefault(),m.stopPropagation(),i.setSelectedIndex(u.value);return}switch(m.key){case M.Home:case M.PageUp:return m.preventDefault(),m.stopPropagation(),h(()=>Y(_,F.First));case M.End:case M.PageDown:return m.preventDefault(),m.stopPropagation(),h(()=>Y(_,F.Last))}if(h(()=>le(i.orientation.value,{vertical(){return m.key===M.ArrowUp?Y(_,F.Previous|F.WrapAround):m.key===M.ArrowDown?Y(_,F.Next|F.WrapAround):pe.Error},horizontal(){return m.key===M.ArrowLeft?Y(_,F.Previous|F.WrapAround):m.key===M.ArrowRight?Y(_,F.Next|F.WrapAround):pe.Error}}))===pe.Success)return m.preventDefault()}let g=O(!1);function p(){var m;g.value||(g.value=!0,!e.disabled&&((m=E(a))==null||m.focus({preventScroll:!0}),i.setSelectedIndex(u.value),Tn(()=>{g.value=!1})))}function f(m){m.preventDefault()}let k=Dn(v(()=>({as:e.as,type:t.type})),a);return()=>{var m,_;let A={selected:c.value,disabled:(m=e.disabled)!=null?m:!1},{...z}=e,x={ref:a,onKeydown:b,onMousedown:f,onClick:p,id:r,role:"tab",type:k.value,"aria-controls":(_=E(i.panels.value[u.value]))==null?void 0:_.id,"aria-selected":c.value,tabIndex:c.value?0:-1,disabled:e.disabled?!0:void 0};return ae({ourProps:x,theirProps:z,slot:A,attrs:t,slots:n,name:"Tab"})}}}),Kn=B({name:"TabPanels",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:n}){let l=me("TabPanels");return()=>{let s={selectedIndex:l.selectedIndex.value};return ae({theirProps:e,ourProps:{},slot:s,attrs:n,slots:t,name:"TabPanels"})}}}),Xn=B({name:"TabPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null},tabIndex:{type:Number,default:0}},setup(e,{attrs:t,slots:n,expose:l}){var s;let r=(s=e.id)!=null?s:`headlessui-tabs-panel-${ct()}`,i=me("TabPanel"),a=O(null);l({el:a,$el:a}),K(()=>i.registerPanel(a)),ot(()=>i.unregisterPanel(a));let o=Q(Be),d=v(()=>{if(o.value){let h=o.value.panels.indexOf(r);return h===-1?o.value.panels.push(r)-1:h}return-1}),u=v(()=>{let h=i.panels.value.indexOf(a);return h===-1?d.value:h}),c=v(()=>u.value===i.selectedIndex.value);return()=>{var h;let b={selected:c.value},{tabIndex:g,...p}=e,f={ref:a,id:r,role:"tabpanel","aria-labelledby":(h=E(i.tabs.value[u.value]))==null?void 0:h.id,tabIndex:c.value?g:-1};return!c.value&&e.unmount&&!e.static?ie(gt,{as:"span","aria-hidden":!0,...f}):ae({ourProps:f,theirProps:p,slot:b,attrs:t,slots:n,features:je.Static|je.RenderStrategy,visible:c.value,name:"TabPanel"})}}});const Jn=Re(D.ui.strategy,D.ui.tabs,fn),Yn=B({components:{UIcon:ze,HTabGroup:Zn,HTabList:Qn,HTab:Gn,HTabPanels:Kn,HTabPanel:Xn},inheritAttrs:!1,props:{modelValue:{type:Number,default:void 0},orientation:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},defaultIndex:{type:Number,default:0},items:{type:Array,default:()=>[]},unmount:{type:Boolean,default:!1},content:{type:Boolean,default:!0},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},emits:["update:modelValue","change"],setup(e,{emit:t}){const{ui:n,attrs:l}=Pe("tabs",G(e,"ui"),Jn,G(e,"class")),s=O(),r=O([]),i=O(),a=O(e.modelValue||e.defaultIndex);function o(u){var h;const c=(h=r.value[u])==null?void 0:h.$el;c&&i.value&&(i.value.style.top=`${c.offsetTop}px`,i.value.style.left=`${c.offsetLeft}px`,i.value.style.width=`${c.offsetWidth}px`,i.value.style.height=`${c.offsetHeight}px`)}function d(u){a.value=u,t("change",u),e.modelValue!==void 0&&t("update:modelValue",a.value),o(a.value)}return cn(s,()=>{o(a.value)}),$e(()=>e.modelValue,u=>{a.value=u,o(a.value)}),$e(()=>e.items,async()=>{await Ze(),o(a.value)},{deep:!0}),K(async()=>{await Ze(),o(a.value)}),zn(()=>en("$39Q85lIXra")),{ui:n,attrs:l,listRef:s,itemRefs:r,markerRef:i,selectedIndex:a,onChange:d}}}),el=["aria-label"],tl={class:"truncate"};function nl(e,t,n,l,s,r){const i=ze,a=ue("HTab"),o=ue("HTabList"),d=ue("HTabPanel"),u=ue("HTabPanels"),c=ue("HTabGroup");return w(),te(c,it({vertical:e.orientation==="vertical","selected-index":e.selectedIndex,as:"div",class:e.ui.wrapper},e.attrs,{onChange:e.onChange}),{default:U(()=>[V(o,{ref:"listRef",class:L([e.ui.list.base,e.ui.list.background,e.ui.list.rounded,e.ui.list.shadow,e.ui.list.padding,e.ui.list.width,e.orientation==="horizontal"&&e.ui.list.height,e.orientation==="horizontal"&&"inline-grid items-center"]),style:Vt([e.orientation==="horizontal"&&`grid-template-columns: repeat(${e.items.length}, minmax(0, 1fr))`])},{default:U(()=>[y("div",{ref:"markerRef",class:L(e.ui.list.marker.wrapper)},[y("div",{class:L([e.ui.list.marker.base,e.ui.list.marker.background,e.ui.list.marker.rounded,e.ui.list.marker.shadow])},null,2)],2),(w(!0),S(W,null,se(e.items,(h,b)=>(w(),te(a,{key:b,ref_for:!0,ref:"itemRefs",disabled:h.disabled,as:"template"},{default:U(({selected:g,disabled:p})=>[y("button",{"aria-label":h.ariaLabel,class:L([e.ui.list.tab.base,e.ui.list.tab.background,e.ui.list.tab.height,e.ui.list.tab.padding,e.ui.list.tab.size,e.ui.list.tab.font,e.ui.list.tab.rounded,e.ui.list.tab.shadow,g?e.ui.list.tab.active:e.ui.list.tab.inactive])},[he(e.$slots,"icon",{item:h,index:b,selected:g,disabled:p},()=>[h.icon?(w(),te(i,{key:0,name:h.icon,class:L(e.ui.list.tab.icon)},null,8,["name","class"])):re("",!0)]),he(e.$slots,"default",{item:h,index:b,selected:g,disabled:p},()=>[y("span",tl,C(h.label),1)])],10,el)]),_:2},1032,["disabled"]))),128))]),_:3},8,["class","style"]),e.content?(w(),te(u,{key:0,class:L(e.ui.container)},{default:U(()=>[(w(!0),S(W,null,se(e.items,(h,b)=>(w(),te(d,{key:b,class:L(e.ui.base),unmount:e.unmount},{default:U(({selected:g})=>[he(e.$slots,h.slot||"item",{item:h,index:b,selected:g},()=>[ye(C(h.content),1)])]),_:2},1032,["class","unmount"]))),128))]),_:3},8,["class"])):re("",!0)]),_:3},16,["vertical","selected-index","class","onChange"])}const ll=Ae(Yn,[["render",nl]]);function Fe(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let J=Fe();function mt(e){J=e}const vt=/[&<>"']/,sl=new RegExp(vt.source,"g"),kt=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,rl=new RegExp(kt.source,"g"),il={"&":"&","<":"<",">":">",'"':""","'":"'"},Ye=e=>il[e];function j(e,t){if(t){if(vt.test(e))return e.replace(sl,Ye)}else if(kt.test(e))return e.replace(rl,Ye);return e}const al=/(^|[^\[])\^/g;function I(e,t){let n=typeof e=="string"?e:e.source;t=t||"";const l={replace:(s,r)=>{let i=typeof r=="string"?r:r.source;return i=i.replace(al,"$1"),n=n.replace(s,i),l},getRegex:()=>new RegExp(n,t)};return l}function et(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const fe={exec:()=>null};function tt(e,t){const n=e.replace(/\|/g,(r,i,a)=>{let o=!1,d=i;for(;--d>=0&&a[d]==="\\";)o=!o;return o?"|":" |"}),l=n.split(/ \|/);let s=0;if(l[0].trim()||l.shift(),l.length>0&&!l[l.length-1].trim()&&l.pop(),t)if(l.length>t)l.splice(t);else for(;l.length{const r=s.match(/^\s+/);if(r===null)return s;const[i]=r;return i.length>=l.length?s.slice(l.length):s}).join(` -`)}class _e{constructor(t){T(this,"options");T(this,"rules");T(this,"lexer");this.options=t||J}space(t){const n=this.rules.block.newline.exec(t);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(t){const n=this.rules.block.code.exec(t);if(n){const l=n[0].replace(/^(?: {1,4}| {0,3}\t)/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?l:ce(l,` -`)}}}fences(t){const n=this.rules.block.fences.exec(t);if(n){const l=n[0],s=ul(l,n[3]||"");return{type:"code",raw:l,lang:n[2]?n[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):n[2],text:s}}}heading(t){const n=this.rules.block.heading.exec(t);if(n){let l=n[2].trim();if(/#$/.test(l)){const s=ce(l,"#");(this.options.pedantic||!s||/ $/.test(s))&&(l=s.trim())}return{type:"heading",raw:n[0],depth:n[1].length,text:l,tokens:this.lexer.inline(l)}}}hr(t){const n=this.rules.block.hr.exec(t);if(n)return{type:"hr",raw:ce(n[0],` -`)}}blockquote(t){const n=this.rules.block.blockquote.exec(t);if(n){let l=ce(n[0],` -`).split(` -`),s="",r="";const i=[];for(;l.length>0;){let a=!1;const o=[];let d;for(d=0;d/.test(l[d]))o.push(l[d]),a=!0;else if(!a)o.push(l[d]);else break;l=l.slice(d);const u=o.join(` -`),c=u.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` - $1`).replace(/^ {0,3}>[ \t]?/gm,"");s=s?`${s} -${u}`:u,r=r?`${r} -${c}`:c;const h=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,i,!0),this.lexer.state.top=h,l.length===0)break;const b=i[i.length-1];if((b==null?void 0:b.type)==="code")break;if((b==null?void 0:b.type)==="blockquote"){const g=b,p=g.raw+` -`+l.join(` -`),f=this.blockquote(p);i[i.length-1]=f,s=s.substring(0,s.length-g.raw.length)+f.raw,r=r.substring(0,r.length-g.text.length)+f.text;break}else if((b==null?void 0:b.type)==="list"){const g=b,p=g.raw+` -`+l.join(` -`),f=this.list(p);i[i.length-1]=f,s=s.substring(0,s.length-b.raw.length)+f.raw,r=r.substring(0,r.length-g.raw.length)+f.raw,l=p.substring(i[i.length-1].raw.length).split(` -`);continue}}return{type:"blockquote",raw:s,tokens:i,text:r}}}list(t){let n=this.rules.block.list.exec(t);if(n){let l=n[1].trim();const s=l.length>1,r={type:"list",raw:"",ordered:s,start:s?+l.slice(0,-1):"",loose:!1,items:[]};l=s?`\\d{1,9}\\${l.slice(-1)}`:`\\${l}`,this.options.pedantic&&(l=s?l:"[*+-]");const i=new RegExp(`^( {0,3}${l})((?:[ ][^\\n]*)?(?:\\n|$))`);let a=!1;for(;t;){let o=!1,d="",u="";if(!(n=i.exec(t))||this.rules.block.hr.test(t))break;d=n[0],t=t.substring(d.length);let c=n[2].split(` -`,1)[0].replace(/^\t+/,k=>" ".repeat(3*k.length)),h=t.split(` -`,1)[0],b=!c.trim(),g=0;if(this.options.pedantic?(g=2,u=c.trimStart()):b?g=n[1].length+1:(g=n[2].search(/[^ ]/),g=g>4?1:g,u=c.slice(g),g+=n[1].length),b&&/^[ \t]*$/.test(h)&&(d+=h+` -`,t=t.substring(h.length+1),o=!0),!o){const k=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),m=new RegExp(`^ {0,${Math.min(3,g-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),_=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:\`\`\`|~~~)`),A=new RegExp(`^ {0,${Math.min(3,g-1)}}#`);for(;t;){const z=t.split(` -`,1)[0];let x;if(h=z,this.options.pedantic?(h=h.replace(/^ {1,4}(?=( {4})*[^ ])/g," "),x=h):x=h.replace(/\t/g," "),_.test(h)||A.test(h)||k.test(h)||m.test(h))break;if(x.search(/[^ ]/)>=g||!h.trim())u+=` -`+x.slice(g);else{if(b||c.replace(/\t/g," ").search(/[^ ]/)>=4||_.test(c)||A.test(c)||m.test(c))break;u+=` -`+h}!b&&!h.trim()&&(b=!0),d+=z+` -`,t=t.substring(z.length+1),c=x.slice(g)}}r.loose||(a?r.loose=!0:/\n[ \t]*\n[ \t]*$/.test(d)&&(a=!0));let p=null,f;this.options.gfm&&(p=/^\[[ xX]\] /.exec(u),p&&(f=p[0]!=="[ ] ",u=u.replace(/^\[[ xX]\] +/,""))),r.items.push({type:"list_item",raw:d,task:!!p,checked:f,loose:!1,text:u,tokens:[]}),r.raw+=d}r.items[r.items.length-1].raw=r.items[r.items.length-1].raw.trimEnd(),r.items[r.items.length-1].text=r.items[r.items.length-1].text.trimEnd(),r.raw=r.raw.trimEnd();for(let o=0;oc.type==="space"),u=d.length>0&&d.some(c=>/\n.*\n/.test(c.raw));r.loose=u}if(r.loose)for(let o=0;o$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=n[3]?n[3].substring(1,n[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):n[3];return{type:"def",tag:l,raw:n[0],href:s,title:r}}}table(t){const n=this.rules.block.table.exec(t);if(!n||!/[:|]/.test(n[2]))return;const l=tt(n[1]),s=n[2].replace(/^\||\| *$/g,"").split("|"),r=n[3]&&n[3].trim()?n[3].replace(/\n[ \t]*$/,"").split(` -`):[],i={type:"table",raw:n[0],header:[],align:[],rows:[]};if(l.length===s.length){for(const a of s)/^ *-+: *$/.test(a)?i.align.push("right"):/^ *:-+: *$/.test(a)?i.align.push("center"):/^ *:-+ *$/.test(a)?i.align.push("left"):i.align.push(null);for(let a=0;a({text:o,tokens:this.lexer.inline(o),header:!1,align:i.align[d]})));return i}}lheading(t){const n=this.rules.block.lheading.exec(t);if(n)return{type:"heading",raw:n[0],depth:n[2].charAt(0)==="="?1:2,text:n[1],tokens:this.lexer.inline(n[1])}}paragraph(t){const n=this.rules.block.paragraph.exec(t);if(n){const l=n[1].charAt(n[1].length-1)===` -`?n[1].slice(0,-1):n[1];return{type:"paragraph",raw:n[0],text:l,tokens:this.lexer.inline(l)}}}text(t){const n=this.rules.block.text.exec(t);if(n)return{type:"text",raw:n[0],text:n[0],tokens:this.lexer.inline(n[0])}}escape(t){const n=this.rules.inline.escape.exec(t);if(n)return{type:"escape",raw:n[0],text:j(n[1])}}tag(t){const n=this.rules.inline.tag.exec(t);if(n)return!this.lexer.state.inLink&&/^
    /i.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:n[0]}}link(t){const n=this.rules.inline.link.exec(t);if(n){const l=n[2].trim();if(!this.options.pedantic&&/^$/.test(l))return;const i=ce(l.slice(0,-1),"\\");if((l.length-i.length)%2===0)return}else{const i=ol(n[2],"()");if(i>-1){const o=(n[0].indexOf("!")===0?5:4)+n[1].length+i;n[2]=n[2].substring(0,i),n[0]=n[0].substring(0,o).trim(),n[3]=""}}let s=n[2],r="";if(this.options.pedantic){const i=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(s);i&&(s=i[1],r=i[3])}else r=n[3]?n[3].slice(1,-1):"";return s=s.trim(),/^$/.test(l)?s=s.slice(1):s=s.slice(1,-1)),nt(n,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},n[0],this.lexer)}}reflink(t,n){let l;if((l=this.rules.inline.reflink.exec(t))||(l=this.rules.inline.nolink.exec(t))){const s=(l[2]||l[1]).replace(/\s+/g," "),r=n[s.toLowerCase()];if(!r){const i=l[0].charAt(0);return{type:"text",raw:i,text:i}}return nt(l,r,l[0],this.lexer)}}emStrong(t,n,l=""){let s=this.rules.inline.emStrongLDelim.exec(t);if(!s||s[3]&&l.match(/[\p{L}\p{N}]/u))return;if(!(s[1]||s[2]||"")||!l||this.rules.inline.punctuation.exec(l)){const i=[...s[0]].length-1;let a,o,d=i,u=0;const c=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,n=n.slice(-1*t.length+i);(s=c.exec(n))!=null;){if(a=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!a)continue;if(o=[...a].length,s[3]||s[4]){d+=o;continue}else if((s[5]||s[6])&&i%3&&!((i+o)%3)){u+=o;continue}if(d-=o,d>0)continue;o=Math.min(o,o+d+u);const h=[...s[0]][0].length,b=t.slice(0,i+s.index+h+o);if(Math.min(i,o)%2){const p=b.slice(1,-1);return{type:"em",raw:b,text:p,tokens:this.lexer.inlineTokens(p)}}const g=b.slice(2,-2);return{type:"strong",raw:b,text:g,tokens:this.lexer.inlineTokens(g)}}}}codespan(t){const n=this.rules.inline.code.exec(t);if(n){let l=n[2].replace(/\n/g," ");const s=/[^ ]/.test(l),r=/^ /.test(l)&&/ $/.test(l);return s&&r&&(l=l.substring(1,l.length-1)),l=j(l,!0),{type:"codespan",raw:n[0],text:l}}}br(t){const n=this.rules.inline.br.exec(t);if(n)return{type:"br",raw:n[0]}}del(t){const n=this.rules.inline.del.exec(t);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2])}}autolink(t){const n=this.rules.inline.autolink.exec(t);if(n){let l,s;return n[2]==="@"?(l=j(n[1]),s="mailto:"+l):(l=j(n[1]),s=l),{type:"link",raw:n[0],text:l,href:s,tokens:[{type:"text",raw:l,text:l}]}}}url(t){var l;let n;if(n=this.rules.inline.url.exec(t)){let s,r;if(n[2]==="@")s=j(n[0]),r="mailto:"+s;else{let i;do i=n[0],n[0]=((l=this.rules.inline._backpedal.exec(n[0]))==null?void 0:l[0])??"";while(i!==n[0]);s=j(n[0]),n[1]==="www."?r="http://"+n[0]:r=n[0]}return{type:"link",raw:n[0],text:s,href:r,tokens:[{type:"text",raw:s,text:s}]}}}inlineText(t){const n=this.rules.inline.text.exec(t);if(n){let l;return this.lexer.state.inRawBlock?l=n[0]:l=j(n[0]),{type:"text",raw:n[0],text:l}}}}const cl=/^(?:[ \t]*(?:\n|$))+/,dl=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,pl=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ve=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,hl=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,xt=/(?:[*+-]|\d{1,9}[.)])/,wt=I(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,xt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),Me=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,fl=/^[^\n]+/,De=/(?!\s*\])(?:\\.|[^\[\]\\])+/,gl=I(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",De).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),bl=I(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,xt).getRegex(),Ee="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",qe=/|$))/,ml=I("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",qe).replace("tag",Ee).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),yt=I(Me).replace("hr",ve).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ee).getRegex(),vl=I(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",yt).getRegex(),He={blockquote:vl,code:dl,def:gl,fences:pl,heading:hl,hr:ve,html:ml,lheading:wt,list:bl,newline:cl,paragraph:yt,table:fe,text:fl},lt=I("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ve).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ee).getRegex(),kl={...He,table:lt,paragraph:I(Me).replace("hr",ve).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lt).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ee).getRegex()},xl={...He,html:I(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",qe).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:fe,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:I(Me).replace("hr",ve).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",wt).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},$t=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,wl=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,It=/^( {2,}|\\)\n(?!\s*$)/,yl=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,_l=I(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,ke).getRegex(),Tl=I("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,ke).getRegex(),Sl=I("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,ke).getRegex(),zl=I(/\\([punct])/,"gu").replace(/punct/g,ke).getRegex(),Al=I(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Rl=I(qe).replace("(?:-->|$)","-->").getRegex(),El=I("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",Rl).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Te=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ol=I(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Te).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),_t=I(/^!?\[(label)\]\[(ref)\]/).replace("label",Te).replace("ref",De).getRegex(),Tt=I(/^!?\[(ref)\](?:\[\])?/).replace("ref",De).getRegex(),Cl=I("reflink|nolink(?!\\()","g").replace("reflink",_t).replace("nolink",Tt).getRegex(),Ue={_backpedal:fe,anyPunctuation:zl,autolink:Al,blockSkip:Il,br:It,code:wl,del:fe,emStrongLDelim:_l,emStrongRDelimAst:Tl,emStrongRDelimUnd:Sl,escape:$t,link:Ol,nolink:Tt,punctuation:$l,reflink:_t,reflinkSearch:Cl,tag:El,text:yl,url:fe},Ll={...Ue,link:I(/^!?\[(label)\]\((.*?)\)/).replace("label",Te).getRegex(),reflink:I(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Te).getRegex()},Ne={...Ue,escape:I($t).replace("])","~|])").getRegex(),url:I(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\(s=a.call({lexer:this},t,n))?(t=t.substring(s.raw.length),n.push(s),!0):!1))){if(s=this.tokenizer.space(t)){t=t.substring(s.raw.length),s.raw.length===1&&n.length>0?n[n.length-1].raw+=` -`:n.push(s);continue}if(s=this.tokenizer.code(t)){t=t.substring(s.raw.length),r=n[n.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=` -`+s.raw,r.text+=` -`+s.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text):n.push(s);continue}if(s=this.tokenizer.fences(t)){t=t.substring(s.raw.length),n.push(s);continue}if(s=this.tokenizer.heading(t)){t=t.substring(s.raw.length),n.push(s);continue}if(s=this.tokenizer.hr(t)){t=t.substring(s.raw.length),n.push(s);continue}if(s=this.tokenizer.blockquote(t)){t=t.substring(s.raw.length),n.push(s);continue}if(s=this.tokenizer.list(t)){t=t.substring(s.raw.length),n.push(s);continue}if(s=this.tokenizer.html(t)){t=t.substring(s.raw.length),n.push(s);continue}if(s=this.tokenizer.def(t)){t=t.substring(s.raw.length),r=n[n.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=` -`+s.raw,r.text+=` -`+s.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text):this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title});continue}if(s=this.tokenizer.table(t)){t=t.substring(s.raw.length),n.push(s);continue}if(s=this.tokenizer.lheading(t)){t=t.substring(s.raw.length),n.push(s);continue}if(i=t,this.options.extensions&&this.options.extensions.startBlock){let a=1/0;const o=t.slice(1);let d;this.options.extensions.startBlock.forEach(u=>{d=u.call({lexer:this},o),typeof d=="number"&&d>=0&&(a=Math.min(a,d))}),a<1/0&&a>=0&&(i=t.substring(0,a+1))}if(this.state.top&&(s=this.tokenizer.paragraph(i))){r=n[n.length-1],l&&(r==null?void 0:r.type)==="paragraph"?(r.raw+=` -`+s.raw,r.text+=` -`+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):n.push(s),l=i.length!==t.length,t=t.substring(s.raw.length);continue}if(s=this.tokenizer.text(t)){t=t.substring(s.raw.length),r=n[n.length-1],r&&r.type==="text"?(r.raw+=` -`+s.raw,r.text+=` -`+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):n.push(s);continue}if(t){const a="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){let l,s,r,i=t,a,o,d;if(this.tokens.links){const u=Object.keys(this.tokens.links);if(u.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)u.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)i=i.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(i))!=null;)i=i.slice(0,a.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(o||(d=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(u=>(l=u.call({lexer:this},t,n))?(t=t.substring(l.raw.length),n.push(l),!0):!1))){if(l=this.tokenizer.escape(t)){t=t.substring(l.raw.length),n.push(l);continue}if(l=this.tokenizer.tag(t)){t=t.substring(l.raw.length),s=n[n.length-1],s&&l.type==="text"&&s.type==="text"?(s.raw+=l.raw,s.text+=l.text):n.push(l);continue}if(l=this.tokenizer.link(t)){t=t.substring(l.raw.length),n.push(l);continue}if(l=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(l.raw.length),s=n[n.length-1],s&&l.type==="text"&&s.type==="text"?(s.raw+=l.raw,s.text+=l.text):n.push(l);continue}if(l=this.tokenizer.emStrong(t,i,d)){t=t.substring(l.raw.length),n.push(l);continue}if(l=this.tokenizer.codespan(t)){t=t.substring(l.raw.length),n.push(l);continue}if(l=this.tokenizer.br(t)){t=t.substring(l.raw.length),n.push(l);continue}if(l=this.tokenizer.del(t)){t=t.substring(l.raw.length),n.push(l);continue}if(l=this.tokenizer.autolink(t)){t=t.substring(l.raw.length),n.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(t))){t=t.substring(l.raw.length),n.push(l);continue}if(r=t,this.options.extensions&&this.options.extensions.startInline){let u=1/0;const c=t.slice(1);let h;this.options.extensions.startInline.forEach(b=>{h=b.call({lexer:this},c),typeof h=="number"&&h>=0&&(u=Math.min(u,h))}),u<1/0&&u>=0&&(r=t.substring(0,u+1))}if(l=this.tokenizer.inlineText(r)){t=t.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(d=l.raw.slice(-1)),o=!0,s=n[n.length-1],s&&s.type==="text"?(s.raw+=l.raw,s.text+=l.text):n.push(l);continue}if(t){const u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return n}}class Se{constructor(t){T(this,"options");T(this,"parser");this.options=t||J}space(t){return""}code({text:t,lang:n,escaped:l}){var i;const s=(i=(n||"").match(/^\S*/))==null?void 0:i[0],r=t.replace(/\n$/,"")+` -`;return s?'
    '+(l?r:j(r,!0))+`
    -`:"
    "+(l?r:j(r,!0))+`
    -`}blockquote({tokens:t}){return`
    -${this.parser.parse(t)}
    -`}html({text:t}){return t}heading({tokens:t,depth:n}){return`${this.parser.parseInline(t)} -`}hr(t){return`
    -`}list(t){const n=t.ordered,l=t.start;let s="";for(let a=0;a -`+s+" -`}listitem(t){let n="";if(t.task){const l=this.checkbox({checked:!!t.checked});t.loose?t.tokens.length>0&&t.tokens[0].type==="paragraph"?(t.tokens[0].text=l+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=l+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",raw:l+" ",text:l+" "}):n+=l+" "}return n+=this.parser.parse(t.tokens,!!t.loose),`
  • ${n}
  • -`}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

    -`}table(t){let n="",l="";for(let r=0;r${s}`),` - -`+n+` -`+s+`
    -`}tablerow({text:t}){return` -${t} -`}tablecell(t){const n=this.parser.parseInline(t.tokens),l=t.header?"th":"td";return(t.align?`<${l} align="${t.align}">`:`<${l}>`)+n+` -`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${t}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:n,tokens:l}){const s=this.parser.parseInline(l),r=et(t);if(r===null)return s;t=r;let i='
    ",i}image({href:t,title:n,text:l}){const s=et(t);if(s===null)return l;t=s;let r=`${l}{const d=a[o].flat(1/0);l=l.concat(this.walkTokens(d,n))}):a.tokens&&(l=l.concat(this.walkTokens(a.tokens,n)))}}return l}use(...t){const n=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(l=>{const s={...l};if(s.async=this.defaults.async||s.async||!1,l.extensions&&(l.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){const i=n.renderers[r.name];i?n.renderers[r.name]=function(...a){let o=r.renderer.apply(this,a);return o===!1&&(o=i.apply(this,a)),o}:n.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const i=n[r.level];i?i.unshift(r.tokenizer):n[r.level]=[r.tokenizer],r.start&&(r.level==="block"?n.startBlock?n.startBlock.push(r.start):n.startBlock=[r.start]:r.level==="inline"&&(n.startInline?n.startInline.push(r.start):n.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(n.childTokens[r.name]=r.childTokens)}),s.extensions=n),l.renderer){const r=this.defaults.renderer||new Se(this.defaults);for(const i in l.renderer){if(!(i in r))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;const a=i,o=l.renderer[a],d=r[a];r[a]=(...u)=>{let c=o.apply(r,u);return c===!1&&(c=d.apply(r,u)),c||""}}s.renderer=r}if(l.tokenizer){const r=this.defaults.tokenizer||new _e(this.defaults);for(const i in l.tokenizer){if(!(i in r))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;const a=i,o=l.tokenizer[a],d=r[a];r[a]=(...u)=>{let c=o.apply(r,u);return c===!1&&(c=d.apply(r,u)),c}}s.tokenizer=r}if(l.hooks){const r=this.defaults.hooks||new ge;for(const i in l.hooks){if(!(i in r))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;const a=i,o=l.hooks[a],d=r[a];ge.passThroughHooks.has(i)?r[a]=u=>{if(this.defaults.async)return Promise.resolve(o.call(r,u)).then(h=>d.call(r,h));const c=o.call(r,u);return d.call(r,c)}:r[a]=(...u)=>{let c=o.apply(r,u);return c===!1&&(c=d.apply(r,u)),c}}s.hooks=r}if(l.walkTokens){const r=this.defaults.walkTokens,i=l.walkTokens;s.walkTokens=function(a){let o=[];return o.push(i.call(this,a)),r&&(o=o.concat(r.call(this,a))),o}}this.defaults={...this.defaults,...s}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,n){return N.lex(t,n??this.defaults)}parser(t,n){return P.parse(t,n??this.defaults)}parseMarkdown(t){return(l,s)=>{const r={...s},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof l>"u"||l===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof l!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(l)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=t);const o=i.hooks?i.hooks.provideLexer():t?N.lex:N.lexInline,d=i.hooks?i.hooks.provideParser():t?P.parse:P.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(l):l).then(u=>o(u,i)).then(u=>i.hooks?i.hooks.processAllTokens(u):u).then(u=>i.walkTokens?Promise.all(this.walkTokens(u,i.walkTokens)).then(()=>u):u).then(u=>d(u,i)).then(u=>i.hooks?i.hooks.postprocess(u):u).catch(a);try{i.hooks&&(l=i.hooks.preprocess(l));let u=o(l,i);i.hooks&&(u=i.hooks.processAllTokens(u)),i.walkTokens&&this.walkTokens(u,i.walkTokens);let c=d(u,i);return i.hooks&&(c=i.hooks.postprocess(c)),c}catch(u){return a(u)}}}onError(t,n){return l=>{if(l.message+=` -Please report this to https://github.com/markedjs/marked.`,t){const s="

    An error occurred:

    "+j(l.message+"",!0)+"
    ";return n?Promise.resolve(s):s}if(n)return Promise.reject(l);throw l}}}const X=new Nl;function $(e,t){return X.parse(e,t)}$.options=$.setOptions=function(e){return X.setOptions(e),$.defaults=X.defaults,mt($.defaults),$};$.getDefaults=Fe;$.defaults=J;$.use=function(...e){return X.use(...e),$.defaults=X.defaults,mt($.defaults),$};$.walkTokens=function(e,t){return X.walkTokens(e,t)};$.parseInline=X.parseInline;$.Parser=P;$.parser=P.parse;$.Renderer=Se;$.TextRenderer=Ve;$.Lexer=N;$.lexer=N.lex;$.Tokenizer=_e;$.Hooks=ge;$.parse=$;$.options;$.setOptions;$.use;$.walkTokens;$.parseInline;P.parse;N.lex;const Pl={class:"author"},Bl=["href"],Fl={key:1},Ml=B({__name:"Author",props:{author:{}},setup(e){const t=e,n=v(()=>t.author.orcid?`https://orcid.org/${t.author.orcid}`:"#");return(l,s)=>(w(),S("span",Pl,[be(n)!=="#"?(w(),S("a",{key:0,href:be(n),target:"_blank",rel:"noopener noreferrer",class:"author-link"},C(l.author.name),9,Bl)):(w(),S("span",Fl,C(l.author.name),1))]))}}),Dl=Ae(Ml,[["__scopeId","data-v-f69547aa"]]),Z=e=>(Gt("data-v-548273dd"),e=e(),Kt(),e),ql={key:0,class:"flex mx-auto justify-center items-center",style:{height:"60vh"}},Hl=Z(()=>y("div",{class:"relative"},[y("div",{class:"loader border-t-8 border-hokey-pokey"}),y("div",{class:"absolute inset-0 flex justify-center items-center text-xl font-bold font-mono"},"Loading...")],-1)),Ul=[Hl],Vl={key:0,class:"mt-6"},Wl={class:"font-bold text-xl mb-4"},Zl={class:"mb-4"},Ql=Z(()=>y("li",null,[y("strong",null,"Author(s):")],-1)),Gl=Z(()=>y("strong",null,"Release:",-1)),Kl=Z(()=>y("strong",null,"License:",-1)),Xl=Z(()=>y("strong",null,"UniqueID:",-1)),Jl={key:0,class:"mx-auto"},Yl={class:"p-4 mb-6"},es={key:0,class:"mt-6"},ts=["innerHTML"],ns={key:1,class:"mt-6"},ls={class:"prose dark:prose-invert !max-w-none"},ss=Z(()=>y("h3",null,"The following tools are required to run this workflow.",-1)),rs=Z(()=>y("p",null," This will eventually be a pretty page with links to each tool in the (new) toolshed, etc. ",-1)),is={key:2,class:"mt-6"},as=Z(()=>y("iframe",{title:"Galaxy Workflow Embed",style:{width:"100%",height:"700px",border:"none"},src:"https://usegalaxy.org/published/workflow?id=a63d3ee4a2a4a20b&embed=true&buttons=true&about=false&heading=false&minimap=true&zoom_controls=true&initialX=-20&initialY=-20&zoom=1"},null,-1)),os=[as],us={key:1,class:"max-w-3xl mx-auto py-8"},cs=Z(()=>y("h1",{class:"text-3xl font-bold mb-4"},"Workflow not found",-1)),ds=B({__name:"[id]",setup(e){const t=Wt(),n=Pt(),l=v(()=>n.workflow),s=p=>$(p);v(()=>{var f;let p="";return(f=l.value)!=null&&f.authors&&(p=l.value.authors.map(k=>k.name).join(", ")),p});const r=v(()=>!l.value||!c.value?"":`${c.value}/workflows/trs_import?trs_server=dockstore.org&trs_id=${encodeURIComponent(l.value.trsID)}&trs_version=v${l.value.definition.release}&run_form=true`);function i(){var f;const p=(f=l.value)==null?void 0:f.tests;if(p&&p.length)return p[0].job}function a(p,f){return`https://dockstore.org/api/ga4gh/trs/v2/tools/${p}/versions/${f}`}async function o(){var A,z;const p=i(),f=a((A=l.value)==null?void 0:A.trsID,`v${(z=l.value)==null?void 0:z.definition.release}`),m=await(await fetch(`${c.value}/api/workflow_landings`,{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify({workflow_id:f,workflow_target_type:"trs_url",request_state:p,public:!0})})).json(),_=`${c.value}/workflow_landings/${m.uuid}?public=true`;window.open(_,"_blank")}const d=v(()=>{if(!l.value||!l.value.definition||!l.value.definition.steps)return[];const p=Object.values(l.value.definition.steps).map(f=>f.tool_id).filter(f=>f!=null);return Array.from(new Set(p))}),u=v(()=>{var p,f;return[{label:"About",content:((p=l.value)==null?void 0:p.readme)||"No README available."},{label:"Version History",content:((f=l.value)==null?void 0:f.changelog)||"No CHANGELOG available."},{label:"Tools",tools:d||"This tab will show a nice listing of all the tools used in this workflow."}]}),c=O(""),h=Zt([{value:"http://localhost:8081",label:"local dev instance"},{value:"https://usegalaxy.org",label:"usegalaxy.org"},{value:"https://test.galaxyproject.org",label:"test.galaxyproject.org"},{value:"https://usegalaxy.eu",label:"usegalaxy.eu"}]),b=O(!0);Qt(async()=>{await n.setWorkflow();const p=localStorage.getItem("selectedInstance");p?c.value=p:c.value=h[0].value,b.value=!1});const g=p=>{localStorage.setItem("selectedInstance",p)};return(p,f)=>{const k=yn,m=Ft,_=_n,A=ll,z=Bt;return b.value?(w(),S("div",ql,Ul)):(w(),te(z,{key:1},{sidebar:U(()=>[l.value?(w(),S("div",Vl,[y("h2",Wl,C(l.value.definition.name),1),y("p",Zl,C(l.value.definition.annotation),1),y("ul",null,[Ql,(w(!0),S(W,null,se(l.value.authors,x=>(w(),S("li",{class:"ml-2",key:x.name},[V(Dl,{author:x},null,8,["author"])]))),128)),y("li",null,[Gl,ye(" "+C(l.value.definition.release),1)]),y("li",null,[Kl,ye(" "+C(l.value.definition.license),1)]),y("li",null,[Xl,ye(" "+C(l.value.definition.uuid),1)])]),V(_,{class:"mt-4",size:"sm",orientation:"vertical"},{default:U(()=>[V(k,{modelValue:c.value,"onUpdate:modelValue":f[0]||(f[0]=x=>c.value=x),options:be(h),label:"Select Galaxy Instance",onChange:g},null,8,["modelValue","options"]),V(m,{to:r.value,target:"_blank",icon:"i-heroicons-rocket-launch",color:"primary",variant:"solid",label:"Launch at"},null,8,["to"]),V(m,{class:"mt-4",onClick:o,target:"_blank",icon:"i-heroicons-rocket-launch",color:"primary",variant:"solid",label:"Run with example data"})]),_:1})])):re("",!0)]),content:U(()=>[l.value?(w(),S("div",Jl,[y("div",Yl,[V(A,{items:u.value,class:"w-full"},{default:U(({item:x,index:q,selected:Oe})=>[y("span",{class:L(["truncate",[Oe&&"text-primary-500 dark:text-primary-400"]])},C(x.label),3)]),item:U(({item:x})=>[x.content?(w(),S("div",es,[y("div",{class:"prose dark:prose-invert !max-w-none",innerHTML:s(x.content)},null,8,ts)])):x.tools?(w(),S("div",ns,[y("div",ls,[ss,rs,y("ul",null,[(w(!0),S(W,null,se(d.value,q=>(w(),S("li",{key:q},C(q),1))),128))])])])):x.preview?(w(),S("div",is,os)):re("",!0)]),_:1},8,["items"])])])):(w(),S("div",us,[cs,y("p",null,"Workflow with identifier "+C(be(t).params.id)+" could not be found.",1)]))]),_:1}))}}}),ms=Ae(ds,[["__scopeId","data-v-548273dd"]]);export{ms as default}; diff --git a/_nuxt/D98TL2vF.js b/_nuxt/D98TL2vF.js new file mode 100644 index 000000000..5b84dd62d --- /dev/null +++ b/_nuxt/D98TL2vF.js @@ -0,0 +1 @@ +import{d as i,a as c,c as p,o as s,b as n,q as u,r as t}from"./DzgF3Vew.js";const f=["id"],l=["href"],k=i({__name:"ProseH3",props:{id:{}},setup(r){const a=r,{headings:o}=c().public.mdc,d=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h3)});return(e,m)=>(s(),n("h3",{id:e.id},[e.id&&u(d)?(s(),n("a",{key:0,href:`#${e.id}`},[t(e.$slots,"default")],8,l)):t(e.$slots,"default",{key:1})],8,f))}});export{k as default}; diff --git a/_nuxt/DB7qAOaQ.js b/_nuxt/DB7qAOaQ.js new file mode 100644 index 000000000..42273d1f0 --- /dev/null +++ b/_nuxt/DB7qAOaQ.js @@ -0,0 +1 @@ +import{d as i,a as c,c as p,o as s,b as n,q as u,r as t}from"./DzgF3Vew.js";const f=["id"],l=["href"],k=i({__name:"ProseH2",props:{id:{}},setup(r){const a=r,{headings:o}=c().public.mdc,d=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h2)});return(e,m)=>(s(),n("h2",{id:e.id},[e.id&&u(d)?(s(),n("a",{key:0,href:`#${e.id}`},[t(e.$slots,"default")],8,l)):t(e.$slots,"default",{key:1})],8,f))}});export{k as default}; diff --git a/_nuxt/DDsBBK07.js b/_nuxt/DDsBBK07.js new file mode 100644 index 000000000..a7b217571 --- /dev/null +++ b/_nuxt/DDsBBK07.js @@ -0,0 +1,121 @@ +import{_ as d,d as z,l as L,j as R,aj as de,F as at,ak as Z,al as Yt,am as ge,v as tt,an as ue,a1 as pe,k as fe,x as xe,B as ye,a8 as be,ao as we,ap as xt,e as me,i as Tt}from"./BN9GDn3H.js";import{c as Le}from"./DqIxQbFE.js";import{G as Se}from"./csrLU7rk.js";import{c as ve}from"./CqAEurY-.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";import"./BH-Vtj6c.js";var yt=function(){var e=d(function(N,x,g,u){for(g=g||{},u=N.length;u--;g[N[u]]=x);return g},"o"),t=[1,7],r=[1,13],n=[1,14],i=[1,15],a=[1,19],s=[1,16],l=[1,17],o=[1,18],f=[8,30],h=[8,21,28,29,30,31,32,40,44,47],y=[1,23],b=[1,24],m=[8,15,16,21,28,29,30,31,32,40,44,47],E=[8,15,16,21,27,28,29,30,31,32,40,44,47],D=[1,49],v={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:d(function(x,g,u,w,S,c,_){var p=c.length-1;switch(S){case 4:w.getLogger().debug("Rule: separator (NL) ");break;case 5:w.getLogger().debug("Rule: separator (Space) ");break;case 6:w.getLogger().debug("Rule: separator (EOF) ");break;case 7:w.getLogger().debug("Rule: hierarchy: ",c[p-1]),w.setHierarchy(c[p-1]);break;case 8:w.getLogger().debug("Stop NL ");break;case 9:w.getLogger().debug("Stop EOF ");break;case 10:w.getLogger().debug("Stop NL2 ");break;case 11:w.getLogger().debug("Stop EOF2 ");break;case 12:w.getLogger().debug("Rule: statement: ",c[p]),typeof c[p].length=="number"?this.$=c[p]:this.$=[c[p]];break;case 13:w.getLogger().debug("Rule: statement #2: ",c[p-1]),this.$=[c[p-1]].concat(c[p]);break;case 14:w.getLogger().debug("Rule: link: ",c[p],x),this.$={edgeTypeStr:c[p],label:""};break;case 15:w.getLogger().debug("Rule: LABEL link: ",c[p-3],c[p-1],c[p]),this.$={edgeTypeStr:c[p],label:c[p-1]};break;case 18:const A=parseInt(c[p]),O=w.generateId();this.$={id:O,type:"space",label:"",width:A,children:[]};break;case 23:w.getLogger().debug("Rule: (nodeStatement link node) ",c[p-2],c[p-1],c[p]," typestr: ",c[p-1].edgeTypeStr);const X=w.edgeStrToEdgeData(c[p-1].edgeTypeStr);this.$=[{id:c[p-2].id,label:c[p-2].label,type:c[p-2].type,directions:c[p-2].directions},{id:c[p-2].id+"-"+c[p].id,start:c[p-2].id,end:c[p].id,label:c[p-1].label,type:"edge",directions:c[p].directions,arrowTypeEnd:X,arrowTypeStart:"arrow_open"},{id:c[p].id,label:c[p].label,type:w.typeStr2Type(c[p].typeStr),directions:c[p].directions}];break;case 24:w.getLogger().debug("Rule: nodeStatement (abc88 node size) ",c[p-1],c[p]),this.$={id:c[p-1].id,label:c[p-1].label,type:w.typeStr2Type(c[p-1].typeStr),directions:c[p-1].directions,widthInColumns:parseInt(c[p],10)};break;case 25:w.getLogger().debug("Rule: nodeStatement (node) ",c[p]),this.$={id:c[p].id,label:c[p].label,type:w.typeStr2Type(c[p].typeStr),directions:c[p].directions,widthInColumns:1};break;case 26:w.getLogger().debug("APA123",this?this:"na"),w.getLogger().debug("COLUMNS: ",c[p]),this.$={type:"column-setting",columns:c[p]==="auto"?-1:parseInt(c[p])};break;case 27:w.getLogger().debug("Rule: id-block statement : ",c[p-2],c[p-1]),w.generateId(),this.$={...c[p-2],type:"composite",children:c[p-1]};break;case 28:w.getLogger().debug("Rule: blockStatement : ",c[p-2],c[p-1],c[p]);const W=w.generateId();this.$={id:W,type:"composite",label:"",children:c[p-1]};break;case 29:w.getLogger().debug("Rule: node (NODE_ID separator): ",c[p]),this.$={id:c[p]};break;case 30:w.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",c[p-1],c[p]),this.$={id:c[p-1],label:c[p].label,typeStr:c[p].typeStr,directions:c[p].directions};break;case 31:w.getLogger().debug("Rule: dirList: ",c[p]),this.$=[c[p]];break;case 32:w.getLogger().debug("Rule: dirList: ",c[p-1],c[p]),this.$=[c[p-1]].concat(c[p]);break;case 33:w.getLogger().debug("Rule: nodeShapeNLabel: ",c[p-2],c[p-1],c[p]),this.$={typeStr:c[p-2]+c[p],label:c[p-1]};break;case 34:w.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",c[p-3],c[p-2]," #3:",c[p-1],c[p]),this.$={typeStr:c[p-3]+c[p],label:c[p-2],directions:c[p-1]};break;case 35:case 36:this.$={type:"classDef",id:c[p-1].trim(),css:c[p].trim()};break;case 37:this.$={type:"applyClass",id:c[p-1].trim(),styleClass:c[p].trim()};break;case 38:this.$={type:"applyStyles",id:c[p-1].trim(),stylesStr:c[p].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:s,44:l,47:o},{8:[1,20]},e(f,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:t,28:r,29:n,31:i,32:a,40:s,44:l,47:o}),e(h,[2,16],{14:22,15:y,16:b}),e(h,[2,17]),e(h,[2,18]),e(h,[2,19]),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(m,[2,25],{27:[1,25]}),e(h,[2,26]),{19:26,26:12,32:a},{11:27,13:4,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:s,44:l,47:o},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(E,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(f,[2,13]),{26:35,32:a},{32:[2,14]},{17:[1,36]},e(m,[2,24]),{11:37,13:4,14:22,15:y,16:b,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:s,44:l,47:o},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(E,[2,30]),{18:[1,43]},{18:[1,44]},e(m,[2,23]),{18:[1,45]},{30:[1,46]},e(h,[2,28]),e(h,[2,35]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),{37:[1,47]},{34:48,35:D},{15:[1,50]},e(h,[2,27]),e(E,[2,33]),{39:[1,51]},{34:52,35:D,39:[2,31]},{32:[2,15]},e(E,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:d(function(x,g){if(g.recoverable)this.trace(x);else{var u=new Error(x);throw u.hash=g,u}},"parseError"),parse:d(function(x){var g=this,u=[0],w=[],S=[null],c=[],_=this.table,p="",A=0,O=0,X=2,W=1,ce=c.slice.call(arguments,1),M=Object.create(this.lexer),J={yy:{}};for(var gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gt)&&(J.yy[gt]=this.yy[gt]);M.setInput(x,J.yy),J.yy.lexer=M,J.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var ut=M.yylloc;c.push(ut);var oe=M.options&&M.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function he(H){u.length=u.length-2*H,S.length=S.length-H,c.length=c.length-H}d(he,"popStack");function Dt(){var H;return H=w.pop()||M.lex()||W,typeof H!="number"&&(H instanceof Array&&(w=H,H=w.pop()),H=g.symbols_[H]||H),H}d(Dt,"lex");for(var Y,Q,U,pt,$={},st,q,Nt,it;;){if(Q=u[u.length-1],this.defaultActions[Q]?U=this.defaultActions[Q]:((Y===null||typeof Y>"u")&&(Y=Dt()),U=_[Q]&&_[Q][Y]),typeof U>"u"||!U.length||!U[0]){var ft="";it=[];for(st in _[Q])this.terminals_[st]&&st>X&&it.push("'"+this.terminals_[st]+"'");M.showPosition?ft="Parse error on line "+(A+1)+`: +`+M.showPosition()+` +Expecting `+it.join(", ")+", got '"+(this.terminals_[Y]||Y)+"'":ft="Parse error on line "+(A+1)+": Unexpected "+(Y==W?"end of input":"'"+(this.terminals_[Y]||Y)+"'"),this.parseError(ft,{text:M.match,token:this.terminals_[Y]||Y,line:M.yylineno,loc:ut,expected:it})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+Y);switch(U[0]){case 1:u.push(Y),S.push(M.yytext),c.push(M.yylloc),u.push(U[1]),Y=null,O=M.yyleng,p=M.yytext,A=M.yylineno,ut=M.yylloc;break;case 2:if(q=this.productions_[U[1]][1],$.$=S[S.length-q],$._$={first_line:c[c.length-(q||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(q||1)].first_column,last_column:c[c.length-1].last_column},oe&&($._$.range=[c[c.length-(q||1)].range[0],c[c.length-1].range[1]]),pt=this.performAction.apply($,[p,O,A,J.yy,U[1],S,c].concat(ce)),typeof pt<"u")return pt;q&&(u=u.slice(0,-1*q*2),S=S.slice(0,-1*q),c=c.slice(0,-1*q)),u.push(this.productions_[U[1]][0]),S.push($.$),c.push($._$),Nt=_[u[u.length-2]][u[u.length-1]],u.push(Nt);break;case 3:return!0}}return!0},"parse")},T=function(){var N={EOF:1,parseError:d(function(g,u){if(this.yy.parser)this.yy.parser.parseError(g,u);else throw new Error(g)},"parseError"),setInput:d(function(x,g){return this.yy=g||this.yy||{},this._input=x,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var x=this._input[0];this.yytext+=x,this.yyleng++,this.offset++,this.match+=x,this.matched+=x;var g=x.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),x},"input"),unput:d(function(x){var g=x.length,u=x.split(/(?:\r\n?|\n)/g);this._input=x+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var w=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:u?(u.length===w.length?this.yylloc.first_column:0)+w[w.length-u.length].length-u[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(x){this.unput(this.match.slice(x))},"less"),pastInput:d(function(){var x=this.matched.substr(0,this.matched.length-this.match.length);return(x.length>20?"...":"")+x.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var x=this.match;return x.length<20&&(x+=this._input.substr(0,20-x.length)),(x.substr(0,20)+(x.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var x=this.pastInput(),g=new Array(x.length+1).join("-");return x+this.upcomingInput()+` +`+g+"^"},"showPosition"),test_match:d(function(x,g){var u,w,S;if(this.options.backtrack_lexer&&(S={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(S.yylloc.range=this.yylloc.range.slice(0))),w=x[0].match(/(?:\r\n?|\n).*/g),w&&(this.yylineno+=w.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:w?w[w.length-1].length-w[w.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+x[0].length},this.yytext+=x[0],this.match+=x[0],this.matches=x,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(x[0].length),this.matched+=x[0],u=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),u)return u;if(this._backtrack){for(var c in S)this[c]=S[c];return!1}return!1},"test_match"),next:d(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var x,g,u,w;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),c=0;cg[0].length)){if(g=u,w=c,this.options.backtrack_lexer){if(x=this.test_match(u,S[c]),x!==!1)return x;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(x=this.test_match(g,S[w]),x!==!1?x:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:d(function(){var g=this.next();return g||this.lex()},"lex"),begin:d(function(g){this.conditionStack.push(g)},"begin"),popState:d(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:d(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:d(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:d(function(g){this.begin(g)},"pushState"),stateStackSize:d(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:d(function(g,u,w,S){switch(w){case 0:return 10;case 1:return g.getLogger().debug("Found space-block"),31;case 2:return g.getLogger().debug("Found nl-block"),31;case 3:return g.getLogger().debug("Found space-block"),29;case 4:g.getLogger().debug(".",u.yytext);break;case 5:g.getLogger().debug("_",u.yytext);break;case 6:return 5;case 7:return u.yytext=-1,28;case 8:return u.yytext=u.yytext.replace(/columns\s+/,""),g.getLogger().debug("COLUMNS (LEX)",u.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:g.getLogger().debug("LEX: POPPING STR:",u.yytext),this.popState();break;case 14:return g.getLogger().debug("LEX: STR end:",u.yytext),"STR";case 15:return u.yytext=u.yytext.replace(/space\:/,""),g.getLogger().debug("SPACE NUM (LEX)",u.yytext),21;case 16:return u.yytext="1",g.getLogger().debug("COLUMNS (LEX)",u.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),g.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),g.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),g.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),g.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),g.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),g.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),g.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),g.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),g.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),g.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),g.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),g.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),g.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),g.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),g.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),g.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),g.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return g.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return g.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return g.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return g.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return g.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return g.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return g.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return g.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return g.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return g.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return g.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return g.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),g.getLogger().debug("LEX ARR START"),38;case 75:return g.getLogger().debug("Lex: NODE_ID",u.yytext),32;case 76:return g.getLogger().debug("Lex: EOF",u.yytext),8;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:g.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:g.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return g.getLogger().debug("LEX: NODE_DESCR:",u.yytext),"NODE_DESCR";case 84:g.getLogger().debug("LEX POPPING"),this.popState();break;case 85:g.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return u.yytext=u.yytext.replace(/^,\s*/,""),g.getLogger().debug("Lex (right): dir:",u.yytext),"DIR";case 87:return u.yytext=u.yytext.replace(/^,\s*/,""),g.getLogger().debug("Lex (left):",u.yytext),"DIR";case 88:return u.yytext=u.yytext.replace(/^,\s*/,""),g.getLogger().debug("Lex (x):",u.yytext),"DIR";case 89:return u.yytext=u.yytext.replace(/^,\s*/,""),g.getLogger().debug("Lex (y):",u.yytext),"DIR";case 90:return u.yytext=u.yytext.replace(/^,\s*/,""),g.getLogger().debug("Lex (up):",u.yytext),"DIR";case 91:return u.yytext=u.yytext.replace(/^,\s*/,""),g.getLogger().debug("Lex (down):",u.yytext),"DIR";case 92:return u.yytext="]>",g.getLogger().debug("Lex (ARROW_DIR end):",u.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return g.getLogger().debug("Lex: LINK","#"+u.yytext+"#"),15;case 94:return g.getLogger().debug("Lex: LINK",u.yytext),15;case 95:return g.getLogger().debug("Lex: LINK",u.yytext),15;case 96:return g.getLogger().debug("Lex: LINK",u.yytext),15;case 97:return g.getLogger().debug("Lex: START_LINK",u.yytext),this.pushState("LLABEL"),16;case 98:return g.getLogger().debug("Lex: START_LINK",u.yytext),this.pushState("LLABEL"),16;case 99:return g.getLogger().debug("Lex: START_LINK",u.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return g.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),g.getLogger().debug("Lex: LINK","#"+u.yytext+"#"),15;case 103:return this.popState(),g.getLogger().debug("Lex: LINK",u.yytext),15;case 104:return this.popState(),g.getLogger().debug("Lex: LINK",u.yytext),15;case 105:return g.getLogger().debug("Lex: COLON",u.yytext),u.yytext=u.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return N}();v.lexer=T;function k(){this.yy={}}return d(k,"Parser"),k.prototype=v,v.Parser=k,new k}();yt.parser=yt;var Ee=yt,V=new Map,St=[],bt=new Map,Ct="color",Bt="fill",_e="bgFill",Ht=",",ke=z(),ct=new Map,De=d(e=>me.sanitizeText(e,ke),"sanitizeText"),Ne=d(function(e,t=""){let r=ct.get(e);r||(r={id:e,styles:[],textStyles:[]},ct.set(e,r)),t!=null&&t.split(Ht).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(Ct).exec(n)){const s=i.replace(Bt,_e).replace(Ct,Bt);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),Te=d(function(e,t=""){const r=V.get(e);t!=null&&(r.styles=t.split(Ht))},"addStyle2Node"),Ce=d(function(e,t){e.split(",").forEach(function(r){let n=V.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},V.set(i,n)}n.classes||(n.classes=[]),n.classes.push(t)})},"setCssClass"),Kt=d((e,t)=>{const r=e.flat(),n=[];for(const i of r){if(i.label&&(i.label=De(i.label)),i.type==="classDef"){Ne(i.id,i.css);continue}if(i.type==="applyClass"){Ce(i.id,(i==null?void 0:i.styleClass)??"");continue}if(i.type==="applyStyles"){i!=null&&i.stylesStr&&Te(i.id,i==null?void 0:i.stylesStr);continue}if(i.type==="column-setting")t.columns=i.columns??-1;else if(i.type==="edge"){const a=(bt.get(i.id)??0)+1;bt.set(i.id,a),i.id=a+"-"+i.id,St.push(i)}else{i.label||(i.type==="composite"?i.label="":i.label=i.id);const a=V.get(i.id);if(a===void 0?V.set(i.id,i):(i.type!=="na"&&(a.type=i.type),i.label!==i.id&&(a.label=i.label)),i.children&&Kt(i.children,i),i.type==="space"){const s=i.width??1;for(let l=0;l{L.debug("Clear called"),xe(),rt={id:"root",type:"composite",children:[],columns:-1},V=new Map([["root",rt]]),vt=[],ct=new Map,St=[],bt=new Map},"clear");function Xt(e){switch(L.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return L.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}d(Xt,"typeStr2Type");function Ut(e){switch(L.debug("typeStr2Type",e),e){case"==":return"thick";default:return"normal"}}d(Ut,"edgeTypeStr2Type");function jt(e){switch(e.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}d(jt,"edgeStrToEdgeData");var It=0,Ie=d(()=>(It++,"id-"+Math.random().toString(36).substr(2,12)+"-"+It),"generateId"),Oe=d(e=>{rt.children=e,Kt(e,rt),vt=rt.children},"setHierarchy"),Re=d(e=>{const t=V.get(e);return t?t.columns?t.columns:t.children?t.children.length:-1:-1},"getColumns"),ze=d(()=>[...V.values()],"getBlocksFlat"),Ae=d(()=>vt||[],"getBlocks"),Me=d(()=>St,"getEdges"),Fe=d(e=>V.get(e),"getBlock"),We=d(e=>{V.set(e.id,e)},"setBlock"),Pe=d(()=>console,"getLogger"),Ye=d(function(){return ct},"getClasses"),He={getConfig:d(()=>at().block,"getConfig"),typeStr2Type:Xt,edgeTypeStr2Type:Ut,edgeStrToEdgeData:jt,getLogger:Pe,getBlocksFlat:ze,getBlocks:Ae,getEdges:Me,setHierarchy:Oe,getBlock:Fe,setBlock:We,getColumns:Re,getClasses:Ye,clear:Be,generateId:Ie},Ke=He,nt=d((e,t)=>{const r=ve,n=r(e,"r"),i=r(e,"g"),a=r(e,"b");return ye(n,i,a,t)},"fade"),Xe=d(e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span,p { + color: ${e.titleColor}; + } + + + + .label text,span,p { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${nt(e.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${nt(e.mainBkg,.5)}; + fill: ${nt(e.clusterBkg,.5)}; + stroke: ${nt(e.clusterBorder,.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span,p { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`,"getStyles"),Ue=Xe,je=d((e,t,r,n)=>{t.forEach(i=>{rr[i](e,r,n)})},"insertMarkers"),Ve=d((e,t,r)=>{L.trace("Making markers for ",r),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),Ge=d((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Ze=d((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),qe=d((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Je=d((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Qe=d((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),$e=d((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),tr=d((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),er=d((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),rr={extension:Ve,composition:Ge,aggregation:Ze,dependency:qe,lollipop:Je,point:Qe,circle:$e,cross:tr,barb:er},ar=je,Wt,Pt,I=((Pt=(Wt=z())==null?void 0:Wt.block)==null?void 0:Pt.padding)??8;function Vt(e,t){if(e===0||!Number.isInteger(e))throw new Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw new Error("Position must be a non-negative integer."+t);if(e<0)return{px:t,py:0};if(e===1)return{px:0,py:t};const r=t%e,n=Math.floor(t/e);return{px:r,py:n}}d(Vt,"calculateBlockPosition");var sr=d(e=>{let t=0,r=0;for(const n of e.children){const{width:i,height:a,x:s,y:l}=n.size??{width:0,height:0,x:0,y:0};L.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",l,n.type),n.type!=="space"&&(i>t&&(t=i/(e.widthInColumns??1)),a>r&&(r=a))}return{width:t,height:r}},"getMaxChildSize");function ot(e,t,r=0,n=0){var s,l,o,f,h,y,b,m,E,D,v;L.debug("setBlockSizes abc95 (start)",e.id,(s=e==null?void 0:e.size)==null?void 0:s.x,"block width =",e==null?void 0:e.size,"sieblingWidth",r),(l=e==null?void 0:e.size)!=null&&l.width||(e.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(((o=e.children)==null?void 0:o.length)>0){for(const S of e.children)ot(S,t);const T=sr(e);i=T.width,a=T.height,L.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",i,a);for(const S of e.children)S.size&&(L.debug(`abc95 Setting size of children of ${e.id} id=${S.id} ${i} ${a} ${JSON.stringify(S.size)}`),S.size.width=i*(S.widthInColumns??1)+I*((S.widthInColumns??1)-1),S.size.height=a,S.size.x=0,S.size.y=0,L.debug(`abc95 updating size of ${e.id} children child:${S.id} maxWidth:${i} maxHeight:${a}`));for(const S of e.children)ot(S,t,i,a);const k=e.columns??-1;let N=0;for(const S of e.children)N+=S.widthInColumns??1;let x=e.children.length;k>0&&k0?Math.min(e.children.length,k):e.children.length;if(S>0){const c=(u-S*I-I)/S;L.debug("abc95 (growing to fit) width",e.id,u,(b=e.size)==null?void 0:b.width,c);for(const _ of e.children)_.size&&(_.size.width=c)}}e.size={width:u,height:w,x:0,y:0}}L.debug("setBlockSizes abc94 (done)",e.id,(m=e==null?void 0:e.size)==null?void 0:m.x,(E=e==null?void 0:e.size)==null?void 0:E.width,(D=e==null?void 0:e.size)==null?void 0:D.y,(v=e==null?void 0:e.size)==null?void 0:v.height)}d(ot,"setBlockSizes");function Et(e,t){var n,i,a,s,l,o,f,h,y,b,m,E,D,v,T,k,N;L.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${(n=e==null?void 0:e.size)==null?void 0:n.x} y: ${(i=e==null?void 0:e.size)==null?void 0:i.y} width: ${(a=e==null?void 0:e.size)==null?void 0:a.width}`);const r=e.columns??-1;if(L.debug("layoutBlocks columns abc95",e.id,"=>",r,e),e.children&&e.children.length>0){const x=((l=(s=e==null?void 0:e.children[0])==null?void 0:s.size)==null?void 0:l.width)??0,g=e.children.length*x+(e.children.length-1)*I;L.debug("widthOfChildren 88",g,"posX");let u=0;L.debug("abc91 block?.size?.x",e.id,(o=e==null?void 0:e.size)==null?void 0:o.x);let w=(f=e==null?void 0:e.size)!=null&&f.x?((h=e==null?void 0:e.size)==null?void 0:h.x)+(-((y=e==null?void 0:e.size)==null?void 0:y.width)/2||0):-I,S=0;for(const c of e.children){const _=e;if(!c.size)continue;const{width:p,height:A}=c.size,{px:O,py:X}=Vt(r,u);if(X!=S&&(S=X,w=(b=e==null?void 0:e.size)!=null&&b.x?((m=e==null?void 0:e.size)==null?void 0:m.x)+(-((E=e==null?void 0:e.size)==null?void 0:E.width)/2||0):-I,L.debug("New row in layout for block",e.id," and child ",c.id,S)),L.debug(`abc89 layout blocks (child) id: ${c.id} Pos: ${u} (px, py) ${O},${X} (${(D=_==null?void 0:_.size)==null?void 0:D.x},${(v=_==null?void 0:_.size)==null?void 0:v.y}) parent: ${_.id} width: ${p}${I}`),_.size){const W=p/2;c.size.x=w+I+W,L.debug(`abc91 layout blocks (calc) px, pyid:${c.id} startingPos=X${w} new startingPosX${c.size.x} ${W} padding=${I} width=${p} halfWidth=${W} => x:${c.size.x} y:${c.size.y} ${c.widthInColumns} (width * (child?.w || 1)) / 2 ${p*((c==null?void 0:c.widthInColumns)??1)/2}`),w=c.size.x+W,c.size.y=_.size.y-_.size.height/2+X*(A+I)+A/2+I,L.debug(`abc88 layout blocks (calc) px, pyid:${c.id}startingPosX${w}${I}${W}=>x:${c.size.x}y:${c.size.y}${c.widthInColumns}(width * (child?.w || 1)) / 2${p*((c==null?void 0:c.widthInColumns)??1)/2}`)}c.children&&Et(c),u+=(c==null?void 0:c.widthInColumns)??1,L.debug("abc88 columnsPos",c,u)}}L.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${(T=e==null?void 0:e.size)==null?void 0:T.x} y: ${(k=e==null?void 0:e.size)==null?void 0:k.y} width: ${(N=e==null?void 0:e.size)==null?void 0:N.width}`)}d(Et,"layoutBlocks");function _t(e,{minX:t,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&e.id!=="root"){const{x:a,y:s,width:l,height:o}=e.size;a-l/2n&&(n=a+l/2),s+o/2>i&&(i=s+o/2)}if(e.children)for(const a of e.children)({minX:t,minY:r,maxX:n,maxY:i}=_t(a,{minX:t,minY:r,maxX:n,maxY:i}));return{minX:t,minY:r,maxX:n,maxY:i}}d(_t,"findBounds");function Gt(e){const t=e.getBlock("root");if(!t)return;ot(t,e,0,0),Et(t),L.debug("getBlocks",JSON.stringify(t,null,2));const{minX:r,minY:n,maxX:i,maxY:a}=_t(t),s=a-n,l=i-r;return{x:r,y:n,width:l,height:s}}d(Gt,"layout");function wt(e,t){t&&e.attr("style",t)}d(wt,"applyStyle");function Zt(e){const t=R(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=t.append("xhtml:div"),n=e.label,i=e.isNode?"nodeLabel":"edgeLabel",a=r.append("span");return a.html(n),wt(a,e.labelStyle),a.attr("class",i),wt(r,e.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}d(Zt,"addHtmlLabel");var ir=d((e,t,r,n)=>{let i=e||"";if(typeof i=="object"&&(i=i[0]),Z(z().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),L.debug("vertexText"+i);const a={isNode:n,label:we(xt(i)),labelStyle:t.replace("fill:","color:")};return Zt(a)}else{const a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof i=="string"?s=i.split(/\\n|\n|/gi):Array.isArray(i)?s=i:s=[];for(const l of s){const o=document.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),o.setAttribute("dy","1em"),o.setAttribute("x","0"),r?o.setAttribute("class","title-row"):o.setAttribute("class","row"),o.textContent=l.trim(),a.appendChild(o)}return a}},"createLabel"),j=ir,nr=d((e,t,r,n,i)=>{t.arrowTypeStart&&Ot(e,"start",t.arrowTypeStart,r,n,i),t.arrowTypeEnd&&Ot(e,"end",t.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),lr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},Ot=d((e,t,r,n,i,a)=>{const s=lr[r];if(!s){L.warn(`Unknown arrow type: ${r}`);return}const l=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker"),mt={},P={},cr=d((e,t)=>{const r=z(),n=Z(r.flowchart.htmlLabels),i=t.labelType==="markdown"?Yt(e,t.label,{style:t.labelStyle,useHtmlLabels:n,addSvgBackground:!0},r):j(t.label,t.labelStyle),a=e.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(i);let l=i.getBBox();if(n){const f=i.children[0],h=R(i);l=f.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),mt[t.id]=a,t.width=l.width,t.height=l.height;let o;if(t.startLabelLeft){const f=j(t.startLabelLeft,t.labelStyle),h=e.insert("g").attr("class","edgeTerminals"),y=h.insert("g").attr("class","inner");o=y.node().appendChild(f);const b=f.getBBox();y.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),P[t.id]||(P[t.id]={}),P[t.id].startLeft=h,et(o,t.startLabelLeft)}if(t.startLabelRight){const f=j(t.startLabelRight,t.labelStyle),h=e.insert("g").attr("class","edgeTerminals"),y=h.insert("g").attr("class","inner");o=h.node().appendChild(f),y.node().appendChild(f);const b=f.getBBox();y.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),P[t.id]||(P[t.id]={}),P[t.id].startRight=h,et(o,t.startLabelRight)}if(t.endLabelLeft){const f=j(t.endLabelLeft,t.labelStyle),h=e.insert("g").attr("class","edgeTerminals"),y=h.insert("g").attr("class","inner");o=y.node().appendChild(f);const b=f.getBBox();y.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),h.node().appendChild(f),P[t.id]||(P[t.id]={}),P[t.id].endLeft=h,et(o,t.endLabelLeft)}if(t.endLabelRight){const f=j(t.endLabelRight,t.labelStyle),h=e.insert("g").attr("class","edgeTerminals"),y=h.insert("g").attr("class","inner");o=y.node().appendChild(f);const b=f.getBBox();y.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),h.node().appendChild(f),P[t.id]||(P[t.id]={}),P[t.id].endRight=h,et(o,t.endLabelRight)}return i},"insertEdgeLabel");function et(e,t){z().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}d(et,"setTerminalWidth");var or=d((e,t)=>{L.debug("Moving label abc88 ",e.id,e.label,mt[e.id],t);let r=t.updatedPath?t.updatedPath:t.originalPath;const n=z(),{subGraphTitleTotalMargin:i}=ge(n);if(e.label){const a=mt[e.id];let s=e.x,l=e.y;if(r){const o=tt.calcLabelPosition(r);L.debug("Moving label "+e.label+" from (",s,",",l,") to (",o.x,",",o.y,") abc88"),t.updatedPath&&(s=o.x,l=o.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(e.startLabelLeft){const a=P[e.id].startLeft;let s=e.x,l=e.y;if(r){const o=tt.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",r);s=o.x,l=o.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.startLabelRight){const a=P[e.id].startRight;let s=e.x,l=e.y;if(r){const o=tt.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",r);s=o.x,l=o.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.endLabelLeft){const a=P[e.id].endLeft;let s=e.x,l=e.y;if(r){const o=tt.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",r);s=o.x,l=o.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.endLabelRight){const a=P[e.id].endRight;let s=e.x,l=e.y;if(r){const o=tt.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",r);s=o.x,l=o.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),hr=d((e,t)=>{const r=e.x,n=e.y,i=Math.abs(t.x-r),a=Math.abs(t.y-n),s=e.width/2,l=e.height/2;return i>=s||a>=l},"outsideNode"),dr=d((e,t,r)=>{L.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(t)} + insidePoint : ${JSON.stringify(r)} + node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const n=e.x,i=e.y,a=Math.abs(n-r.x),s=e.width/2;let l=r.xMath.abs(n-t.x)*o){let y=r.y{L.debug("abc88 cutPathAtIntersect",e,t);let r=[],n=e[0],i=!1;return e.forEach(a=>{if(!hr(t,a)&&!i){const s=dr(t,n,a);let l=!1;r.forEach(o=>{l=l||o.x===s.x&&o.y===s.y}),r.some(o=>o.x===s.x&&o.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),gr=d(function(e,t,r,n,i,a,s){let l=r.points;L.debug("abc88 InsertEdge: edge=",r,"e=",t);let o=!1;const f=a.node(t.v);var h=a.node(t.w);h!=null&&h.intersect&&(f!=null&&f.intersect)&&(l=l.slice(1,r.points.length-1),l.unshift(f.intersect(l[0])),l.push(h.intersect(l[l.length-1]))),r.toCluster&&(L.debug("to cluster abc88",n[r.toCluster]),l=Rt(r.points,n[r.toCluster].node),o=!0),r.fromCluster&&(L.debug("from cluster abc88",n[r.fromCluster]),l=Rt(l.reverse(),n[r.fromCluster].node).reverse(),o=!0);const y=l.filter(x=>!Number.isNaN(x.y));let b=be;r.curve&&(i==="graph"||i==="flowchart")&&(b=r.curve);const{x:m,y:E}=ue(r),D=pe().x(m).y(E).curve(b);let v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}const T=e.append("path").attr("d",D(y)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style);let k="";(z().flowchart.arrowMarkerAbsolute||z().state.arrowMarkerAbsolute)&&(k=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,k=k.replace(/\(/g,"\\("),k=k.replace(/\)/g,"\\)")),nr(T,r,k,s,i);let N={};return o&&(N.updatedPath=l),N.originalPath=r.points,N},"insertEdge"),ur=d(e=>{const t=new Set;for(const r of e)switch(r){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(r);break}return t},"expandAndDeduplicateDirections"),pr=d((e,t,r)=>{const n=ur(e),i=2,a=t.height+2*r.padding,s=a/i,l=t.width+2*s+r.padding,o=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:l/2,y:2*o},{x:l-s,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*o,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-s,y:-a},{x:l/2,y:-a-2*o},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*o,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:l-s,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-s},{x:l,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-o},{x:l-s,y:-o},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+o},{x:s,y:-a+o},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-o},{x:s,y:-o},{x:s,y:-a+o},{x:0,y:-a+o},{x:l/2,y:-a},{x:l,y:-a+o},{x:l-s,y:-a+o},{x:l-s,y:-o},{x:l,y:-o}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-s},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:s,y:-o},{x:s,y:-o},{x:l-s,y:-o},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+o},{x:s,y:-a+o},{x:s,y:-a+o}]:n.has("left")?[{x:s,y:0},{x:s,y:-o},{x:l-s,y:-o},{x:l-s,y:-a+o},{x:s,y:-a+o},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-o},{x:s,y:-a+o},{x:0,y:-a+o},{x:l/2,y:-a},{x:l,y:-a+o},{x:l-s,y:-a+o},{x:l-s,y:-o}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-o},{x:s,y:-o},{x:s,y:-a+o},{x:l-s,y:-a+o},{x:l-s,y:-o},{x:l,y:-o}]:[{x:0,y:0}]},"getArrowPoints");function qt(e,t){return e.intersect(t)}d(qt,"intersectNode");var fr=qt;function Jt(e,t,r,n){var i=e.x,a=e.y,s=i-n.x,l=a-n.y,o=Math.sqrt(t*t*l*l+r*r*s*s),f=Math.abs(t*r*s/o);n.x0}d(Lt,"sameSign");var yr=te,br=ee;function ee(e,t,r){var n=e.x,i=e.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(E){s=Math.min(s,E.x),l=Math.min(l,E.y)}):(s=Math.min(s,t.x),l=Math.min(l,t.y));for(var o=n-e.width/2-s,f=i-e.height/2-l,h=0;h1&&a.sort(function(E,D){var v=E.x-r.x,T=E.y-r.y,k=Math.sqrt(v*v+T*T),N=D.x-r.x,x=D.y-r.y,g=Math.sqrt(N*N+x*x);return k{var r=e.x,n=e.y,i=t.x-r,a=t.y-n,s=e.width/2,l=e.height/2,o,f;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),o=a===0?0:l*i/a,f=l):(i<0&&(s=-s),o=s,f=i===0?0:s*a/i),{x:r+o,y:n+f}},"intersectRect"),mr=wr,C={node:fr,circle:xr,ellipse:Qt,polygon:br,rect:mr},F=d(async(e,t,r,n)=>{const i=z();let a;const s=t.useHtmlLabels||Z(i.flowchart.htmlLabels);r?a=r:a="node default";const l=e.insert("g").attr("class",a).attr("id",t.domId||t.id),o=l.insert("g").attr("class","label").attr("style",t.labelStyle);let f;t.labelText===void 0?f="":f=typeof t.labelText=="string"?t.labelText:t.labelText[0];const h=o.node();let y;t.labelType==="markdown"?y=Yt(o,Tt(xt(f),i),{useHtmlLabels:s,width:t.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):y=h.appendChild(j(Tt(xt(f),i),t.labelStyle,!1,n));let b=y.getBBox();const m=t.padding/2;if(Z(i.flowchart.htmlLabels)){const E=y.children[0],D=R(y),v=E.getElementsByTagName("img");if(v){const T=f.replace(/]*>/g,"").trim()==="";await Promise.all([...v].map(k=>new Promise(N=>{function x(){if(k.style.display="flex",k.style.flexDirection="column",T){const g=i.fontSize?i.fontSize:window.getComputedStyle(document.body).fontSize,w=parseInt(g,10)*5+"px";k.style.minWidth=w,k.style.maxWidth=w}else k.style.width="100%";N(k)}d(x,"setupImage"),setTimeout(()=>{k.complete&&x()}),k.addEventListener("error",x),k.addEventListener("load",x)})))}b=E.getBoundingClientRect(),D.attr("width",b.width),D.attr("height",b.height)}return s?o.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"):o.attr("transform","translate(0, "+-b.height/2+")"),t.centerLabel&&o.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),o.insert("rect",":first-child"),{shapeSvg:l,bbox:b,halfPadding:m,label:o}},"labelHelper"),B=d((e,t)=>{const r=t.node().getBBox();e.width=r.width,e.height=r.height},"updateNodeBounds");function G(e,t,r,n){return e.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+r/2+")")}d(G,"insertPolygonShape");var Lr=d(async(e,t)=>{t.useHtmlLabels||z().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await F(e,t,"node "+t.classes,!0);L.info("Classes = ",t.classes);const s=n.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+t.padding).attr("height",i.height+t.padding),B(t,s),t.intersect=function(l){return C.rect(t,l)},n},"note"),Sr=Lr,zt=d(e=>e?" "+e:"","formatClass"),K=d((e,t)=>`${t||"node default"}${zt(e.classes)} ${zt(e.class)}`,"getClassesFromNode"),At=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,K(t,void 0),!0),i=n.width+t.padding,a=n.height+t.padding,s=i+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];L.info("Question main (Circle)");const o=G(r,s,s,l);return o.attr("style",t.style),B(t,o),t.intersect=function(f){return L.warn("Intersect called"),C.polygon(t,l,f)},r},"question"),vr=d((e,t)=>{const r=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return C.circle(t,14,s)},r},"choice"),Er=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,K(t,void 0),!0),i=4,a=n.height+t.padding,s=a/i,l=n.width+2*s+t.padding,o=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],f=G(r,l,a,o);return f.attr("style",t.style),B(t,f),t.intersect=function(h){return C.polygon(t,o,h)},r},"hexagon"),_r=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,void 0,!0),i=2,a=n.height+2*t.padding,s=a/i,l=n.width+2*s+t.padding,o=pr(t.directions,n,t),f=G(r,l,a,o);return f.attr("style",t.style),B(t,f),t.intersect=function(h){return C.polygon(t,o,h)},r},"block_arrow"),kr=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,K(t,void 0),!0),i=n.width+t.padding,a=n.height+t.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return G(r,i,a,s).attr("style",t.style),t.width=i+a,t.height=a,t.intersect=function(o){return C.polygon(t,s,o)},r},"rect_left_inv_arrow"),Dr=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,K(t),!0),i=n.width+t.padding,a=n.height+t.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],l=G(r,i,a,s);return l.attr("style",t.style),B(t,l),t.intersect=function(o){return C.polygon(t,s,o)},r},"lean_right"),Nr=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,K(t,void 0),!0),i=n.width+t.padding,a=n.height+t.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],l=G(r,i,a,s);return l.attr("style",t.style),B(t,l),t.intersect=function(o){return C.polygon(t,s,o)},r},"lean_left"),Tr=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,K(t,void 0),!0),i=n.width+t.padding,a=n.height+t.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],l=G(r,i,a,s);return l.attr("style",t.style),B(t,l),t.intersect=function(o){return C.polygon(t,s,o)},r},"trapezoid"),Cr=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,K(t,void 0),!0),i=n.width+t.padding,a=n.height+t.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=G(r,i,a,s);return l.attr("style",t.style),B(t,l),t.intersect=function(o){return C.polygon(t,s,o)},r},"inv_trapezoid"),Br=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,K(t,void 0),!0),i=n.width+t.padding,a=n.height+t.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],l=G(r,i,a,s);return l.attr("style",t.style),B(t,l),t.intersect=function(o){return C.polygon(t,s,o)},r},"rect_right_inv_arrow"),Ir=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,K(t,void 0),!0),i=n.width+t.padding,a=i/2,s=a/(2.5+i/50),l=n.height+s+t.padding,o="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-l,f=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",o).attr("transform","translate("+-i/2+","+-(l/2+s)+")");return B(t,f),t.intersect=function(h){const y=C.rect(t,h),b=y.x-t.x;if(a!=0&&(Math.abs(b)t.height/2-s)){let m=s*s*(1-b*b/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,h.y-t.y>0&&(m=-m),y.y+=m}return y},r},"cylinder"),Or=d(async(e,t)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await F(e,t,"node "+t.classes+" "+t.class,!0),a=r.insert("rect",":first-child"),s=t.positioned?t.width:n.width+t.padding,l=t.positioned?t.height:n.height+t.padding,o=t.positioned?-s/2:-n.width/2-i,f=t.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",o).attr("y",f).attr("width",s).attr("height",l),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(ht(a,t.props.borders,s,l),h.delete("borders")),h.forEach(y=>{L.warn(`Unknown node property ${y}`)})}return B(t,a),t.intersect=function(h){return C.rect(t,h)},r},"rect"),Rr=d(async(e,t)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await F(e,t,"node "+t.classes,!0),a=r.insert("rect",":first-child"),s=t.positioned?t.width:n.width+t.padding,l=t.positioned?t.height:n.height+t.padding,o=t.positioned?-s/2:-n.width/2-i,f=t.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",o).attr("y",f).attr("width",s).attr("height",l),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(ht(a,t.props.borders,s,l),h.delete("borders")),h.forEach(y=>{L.warn(`Unknown node property ${y}`)})}return B(t,a),t.intersect=function(h){return C.rect(t,h)},r},"composite"),zr=d(async(e,t)=>{const{shapeSvg:r}=await F(e,t,"label",!0);L.trace("Classes = ",t.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(ht(n,t.props.borders,i,a),s.delete("borders")),s.forEach(l=>{L.warn(`Unknown node property ${l}`)})}return B(t,n),t.intersect=function(s){return C.rect(t,s)},r},"labelRect");function ht(e,t,r,n){const i=[],a=d(l=>{i.push(l,0)},"addBorder"),s=d(l=>{i.push(0,l)},"skipBorder");t.includes("t")?(L.debug("add top border"),a(r)):s(r),t.includes("r")?(L.debug("add right border"),a(n)):s(n),t.includes("b")?(L.debug("add bottom border"),a(r)):s(r),t.includes("l")?(L.debug("add left border"),a(n)):s(n),e.attr("stroke-dasharray",i.join(" "))}d(ht,"applyNodePropertyBorders");var Ar=d((e,t)=>{let r;t.classes?r="node "+t.classes:r="node default";const n=e.insert("g").attr("class",r).attr("id",t.domId||t.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),l=t.labelText.flat?t.labelText.flat():t.labelText;let o="";typeof l=="object"?o=l[0]:o=l,L.info("Label text abc79",o,l,typeof l=="object");const f=s.node().appendChild(j(o,t.labelStyle,!0,!0));let h={width:0,height:0};if(Z(z().flowchart.htmlLabels)){const D=f.children[0],v=R(f);h=D.getBoundingClientRect(),v.attr("width",h.width),v.attr("height",h.height)}L.info("Text 2",l);const y=l.slice(1,l.length);let b=f.getBBox();const m=s.node().appendChild(j(y.join?y.join("
    "):y,t.labelStyle,!0,!0));if(Z(z().flowchart.htmlLabels)){const D=m.children[0],v=R(m);h=D.getBoundingClientRect(),v.attr("width",h.width),v.attr("height",h.height)}const E=t.padding/2;return R(m).attr("transform","translate( "+(h.width>b.width?0:(b.width-h.width)/2)+", "+(b.height+E+5)+")"),R(f).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await F(e,t,K(t,void 0),!0),i=n.height+t.padding,a=n.width+i/4+t.padding,s=r.insert("rect",":first-child").attr("style",t.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return B(t,s),t.intersect=function(l){return C.rect(t,l)},r},"stadium"),Fr=d(async(e,t)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await F(e,t,K(t,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+i).attr("width",n.width+t.padding).attr("height",n.height+t.padding),L.info("Circle main"),B(t,a),t.intersect=function(s){return L.info("Circle intersect",t,n.width/2+i,s),C.circle(t,n.width/2+i,s)},r},"circle"),Wr=d(async(e,t)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await F(e,t,K(t,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),o=s.insert("circle");return s.attr("class",t.class),l.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+i+a).attr("width",n.width+t.padding+a*2).attr("height",n.height+t.padding+a*2),o.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+i).attr("width",n.width+t.padding).attr("height",n.height+t.padding),L.info("DoubleCircle main"),B(t,l),t.intersect=function(f){return L.info("DoubleCircle intersect",t,n.width/2+i+a,f),C.circle(t,n.width/2+i+a,f)},r},"doublecircle"),Pr=d(async(e,t)=>{const{shapeSvg:r,bbox:n}=await F(e,t,K(t,void 0),!0),i=n.width+t.padding,a=n.height+t.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=G(r,i,a,s);return l.attr("style",t.style),B(t,l),t.intersect=function(o){return C.polygon(t,s,o)},r},"subroutine"),Yr=d((e,t)=>{const r=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),B(t,n),t.intersect=function(i){return C.circle(t,7,i)},r},"start"),Mt=d((e,t,r)=>{const n=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return B(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(l){return C.rect(t,l)},n},"forkJoin"),Hr=d((e,t)=>{const r=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),B(t,i),t.intersect=function(a){return C.circle(t,7,a)},r},"end"),Kr=d((e,t)=>{var S;const r=t.padding/2,n=4,i=8;let a;t.classes?a="node "+t.classes:a="node default";const s=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=s.insert("rect",":first-child"),o=s.insert("line"),f=s.insert("line");let h=0,y=n;const b=s.insert("g").attr("class","label");let m=0;const E=(S=t.classData.annotations)==null?void 0:S[0],D=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",v=b.node().appendChild(j(D,t.labelStyle,!0,!0));let T=v.getBBox();if(Z(z().flowchart.htmlLabels)){const c=v.children[0],_=R(v);T=c.getBoundingClientRect(),_.attr("width",T.width),_.attr("height",T.height)}t.classData.annotations[0]&&(y+=T.height+n,h+=T.width);let k=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(z().flowchart.htmlLabels?k+="<"+t.classData.type+">":k+="<"+t.classData.type+">");const N=b.node().appendChild(j(k,t.labelStyle,!0,!0));R(N).attr("class","classTitle");let x=N.getBBox();if(Z(z().flowchart.htmlLabels)){const c=N.children[0],_=R(N);x=c.getBoundingClientRect(),_.attr("width",x.width),_.attr("height",x.height)}y+=x.height+n,x.width>h&&(h=x.width);const g=[];t.classData.members.forEach(c=>{const _=c.getDisplayDetails();let p=_.displayText;z().flowchart.htmlLabels&&(p=p.replace(//g,">"));const A=b.node().appendChild(j(p,_.cssStyle?_.cssStyle:t.labelStyle,!0,!0));let O=A.getBBox();if(Z(z().flowchart.htmlLabels)){const X=A.children[0],W=R(A);O=X.getBoundingClientRect(),W.attr("width",O.width),W.attr("height",O.height)}O.width>h&&(h=O.width),y+=O.height+n,g.push(A)}),y+=i;const u=[];if(t.classData.methods.forEach(c=>{const _=c.getDisplayDetails();let p=_.displayText;z().flowchart.htmlLabels&&(p=p.replace(//g,">"));const A=b.node().appendChild(j(p,_.cssStyle?_.cssStyle:t.labelStyle,!0,!0));let O=A.getBBox();if(Z(z().flowchart.htmlLabels)){const X=A.children[0],W=R(A);O=X.getBoundingClientRect(),W.attr("width",O.width),W.attr("height",O.height)}O.width>h&&(h=O.width),y+=O.height+n,u.push(A)}),y+=i,E){let c=(h-T.width)/2;R(v).attr("transform","translate( "+(-1*h/2+c)+", "+-1*y/2+")"),m=T.height+n}let w=(h-x.width)/2;return R(N).attr("transform","translate( "+(-1*h/2+w)+", "+(-1*y/2+m)+")"),m+=x.height+n,o.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-y/2-r+i+m).attr("y2",-y/2-r+i+m),m+=i,g.forEach(c=>{R(c).attr("transform","translate( "+-h/2+", "+(-1*y/2+m+i/2)+")");const _=c==null?void 0:c.getBBox();m+=((_==null?void 0:_.height)??0)+n}),m+=i,f.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-y/2-r+i+m).attr("y2",-y/2-r+i+m),m+=i,u.forEach(c=>{R(c).attr("transform","translate( "+-h/2+", "+(-1*y/2+m)+")");const _=c==null?void 0:c.getBBox();m+=((_==null?void 0:_.height)??0)+n}),l.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(y/2)-r).attr("width",h+t.padding).attr("height",y+t.padding),B(t,l),t.intersect=function(c){return C.rect(t,c)},s},"class_box"),Ft={rhombus:At,composite:Rr,question:At,rect:Or,labelRect:zr,rectWithTitle:Ar,choice:vr,circle:Fr,doublecircle:Wr,stadium:Mr,hexagon:Er,block_arrow:_r,rect_left_inv_arrow:kr,lean_right:Dr,lean_left:Nr,trapezoid:Tr,inv_trapezoid:Cr,rect_right_inv_arrow:Br,cylinder:Ir,start:Yr,end:Hr,note:Sr,subroutine:Pr,fork:Mt,join:Mt,class_box:Kr},lt={},re=d(async(e,t,r)=>{let n,i;if(t.link){let a;z().securityLevel==="sandbox"?a="_top":t.linkTarget&&(a=t.linkTarget||"_blank"),n=e.insert("svg:a").attr("xlink:href",t.link).attr("target",a),i=await Ft[t.shape](n,t,r)}else i=await Ft[t.shape](e,t,r),n=i;return t.tooltip&&i.attr("title",t.tooltip),t.class&&i.attr("class","node default "+t.class),lt[t.id]=n,t.haveCallback&<[t.id].attr("class",lt[t.id].attr("class")+" clickable"),n},"insertNode"),Xr=d(e=>{const t=lt[e.id];L.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const r=8,n=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+n-e.width/2)+", "+(e.y-e.height/2-r)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),n},"positionNode");function kt(e,t,r=!1){var b,m,E;const n=e;let i="default";(((b=n==null?void 0:n.classes)==null?void 0:b.length)||0)>0&&(i=((n==null?void 0:n.classes)??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",l;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const o=de((n==null?void 0:n.styles)??[]),f=n.label,h=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:o.labelStyle,shape:s,labelText:f,rx:a,ry:a,class:i,style:o.style,id:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:l??((E=(m=at())==null?void 0:m.block)==null?void 0:E.padding)??0}}d(kt,"getNodeFromBlock");async function ae(e,t,r){const n=kt(t,r,!1);if(n.type==="group")return;const i=at(),a=await re(e,n,{config:i}),s=a.node().getBBox(),l=r.getBlock(n.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(l),a.remove()}d(ae,"calculateBlockSize");async function se(e,t,r){const n=kt(t,r,!0);if(r.getBlock(n.id).type!=="space"){const a=at();await re(e,n,{config:a}),t.intersect=n==null?void 0:n.intersect,Xr(n)}}d(se,"insertBlockPositioned");async function dt(e,t,r,n){for(const i of t)await n(e,i,r),i.children&&await dt(e,i.children,r,n)}d(dt,"performOperations");async function ie(e,t,r){await dt(e,t,r,ae)}d(ie,"calculateBlockSizes");async function ne(e,t,r){await dt(e,t,r,se)}d(ne,"insertBlocks");async function le(e,t,r,n,i){const a=new Se({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of t)if(s.start&&s.end){const l=n.getBlock(s.start),o=n.getBlock(s.end);if(l!=null&&l.size&&(o!=null&&o.size)){const f=l.size,h=o.size,y=[{x:f.x,y:f.y},{x:f.x+(h.x-f.x)/2,y:f.y+(h.y-f.y)/2},{x:h.x,y:h.y}];gr(e,{v:s.start,w:s.end,name:s.id},{...s,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:y,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await cr(e,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:y,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),or({...s,x:y[1].x,y:y[1].y},{originalPath:y}))}}}d(le,"insertEdges");var Ur=d(function(e,t){return t.db.getClasses()},"getClasses"),jr=d(async function(e,t,r,n){const{securityLevel:i,block:a}=at(),s=n.db;let l;i==="sandbox"&&(l=R("#i"+t));const o=i==="sandbox"?R(l.nodes()[0].contentDocument.body):R("body"),f=i==="sandbox"?o.select(`[id="${t}"]`):R(`[id="${t}"]`);ar(f,["point","circle","cross"],n.type,t);const y=s.getBlocks(),b=s.getBlocksFlat(),m=s.getEdges(),E=f.insert("g").attr("class","block");await ie(E,y,s);const D=Gt(s);if(await ne(E,y,s),await le(E,m,b,s,t),D){const v=D,T=Math.max(1,Math.round(.125*(v.width/v.height))),k=v.height+T+10,N=v.width+10,{useMaxWidth:x}=a;fe(f,k,N,!!x),L.debug("Here Bounds",D,v),f.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),Vr={draw:jr,getClasses:Ur},aa={parser:Ee,db:Ke,renderer:Vr,styles:Ue};export{aa as diagram}; diff --git a/_nuxt/DJhIy8L4.js b/_nuxt/DJhIy8L4.js new file mode 100644 index 000000000..39fc74484 --- /dev/null +++ b/_nuxt/DJhIy8L4.js @@ -0,0 +1,8 @@ +import{_ as m,d as lt,g as _t,s as xt,b as vt,c as bt,r as wt,q as St,x as Lt,e as Et,p as At,j as H,ac as Tt}from"./BN9GDn3H.js";import{o as Mt}from"./CmKTTxBW.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";import"./Gi6I4Gst.js";function Nt(t){for(var e=t.length/6|0,i=new Array(e),a=0;a=a)&&(i=a);else{let a=-1;for(let h of t)(h=e(h,++a,t))!=null&&(i=h)&&(i=h)}return i}function gt(t,e){let i;if(e===void 0)for(const a of t)a!=null&&(i>a||i===void 0&&a>=a)&&(i=a);else{let a=-1;for(let h of t)(h=e(h,++a,t))!=null&&(i>h||i===void 0&&h>=h)&&(i=h)}return i}function nt(t,e){let i=0;if(e===void 0)for(let a of t)(a=+a)&&(i+=a);else{let a=-1;for(let h of t)(h=+e(h,++a,t))&&(i+=h)}return i}function Pt(t){return t.target.depth}function Ct(t){return t.depth}function Ot(t,e){return e-1-t.height}function mt(t,e){return t.sourceLinks.length?t.depth:e-1}function Dt(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?gt(t.sourceLinks,Pt)-1:0}function X(t){return function(){return t}}function ut(t,e){return Q(t.source,e.source)||t.index-e.index}function ht(t,e){return Q(t.target,e.target)||t.index-e.index}function Q(t,e){return t.y0-e.y0}function it(t){return t.value}function jt(t){return t.index}function zt(t){return t.nodes}function $t(t){return t.links}function ft(t,e){const i=t.get(e);if(!i)throw new Error("missing: "+e);return i}function yt({nodes:t}){for(const e of t){let i=e.y0,a=i;for(const h of e.sourceLinks)h.y0=i+h.width/2,i+=h.width;for(const h of e.targetLinks)h.y1=a+h.width/2,a+=h.width}}function Bt(){let t=0,e=0,i=1,a=1,h=24,d=8,g,_=jt,r=mt,o,l,x=zt,v=$t,y=6;function b(){const n={nodes:x.apply(null,arguments),links:v.apply(null,arguments)};return M(n),T(n),N(n),C(n),S(n),yt(n),n}b.update=function(n){return yt(n),n},b.nodeId=function(n){return arguments.length?(_=typeof n=="function"?n:X(n),b):_},b.nodeAlign=function(n){return arguments.length?(r=typeof n=="function"?n:X(n),b):r},b.nodeSort=function(n){return arguments.length?(o=n,b):o},b.nodeWidth=function(n){return arguments.length?(h=+n,b):h},b.nodePadding=function(n){return arguments.length?(d=g=+n,b):d},b.nodes=function(n){return arguments.length?(x=typeof n=="function"?n:X(n),b):x},b.links=function(n){return arguments.length?(v=typeof n=="function"?n:X(n),b):v},b.linkSort=function(n){return arguments.length?(l=n,b):l},b.size=function(n){return arguments.length?(t=e=0,i=+n[0],a=+n[1],b):[i-t,a-e]},b.extent=function(n){return arguments.length?(t=+n[0][0],i=+n[1][0],e=+n[0][1],a=+n[1][1],b):[[t,e],[i,a]]},b.iterations=function(n){return arguments.length?(y=+n,b):y};function M({nodes:n,links:f}){for(const[c,s]of n.entries())s.index=c,s.sourceLinks=[],s.targetLinks=[];const u=new Map(n.map((c,s)=>[_(c,s,n),c]));for(const[c,s]of f.entries()){s.index=c;let{source:k,target:w}=s;typeof k!="object"&&(k=s.source=ft(u,k)),typeof w!="object"&&(w=s.target=ft(u,w)),k.sourceLinks.push(s),w.targetLinks.push(s)}if(l!=null)for(const{sourceLinks:c,targetLinks:s}of n)c.sort(l),s.sort(l)}function T({nodes:n}){for(const f of n)f.value=f.fixedValue===void 0?Math.max(nt(f.sourceLinks,it),nt(f.targetLinks,it)):f.fixedValue}function N({nodes:n}){const f=n.length;let u=new Set(n),c=new Set,s=0;for(;u.size;){for(const k of u){k.depth=s;for(const{target:w}of k.sourceLinks)c.add(w)}if(++s>f)throw new Error("circular link");u=c,c=new Set}}function C({nodes:n}){const f=n.length;let u=new Set(n),c=new Set,s=0;for(;u.size;){for(const k of u){k.height=s;for(const{source:w}of k.targetLinks)c.add(w)}if(++s>f)throw new Error("circular link");u=c,c=new Set}}function j({nodes:n}){const f=ct(n,s=>s.depth)+1,u=(i-t-h)/(f-1),c=new Array(f);for(const s of n){const k=Math.max(0,Math.min(f-1,Math.floor(r.call(null,s,f))));s.layer=k,s.x0=t+k*u,s.x1=s.x0+h,c[k]?c[k].push(s):c[k]=[s]}if(o)for(const s of c)s.sort(o);return c}function R(n){const f=gt(n,u=>(a-e-(u.length-1)*g)/nt(u,it));for(const u of n){let c=e;for(const s of u){s.y0=c,s.y1=c+s.value*f,c=s.y1+g;for(const k of s.sourceLinks)k.width=k.value*f}c=(a-c+g)/(u.length+1);for(let s=0;su.length)-1)),R(f);for(let u=0;u0))continue;let W=(L/V-w.y0)*f;w.y0+=W,w.y1+=W,E(w)}o===void 0&&k.sort(Q),O(k,u)}}function $(n,f,u){for(let c=n.length,s=c-2;s>=0;--s){const k=n[s];for(const w of k){let L=0,V=0;for(const{target:U,value:et}of w.sourceLinks){let G=et*(U.layer-w.layer);L+=I(w,U)*G,V+=G}if(!(V>0))continue;let W=(L/V-w.y0)*f;w.y0+=W,w.y1+=W,E(w)}o===void 0&&k.sort(Q),O(k,u)}}function O(n,f){const u=n.length>>1,c=n[u];p(n,c.y0-g,u-1,f),D(n,c.y1+g,u+1,f),p(n,a,n.length-1,f),D(n,e,0,f)}function D(n,f,u,c){for(;u1e-6&&(s.y0+=k,s.y1+=k),f=s.y1+g}}function p(n,f,u,c){for(;u>=0;--u){const s=n[u],k=(s.y1-f)*c;k>1e-6&&(s.y0-=k,s.y1-=k),f=s.y0-g}}function E({sourceLinks:n,targetLinks:f}){if(l===void 0){for(const{source:{sourceLinks:u}}of f)u.sort(ht);for(const{target:{targetLinks:u}}of n)u.sort(ut)}}function A(n){if(l===void 0)for(const{sourceLinks:f,targetLinks:u}of n)f.sort(ht),u.sort(ut)}function z(n,f){let u=n.y0-(n.sourceLinks.length-1)*g/2;for(const{target:c,width:s}of n.sourceLinks){if(c===f)break;u+=s+g}for(const{source:c,width:s}of f.targetLinks){if(c===n)break;u-=s}return u}function I(n,f){let u=f.y0-(f.targetLinks.length-1)*g/2;for(const{source:c,width:s}of f.targetLinks){if(c===n)break;u+=s+g}for(const{target:c,width:s}of n.sourceLinks){if(c===f)break;u-=s}return u}return b}var rt=Math.PI,st=2*rt,F=1e-6,Rt=st-F;function ot(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function kt(){return new ot}ot.prototype=kt.prototype={constructor:ot,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,i,a){this._+="Q"+ +t+","+ +e+","+(this._x1=+i)+","+(this._y1=+a)},bezierCurveTo:function(t,e,i,a,h,d){this._+="C"+ +t+","+ +e+","+ +i+","+ +a+","+(this._x1=+h)+","+(this._y1=+d)},arcTo:function(t,e,i,a,h){t=+t,e=+e,i=+i,a=+a,h=+h;var d=this._x1,g=this._y1,_=i-t,r=a-e,o=d-t,l=g-e,x=o*o+l*l;if(h<0)throw new Error("negative radius: "+h);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(x>F)if(!(Math.abs(l*_-r*o)>F)||!h)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var v=i-d,y=a-g,b=_*_+r*r,M=v*v+y*y,T=Math.sqrt(b),N=Math.sqrt(x),C=h*Math.tan((rt-Math.acos((b+x-M)/(2*T*N)))/2),j=C/N,R=C/T;Math.abs(j-1)>F&&(this._+="L"+(t+j*o)+","+(e+j*l)),this._+="A"+h+","+h+",0,0,"+ +(l*v>o*y)+","+(this._x1=t+R*_)+","+(this._y1=e+R*r)}},arc:function(t,e,i,a,h,d){t=+t,e=+e,i=+i,d=!!d;var g=i*Math.cos(a),_=i*Math.sin(a),r=t+g,o=e+_,l=1^d,x=d?a-h:h-a;if(i<0)throw new Error("negative radius: "+i);this._x1===null?this._+="M"+r+","+o:(Math.abs(this._x1-r)>F||Math.abs(this._y1-o)>F)&&(this._+="L"+r+","+o),i&&(x<0&&(x=x%st+st),x>Rt?this._+="A"+i+","+i+",0,1,"+l+","+(t-g)+","+(e-_)+"A"+i+","+i+",0,1,"+l+","+(this._x1=r)+","+(this._y1=o):x>F&&(this._+="A"+i+","+i+",0,"+ +(x>=rt)+","+l+","+(this._x1=t+i*Math.cos(h))+","+(this._y1=e+i*Math.sin(h))))},rect:function(t,e,i,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +i+"v"+ +a+"h"+-i+"Z"},toString:function(){return this._}};function dt(t){return function(){return t}}function Vt(t){return t[0]}function Ft(t){return t[1]}var Wt=Array.prototype.slice;function Ut(t){return t.source}function Gt(t){return t.target}function Yt(t){var e=Ut,i=Gt,a=Vt,h=Ft,d=null;function g(){var _,r=Wt.call(arguments),o=e.apply(this,r),l=i.apply(this,r);if(d||(d=_=kt()),t(d,+a.apply(this,(r[0]=o,r)),+h.apply(this,r),+a.apply(this,(r[0]=l,r)),+h.apply(this,r)),_)return d=null,_+""||null}return g.source=function(_){return arguments.length?(e=_,g):e},g.target=function(_){return arguments.length?(i=_,g):i},g.x=function(_){return arguments.length?(a=typeof _=="function"?_:dt(+_),g):a},g.y=function(_){return arguments.length?(h=typeof _=="function"?_:dt(+_),g):h},g.context=function(_){return arguments.length?(d=_??null,g):d},g}function qt(t,e,i,a,h){t.moveTo(e,i),t.bezierCurveTo(e=(e+a)/2,i,e,h,a,h)}function Ht(){return Yt(qt)}function Xt(t){return[t.source.x1,t.y0]}function Qt(t){return[t.target.x0,t.y1]}function Kt(){return Ht().source(Xt).target(Qt)}var at=function(){var t=m(function(_,r,o,l){for(o=o||{},l=_.length;l--;o[_[l]]=r);return o},"o"),e=[1,9],i=[1,10],a=[1,5,10,12],h={trace:m(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:m(function(r,o,l,x,v,y,b){var M=y.length-1;switch(v){case 7:const T=x.findOrCreateNode(y[M-4].trim().replaceAll('""','"')),N=x.findOrCreateNode(y[M-2].trim().replaceAll('""','"')),C=parseFloat(y[M].trim());x.addLink(T,N,C);break;case 8:case 9:case 11:this.$=y[M];break;case 10:this.$=y[M-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:i},{1:[2,6],7:11,10:[1,12]},t(i,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(i,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:i},{15:18,16:7,17:8,18:e,20:i},{18:[1,19]},t(i,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:e,20:i},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:m(function(r,o){if(o.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=o,l}},"parseError"),parse:m(function(r){var o=this,l=[0],x=[],v=[null],y=[],b=this.table,M="",T=0,N=0,C=2,j=1,R=y.slice.call(arguments,1),S=Object.create(this.lexer),P={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(P.yy[$]=this.yy[$]);S.setInput(r,P.yy),P.yy.lexer=S,P.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var O=S.yylloc;y.push(O);var D=S.options&&S.options.ranges;typeof P.yy.parseError=="function"?this.parseError=P.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function p(L){l.length=l.length-2*L,v.length=v.length-L,y.length=y.length-L}m(p,"popStack");function E(){var L;return L=x.pop()||S.lex()||j,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=o.symbols_[L]||L),L}m(E,"lex");for(var A,z,I,n,f={},u,c,s,k;;){if(z=l[l.length-1],this.defaultActions[z]?I=this.defaultActions[z]:((A===null||typeof A>"u")&&(A=E()),I=b[z]&&b[z][A]),typeof I>"u"||!I.length||!I[0]){var w="";k=[];for(u in b[z])this.terminals_[u]&&u>C&&k.push("'"+this.terminals_[u]+"'");S.showPosition?w="Parse error on line "+(T+1)+`: +`+S.showPosition()+` +Expecting `+k.join(", ")+", got '"+(this.terminals_[A]||A)+"'":w="Parse error on line "+(T+1)+": Unexpected "+(A==j?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(w,{text:S.match,token:this.terminals_[A]||A,line:S.yylineno,loc:O,expected:k})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+A);switch(I[0]){case 1:l.push(A),v.push(S.yytext),y.push(S.yylloc),l.push(I[1]),A=null,N=S.yyleng,M=S.yytext,T=S.yylineno,O=S.yylloc;break;case 2:if(c=this.productions_[I[1]][1],f.$=v[v.length-c],f._$={first_line:y[y.length-(c||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-(c||1)].first_column,last_column:y[y.length-1].last_column},D&&(f._$.range=[y[y.length-(c||1)].range[0],y[y.length-1].range[1]]),n=this.performAction.apply(f,[M,N,T,P.yy,I[1],v,y].concat(R)),typeof n<"u")return n;c&&(l=l.slice(0,-1*c*2),v=v.slice(0,-1*c),y=y.slice(0,-1*c)),l.push(this.productions_[I[1]][0]),v.push(f.$),y.push(f._$),s=b[l[l.length-2]][l[l.length-1]],l.push(s);break;case 3:return!0}}return!0},"parse")},d=function(){var _={EOF:1,parseError:m(function(o,l){if(this.yy.parser)this.yy.parser.parseError(o,l);else throw new Error(o)},"parseError"),setInput:m(function(r,o){return this.yy=o||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:m(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var o=r.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:m(function(r){var o=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===x.length?this.yylloc.first_column:0)+x[x.length-l.length].length-l[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},"unput"),more:m(function(){return this._more=!0,this},"more"),reject:m(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:m(function(r){this.unput(this.match.slice(r))},"less"),pastInput:m(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:m(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:m(function(){var r=this.pastInput(),o=new Array(r.length+1).join("-");return r+this.upcomingInput()+` +`+o+"^"},"showPosition"),test_match:m(function(r,o){var l,x,v;if(this.options.backtrack_lexer&&(v={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(v.yylloc.range=this.yylloc.range.slice(0))),x=r[0].match(/(?:\r\n?|\n).*/g),x&&(this.yylineno+=x.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],l=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var y in v)this[y]=v[y];return!1}return!1},"test_match"),next:m(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,o,l,x;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),y=0;yo[0].length)){if(o=l,x=y,this.options.backtrack_lexer){if(r=this.test_match(l,v[y]),r!==!1)return r;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(r=this.test_match(o,v[x]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:m(function(){var o=this.next();return o||this.lex()},"lex"),begin:m(function(o){this.conditionStack.push(o)},"begin"),popState:m(function(){var o=this.conditionStack.length-1;return o>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:m(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:m(function(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},"topState"),pushState:m(function(o){this.begin(o)},"pushState"),stateStackSize:m(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:m(function(o,l,x,v){switch(x){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return _}();h.lexer=d;function g(){this.yy={}}return m(g,"Parser"),g.prototype=h,h.Parser=g,new g}();at.parser=at;var K=at,J=[],tt=[],Z=new Map,Zt=m(()=>{J=[],tt=[],Z=new Map,Lt()},"clear"),Y,Jt=(Y=class{constructor(e,i,a=0){this.source=e,this.target=i,this.value=a}},m(Y,"SankeyLink"),Y),te=m((t,e,i)=>{J.push(new Jt(t,e,i))},"addLink"),q,ee=(q=class{constructor(e){this.ID=e}},m(q,"SankeyNode"),q),ne=m(t=>{t=Et.sanitizeText(t,lt());let e=Z.get(t);return e===void 0&&(e=new ee(t),Z.set(t,e),tt.push(e)),e},"findOrCreateNode"),ie=m(()=>tt,"getNodes"),re=m(()=>J,"getLinks"),se=m(()=>({nodes:tt.map(t=>({id:t.ID})),links:J.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),oe={nodesMap:Z,getConfig:m(()=>lt().sankey,"getConfig"),getNodes:ie,getLinks:re,getGraph:se,addLink:te,findOrCreateNode:ne,getAccTitle:_t,setAccTitle:xt,getAccDescription:vt,setAccDescription:bt,getDiagramTitle:wt,setDiagramTitle:St,clear:Zt},B,pt=(B=class{static next(e){return new B(e+ ++B.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},m(B,"Uid"),B.count=0,B),ae={left:Ct,right:Ot,center:Dt,justify:mt},le=m(function(t,e,i,a){const{securityLevel:h,sankey:d}=lt(),g=At.sankey;let _;h==="sandbox"&&(_=H("#i"+e));const r=h==="sandbox"?H(_.nodes()[0].contentDocument.body):H("body"),o=h==="sandbox"?r.select(`[id="${e}"]`):H(`[id="${e}"]`),l=(d==null?void 0:d.width)??g.width,x=(d==null?void 0:d.height)??g.width,v=(d==null?void 0:d.useMaxWidth)??g.useMaxWidth,y=(d==null?void 0:d.nodeAlignment)??g.nodeAlignment,b=(d==null?void 0:d.prefix)??g.prefix,M=(d==null?void 0:d.suffix)??g.suffix,T=(d==null?void 0:d.showValues)??g.showValues,N=a.db.getGraph(),C=ae[y];Bt().nodeId(p=>p.id).nodeWidth(10).nodePadding(10+(T?15:0)).nodeAlign(C).extent([[0,0],[l,x]])(N);const S=Mt(It);o.append("g").attr("class","nodes").selectAll(".node").data(N.nodes).join("g").attr("class","node").attr("id",p=>(p.uid=pt.next("node-")).id).attr("transform",function(p){return"translate("+p.x0+","+p.y0+")"}).attr("x",p=>p.x0).attr("y",p=>p.y0).append("rect").attr("height",p=>p.y1-p.y0).attr("width",p=>p.x1-p.x0).attr("fill",p=>S(p.id));const P=m(({id:p,value:E})=>T?`${p} +${b}${Math.round(E*100)/100}${M}`:p,"getText");o.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(N.nodes).join("text").attr("x",p=>p.x0(p.y1+p.y0)/2).attr("dy",`${T?"0":"0.35"}em`).attr("text-anchor",p=>p.x0(E.uid=pt.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",E=>E.source.x1).attr("x2",E=>E.target.x0);p.append("stop").attr("offset","0%").attr("stop-color",E=>S(E.source.id)),p.append("stop").attr("offset","100%").attr("stop-color",E=>S(E.target.id))}let D;switch(O){case"gradient":D=m(p=>p.uid,"coloring");break;case"source":D=m(p=>S(p.source.id),"coloring");break;case"target":D=m(p=>S(p.target.id),"coloring");break;default:D=O}$.append("path").attr("d",Kt()).attr("stroke",D).attr("stroke-width",p=>Math.max(1,p.width)),Tt(void 0,o,0,v)},"draw"),ce={draw:le},ue=m(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing"),he=K.parse.bind(K);K.parse=t=>he(ue(t));var _e={parser:K,db:oe,renderer:ce};export{_e as diagram}; diff --git a/_nuxt/DKEOPaPT.js b/_nuxt/DKEOPaPT.js new file mode 100644 index 000000000..ae5593fc1 --- /dev/null +++ b/_nuxt/DKEOPaPT.js @@ -0,0 +1 @@ +import n from"./Dq0ogEhO.js";import{d as c,u as l,h as p}from"./DzgF3Vew.js";import"./by_5UnZ2.js";import"./IShi1APO.js";import"./1XwWt0dk.js";const u=(r,t)=>p("pre",null,JSON.stringify({message:"You should use slots with ",slot:r,data:t},null,2)),h=c({name:"ContentList",props:{path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0}},render(r){const t=l(),{path:f,query:a}=r,m={...a||{},path:f||(a==null?void 0:a.path)||"/"};return p(n,m,{default:t!=null&&t.default?({data:e,refresh:o,isPartial:d})=>t.default({list:e,refresh:o,isPartial:d,...this.$attrs}):e=>u("default",e.data),empty:e=>t!=null&&t.empty?t.empty(e):u("default",e==null?void 0:e.data),"not-found":e=>{var o;return t!=null&&t["not-found"]?(o=t==null?void 0:t["not-found"])==null?void 0:o.call(t,e):u("not-found",e==null?void 0:e.data)}})}}),q=h;export{q as default}; diff --git a/_nuxt/DNwYr7Pt.js b/_nuxt/DNwYr7Pt.js new file mode 100644 index 000000000..1bcd15dee --- /dev/null +++ b/_nuxt/DNwYr7Pt.js @@ -0,0 +1 @@ +import{d as c,a as i,c as p,o as s,b as t,q as u,r as n}from"./DzgF3Vew.js";const f=["id"],l=["href"],_=c({__name:"ProseH1",props:{id:{}},setup(r){const a=r,{headings:o}=i().public.mdc,d=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h1)});return(e,m)=>(s(),t("h1",{id:e.id},[u(d)?(s(),t("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,l)):n(e.$slots,"default",{key:1})],8,f))}});export{_ as default}; diff --git a/_nuxt/DPN-xNBM.js b/_nuxt/DPN-xNBM.js deleted file mode 100644 index 7d9230344..000000000 --- a/_nuxt/DPN-xNBM.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,o,c as t,r as s}from"./ZI84DZB4.js";const c={};function n(e,a){return o(),t("td",null,[s(e.$slots,"default")])}const _=r(c,[["render",n]]);export{_ as default}; diff --git a/_nuxt/DPkNqMKw.js b/_nuxt/DPkNqMKw.js new file mode 100644 index 000000000..b89c5f287 --- /dev/null +++ b/_nuxt/DPkNqMKw.js @@ -0,0 +1 @@ +import{s as W,a as N,b as P}from"./DnCrATAD.js";import{_ as u,d as t,j as H,l as S,k as C,e as z,a1 as U,a8 as F,v as O}from"./BN9GDn3H.js";import{G as J}from"./csrLU7rk.js";import{l as X}from"./C3NahR2g.js";import"./Dk871sGE.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";import"./BH-Vtj6c.js";import"./7nLUnQzp.js";var L={},D=u((e,i)=>{L[e]=i},"set"),Y=u(e=>L[e],"get"),G=u(()=>Object.keys(L),"keys"),I=u(()=>G().length,"size"),$={get:Y,set:D,keys:G,size:I},j=u(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),q=u(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Z=u((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),o=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",o.width+2*t().state.padding).attr("height",o.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),K=u((e,i)=>{const d=u(function(l,B,m){const k=l.append("tspan").attr("x",2*t().state.padding).text(B);m||k.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(l){a||(d(p,l,s),s=!1),a=!1});const y=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),c=Math.max(x.width,n.width);return y.attr("x2",c+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),Q=u((e,i,d)=>{const o=t().state.padding,n=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let c=Math.max(x,p);c===p&&(c=c+n);let l;const B=e.node().getBBox();i.doc,l=a-o,x>p&&(l=(p-c)/2+o),Math.abs(a-B.x)p&&(l=a-(x-p)/2);const m=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",l).attr("y",m).attr("class",d?"alt-composit":"composit").attr("width",c).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",l+o),x<=p&&s.attr("x",a+(c-n)/2-x/2+o),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",c).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",c).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),V=u(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),tt=u((e,i)=>{let d=t().state.forkWidth,o=t().state.forkHeight;if(i.parentId){let n=d;d=o,o=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",o).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),et=u((e,i,d,o)=>{let n=0;const g=o.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
    ");p=p.replace(/\n/g,"
    ");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const y of a){const x=y.trim();if(x.length>0){const c=g.append("tspan");if(c.text(x),s===0){const l=c.node().getBBox();s+=l.height}n+=s,c.attr("x",i+t().state.noteMargin),c.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:n}},"_drawLongText"),at=u((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),o=i.append("g"),{textWidth:n,textHeight:g}=et(e,0,0,o);return d.attr("height",g+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),_=u(function(e,i){const d=i.id,o={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&j(n),i.type==="end"&&V(n),(i.type==="fork"||i.type==="join")&&tt(n,i),i.type==="note"&&at(i.note.text,n),i.type==="divider"&&q(n),i.type==="default"&&i.descriptions.length===0&&Z(n,i),i.type==="default"&&i.descriptions.length>0&&K(n,i);const g=n.node().getBBox();return o.width=g.width+2*t().state.padding,o.height=g.height+2*t().state.padding,$.set(d,o),o},"drawState"),A=0,it=u(function(e,i,d){const o=u(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,g=U().x(function(s){return s.x}).y(function(s){return s.y}).curve(F),p=e.append("path").attr("d",g(n)).attr("id","edge"+A).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+o(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:y,y:x}=O.calcLabelPosition(i.points),c=z.getRows(d.title);let l=0;const B=[];let m=0,k=0;for(let f=0;f<=c.length;f++){const h=s.append("text").attr("text-anchor","middle").text(c[f]).attr("x",y).attr("y",x+l),w=h.node().getBBox();m=Math.max(m,w.width),k=Math.min(k,w.x),S.info(w.x,y,x+l),l===0&&(l=h.node().getBBox().height,S.info("Title height",l,x)),B.push(h)}let E=l*c.length;if(c.length>1){const f=(c.length-1)*l*.5;B.forEach((h,w)=>h.attr("y",x+w*l-f)),E=l*c.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",y-m/2-t().state.padding/2).attr("y",x-E/2-t().state.padding/2-3.5).attr("width",m+t().state.padding).attr("height",E+t().state.padding),S.info(r)}A++},"drawEdge"),b,T={},rt=u(function(){},"setConf"),nt=u(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),st=u(function(e,i,d,o){b=t().state;const n=t().securityLevel;let g;n==="sandbox"&&(g=H("#i"+i));const p=n==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?g.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);nt(s);const y=o.db.getRootDoc();R(y,s,void 0,!1,p,a,o);const x=b.padding,c=s.node().getBBox(),l=c.width+x*2,B=c.height+x*2,m=l*1.75;C(s,B,m,b.useMaxWidth),s.attr("viewBox",`${c.x-b.padding} ${c.y-b.padding} `+l+" "+B)},"draw"),dt=u(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),R=u((e,i,d,o,n,g,p)=>{const a=new J({compound:!0,multigraph:!0});let s,y=!0;for(s=0;s{const w=h.parentElement;let v=0,M=0;w&&(w.parentElement&&(v=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",v-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let k=m.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),it(i,a.edge(r),a.edge(r).relation))}),k=m.getBBox();const E={id:d||"root",label:d||"root",width:0,height:0};return E.width=k.width+2*b.padding,E.height=k.height+2*b.padding,S.debug("Doc rendered",E,a),E},"renderDoc"),ot={setConf:rt,draw:st},Bt={parser:W,db:N,renderer:ot,styles:P,init:u(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()},"init")};export{Bt as diagram}; diff --git a/_nuxt/DV860Oij.js b/_nuxt/DV860Oij.js new file mode 100644 index 000000000..57da2011b --- /dev/null +++ b/_nuxt/DV860Oij.js @@ -0,0 +1 @@ +import{s as a,a as r,c as e,b as s}from"./DnCrATAD.js";import{_ as i}from"./BN9GDn3H.js";import"./Dk871sGE.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";var b={parser:a,db:r,renderer:e,styles:s,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,r.clear()},"init")};export{b as diagram}; diff --git a/_nuxt/DWlsyFxE.js b/_nuxt/DWlsyFxE.js new file mode 100644 index 000000000..762b31f81 --- /dev/null +++ b/_nuxt/DWlsyFxE.js @@ -0,0 +1 @@ +import{_ as o,o as r,b as n,r as s}from"./DzgF3Vew.js";const t={};function c(e,a){return r(),n("code",null,[s(e.$slots,"default")])}const _=o(t,[["render",c]]);export{_ as default}; diff --git a/_nuxt/DZ8fBfTf.js b/_nuxt/DZ8fBfTf.js new file mode 100644 index 000000000..04552c5bb --- /dev/null +++ b/_nuxt/DZ8fBfTf.js @@ -0,0 +1,10 @@ +import{d as Se,g as De}from"./C8kEXrLA.js";import{_ as g,a as Pe,s as Be,g as Ie,b as Me,c as Le,d as Dt,w as Ne,e as $t,f as de,h as Tt,i as ge,j as jt,l as fe,k as Ye,m as je}from"./BN9GDn3H.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";var Ft=function(){var e=g(function(_t,x,m,v){for(m=m||{},v=_t.length;v--;m[_t[v]]=x);return m},"o"),t=[1,24],s=[1,25],o=[1,26],l=[1,27],a=[1,28],r=[1,63],n=[1,64],i=[1,65],u=[1,66],d=[1,67],f=[1,68],y=[1,69],E=[1,29],O=[1,30],S=[1,31],P=[1,32],M=[1,33],U=[1,34],H=[1,35],q=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],$=[1,41],tt=[1,42],et=[1,43],at=[1,44],it=[1,45],nt=[1,46],rt=[1,47],st=[1,48],lt=[1,50],ot=[1,51],ct=[1,52],ht=[1,53],ut=[1,54],dt=[1,55],ft=[1,56],pt=[1,57],yt=[1,58],gt=[1,59],bt=[1,60],Ct=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ot=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],k=[1,82],A=[1,83],C=[1,84],w=[1,85],T=[12,14,42],le=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],vt=[12,33],Ht=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:g(function(x,m,v,b,R,h,Rt){var p=h.length-1;switch(R){case 3:b.setDirection("TB");break;case 4:b.setDirection("BT");break;case 5:b.setDirection("RL");break;case 6:b.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:b.setC4Type(h[p-3]);break;case 19:b.setTitle(h[p].substring(6)),this.$=h[p].substring(6);break;case 20:b.setAccDescription(h[p].substring(15)),this.$=h[p].substring(15);break;case 21:this.$=h[p].trim(),b.setTitle(this.$);break;case 22:case 23:this.$=h[p].trim(),b.setAccDescription(this.$);break;case 28:h[p].splice(2,0,"ENTERPRISE"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 29:h[p].splice(2,0,"SYSTEM"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 30:b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 31:h[p].splice(2,0,"CONTAINER"),b.addContainerBoundary(...h[p]),this.$=h[p];break;case 32:b.addDeploymentNode("node",...h[p]),this.$=h[p];break;case 33:b.addDeploymentNode("nodeL",...h[p]),this.$=h[p];break;case 34:b.addDeploymentNode("nodeR",...h[p]),this.$=h[p];break;case 35:b.popBoundaryParseStack();break;case 39:b.addPersonOrSystem("person",...h[p]),this.$=h[p];break;case 40:b.addPersonOrSystem("external_person",...h[p]),this.$=h[p];break;case 41:b.addPersonOrSystem("system",...h[p]),this.$=h[p];break;case 42:b.addPersonOrSystem("system_db",...h[p]),this.$=h[p];break;case 43:b.addPersonOrSystem("system_queue",...h[p]),this.$=h[p];break;case 44:b.addPersonOrSystem("external_system",...h[p]),this.$=h[p];break;case 45:b.addPersonOrSystem("external_system_db",...h[p]),this.$=h[p];break;case 46:b.addPersonOrSystem("external_system_queue",...h[p]),this.$=h[p];break;case 47:b.addContainer("container",...h[p]),this.$=h[p];break;case 48:b.addContainer("container_db",...h[p]),this.$=h[p];break;case 49:b.addContainer("container_queue",...h[p]),this.$=h[p];break;case 50:b.addContainer("external_container",...h[p]),this.$=h[p];break;case 51:b.addContainer("external_container_db",...h[p]),this.$=h[p];break;case 52:b.addContainer("external_container_queue",...h[p]),this.$=h[p];break;case 53:b.addComponent("component",...h[p]),this.$=h[p];break;case 54:b.addComponent("component_db",...h[p]),this.$=h[p];break;case 55:b.addComponent("component_queue",...h[p]),this.$=h[p];break;case 56:b.addComponent("external_component",...h[p]),this.$=h[p];break;case 57:b.addComponent("external_component_db",...h[p]),this.$=h[p];break;case 58:b.addComponent("external_component_queue",...h[p]),this.$=h[p];break;case 60:b.addRel("rel",...h[p]),this.$=h[p];break;case 61:b.addRel("birel",...h[p]),this.$=h[p];break;case 62:b.addRel("rel_u",...h[p]),this.$=h[p];break;case 63:b.addRel("rel_d",...h[p]),this.$=h[p];break;case 64:b.addRel("rel_l",...h[p]),this.$=h[p];break;case 65:b.addRel("rel_r",...h[p]),this.$=h[p];break;case 66:b.addRel("rel_b",...h[p]),this.$=h[p];break;case 67:h[p].splice(0,1),b.addRel("rel",...h[p]),this.$=h[p];break;case 68:b.updateElStyle("update_el_style",...h[p]),this.$=h[p];break;case 69:b.updateRelStyle("update_rel_style",...h[p]),this.$=h[p];break;case 70:b.updateLayoutConfig("update_layout_config",...h[p]),this.$=h[p];break;case 71:this.$=[h[p]];break;case 72:h[p].unshift(h[p-1]),this.$=h[p];break;case 73:case 75:this.$=h[p].trim();break;case 74:let Et={};Et[h[p-1].trim()]=h[p].trim(),this.$=Et;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:70,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:71,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:72,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:73,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{14:[1,74]},e(Ct,[2,13],{43:23,29:49,30:61,32:62,20:75,34:r,36:n,37:i,38:u,39:d,40:f,41:y,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),e(Ct,[2,14]),e(Qt,[2,16],{12:[1,76]}),e(Ct,[2,36],{12:[1,77]}),e(Ot,[2,19]),e(Ot,[2,20]),{25:[1,78]},{27:[1,79]},e(Ot,[2,23]),{35:80,75:81,76:k,77:A,79:C,80:w},{35:86,75:81,76:k,77:A,79:C,80:w},{35:87,75:81,76:k,77:A,79:C,80:w},{35:88,75:81,76:k,77:A,79:C,80:w},{35:89,75:81,76:k,77:A,79:C,80:w},{35:90,75:81,76:k,77:A,79:C,80:w},{35:91,75:81,76:k,77:A,79:C,80:w},{35:92,75:81,76:k,77:A,79:C,80:w},{35:93,75:81,76:k,77:A,79:C,80:w},{35:94,75:81,76:k,77:A,79:C,80:w},{35:95,75:81,76:k,77:A,79:C,80:w},{35:96,75:81,76:k,77:A,79:C,80:w},{35:97,75:81,76:k,77:A,79:C,80:w},{35:98,75:81,76:k,77:A,79:C,80:w},{35:99,75:81,76:k,77:A,79:C,80:w},{35:100,75:81,76:k,77:A,79:C,80:w},{35:101,75:81,76:k,77:A,79:C,80:w},{35:102,75:81,76:k,77:A,79:C,80:w},{35:103,75:81,76:k,77:A,79:C,80:w},{35:104,75:81,76:k,77:A,79:C,80:w},e(T,[2,59]),{35:105,75:81,76:k,77:A,79:C,80:w},{35:106,75:81,76:k,77:A,79:C,80:w},{35:107,75:81,76:k,77:A,79:C,80:w},{35:108,75:81,76:k,77:A,79:C,80:w},{35:109,75:81,76:k,77:A,79:C,80:w},{35:110,75:81,76:k,77:A,79:C,80:w},{35:111,75:81,76:k,77:A,79:C,80:w},{35:112,75:81,76:k,77:A,79:C,80:w},{35:113,75:81,76:k,77:A,79:C,80:w},{35:114,75:81,76:k,77:A,79:C,80:w},{35:115,75:81,76:k,77:A,79:C,80:w},{20:116,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{12:[1,118],33:[1,117]},{35:119,75:81,76:k,77:A,79:C,80:w},{35:120,75:81,76:k,77:A,79:C,80:w},{35:121,75:81,76:k,77:A,79:C,80:w},{35:122,75:81,76:k,77:A,79:C,80:w},{35:123,75:81,76:k,77:A,79:C,80:w},{35:124,75:81,76:k,77:A,79:C,80:w},{35:125,75:81,76:k,77:A,79:C,80:w},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(Ct,[2,15]),e(Qt,[2,17],{21:22,19:130,22:t,23:s,24:o,26:l,28:a}),e(Ct,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:o,26:l,28:a,34:r,36:n,37:i,38:u,39:d,40:f,41:y,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),e(Ot,[2,21]),e(Ot,[2,22]),e(T,[2,39]),e(le,[2,71],{75:81,35:132,76:k,77:A,79:C,80:w}),e(Mt,[2,73]),{78:[1,133]},e(Mt,[2,75]),e(Mt,[2,76]),e(T,[2,40]),e(T,[2,41]),e(T,[2,42]),e(T,[2,43]),e(T,[2,44]),e(T,[2,45]),e(T,[2,46]),e(T,[2,47]),e(T,[2,48]),e(T,[2,49]),e(T,[2,50]),e(T,[2,51]),e(T,[2,52]),e(T,[2,53]),e(T,[2,54]),e(T,[2,55]),e(T,[2,56]),e(T,[2,57]),e(T,[2,58]),e(T,[2,60]),e(T,[2,61]),e(T,[2,62]),e(T,[2,63]),e(T,[2,64]),e(T,[2,65]),e(T,[2,66]),e(T,[2,67]),e(T,[2,68]),e(T,[2,69]),e(T,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(vt,[2,28]),e(vt,[2,29]),e(vt,[2,30]),e(vt,[2,31]),e(vt,[2,32]),e(vt,[2,33]),e(vt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Qt,[2,18]),e(Ct,[2,38]),e(le,[2,72]),e(Mt,[2,74]),e(T,[2,24]),e(T,[2,35]),e(Ht,[2,25]),e(Ht,[2,26],{12:[1,138]}),e(Ht,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:g(function(x,m){if(m.recoverable)this.trace(x);else{var v=new Error(x);throw v.hash=m,v}},"parseError"),parse:g(function(x){var m=this,v=[0],b=[],R=[null],h=[],Rt=this.table,p="",Et=0,oe=0,we=2,ce=1,Te=h.slice.call(arguments,1),D=Object.create(this.lexer),kt={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(kt.yy[Gt]=this.yy[Gt]);D.setInput(x,kt.yy),kt.yy.lexer=D,kt.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Kt=D.yylloc;h.push(Kt);var Oe=D.options&&D.options.ranges;typeof kt.yy.parseError=="function"?this.parseError=kt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(L){v.length=v.length-2*L,R.length=R.length-L,h.length=h.length-L}g(Re,"popStack");function he(){var L;return L=b.pop()||D.lex()||ce,typeof L!="number"&&(L instanceof Array&&(b=L,L=b.pop()),L=m.symbols_[L]||L),L}g(he,"lex");for(var I,At,N,Jt,wt={},Nt,W,ue,Yt;;){if(At=v[v.length-1],this.defaultActions[At]?N=this.defaultActions[At]:((I===null||typeof I>"u")&&(I=he()),N=Rt[At]&&Rt[At][I]),typeof N>"u"||!N.length||!N[0]){var Zt="";Yt=[];for(Nt in Rt[At])this.terminals_[Nt]&&Nt>we&&Yt.push("'"+this.terminals_[Nt]+"'");D.showPosition?Zt="Parse error on line "+(Et+1)+`: +`+D.showPosition()+` +Expecting `+Yt.join(", ")+", got '"+(this.terminals_[I]||I)+"'":Zt="Parse error on line "+(Et+1)+": Unexpected "+(I==ce?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(Zt,{text:D.match,token:this.terminals_[I]||I,line:D.yylineno,loc:Kt,expected:Yt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+At+", token: "+I);switch(N[0]){case 1:v.push(I),R.push(D.yytext),h.push(D.yylloc),v.push(N[1]),I=null,oe=D.yyleng,p=D.yytext,Et=D.yylineno,Kt=D.yylloc;break;case 2:if(W=this.productions_[N[1]][1],wt.$=R[R.length-W],wt._$={first_line:h[h.length-(W||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(W||1)].first_column,last_column:h[h.length-1].last_column},Oe&&(wt._$.range=[h[h.length-(W||1)].range[0],h[h.length-1].range[1]]),Jt=this.performAction.apply(wt,[p,oe,Et,kt.yy,N[1],R,h].concat(Te)),typeof Jt<"u")return Jt;W&&(v=v.slice(0,-1*W*2),R=R.slice(0,-1*W),h=h.slice(0,-1*W)),v.push(this.productions_[N[1]][0]),R.push(wt.$),h.push(wt._$),ue=Rt[v[v.length-2]][v[v.length-1]],v.push(ue);break;case 3:return!0}}return!0},"parse")},Ce=function(){var _t={EOF:1,parseError:g(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:g(function(x,m){return this.yy=m||this.yy||{},this._input=x,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:g(function(){var x=this._input[0];this.yytext+=x,this.yyleng++,this.offset++,this.match+=x,this.matched+=x;var m=x.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),x},"input"),unput:g(function(x){var m=x.length,v=x.split(/(?:\r\n?|\n)/g);this._input=x+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:g(function(){return this._more=!0,this},"more"),reject:g(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:g(function(x){this.unput(this.match.slice(x))},"less"),pastInput:g(function(){var x=this.matched.substr(0,this.matched.length-this.match.length);return(x.length>20?"...":"")+x.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:g(function(){var x=this.match;return x.length<20&&(x+=this._input.substr(0,20-x.length)),(x.substr(0,20)+(x.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:g(function(){var x=this.pastInput(),m=new Array(x.length+1).join("-");return x+this.upcomingInput()+` +`+m+"^"},"showPosition"),test_match:g(function(x,m){var v,b,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),b=x[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+x[0].length},this.yytext+=x[0],this.match+=x[0],this.matches=x,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(x[0].length),this.matched+=x[0],v=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var h in R)this[h]=R[h];return!1}return!1},"test_match"),next:g(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var x,m,v,b;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),h=0;hm[0].length)){if(m=v,b=h,this.options.backtrack_lexer){if(x=this.test_match(v,R[h]),x!==!1)return x;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(x=this.test_match(m,R[b]),x!==!1?x:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:g(function(){var m=this.next();return m||this.lex()},"lex"),begin:g(function(m){this.conditionStack.push(m)},"begin"),popState:g(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:g(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:g(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:g(function(m){this.begin(m)},"pushState"),stateStackSize:g(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:g(function(m,v,b,R){switch(b){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return _t}();qt.lexer=Ce;function Lt(){this.yy={}}return g(Lt,"Parser"),Lt.prototype=qt,qt.Parser=Lt,new Lt}();Ft.parser=Ft;var Ue=Ft,V=[],xt=[""],B="global",F="",X=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Pt=[],ie="",ne=!1,Vt=4,zt=2,be,Fe=g(function(){return be},"getC4Type"),Ve=g(function(e){be=ge(e,Dt())},"setC4Type"),ze=g(function(e,t,s,o,l,a,r,n,i){if(e==null||t===void 0||t===null||s===void 0||s===null||o===void 0||o===null)return;let u={};const d=Pt.find(f=>f.from===t&&f.to===s);if(d?u=d:Pt.push(u),u.type=e,u.from=t,u.to=s,u.label={text:o},l==null)u.techn={text:""};else if(typeof l=="object"){let[f,y]=Object.entries(l)[0];u[f]={text:y}}else u.techn={text:l};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[f,y]=Object.entries(a)[0];u[f]={text:y}}else u.descr={text:a};if(typeof r=="object"){let[f,y]=Object.entries(r)[0];u[f]=y}else u.sprite=r;if(typeof n=="object"){let[f,y]=Object.entries(n)[0];u[f]=y}else u.tags=n;if(typeof i=="object"){let[f,y]=Object.entries(i)[0];u[f]=y}else u.link=i;u.wrap=mt()},"addRel"),Xe=g(function(e,t,s,o,l,a,r){if(t===null||s===null)return;let n={};const i=V.find(u=>u.alias===t);if(i&&t===i.alias?n=i:(n.alias=t,V.push(n)),s==null?n.label={text:""}:n.label={text:s},o==null)n.descr={text:""};else if(typeof o=="object"){let[u,d]=Object.entries(o)[0];n[u]={text:d}}else n.descr={text:o};if(typeof l=="object"){let[u,d]=Object.entries(l)[0];n[u]=d}else n.sprite=l;if(typeof a=="object"){let[u,d]=Object.entries(a)[0];n[u]=d}else n.tags=a;if(typeof r=="object"){let[u,d]=Object.entries(r)[0];n[u]=d}else n.link=r;n.typeC4Shape={text:e},n.parentBoundary=B,n.wrap=mt()},"addPersonOrSystem"),We=g(function(e,t,s,o,l,a,r,n){if(t===null||s===null)return;let i={};const u=V.find(d=>d.alias===t);if(u&&t===u.alias?i=u:(i.alias=t,V.push(i)),s==null?i.label={text:""}:i.label={text:s},o==null)i.techn={text:""};else if(typeof o=="object"){let[d,f]=Object.entries(o)[0];i[d]={text:f}}else i.techn={text:o};if(l==null)i.descr={text:""};else if(typeof l=="object"){let[d,f]=Object.entries(l)[0];i[d]={text:f}}else i.descr={text:l};if(typeof a=="object"){let[d,f]=Object.entries(a)[0];i[d]=f}else i.sprite=a;if(typeof r=="object"){let[d,f]=Object.entries(r)[0];i[d]=f}else i.tags=r;if(typeof n=="object"){let[d,f]=Object.entries(n)[0];i[d]=f}else i.link=n;i.wrap=mt(),i.typeC4Shape={text:e},i.parentBoundary=B},"addContainer"),Qe=g(function(e,t,s,o,l,a,r,n){if(t===null||s===null)return;let i={};const u=V.find(d=>d.alias===t);if(u&&t===u.alias?i=u:(i.alias=t,V.push(i)),s==null?i.label={text:""}:i.label={text:s},o==null)i.techn={text:""};else if(typeof o=="object"){let[d,f]=Object.entries(o)[0];i[d]={text:f}}else i.techn={text:o};if(l==null)i.descr={text:""};else if(typeof l=="object"){let[d,f]=Object.entries(l)[0];i[d]={text:f}}else i.descr={text:l};if(typeof a=="object"){let[d,f]=Object.entries(a)[0];i[d]=f}else i.sprite=a;if(typeof r=="object"){let[d,f]=Object.entries(r)[0];i[d]=f}else i.tags=r;if(typeof n=="object"){let[d,f]=Object.entries(n)[0];i[d]=f}else i.link=n;i.wrap=mt(),i.typeC4Shape={text:e},i.parentBoundary=B},"addComponent"),He=g(function(e,t,s,o,l){if(e===null||t===null)return;let a={};const r=X.find(n=>n.alias===e);if(r&&e===r.alias?a=r:(a.alias=e,X.push(a)),t==null?a.label={text:""}:a.label={text:t},s==null)a.type={text:"system"};else if(typeof s=="object"){let[n,i]=Object.entries(s)[0];a[n]={text:i}}else a.type={text:s};if(typeof o=="object"){let[n,i]=Object.entries(o)[0];a[n]=i}else a.tags=o;if(typeof l=="object"){let[n,i]=Object.entries(l)[0];a[n]=i}else a.link=l;a.parentBoundary=B,a.wrap=mt(),F=B,B=e,xt.push(F)},"addPersonOrSystemBoundary"),qe=g(function(e,t,s,o,l){if(e===null||t===null)return;let a={};const r=X.find(n=>n.alias===e);if(r&&e===r.alias?a=r:(a.alias=e,X.push(a)),t==null?a.label={text:""}:a.label={text:t},s==null)a.type={text:"container"};else if(typeof s=="object"){let[n,i]=Object.entries(s)[0];a[n]={text:i}}else a.type={text:s};if(typeof o=="object"){let[n,i]=Object.entries(o)[0];a[n]=i}else a.tags=o;if(typeof l=="object"){let[n,i]=Object.entries(l)[0];a[n]=i}else a.link=l;a.parentBoundary=B,a.wrap=mt(),F=B,B=e,xt.push(F)},"addContainerBoundary"),Ge=g(function(e,t,s,o,l,a,r,n){if(t===null||s===null)return;let i={};const u=X.find(d=>d.alias===t);if(u&&t===u.alias?i=u:(i.alias=t,X.push(i)),s==null?i.label={text:""}:i.label={text:s},o==null)i.type={text:"node"};else if(typeof o=="object"){let[d,f]=Object.entries(o)[0];i[d]={text:f}}else i.type={text:o};if(l==null)i.descr={text:""};else if(typeof l=="object"){let[d,f]=Object.entries(l)[0];i[d]={text:f}}else i.descr={text:l};if(typeof r=="object"){let[d,f]=Object.entries(r)[0];i[d]=f}else i.tags=r;if(typeof n=="object"){let[d,f]=Object.entries(n)[0];i[d]=f}else i.link=n;i.nodeType=e,i.parentBoundary=B,i.wrap=mt(),F=B,B=t,xt.push(F)},"addDeploymentNode"),Ke=g(function(){B=F,xt.pop(),F=xt.pop(),xt.push(F)},"popBoundaryParseStack"),Je=g(function(e,t,s,o,l,a,r,n,i,u,d){let f=V.find(y=>y.alias===t);if(!(f===void 0&&(f=X.find(y=>y.alias===t),f===void 0))){if(s!=null)if(typeof s=="object"){let[y,E]=Object.entries(s)[0];f[y]=E}else f.bgColor=s;if(o!=null)if(typeof o=="object"){let[y,E]=Object.entries(o)[0];f[y]=E}else f.fontColor=o;if(l!=null)if(typeof l=="object"){let[y,E]=Object.entries(l)[0];f[y]=E}else f.borderColor=l;if(a!=null)if(typeof a=="object"){let[y,E]=Object.entries(a)[0];f[y]=E}else f.shadowing=a;if(r!=null)if(typeof r=="object"){let[y,E]=Object.entries(r)[0];f[y]=E}else f.shape=r;if(n!=null)if(typeof n=="object"){let[y,E]=Object.entries(n)[0];f[y]=E}else f.sprite=n;if(i!=null)if(typeof i=="object"){let[y,E]=Object.entries(i)[0];f[y]=E}else f.techn=i;if(u!=null)if(typeof u=="object"){let[y,E]=Object.entries(u)[0];f[y]=E}else f.legendText=u;if(d!=null)if(typeof d=="object"){let[y,E]=Object.entries(d)[0];f[y]=E}else f.legendSprite=d}},"updateElStyle"),Ze=g(function(e,t,s,o,l,a,r){const n=Pt.find(i=>i.from===t&&i.to===s);if(n!==void 0){if(o!=null)if(typeof o=="object"){let[i,u]=Object.entries(o)[0];n[i]=u}else n.textColor=o;if(l!=null)if(typeof l=="object"){let[i,u]=Object.entries(l)[0];n[i]=u}else n.lineColor=l;if(a!=null)if(typeof a=="object"){let[i,u]=Object.entries(a)[0];n[i]=parseInt(u)}else n.offsetX=parseInt(a);if(r!=null)if(typeof r=="object"){let[i,u]=Object.entries(r)[0];n[i]=parseInt(u)}else n.offsetY=parseInt(r)}},"updateRelStyle"),$e=g(function(e,t,s){let o=Vt,l=zt;if(typeof t=="object"){const a=Object.values(t)[0];o=parseInt(a)}else o=parseInt(t);if(typeof s=="object"){const a=Object.values(s)[0];l=parseInt(a)}else l=parseInt(s);o>=1&&(Vt=o),l>=1&&(zt=l)},"updateLayoutConfig"),t0=g(function(){return Vt},"getC4ShapeInRow"),e0=g(function(){return zt},"getC4BoundaryInRow"),a0=g(function(){return B},"getCurrentBoundaryParse"),i0=g(function(){return F},"getParentBoundaryParse"),_e=g(function(e){return e==null?V:V.filter(t=>t.parentBoundary===e)},"getC4ShapeArray"),n0=g(function(e){return V.find(t=>t.alias===e)},"getC4Shape"),r0=g(function(e){return Object.keys(_e(e))},"getC4ShapeKeys"),xe=g(function(e){return e==null?X:X.filter(t=>t.parentBoundary===e)},"getBoundaries"),s0=xe,l0=g(function(){return Pt},"getRels"),o0=g(function(){return ie},"getTitle"),c0=g(function(e){ne=e},"setWrap"),mt=g(function(){return ne},"autoWrap"),h0=g(function(){V=[],X=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],F="",B="global",xt=[""],Pt=[],xt=[""],ie="",ne=!1,Vt=4,zt=2},"clear"),u0={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},d0={FILLED:0,OPEN:1},f0={LEFTOF:0,RIGHTOF:1,OVER:2},p0=g(function(e){ie=ge(e,Dt())},"setTitle"),te={addPersonOrSystem:Xe,addPersonOrSystemBoundary:He,addContainer:We,addContainerBoundary:qe,addComponent:Qe,addDeploymentNode:Ge,popBoundaryParseStack:Ke,addRel:ze,updateElStyle:Je,updateRelStyle:Ze,updateLayoutConfig:$e,autoWrap:mt,setWrap:c0,getC4ShapeArray:_e,getC4Shape:n0,getC4ShapeKeys:r0,getBoundaries:xe,getBoundarys:s0,getCurrentBoundaryParse:a0,getParentBoundaryParse:i0,getRels:l0,getTitle:o0,getC4Type:Fe,getC4ShapeInRow:t0,getC4BoundaryInRow:e0,setAccTitle:Be,getAccTitle:Ie,getAccDescription:Me,setAccDescription:Le,getConfig:g(()=>Dt().c4,"getConfig"),clear:h0,LINETYPE:u0,ARROWTYPE:d0,PLACEMENT:f0,setTitle:p0,setC4Type:Ve},re=g(function(e,t){return Se(e,t)},"drawRect"),me=g(function(e,t,s,o,l,a){const r=e.append("image");r.attr("width",t),r.attr("height",s),r.attr("x",o),r.attr("y",l);let n=a.startsWith("data:image/png;base64")?a:je(a);r.attr("xlink:href",n)},"drawImage"),y0=g((e,t,s)=>{const o=e.append("g");let l=0;for(let a of t){let r=a.textColor?a.textColor:"#444444",n=a.lineColor?a.lineColor:"#444444",i=a.offsetX?parseInt(a.offsetX):0,u=a.offsetY?parseInt(a.offsetY):0,d="";if(l===0){let y=o.append("line");y.attr("x1",a.startPoint.x),y.attr("y1",a.startPoint.y),y.attr("x2",a.endPoint.x),y.attr("y2",a.endPoint.y),y.attr("stroke-width","1"),y.attr("stroke",n),y.style("fill","none"),a.type!=="rel_b"&&y.attr("marker-end","url("+d+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&y.attr("marker-start","url("+d+"#arrowend)"),l=-1}else{let y=o.append("path");y.attr("fill","none").attr("stroke-width","1").attr("stroke",n).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&y.attr("marker-end","url("+d+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&y.attr("marker-start","url("+d+"#arrowend)")}let f=s.messageFont();Q(s)(a.label.text,o,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+i,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+u,a.label.width,a.label.height,{fill:r},f),a.techn&&a.techn.text!==""&&(f=s.messageFont(),Q(s)("["+a.techn.text+"]",o,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+i,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+s.messageFontSize+5+u,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:r,"font-style":"italic"},f))}},"drawRels"),g0=g(function(e,t,s){const o=e.append("g");let l=t.bgColor?t.bgColor:"none",a=t.borderColor?t.borderColor:"#444444",r=t.fontColor?t.fontColor:"black",n={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};t.nodeType&&(n={"stroke-width":1});let i={x:t.x,y:t.y,fill:l,stroke:a,width:t.width,height:t.height,rx:2.5,ry:2.5,attrs:n};re(o,i);let u=s.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=r,Q(s)(t.label.text,o,t.x,t.y+t.label.Y,t.width,t.height,{fill:"#444444"},u),t.type&&t.type.text!==""&&(u=s.boundaryFont(),u.fontColor=r,Q(s)(t.type.text,o,t.x,t.y+t.type.Y,t.width,t.height,{fill:"#444444"},u)),t.descr&&t.descr.text!==""&&(u=s.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=r,Q(s)(t.descr.text,o,t.x,t.y+t.descr.Y,t.width,t.height,{fill:"#444444"},u))},"drawBoundary"),b0=g(function(e,t,s){var f;let o=t.bgColor?t.bgColor:s[t.typeC4Shape.text+"_bg_color"],l=t.borderColor?t.borderColor:s[t.typeC4Shape.text+"_border_color"],a=t.fontColor?t.fontColor:"#FFFFFF",r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(t.typeC4Shape.text){case"person":r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const n=e.append("g");n.attr("class","person-man");const i=De();switch(t.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":i.x=t.x,i.y=t.y,i.fill=o,i.width=t.width,i.height=t.height,i.stroke=l,i.rx=2.5,i.ry=2.5,i.attrs={"stroke-width":.5},re(n,i);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":n.append("path").attr("fill",o).attr("stroke-width","0.5").attr("stroke",l).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2).replaceAll("height",t.height)),n.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",l).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":n.append("path").attr("fill",o).attr("stroke-width","0.5").attr("stroke",l).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("width",t.width).replaceAll("half",t.height/2)),n.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",l).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",t.x+t.width).replaceAll("starty",t.y).replaceAll("half",t.height/2));break}let u=w0(s,t.typeC4Shape.text);switch(n.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",t.typeC4Shape.width).attr("x",t.x+t.width/2-t.typeC4Shape.width/2).attr("y",t.y+t.typeC4Shape.Y).text("<<"+t.typeC4Shape.text+">>"),t.typeC4Shape.text){case"person":case"external_person":me(n,48,48,t.x+t.width/2-24,t.y+t.image.Y,r);break}let d=s[t.typeC4Shape.text+"Font"]();return d.fontWeight="bold",d.fontSize=d.fontSize+2,d.fontColor=a,Q(s)(t.label.text,n,t.x,t.y+t.label.Y,t.width,t.height,{fill:a},d),d=s[t.typeC4Shape.text+"Font"](),d.fontColor=a,t.techn&&((f=t.techn)==null?void 0:f.text)!==""?Q(s)(t.techn.text,n,t.x,t.y+t.techn.Y,t.width,t.height,{fill:a,"font-style":"italic"},d):t.type&&t.type.text!==""&&Q(s)(t.type.text,n,t.x,t.y+t.type.Y,t.width,t.height,{fill:a,"font-style":"italic"},d),t.descr&&t.descr.text!==""&&(d=s.personFont(),d.fontColor=a,Q(s)(t.descr.text,n,t.x,t.y+t.descr.Y,t.width,t.height,{fill:a},d)),t.height},"drawC4Shape"),_0=g(function(e){e.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),x0=g(function(e){e.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),m0=g(function(e){e.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),v0=g(function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),E0=g(function(e){e.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),k0=g(function(e){e.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),A0=g(function(e){e.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),C0=g(function(e){const s=e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);s.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),s.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),w0=g((e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),"getC4ShapeFont"),Q=function(){function e(l,a,r,n,i,u,d){const f=a.append("text").attr("x",r+i/2).attr("y",n+u/2+5).style("text-anchor","middle").text(l);o(f,d)}g(e,"byText");function t(l,a,r,n,i,u,d,f){const{fontSize:y,fontFamily:E,fontWeight:O}=f,S=l.split($t.lineBreakRegex);for(let P=0;P=this.data.widthLimit||o>=this.data.widthLimit||this.nextData.cnt>ve)&&(s=this.nextData.startx+t.margin+_.nextLinePaddingX,l=this.nextData.stopy+t.margin*2,this.nextData.stopx=o=s+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=l+t.height,this.nextData.cnt=1),t.x=s,t.y=l,this.updateVal(this.data,"startx",s,Math.min),this.updateVal(this.data,"starty",l,Math.min),this.updateVal(this.data,"stopx",o,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",s,Math.min),this.updateVal(this.nextData,"starty",l,Math.min),this.updateVal(this.nextData,"stopx",o,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},ae(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},g(Bt,"Bounds"),Bt),ae=g(function(e){Pe(_,e),e.fontFamily&&(_.personFontFamily=_.systemFontFamily=_.messageFontFamily=e.fontFamily),e.fontSize&&(_.personFontSize=_.systemFontSize=_.messageFontSize=e.fontSize),e.fontWeight&&(_.personFontWeight=_.systemFontWeight=_.messageFontWeight=e.fontWeight)},"setConf"),St=g((e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),"c4ShapeFont"),Ut=g(e=>({fontFamily:e.boundaryFontFamily,fontSize:e.boundaryFontSize,fontWeight:e.boundaryFontWeight}),"boundaryFont"),T0=g(e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight}),"messageFont");function j(e,t,s,o,l){if(!t[e].width)if(s)t[e].text=Ne(t[e].text,l,o),t[e].textLines=t[e].text.split($t.lineBreakRegex).length,t[e].width=l,t[e].height=de(t[e].text,o);else{let a=t[e].text.split($t.lineBreakRegex);t[e].textLines=a.length;let r=0;t[e].height=0,t[e].width=0;for(const n of a)t[e].width=Math.max(Tt(n,o),t[e].width),r=de(n,o),t[e].height=t[e].height+r}}g(j,"calcC4ShapeTextWH");var ke=g(function(e,t,s){t.x=s.data.startx,t.y=s.data.starty,t.width=s.data.stopx-s.data.startx,t.height=s.data.stopy-s.data.starty,t.label.y=_.c4ShapeMargin-35;let o=t.wrap&&_.wrap,l=Ut(_);l.fontSize=l.fontSize+2,l.fontWeight="bold";let a=Tt(t.label.text,l);j("label",t,o,l,a),z.drawBoundary(e,t,_)},"drawBoundary"),Ae=g(function(e,t,s,o){let l=0;for(const a of o){l=0;const r=s[a];let n=St(_,r.typeC4Shape.text);switch(n.fontSize=n.fontSize-2,r.typeC4Shape.width=Tt("«"+r.typeC4Shape.text+"»",n),r.typeC4Shape.height=n.fontSize+2,r.typeC4Shape.Y=_.c4ShapePadding,l=r.typeC4Shape.Y+r.typeC4Shape.height-4,r.image={width:0,height:0,Y:0},r.typeC4Shape.text){case"person":case"external_person":r.image.width=48,r.image.height=48,r.image.Y=l,l=r.image.Y+r.image.height;break}r.sprite&&(r.image.width=48,r.image.height=48,r.image.Y=l,l=r.image.Y+r.image.height);let i=r.wrap&&_.wrap,u=_.width-_.c4ShapePadding*2,d=St(_,r.typeC4Shape.text);if(d.fontSize=d.fontSize+2,d.fontWeight="bold",j("label",r,i,d,u),r.label.Y=l+8,l=r.label.Y+r.label.height,r.type&&r.type.text!==""){r.type.text="["+r.type.text+"]";let E=St(_,r.typeC4Shape.text);j("type",r,i,E,u),r.type.Y=l+5,l=r.type.Y+r.type.height}else if(r.techn&&r.techn.text!==""){r.techn.text="["+r.techn.text+"]";let E=St(_,r.techn.text);j("techn",r,i,E,u),r.techn.Y=l+5,l=r.techn.Y+r.techn.height}let f=l,y=r.label.width;if(r.descr&&r.descr.text!==""){let E=St(_,r.typeC4Shape.text);j("descr",r,i,E,u),r.descr.Y=l+20,l=r.descr.Y+r.descr.height,y=Math.max(r.label.width,r.descr.width),f=l-r.descr.textLines*5}y=y+_.c4ShapePadding,r.width=Math.max(r.width||_.width,y,_.width),r.height=Math.max(r.height||_.height,f,_.height),r.margin=r.margin||_.c4ShapeMargin,e.insert(r),z.drawC4Shape(t,r,_)}e.bumpLastMargin(_.c4ShapeMargin)},"drawC4ShapeArray"),It,Y=(It=class{constructor(t,s){this.x=t,this.y=s}},g(It,"Point"),It),pe=g(function(e,t){let s=e.x,o=e.y,l=t.x,a=t.y,r=s+e.width/2,n=o+e.height/2,i=Math.abs(s-l),u=Math.abs(o-a),d=u/i,f=e.height/e.width,y=null;return o==a&&sl?y=new Y(s,n):s==l&&oa&&(y=new Y(r,o)),s>l&&o=d?y=new Y(s,n+d*e.width/2):y=new Y(r-i/u*e.height/2,o+e.height):s=d?y=new Y(s+e.width,n+d*e.width/2):y=new Y(r+i/u*e.height/2,o+e.height):sa?f>=d?y=new Y(s+e.width,n-d*e.width/2):y=new Y(r+e.height/2*i/u,o):s>l&&o>a&&(f>=d?y=new Y(s,n-e.width/2*d):y=new Y(r-e.height/2*i/u,o)),y},"getIntersectPoint"),O0=g(function(e,t){let s={x:0,y:0};s.x=t.x+t.width/2,s.y=t.y+t.height/2;let o=pe(e,s);s.x=e.x+e.width/2,s.y=e.y+e.height/2;let l=pe(t,s);return{startPoint:o,endPoint:l}},"getIntersectPoints"),R0=g(function(e,t,s,o){let l=0;for(let a of t){l=l+1;let r=a.wrap&&_.wrap,n=T0(_);o.db.getC4Type()==="C4Dynamic"&&(a.label.text=l+": "+a.label.text);let u=Tt(a.label.text,n);j("label",a,r,n,u),a.techn&&a.techn.text!==""&&(u=Tt(a.techn.text,n),j("techn",a,r,n,u)),a.descr&&a.descr.text!==""&&(u=Tt(a.descr.text,n),j("descr",a,r,n,u));let d=s(a.from),f=s(a.to),y=O0(d,f);a.startPoint=y.startPoint,a.endPoint=y.endPoint}z.drawRels(e,t,_)},"drawRels");function se(e,t,s,o,l){let a=new Ee(l);a.data.widthLimit=s.data.widthLimit/Math.min(ee,o.length);for(let[r,n]of o.entries()){let i=0;n.image={width:0,height:0,Y:0},n.sprite&&(n.image.width=48,n.image.height=48,n.image.Y=i,i=n.image.Y+n.image.height);let u=n.wrap&&_.wrap,d=Ut(_);if(d.fontSize=d.fontSize+2,d.fontWeight="bold",j("label",n,u,d,a.data.widthLimit),n.label.Y=i+8,i=n.label.Y+n.label.height,n.type&&n.type.text!==""){n.type.text="["+n.type.text+"]";let O=Ut(_);j("type",n,u,O,a.data.widthLimit),n.type.Y=i+5,i=n.type.Y+n.type.height}if(n.descr&&n.descr.text!==""){let O=Ut(_);O.fontSize=O.fontSize-2,j("descr",n,u,O,a.data.widthLimit),n.descr.Y=i+20,i=n.descr.Y+n.descr.height}if(r==0||r%ee===0){let O=s.data.startx+_.diagramMarginX,S=s.data.stopy+_.diagramMarginY+i;a.setData(O,O,S,S)}else{let O=a.data.stopx!==a.data.startx?a.data.stopx+_.diagramMarginX:a.data.startx,S=a.data.starty;a.setData(O,O,S,S)}a.name=n.alias;let f=l.db.getC4ShapeArray(n.alias),y=l.db.getC4ShapeKeys(n.alias);y.length>0&&Ae(a,e,f,y),t=n.alias;let E=l.db.getBoundarys(t);E.length>0&&se(e,t,a,E,l),n.alias!=="global"&&ke(e,n,a),s.data.stopy=Math.max(a.data.stopy+_.c4ShapeMargin,s.data.stopy),s.data.stopx=Math.max(a.data.stopx+_.c4ShapeMargin,s.data.stopx),Xt=Math.max(Xt,s.data.stopx),Wt=Math.max(Wt,s.data.stopy)}}g(se,"drawInsideBoundary");var S0=g(function(e,t,s,o){_=Dt().c4;const l=Dt().securityLevel;let a;l==="sandbox"&&(a=jt("#i"+t));const r=l==="sandbox"?jt(a.nodes()[0].contentDocument.body):jt("body");let n=o.db;o.db.setWrap(_.wrap),ve=n.getC4ShapeInRow(),ee=n.getC4BoundaryInRow(),fe.debug(`C:${JSON.stringify(_,null,2)}`);const i=l==="sandbox"?r.select(`[id="${t}"]`):jt(`[id="${t}"]`);z.insertComputerIcon(i),z.insertDatabaseIcon(i),z.insertClockIcon(i);let u=new Ee(o);u.setData(_.diagramMarginX,_.diagramMarginX,_.diagramMarginY,_.diagramMarginY),u.data.widthLimit=screen.availWidth,Xt=_.diagramMarginX,Wt=_.diagramMarginY;const d=o.db.getTitle();let f=o.db.getBoundarys("");se(i,"",u,f,o),z.insertArrowHead(i),z.insertArrowEnd(i),z.insertArrowCrossHead(i),z.insertArrowFilledHead(i),R0(i,o.db.getRels(),o.db.getC4Shape,o),u.data.stopx=Xt,u.data.stopy=Wt;const y=u.data;let O=y.stopy-y.starty+2*_.diagramMarginY;const P=y.stopx-y.startx+2*_.diagramMarginX;d&&i.append("text").text(d).attr("x",(y.stopx-y.startx)/2-4*_.diagramMarginX).attr("y",y.starty+_.diagramMarginY),Ye(i,O,P,_.useMaxWidth);const M=d?60:0;i.attr("viewBox",y.startx-_.diagramMarginX+" -"+(_.diagramMarginY+M)+" "+P+" "+(O+M)),fe.debug("models:",y)},"draw"),ye={drawPersonOrSystemArray:Ae,drawBoundary:ke,setConf:ae,draw:S0},D0=g(e=>`.person { + stroke: ${e.personBorder}; + fill: ${e.personBkg}; + } +`,"getStyles"),P0=D0,j0={parser:Ue,db:te,renderer:ye,styles:P0,init:g(({c4:e,wrap:t})=>{ye.setConf(e),te.setWrap(t)},"init")};export{j0 as diagram}; diff --git a/_nuxt/DZpnpg6r.js b/_nuxt/DZpnpg6r.js new file mode 100644 index 000000000..a6337a371 --- /dev/null +++ b/_nuxt/DZpnpg6r.js @@ -0,0 +1,2 @@ +import{_ as t,l as o,I as i,k as n,K as p}from"./BN9GDn3H.js";import{p as m}from"./lwzoVff7.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";import"./BH-Vtj6c.js";import"./7nLUnQzp.js";import"./DqIxQbFE.js";var g={parse:t(async r=>{const a=await m("info",r);o.debug(a)},"parse")},v={version:p},d=t(()=>v.version,"getVersion"),c={getVersion:d},l=t((r,a,s)=>{o.debug(`rendering info diagram +`+r);const e=i(a);n(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${s}`)},"draw"),f={draw:l},F={parser:g,db:c,renderer:f};export{F as diagram}; diff --git a/_nuxt/DcU2AYcU.js b/_nuxt/DcU2AYcU.js deleted file mode 100644 index 3c54cfb17..000000000 --- a/_nuxt/DcU2AYcU.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,o,c as s,r as t}from"./ZI84DZB4.js";const c={};function n(e,l){return o(),s("ul",null,[t(e.$slots,"default")])}const _=r(c,[["render",n]]);export{_ as default}; diff --git a/_nuxt/Dgb7eL1e.js b/_nuxt/Dgb7eL1e.js new file mode 100644 index 000000000..e82832641 --- /dev/null +++ b/_nuxt/Dgb7eL1e.js @@ -0,0 +1 @@ +import{_ as r,o,b as t,r as s}from"./DzgF3Vew.js";const a={};function n(e,c){return o(),t("table",null,[s(e.$slots,"default")])}const _=r(a,[["render",n]]);export{_ as default}; diff --git a/_nuxt/DiUVSron.js b/_nuxt/DiUVSron.js new file mode 100644 index 000000000..93e0f198b --- /dev/null +++ b/_nuxt/DiUVSron.js @@ -0,0 +1,65 @@ +import{p as Z}from"./DkbTWFKD.js";import{I as F}from"./C9budKl-.js";import{D as U,_ as h,d as rr,E as er,F as tr,G as ar,l as w,s as nr,g as sr,b as or,c as cr,q as ir,r as dr,e as B,x as hr,j as lr,v as $r,H as fr}from"./BN9GDn3H.js";import{p as gr}from"./lwzoVff7.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";import"./BH-Vtj6c.js";import"./7nLUnQzp.js";import"./DqIxQbFE.js";var x={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},yr=U.gitGraph,z=h(()=>er({...yr,...tr().gitGraph}),"getConfig"),i=new F(()=>{const t=z(),r=t.mainBranchName,a=t.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:a}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function j(){return ar({length:7})}h(j,"getID");function N(t,r){const a=Object.create(null);return t.reduce((s,e)=>{const n=r(e);return a[n]||(a[n]=!0,s.push(e)),s},[])}h(N,"uniqBy");var pr=h(function(t){i.records.direction=t},"setDirection"),xr=h(function(t){w.debug("options str",t),t=t==null?void 0:t.trim(),t=t||"{}";try{i.records.options=JSON.parse(t)}catch(r){w.error("error while parsing gitGraph options",r.message)}},"setOptions"),ur=h(function(){return i.records.options},"getOptions"),br=h(function(t){let r=t.msg,a=t.id;const s=t.type;let e=t.tags;w.info("commit",r,a,s,e),w.debug("Entering commit:",r,a,s,e);const n=z();a=B.sanitizeText(a,n),r=B.sanitizeText(r,n),e=e==null?void 0:e.map(o=>B.sanitizeText(o,n));const c={id:a||i.records.seq+"-"+j(),message:r,seq:i.records.seq++,type:s??x.NORMAL,tags:e??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=c,w.info("main branch",n.mainBranchName),i.records.commits.set(c.id,c),i.records.branches.set(i.records.currBranch,c.id),w.debug("in pushCommit "+c.id)},"commit"),mr=h(function(t){let r=t.name;const a=t.order;if(r=B.sanitizeText(r,z()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:a}),_(r),w.debug("in createBranch")},"branch"),wr=h(t=>{let r=t.branch,a=t.id;const s=t.type,e=t.tags,n=z();r=B.sanitizeText(r,n),a&&(a=B.sanitizeText(a,n));const c=i.records.branches.get(i.records.currBranch),o=i.records.branches.get(r),$=c?i.records.commits.get(c):void 0,l=o?i.records.commits.get(o):void 0;if($&&l&&$.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const d=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if($===void 0||!$){const d=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},d}if(!i.records.branches.has(r)){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},d}if(l===void 0||!l){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},d}if($===l){const d=new Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(a&&i.records.commits.has(a)){const d=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw d.hash={text:`merge ${r} ${a} ${s} ${e==null?void 0:e.join(" ")}`,token:`merge ${r} ${a} ${s} ${e==null?void 0:e.join(" ")}`,expected:[`merge ${r} ${a}_UNIQUE ${s} ${e==null?void 0:e.join(" ")}`]},d}const f=o||"",g={id:a||`${i.records.seq}-${j()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,f],branch:i.records.currBranch,type:x.MERGE,customType:s,customId:!!a,tags:e??[]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),w.debug(i.records.branches),w.debug("in mergeBranch")},"merge"),vr=h(function(t){let r=t.id,a=t.targetId,s=t.tags,e=t.parent;w.debug("Entering cherryPick:",r,a,s);const n=z();if(r=B.sanitizeText(r,n),a=B.sanitizeText(a,n),s=s==null?void 0:s.map($=>B.sanitizeText($,n)),e=B.sanitizeText(e,n),!r||!i.records.commits.has(r)){const $=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw $.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},$}const c=i.records.commits.get(r);if(c===void 0||!c)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(e&&!(Array.isArray(c.parents)&&c.parents.includes(e)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=c.branch;if(c.type===x.MERGE&&!e)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||!i.records.commits.has(a)){if(o===i.records.currBranch){const g=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const $=i.records.branches.get(i.records.currBranch);if($===void 0||!$){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const l=i.records.commits.get($);if(l===void 0||!l){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const f={id:i.records.seq+"-"+j(),message:`cherry-picked ${c==null?void 0:c.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,c.id],branch:i.records.currBranch,type:x.CHERRY_PICK,tags:s?s.filter(Boolean):[`cherry-pick:${c.id}${c.type===x.MERGE?`|parent:${e}`:""}`]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),w.debug(i.records.branches),w.debug("in cherryPick")}},"cherryPick"),_=h(function(t){if(t=B.sanitizeText(t,z()),i.records.branches.has(t)){i.records.currBranch=t;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw r.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},r}},"checkout");function A(t,r,a){const s=t.indexOf(r);s===-1?t.push(a):t.splice(s,1,a)}h(A,"upsert");function D(t){const r=t.reduce((e,n)=>e.seq>n.seq?e:n,t[0]);let a="";t.forEach(function(e){e===r?a+=" *":a+=" |"});const s=[a,r.id,r.seq];for(const e in i.records.branches)i.records.branches.get(e)===r.id&&s.push(e);if(w.debug(s.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const e=i.records.commits.get(r.parents[0]);A(t,r,e),r.parents[1]&&t.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const e=i.records.commits.get(r.parents[0]);A(t,r,e)}}t=N(t,e=>e.id),D(t)}h(D,"prettyPrintCommitHistory");var Cr=h(function(){w.debug(i.records.commits);const t=V()[0];D([t])},"prettyPrint"),Er=h(function(){i.reset(),hr()},"clear"),Br=h(function(){return[...i.records.branchConfig.values()].map((r,a)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${a}`)}).sort((r,a)=>(r.order??0)-(a.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),kr=h(function(){return i.records.branches},"getBranches"),Lr=h(function(){return i.records.commits},"getCommits"),V=h(function(){const t=[...i.records.commits.values()];return t.forEach(function(r){w.debug(r.id)}),t.sort((r,a)=>r.seq-a.seq),t},"getCommitsArray"),Tr=h(function(){return i.records.currBranch},"getCurrentBranch"),Mr=h(function(){return i.records.direction},"getDirection"),Rr=h(function(){return i.records.head},"getHead"),X={commitType:x,getConfig:z,setDirection:pr,setOptions:xr,getOptions:ur,commit:br,branch:mr,merge:wr,cherryPick:vr,checkout:_,prettyPrint:Cr,clear:Er,getBranchesAsObjArray:Br,getBranches:kr,getCommits:Lr,getCommitsArray:V,getCurrentBranch:Tr,getDirection:Mr,getHead:Rr,setAccTitle:nr,getAccTitle:sr,getAccDescription:or,setAccDescription:cr,setDiagramTitle:ir,getDiagramTitle:dr},Ir=h((t,r)=>{Z(t,r),t.dir&&r.setDirection(t.dir);for(const a of t.statements)qr(a,r)},"populate"),qr=h((t,r)=>{const s={Commit:h(e=>r.commit(Or(e)),"Commit"),Branch:h(e=>r.branch(zr(e)),"Branch"),Merge:h(e=>r.merge(Gr(e)),"Merge"),Checkout:h(e=>r.checkout(Hr(e)),"Checkout"),CherryPicking:h(e=>r.cherryPick(Pr(e)),"CherryPicking")}[t.$type];s?s(t):w.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),Or=h(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?x[t.type]:x.NORMAL,tags:t.tags??void 0}),"parseCommit"),zr=h(t=>({name:t.name,order:t.order??0}),"parseBranch"),Gr=h(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?x[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Hr=h(t=>t.branch,"parseCheckout"),Pr=h(t=>{var a;return{id:t.id,targetId:"",tags:((a=t.tags)==null?void 0:a.length)===0?void 0:t.tags,parent:t.parent}},"parseCherryPicking"),Wr={parse:h(async t=>{const r=await gr("gitGraph",t);w.debug(r),Ir(r,X)},"parse")},S=rr(),b=S==null?void 0:S.gitGraph,R=10,I=40,k=4,L=2,O=8,C=new Map,E=new Map,P=30,G=new Map,W=[],M=0,p="LR",jr=h(()=>{C.clear(),E.clear(),G.clear(),M=0,W=[],p="LR"},"clear"),J=h(t=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(s=>{const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),e.setAttribute("class","row"),e.textContent=s.trim(),r.appendChild(e)}),r},"drawText"),Q=h(t=>{let r,a,s;return p==="BT"?(a=h((e,n)=>e<=n,"comparisonFunc"),s=1/0):(a=h((e,n)=>e>=n,"comparisonFunc"),s=0),t.forEach(e=>{var c,o;const n=p==="TB"||p=="BT"?(c=E.get(e))==null?void 0:c.y:(o=E.get(e))==null?void 0:o.x;n!==void 0&&a(n,s)&&(r=e,s=n)}),r},"findClosestParent"),Sr=h(t=>{let r="",a=1/0;return t.forEach(s=>{const e=E.get(s).y;e<=a&&(r=s,a=e)}),r||void 0},"findClosestParentBT"),Ar=h((t,r,a)=>{let s=a,e=a;const n=[];t.forEach(c=>{const o=r.get(c);if(!o)throw new Error(`Commit not found for key ${c}`);o.parents.length?(s=Yr(o),e=Math.max(s,e)):n.push(o),Kr(o,s)}),s=e,n.forEach(c=>{Nr(c,s,a)}),t.forEach(c=>{const o=r.get(c);if(o!=null&&o.parents.length){const $=Sr(o.parents);s=E.get($).y-I,s<=e&&(e=s);const l=C.get(o.branch).pos,f=s-R;E.set(o.id,{x:l,y:f})}})},"setParallelBTPos"),Dr=h(t=>{var s;const r=Q(t.parents.filter(e=>e!==null));if(!r)throw new Error(`Closest parent not found for commit ${t.id}`);const a=(s=E.get(r))==null?void 0:s.y;if(a===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return a},"findClosestParentPos"),Yr=h(t=>Dr(t)+I,"calculateCommitPosition"),Kr=h((t,r)=>{const a=C.get(t.branch);if(!a)throw new Error(`Branch not found for commit ${t.id}`);const s=a.pos,e=r+R;return E.set(t.id,{x:s,y:e}),{x:s,y:e}},"setCommitPosition"),Nr=h((t,r,a)=>{const s=C.get(t.branch);if(!s)throw new Error(`Branch not found for commit ${t.id}`);const e=r+a,n=s.pos;E.set(t.id,{x:n,y:e})},"setRootPosition"),_r=h((t,r,a,s,e,n)=>{if(n===x.HIGHLIGHT)t.append("rect").attr("x",a.x-10).attr("y",a.y-10).attr("width",20).attr("height",20).attr("class",`commit ${r.id} commit-highlight${e%O} ${s}-outer`),t.append("rect").attr("x",a.x-6).attr("y",a.y-6).attr("width",12).attr("height",12).attr("class",`commit ${r.id} commit${e%O} ${s}-inner`);else if(n===x.CHERRY_PICK)t.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("class",`commit ${r.id} ${s}`),t.append("circle").attr("cx",a.x-3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${s}`),t.append("circle").attr("cx",a.x+3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${s}`),t.append("line").attr("x1",a.x+3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${s}`),t.append("line").attr("x1",a.x-3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${s}`);else{const c=t.append("circle");if(c.attr("cx",a.x),c.attr("cy",a.y),c.attr("r",r.type===x.MERGE?9:10),c.attr("class",`commit ${r.id} commit${e%O}`),n===x.MERGE){const o=t.append("circle");o.attr("cx",a.x),o.attr("cy",a.y),o.attr("r",6),o.attr("class",`commit ${s} ${r.id} commit${e%O}`)}n===x.REVERSE&&t.append("path").attr("d",`M ${a.x-5},${a.y-5}L${a.x+5},${a.y+5}M${a.x-5},${a.y+5}L${a.x+5},${a.y-5}`).attr("class",`commit ${s} ${r.id} commit${e%O}`)}},"drawCommitBullet"),Vr=h((t,r,a,s)=>{var e;if(r.type!==x.CHERRY_PICK&&(r.customId&&r.type===x.MERGE||r.type!==x.MERGE)&&(b!=null&&b.showCommitLabel)){const n=t.append("g"),c=n.insert("rect").attr("class","commit-label-bkg"),o=n.append("text").attr("x",s).attr("y",a.y+25).attr("class","commit-label").text(r.id),$=(e=o.node())==null?void 0:e.getBBox();if($&&(c.attr("x",a.posWithOffset-$.width/2-L).attr("y",a.y+13.5).attr("width",$.width+2*L).attr("height",$.height+2*L),p==="TB"||p==="BT"?(c.attr("x",a.x-($.width+4*k+5)).attr("y",a.y-12),o.attr("x",a.x-($.width+4*k)).attr("y",a.y+$.height-12)):o.attr("x",a.posWithOffset-$.width/2),b.rotateCommitLabel))if(p==="TB"||p==="BT")o.attr("transform","rotate(-45, "+a.x+", "+a.y+")"),c.attr("transform","rotate(-45, "+a.x+", "+a.y+")");else{const l=-7.5-($.width+10)/25*9.5,f=10+$.width/25*8.5;n.attr("transform","translate("+l+", "+f+") rotate(-45, "+s+", "+a.y+")")}}},"drawCommitLabel"),Xr=h((t,r,a,s)=>{var e;if(r.tags.length>0){let n=0,c=0,o=0;const $=[];for(const l of r.tags.reverse()){const f=t.insert("polygon"),g=t.append("circle"),d=t.append("text").attr("y",a.y-16-n).attr("class","tag-label").text(l),y=(e=d.node())==null?void 0:e.getBBox();if(!y)throw new Error("Tag bbox not found");c=Math.max(c,y.width),o=Math.max(o,y.height),d.attr("x",a.posWithOffset-y.width/2),$.push({tag:d,hole:g,rect:f,yOffset:n}),n+=20}for(const{tag:l,hole:f,rect:g,yOffset:d}of $){const y=o/2,u=a.y-19.2-d;if(g.attr("class","tag-label-bkg").attr("points",` + ${s-c/2-k/2},${u+L} + ${s-c/2-k/2},${u-L} + ${a.posWithOffset-c/2-k},${u-y-L} + ${a.posWithOffset+c/2+k},${u-y-L} + ${a.posWithOffset+c/2+k},${u+y+L} + ${a.posWithOffset-c/2-k},${u+y+L}`),f.attr("cy",u).attr("cx",s-c/2+k/2).attr("r",1.5).attr("class","tag-hole"),p==="TB"||p==="BT"){const m=s+d;g.attr("class","tag-label-bkg").attr("points",` + ${a.x},${m+2} + ${a.x},${m-2} + ${a.x+R},${m-y-2} + ${a.x+R+c+4},${m-y-2} + ${a.x+R+c+4},${m+y+2} + ${a.x+R},${m+y+2}`).attr("transform","translate(12,12) rotate(45, "+a.x+","+s+")"),f.attr("cx",a.x+k/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+a.x+","+s+")"),l.attr("x",a.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+a.x+","+s+")")}}}},"drawCommitTags"),Jr=h(t=>{switch(t.customType??t.type){case x.NORMAL:return"commit-normal";case x.REVERSE:return"commit-reverse";case x.HIGHLIGHT:return"commit-highlight";case x.MERGE:return"commit-merge";case x.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),Qr=h((t,r,a,s)=>{const e={x:0,y:0};if(t.parents.length>0){const n=Q(t.parents);if(n){const c=s.get(n)??e;return r==="TB"?c.y+I:r==="BT"?(s.get(t.id)??e).y-I:c.x+I}}else return r==="TB"?P:r==="BT"?(s.get(t.id)??e).y-I:0;return 0},"calculatePosition"),Zr=h((t,r,a)=>{var c,o;const s=p==="BT"&&a?r:r+R,e=p==="TB"||p==="BT"?s:(c=C.get(t.branch))==null?void 0:c.pos,n=p==="TB"||p==="BT"?(o=C.get(t.branch))==null?void 0:o.pos:s;if(n===void 0||e===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:n,y:e,posWithOffset:s}},"getCommitPosition"),K=h((t,r,a)=>{if(!b)throw new Error("GitGraph config not found");const s=t.append("g").attr("class","commit-bullets"),e=t.append("g").attr("class","commit-labels");let n=p==="TB"||p==="BT"?P:0;const c=[...r.keys()],o=(b==null?void 0:b.parallelCommits)??!1,$=h((f,g)=>{var u,m;const d=(u=r.get(f))==null?void 0:u.seq,y=(m=r.get(g))==null?void 0:m.seq;return d!==void 0&&y!==void 0?d-y:0},"sortKeys");let l=c.sort($);p==="BT"&&(o&&Ar(l,r,n),l=l.reverse()),l.forEach(f=>{var y;const g=r.get(f);if(!g)throw new Error(`Commit not found for key ${f}`);o&&(n=Qr(g,p,n,E));const d=Zr(g,n,o);if(a){const u=Jr(g),m=g.customType??g.type,q=((y=C.get(g.branch))==null?void 0:y.index)??0;_r(s,g,d,u,q,m),Vr(e,g,d,n),Xr(e,g,d,n)}p==="TB"||p==="BT"?E.set(g.id,{x:d.x,y:d.posWithOffset}):E.set(g.id,{x:d.posWithOffset,y:d.y}),n=p==="BT"&&o?n+I:n+I+R,n>M&&(M=n)})},"drawCommits"),Fr=h((t,r,a,s,e)=>{const c=(p==="TB"||p==="BT"?a.xl.branch===c,"isOnBranchToGetCurve"),$=h(l=>l.seq>t.seq&&l.seq$(l)&&o(l))},"shouldRerouteArrow"),H=h((t,r,a=0)=>{const s=t+Math.abs(t-r)/2;if(a>5)return s;if(W.every(c=>Math.abs(c-s)>=10))return W.push(s),s;const n=Math.abs(t-r);return H(t,r-n/5,a+1)},"findLane"),Ur=h((t,r,a,s)=>{var y,u,m,q,Y;const e=E.get(r.id),n=E.get(a.id);if(e===void 0||n===void 0)throw new Error(`Commit positions not found for commits ${r.id} and ${a.id}`);const c=Fr(r,a,e,n,s);let o="",$="",l=0,f=0,g=(y=C.get(a.branch))==null?void 0:y.index;a.type===x.MERGE&&r.id!==a.parents[0]&&(g=(u=C.get(r.branch))==null?void 0:u.index);let d;if(c){o="A 10 10, 0, 0, 0,",$="A 10 10, 0, 0, 1,",l=10,f=10;const T=e.yn.x&&(o="A 20 20, 0, 0, 0,",$="A 20 20, 0, 0, 1,",l=20,f=20,a.type===x.MERGE&&r.id!==a.parents[0]?d=`M ${e.x} ${e.y} L ${e.x} ${n.y-l} ${$} ${e.x-f} ${n.y} L ${n.x} ${n.y}`:d=`M ${e.x} ${e.y} L ${n.x+l} ${e.y} ${o} ${n.x} ${e.y+f} L ${n.x} ${n.y}`),e.x===n.x&&(d=`M ${e.x} ${e.y} L ${n.x} ${n.y}`)):p==="BT"?(e.xn.x&&(o="A 20 20, 0, 0, 0,",$="A 20 20, 0, 0, 1,",l=20,f=20,a.type===x.MERGE&&r.id!==a.parents[0]?d=`M ${e.x} ${e.y} L ${e.x} ${n.y+l} ${o} ${e.x-f} ${n.y} L ${n.x} ${n.y}`:d=`M ${e.x} ${e.y} L ${n.x-l} ${e.y} ${o} ${n.x} ${e.y-f} L ${n.x} ${n.y}`),e.x===n.x&&(d=`M ${e.x} ${e.y} L ${n.x} ${n.y}`)):(e.yn.y&&(a.type===x.MERGE&&r.id!==a.parents[0]?d=`M ${e.x} ${e.y} L ${n.x-l} ${e.y} ${o} ${n.x} ${e.y-f} L ${n.x} ${n.y}`:d=`M ${e.x} ${e.y} L ${e.x} ${n.y+l} ${$} ${e.x+f} ${n.y} L ${n.x} ${n.y}`),e.y===n.y&&(d=`M ${e.x} ${e.y} L ${n.x} ${n.y}`));if(d===void 0)throw new Error("Line definition not found");t.append("path").attr("d",d).attr("class","arrow arrow"+g%O)},"drawArrow"),re=h((t,r)=>{const a=t.append("g").attr("class","commit-arrows");[...r.keys()].forEach(s=>{const e=r.get(s);e.parents&&e.parents.length>0&&e.parents.forEach(n=>{Ur(a,r.get(n),e,r)})})},"drawArrows"),ee=h((t,r)=>{const a=t.append("g");r.forEach((s,e)=>{var u;const n=e%O,c=(u=C.get(s.name))==null?void 0:u.pos;if(c===void 0)throw new Error(`Position not found for branch ${s.name}`);const o=a.append("line");o.attr("x1",0),o.attr("y1",c),o.attr("x2",M),o.attr("y2",c),o.attr("class","branch branch"+n),p==="TB"?(o.attr("y1",P),o.attr("x1",c),o.attr("y2",M),o.attr("x2",c)):p==="BT"&&(o.attr("y1",M),o.attr("x1",c),o.attr("y2",P),o.attr("x2",c)),W.push(c);const $=s.name,l=J($),f=a.insert("rect"),d=a.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+n);d.node().appendChild(l);const y=l.getBBox();f.attr("class","branchLabelBkg label"+n).attr("rx",4).attr("ry",4).attr("x",-y.width-4-((b==null?void 0:b.rotateCommitLabel)===!0?30:0)).attr("y",-y.height/2+8).attr("width",y.width+18).attr("height",y.height+4),d.attr("transform","translate("+(-y.width-14-((b==null?void 0:b.rotateCommitLabel)===!0?30:0))+", "+(c-y.height/2-1)+")"),p==="TB"?(f.attr("x",c-y.width/2-10).attr("y",0),d.attr("transform","translate("+(c-y.width/2-5)+", 0)")):p==="BT"?(f.attr("x",c-y.width/2-10).attr("y",M),d.attr("transform","translate("+(c-y.width/2-5)+", "+M+")")):f.attr("transform","translate(-19, "+(c-y.height/2)+")")})},"drawBranches"),te=h(function(t,r,a,s,e){return C.set(t,{pos:r,index:a}),r+=50+(e?40:0)+(p==="TB"||p==="BT"?s.width/2:0),r},"setBranchPosition"),ae=h(function(t,r,a,s){if(jr(),w.debug("in gitgraph renderer",t+` +`,"id:",r,a),!b)throw new Error("GitGraph config not found");const e=b.rotateCommitLabel??!1,n=s.db;G=n.getCommits();const c=n.getBranchesAsObjArray();p=n.getDirection();const o=lr(`[id="${r}"]`);let $=0;c.forEach((l,f)=>{var q;const g=J(l.name),d=o.append("g"),y=d.insert("g").attr("class","branchLabel"),u=y.insert("g").attr("class","label branch-label");(q=u.node())==null||q.appendChild(g);const m=g.getBBox();$=te(l.name,$,f,m,e),u.remove(),y.remove(),d.remove()}),K(o,G,!1),b.showBranches&&ee(o,c),re(o,G),K(o,G,!0),$r.insertTitle(o,"gitTitleText",b.titleTopMargin??0,n.getDiagramTitle()),fr(void 0,o,b.diagramPadding,b.useMaxWidth)},"draw"),ne={draw:ae},se=h(t=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(r=>` + .branch-label${r} { fill: ${t["gitBranchLabel"+r]}; } + .commit${r} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; } + .commit-highlight${r} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; } + .label${r} { fill: ${t["git"+r]}; } + .arrow${r} { stroke: ${t["git"+r]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${t.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + .commit-reverse { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`,"getStyles"),oe=se,ue={parser:Wr,db:X,renderer:ne,styles:oe};export{ue as diagram}; diff --git a/_nuxt/Dk871sGE.js b/_nuxt/Dk871sGE.js new file mode 100644 index 000000000..784cdbaf9 --- /dev/null +++ b/_nuxt/Dk871sGE.js @@ -0,0 +1 @@ +import{_ as n,j as r,k as g,l as d}from"./BN9GDn3H.js";var u=n((t,e)=>{let o;return e==="sandbox"&&(o=r("#i"+t)),(e==="sandbox"?r(o.nodes()[0].contentDocument.body):r("body")).select(`[id="${t}"]`)},"getDiagramElement"),b=n((t,e,o,i)=>{t.attr("class",o);const{width:a,height:s,x:h,y:x}=l(t,e);g(t,s,a,i);const c=w(h,x,a,s,e);t.attr("viewBox",c),d.debug(`viewBox configured: ${c} with padding: ${e}`)},"setupViewPortForSVG"),l=n((t,e)=>{var i;const o=((i=t.node())==null?void 0:i.getBBox())||{width:0,height:0,x:0,y:0};return{width:o.width+e*2,height:o.height+e*2,x:o.x,y:o.y}},"calculateDimensionsWithPadding"),w=n((t,e,o,i,a)=>`${t-a} ${e-a} ${o} ${i}`,"createViewBox");export{u as g,b as s}; diff --git a/_nuxt/DkbTWFKD.js b/_nuxt/DkbTWFKD.js new file mode 100644 index 000000000..14c6ac39c --- /dev/null +++ b/_nuxt/DkbTWFKD.js @@ -0,0 +1 @@ +import{_ as l}from"./BN9GDn3H.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p}; diff --git a/_nuxt/DnCrATAD.js b/_nuxt/DnCrATAD.js new file mode 100644 index 000000000..100d344be --- /dev/null +++ b/_nuxt/DnCrATAD.js @@ -0,0 +1,220 @@ +import{g as De,s as Ce}from"./Dk871sGE.js";import{_ as r,e as H,d as x,g as xe,s as Ae,b as Le,c as Ie,q as Re,r as Oe,l as b,A as Ne,v as we,x as $e,a9 as Pe}from"./BN9GDn3H.js";var Ot=function(){var t=r(function($,o,u,n){for(u=u||{},n=$.length;n--;u[$[n]]=o);return u},"o"),e=[1,2],c=[1,3],a=[1,4],d=[2,4],s=[1,9],p=[1,11],g=[1,16],l=[1,17],_=[1,18],v=[1,19],A=[1,32],B=[1,20],Y=[1,21],I=[1,22],f=[1,23],L=[1,24],R=[1,26],F=[1,27],V=[1,28],N=[1,29],w=[1,30],rt=[1,31],at=[1,34],nt=[1,35],lt=[1,36],ot=[1,37],J=[1,33],S=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],ct=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],Vt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],kt={trace:r(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:r(function(o,u,n,y,T,i,q){var h=i.length-1;switch(T){case 3:return y.setRootDoc(i[h]),i[h];case 4:this.$=[];break;case 5:i[h]!="nl"&&(i[h-1].push(i[h]),this.$=i[h-1]);break;case 6:case 7:this.$=i[h];break;case 8:this.$="nl";break;case 12:this.$=i[h];break;case 13:const Q=i[h-1];Q.description=y.trimColon(i[h]),this.$=Q;break;case 14:this.$={stmt:"relation",state1:i[h-2],state2:i[h]};break;case 15:const Dt=y.trimColon(i[h]);this.$={stmt:"relation",state1:i[h-3],state2:i[h-1],description:Dt};break;case 19:this.$={stmt:"state",id:i[h-3],type:"default",description:"",doc:i[h-1]};break;case 20:var M=i[h],W=i[h-2].trim();if(i[h].match(":")){var ht=i[h].split(":");M=ht[0],W=[W,ht[1]]}this.$={stmt:"state",id:M,type:"default",description:W};break;case 21:this.$={stmt:"state",id:i[h-3],type:"default",description:i[h-5],doc:i[h-1]};break;case 22:this.$={stmt:"state",id:i[h],type:"fork"};break;case 23:this.$={stmt:"state",id:i[h],type:"join"};break;case 24:this.$={stmt:"state",id:i[h],type:"choice"};break;case 25:this.$={stmt:"state",id:y.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:i[h-1].trim(),note:{position:i[h-2].trim(),text:i[h].trim()}};break;case 29:this.$=i[h].trim(),y.setAccTitle(this.$);break;case 30:case 31:this.$=i[h].trim(),y.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:i[h-1].trim(),classes:i[h].trim()};break;case 34:this.$={stmt:"style",id:i[h-1].trim(),styleClass:i[h].trim()};break;case 35:this.$={stmt:"applyClass",id:i[h-1].trim(),styleClass:i[h].trim()};break;case 36:y.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:y.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:y.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:y.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:i[h].trim(),type:"default",description:""};break;case 44:this.$={stmt:"state",id:i[h-2].trim(),classes:[i[h].trim()],type:"default",description:""};break;case 45:this.$={stmt:"state",id:i[h-2].trim(),classes:[i[h].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:c,6:a},{1:[3]},{3:5,4:e,5:c,6:a},{3:6,4:e,5:c,6:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],d,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:s,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:l,19:_,22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:g,17:l,19:_,22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,7]),t(S,[2,8]),t(S,[2,9]),t(S,[2,10]),t(S,[2,11]),t(S,[2,12],{14:[1,39],15:[1,40]}),t(S,[2,16]),{18:[1,41]},t(S,[2,18],{20:[1,42]}),{23:[1,43]},t(S,[2,22]),t(S,[2,23]),t(S,[2,24]),t(S,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(S,[2,28]),{34:[1,48]},{36:[1,49]},t(S,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(ct,[2,42],{55:[1,54]}),t(ct,[2,43],{55:[1,55]}),t(S,[2,36]),t(S,[2,37]),t(S,[2,38]),t(S,[2,39]),t(S,[2,6]),t(S,[2,13]),{13:56,24:A,54:J},t(S,[2,17]),t(Vt,d,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(S,[2,29]),t(S,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(S,[2,14],{14:[1,67]}),{4:s,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:l,19:_,21:[1,68],22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(S,[2,32]),t(S,[2,33]),t(S,[2,34]),t(S,[2,35]),t(ct,[2,44]),t(ct,[2,45]),t(S,[2,15]),t(S,[2,19]),t(Vt,d,{7:72}),t(S,[2,26]),t(S,[2,27]),{4:s,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:l,19:_,21:[1,73],22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:r(function(o,u){if(u.recoverable)this.trace(o);else{var n=new Error(o);throw n.hash=u,n}},"parseError"),parse:r(function(o){var u=this,n=[0],y=[],T=[null],i=[],q=this.table,h="",M=0,W=0,ht=2,Q=1,Dt=i.slice.call(arguments,1),E=Object.create(this.lexer),U={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(U.yy[Ct]=this.yy[Ct]);E.setInput(o,U.yy),U.yy.lexer=E,U.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var xt=E.yylloc;i.push(xt);var me=E.options&&E.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(D){n.length=n.length-2*D,T.length=T.length-D,i.length=i.length-D}r(ke,"popStack");function Mt(){var D;return D=y.pop()||E.lex()||Q,typeof D!="number"&&(D instanceof Array&&(y=D,D=y.pop()),D=u.symbols_[D]||D),D}r(Mt,"lex");for(var m,j,C,At,X={},dt,O,Ut,ft;;){if(j=n[n.length-1],this.defaultActions[j]?C=this.defaultActions[j]:((m===null||typeof m>"u")&&(m=Mt()),C=q[j]&&q[j][m]),typeof C>"u"||!C.length||!C[0]){var Lt="";ft=[];for(dt in q[j])this.terminals_[dt]&&dt>ht&&ft.push("'"+this.terminals_[dt]+"'");E.showPosition?Lt="Parse error on line "+(M+1)+`: +`+E.showPosition()+` +Expecting `+ft.join(", ")+", got '"+(this.terminals_[m]||m)+"'":Lt="Parse error on line "+(M+1)+": Unexpected "+(m==Q?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(Lt,{text:E.match,token:this.terminals_[m]||m,line:E.yylineno,loc:xt,expected:ft})}if(C[0]instanceof Array&&C.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+m);switch(C[0]){case 1:n.push(m),T.push(E.yytext),i.push(E.yylloc),n.push(C[1]),m=null,W=E.yyleng,h=E.yytext,M=E.yylineno,xt=E.yylloc;break;case 2:if(O=this.productions_[C[1]][1],X.$=T[T.length-O],X._$={first_line:i[i.length-(O||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(O||1)].first_column,last_column:i[i.length-1].last_column},me&&(X._$.range=[i[i.length-(O||1)].range[0],i[i.length-1].range[1]]),At=this.performAction.apply(X,[h,W,M,U.yy,C[1],T,i].concat(Dt)),typeof At<"u")return At;O&&(n=n.slice(0,-1*O*2),T=T.slice(0,-1*O),i=i.slice(0,-1*O)),n.push(this.productions_[C[1]][0]),T.push(X.$),i.push(X._$),Ut=q[n[n.length-2]][n[n.length-1]],n.push(Ut);break;case 3:return!0}}return!0},"parse")},be=function(){var $={EOF:1,parseError:r(function(u,n){if(this.yy.parser)this.yy.parser.parseError(u,n);else throw new Error(u)},"parseError"),setInput:r(function(o,u){return this.yy=u||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:r(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var u=o.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:r(function(o){var u=o.length,n=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var T=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===y.length?this.yylloc.first_column:0)+y[y.length-n.length].length-n[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[T[0],T[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:r(function(){return this._more=!0,this},"more"),reject:r(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:r(function(o){this.unput(this.match.slice(o))},"less"),pastInput:r(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:r(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:r(function(){var o=this.pastInput(),u=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+u+"^"},"showPosition"),test_match:r(function(o,u){var n,y,T;if(this.options.backtrack_lexer&&(T={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(T.yylloc.range=this.yylloc.range.slice(0))),y=o[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],n=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in T)this[i]=T[i];return!1}return!1},"test_match"),next:r(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,u,n,y;this._more||(this.yytext="",this.match="");for(var T=this._currentRules(),i=0;iu[0].length)){if(u=n,y=i,this.options.backtrack_lexer){if(o=this.test_match(n,T[i]),o!==!1)return o;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(o=this.test_match(u,T[y]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:r(function(){var u=this.next();return u||this.lex()},"lex"),begin:r(function(u){this.conditionStack.push(u)},"begin"),popState:r(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:r(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:r(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:r(function(u){this.begin(u)},"pushState"),stateStackSize:r(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:r(function(u,n,y,T){switch(y){case 0:return 41;case 1:return 48;case 2:return 49;case 3:return 50;case 4:return 51;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),17;case 13:return 18;case 14:this.popState();break;case 15:return this.begin("acc_title"),33;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),35;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),38;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),39;case 25:return this.popState(),40;case 26:return this.pushState("CLASS"),45;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;case 28:return this.popState(),47;case 29:return this.pushState("STYLE"),42;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;case 31:return this.popState(),44;case 32:return this.pushState("SCALE"),17;case 33:return 18;case 34:this.popState();break;case 35:this.pushState("STATE");break;case 36:return this.popState(),n.yytext=n.yytext.slice(0,-8).trim(),25;case 37:return this.popState(),n.yytext=n.yytext.slice(0,-8).trim(),26;case 38:return this.popState(),n.yytext=n.yytext.slice(0,-10).trim(),27;case 39:return this.popState(),n.yytext=n.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),n.yytext=n.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),n.yytext=n.yytext.slice(0,-10).trim(),27;case 42:return 48;case 43:return 49;case 44:return 50;case 45:return 51;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";case 48:return this.popState(),"ID";case 49:this.popState();break;case 50:return"STATE_DESCR";case 51:return 19;case 52:this.popState();break;case 53:return this.popState(),this.pushState("struct"),20;case 54:break;case 55:return this.popState(),21;case 56:break;case 57:return this.begin("NOTE"),29;case 58:return this.popState(),this.pushState("NOTE_ID"),56;case 59:return this.popState(),this.pushState("NOTE_ID"),57;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 62:break;case 63:return"NOTE_TEXT";case 64:return this.popState(),"ID";case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;case 66:return this.popState(),n.yytext=n.yytext.substr(2).trim(),31;case 67:return this.popState(),n.yytext=n.yytext.slice(0,-8).trim(),31;case 68:return 6;case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return n.yytext=n.yytext.trim(),14;case 74:return 15;case 75:return 28;case 76:return 55;case 77:return 5;case 78:return"INVALID"}},"anonymous"),rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,29,35,42,43,44,45,54,55,56,57,71,72,73,74,75],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[31],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[30],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,33,34],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[48],inclusive:!1},STATE_STRING:{rules:[49,50],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,36,37,38,39,40,41,46,47,51,52,53],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,35,53,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}};return $}();kt.lexer=be;function ut(){this.yy={}}return r(ut,"Parser"),ut.prototype=kt,kt.Parser=ut,new ut}();Ot.parser=Ot;var As=Ot,Ge="LR",qt="TB",_t="state",wt="relation",Be="classDef",Ye="style",Fe="applyClass",st="default",Qt="divider",Zt="fill:none",te="fill: #333",ee="c",se="text",ie="normal",It="rect",Rt="rectWithTitle",Ve="stateStart",Me="stateEnd",jt="divider",Ht="roundedWithTitle",Ue="note",je="noteGroup",it="statediagram",He="state",ze=`${it}-${He}`,re="transition",We="note",Xe="note-edge",Ke=`${re} ${Xe}`,Je=`${it}-${We}`,qe="cluster",Qe=`${it}-${qe}`,Ze="cluster-alt",ts=`${it}-${Ze}`,ae="parent",ne="note",es="state",$t="----",ss=`${$t}${ne}`,zt=`${$t}${ae}`,le=r((t,e=qt)=>{if(!t.doc)return e;let c=e;for(const a of t.doc)a.stmt==="dir"&&(c=a.value);return c},"getDir"),is=r(function(t,e){return e.db.extract(e.db.getRootDocV2()),e.db.getClasses()},"getClasses"),rs=r(async function(t,e,c,a){b.info("REF0:"),b.info("Drawing state diagram (v2)",e);const{securityLevel:d,state:s,layout:p}=x();a.db.extract(a.db.getRootDocV2());const g=a.db.getData(),l=De(e,d);g.type=a.type,g.layoutAlgorithm=p,g.nodeSpacing=(s==null?void 0:s.nodeSpacing)||50,g.rankSpacing=(s==null?void 0:s.rankSpacing)||50,g.markers=["barb"],g.diagramId=e,await Ne(g,l);const _=8;we.insertTitle(l,"statediagramTitleText",(s==null?void 0:s.titleTopMargin)??25,a.db.getDiagramTitle()),Ce(l,_,it,(s==null?void 0:s.useMaxWidth)??!0)},"draw"),Ls={getClasses:is,draw:rs,getDir:le},St=new Map,P=0;function yt(t="",e=0,c="",a=$t){const d=c!==null&&c.length>0?`${a}${c}`:"";return`${es}-${t}${d}-${e}`}r(yt,"stateDomId");var as=r((t,e,c,a,d,s,p,g)=>{b.trace("items",e),e.forEach(l=>{switch(l.stmt){case _t:tt(t,l,c,a,d,s,p,g);break;case st:tt(t,l,c,a,d,s,p,g);break;case wt:{tt(t,l.state1,c,a,d,s,p,g),tt(t,l.state2,c,a,d,s,p,g);const _={id:"edge"+P,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:Zt,labelStyle:"",label:H.sanitizeText(l.description,x()),arrowheadStyle:te,labelpos:ee,labelType:se,thickness:ie,classes:re,look:p};d.push(_),P++}break}})},"setupDoc"),Wt=r((t,e=qt)=>{let c=e;if(t.doc)for(const a of t.doc)a.stmt==="dir"&&(c=a.value);return c},"getDir");function Z(t,e,c){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(d=>{if(c.get(d)){const s=c.get(d);e.cssCompiledStyles=[...e.cssCompiledStyles,...s.styles]}}));const a=t.find(d=>d.id===e.id);a?Object.assign(a,e):t.push(e)}r(Z,"insertOrUpdateNode");function oe(t){var e;return((e=t==null?void 0:t.classes)==null?void 0:e.join(" "))??""}r(oe,"getClassesFromDbInfo");function ce(t){return(t==null?void 0:t.styles)??[]}r(ce,"getStylesFromDbInfo");var tt=r((t,e,c,a,d,s,p,g)=>{var B,Y;const l=e.id,_=c.get(l),v=oe(_),A=ce(_);if(b.info("dataFetcher parsedItem",e,_,A),l!=="root"){let I=It;e.start===!0?I=Ve:e.start===!1&&(I=Me),e.type!==st&&(I=e.type),St.get(l)||St.set(l,{id:l,shape:I,description:H.sanitizeText(l,x()),cssClasses:`${v} ${ze}`,cssStyles:A});const f=St.get(l);e.description&&(Array.isArray(f.description)?(f.shape=Rt,f.description.push(e.description)):((B=f.description)==null?void 0:B.length)>0?(f.shape=Rt,f.description===l?f.description=[e.description]:f.description=[f.description,e.description]):(f.shape=It,f.description=e.description),f.description=H.sanitizeTextOrArray(f.description,x())),((Y=f.description)==null?void 0:Y.length)===1&&f.shape===Rt&&(f.type==="group"?f.shape=Ht:f.shape=It),!f.type&&e.doc&&(b.info("Setting cluster for XCX",l,Wt(e)),f.type="group",f.isGroup=!0,f.dir=Wt(e),f.shape=e.type===Qt?jt:Ht,f.cssClasses=`${f.cssClasses} ${Qe} ${s?ts:""}`);const L={labelStyle:"",shape:f.shape,label:f.description,cssClasses:f.cssClasses,cssCompiledStyles:[],cssStyles:f.cssStyles,id:l,dir:f.dir,domId:yt(l,P),type:f.type,isGroup:f.type==="group",padding:8,rx:10,ry:10,look:p};if(L.shape===jt&&(L.label=""),t&&t.id!=="root"&&(b.trace("Setting node ",l," to be child of its parent ",t.id),L.parentId=t.id),L.centerLabel=!0,e.note){const R={labelStyle:"",shape:Ue,label:e.note.text,cssClasses:Je,cssStyles:[],cssCompilesStyles:[],id:l+ss+"-"+P,domId:yt(l,P,ne),type:f.type,isGroup:f.type==="group",padding:x().flowchart.padding,look:p,position:e.note.position},F=l+zt,V={labelStyle:"",shape:je,label:e.note.text,cssClasses:f.cssClasses,cssStyles:[],id:l+zt,domId:yt(l,P,ae),type:"group",isGroup:!0,padding:16,look:p,position:e.note.position};P++,V.id=F,R.parentId=F,Z(a,V,g),Z(a,R,g),Z(a,L,g);let N=l,w=R.id;e.note.position==="left of"&&(N=R.id,w=l),d.push({id:N+"-"+w,start:N,end:w,arrowhead:"none",arrowTypeEnd:"",style:Zt,labelStyle:"",classes:Ke,arrowheadStyle:te,labelpos:ee,labelType:se,thickness:ie,look:p})}else Z(a,L,g)}e.doc&&(b.trace("Adding nodes children "),as(e,e.doc,c,a,d,!s,p,g))},"dataFetcher"),ns=r(()=>{St.clear(),P=0},"reset"),Pt="[*]",ue="start",he=Pt,de="end",Xt="color",Kt="fill",ls="bgFill",os=",";function Gt(){return new Map}r(Gt,"newClassesList");var Tt=[],Bt=[],fe=Ge,Et=[],K=Gt(),pe=r(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),vt={root:pe()},k=vt.root,et=0,Jt=0,cs={LINE:0,DOTTED_LINE:1},us={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},pt=r(t=>JSON.parse(JSON.stringify(t)),"clone"),hs=r(t=>{b.info("Setting root doc",t),Et=t},"setRootDoc"),ds=r(()=>Et,"getRootDoc"),gt=r((t,e,c)=>{if(e.stmt===wt)gt(t,e.state1,!0),gt(t,e.state2,!1);else if(e.stmt===_t&&(e.id==="[*]"?(e.id=c?t.id+"_start":t.id+"_end",e.start=c):e.id=e.id.trim()),e.doc){const a=[];let d=[],s;for(s=0;s0&&d.length>0){const p={stmt:_t,id:Pe(),type:"divider",doc:pt(d)};a.push(pt(p)),e.doc=a}e.doc.forEach(p=>gt(e,p,!0))}},"docTranslator"),Yt=r(()=>(gt({id:"root"},{id:"root",doc:Et},!0),{id:"root",doc:Et}),"getRootDocV2"),fs=r(t=>{let e;t.doc?e=t.doc:e=t,b.info(e),Se(!0),b.info("Extract initial document:",e),e.forEach(s=>{switch(b.warn("Statement",s.stmt),s.stmt){case _t:G(s.id.trim(),s.type,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles);break;case wt:Ee(s.state1,s.state2,s.description);break;case Be:ve(s.id.trim(),s.classes);break;case Ye:{const p=s.id.trim().split(","),g=s.styleClass.split(",");p.forEach(l=>{let _=z(l);if(_===void 0){const v=l.trim();G(v),_=z(v)}_.styles=g.map(v=>{var A;return(A=v.replace(/;/g,""))==null?void 0:A.trim()})})}break;case Fe:Ft(s.id.trim(),s.styleClass);break}});const c=ye(),d=x().look;ns(),tt(void 0,Yt(),c,Tt,Bt,!0,d,K),Tt.forEach(s=>{if(Array.isArray(s.label)){if(s.description=s.label.slice(1),s.isGroup&&s.description.length>0)throw new Error("Group nodes can only have label. Remove the additional description for node ["+s.id+"]");s.label=s.label[0]}})},"extract"),G=r(function(t,e=st,c=null,a=null,d=null,s=null,p=null,g=null){const l=t==null?void 0:t.trim();if(k.states.has(l)?(k.states.get(l).doc||(k.states.get(l).doc=c),k.states.get(l).type||(k.states.get(l).type=e)):(b.info("Adding state ",l,a),k.states.set(l,{id:l,descriptions:[],type:e,doc:c,note:d,classes:[],styles:[],textStyles:[]})),a&&(b.info("Setting state description",l,a),typeof a=="string"&&Nt(l,a.trim()),typeof a=="object"&&a.forEach(_=>Nt(l,_.trim()))),d){const _=k.states.get(l);_.note=d,_.note.text=H.sanitizeText(_.note.text,x())}s&&(b.info("Setting state classes",l,s),(typeof s=="string"?[s]:s).forEach(v=>Ft(l,v.trim()))),p&&(b.info("Setting state styles",l,p),(typeof p=="string"?[p]:p).forEach(v=>Ts(l,v.trim()))),g&&(b.info("Setting state styles",l,p),(typeof g=="string"?[g]:g).forEach(v=>Es(l,v.trim())))},"addState"),Se=r(function(t){Tt=[],Bt=[],vt={root:pe()},k=vt.root,et=0,K=Gt(),t||$e()},"clear"),z=r(function(t){return k.states.get(t)},"getState"),ye=r(function(){return k.states},"getStates"),ps=r(function(){b.info("Documents = ",vt)},"logDocuments"),Ss=r(function(){return k.relations},"getRelations");function bt(t=""){let e=t;return t===Pt&&(et++,e=`${ue}${et}`),e}r(bt,"startIdIfNeeded");function mt(t="",e=st){return t===Pt?ue:e}r(mt,"startTypeIfNeeded");function ge(t=""){let e=t;return t===he&&(et++,e=`${de}${et}`),e}r(ge,"endIdIfNeeded");function _e(t="",e=st){return t===he?de:e}r(_e,"endTypeIfNeeded");function Te(t,e,c){let a=bt(t.id.trim()),d=mt(t.id.trim(),t.type),s=bt(e.id.trim()),p=mt(e.id.trim(),e.type);G(a,d,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),G(s,p,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),k.relations.push({id1:a,id2:s,relationTitle:H.sanitizeText(c,x())})}r(Te,"addRelationObjs");var Ee=r(function(t,e,c){if(typeof t=="object")Te(t,e,c);else{const a=bt(t.trim()),d=mt(t),s=ge(e.trim()),p=_e(e);G(a,d),G(s,p),k.relations.push({id1:a,id2:s,title:H.sanitizeText(c,x())})}},"addRelation"),Nt=r(function(t,e){const c=k.states.get(t),a=e.startsWith(":")?e.replace(":","").trim():e;c.descriptions.push(H.sanitizeText(a,x()))},"addDescription"),ys=r(function(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()},"cleanupLabel"),gs=r(()=>(Jt++,"divider-id-"+Jt),"getDividerId"),ve=r(function(t,e=""){K.has(t)||K.set(t,{id:t,styles:[],textStyles:[]});const c=K.get(t);e!=null&&e.split(os).forEach(a=>{const d=a.replace(/([^;]*);/,"$1").trim();if(RegExp(Xt).exec(a)){const p=d.replace(Kt,ls).replace(Xt,Kt);c.textStyles.push(p)}c.styles.push(d)})},"addStyleClass"),_s=r(function(){return K},"getClasses"),Ft=r(function(t,e){t.split(",").forEach(function(c){let a=z(c);if(a===void 0){const d=c.trim();G(d),a=z(d)}a.classes.push(e)})},"setCssClass"),Ts=r(function(t,e){const c=z(t);c!==void 0&&c.styles.push(e)},"setStyle"),Es=r(function(t,e){const c=z(t);c!==void 0&&c.textStyles.push(e)},"setTextStyle"),vs=r(()=>fe,"getDirection"),bs=r(t=>{fe=t},"setDirection"),ms=r(t=>t&&t[0]===":"?t.substr(1).trim():t.trim(),"trimColon"),ks=r(()=>{const t=x();return{nodes:Tt,edges:Bt,other:{},config:t,direction:le(Yt())}},"getData"),Is={getConfig:r(()=>x().state,"getConfig"),getData:ks,addState:G,clear:Se,getState:z,getStates:ye,getRelations:Ss,getClasses:_s,getDirection:vs,addRelation:Ee,getDividerId:gs,setDirection:bs,cleanupLabel:ys,lineType:cs,relationType:us,logDocuments:ps,getRootDoc:ds,setRootDoc:hs,getRootDocV2:Yt,extract:fs,trimColon:ms,getAccTitle:xe,setAccTitle:Ae,getAccDescription:Le,setAccDescription:Ie,addStyleClass:ve,setCssClass:Ft,addDescription:Nt,setDiagramTitle:Re,getDiagramTitle:Oe},Ds=r(t=>` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor||t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor||t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground||t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg||t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // line-height: 1; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder||t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground||t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`,"getStyles"),Rs=Ds;export{Is as a,Rs as b,Ls as c,As as s}; diff --git a/_nuxt/DpNHeHvB.js b/_nuxt/DpNHeHvB.js new file mode 100644 index 000000000..9d99f00fc --- /dev/null +++ b/_nuxt/DpNHeHvB.js @@ -0,0 +1 @@ +import{d as i,a as c,c as p,o as s,b as n,q as u,r as t}from"./DzgF3Vew.js";const f=["id"],l=["href"],k=i({__name:"ProseH4",props:{id:{}},setup(r){const a=r,{headings:o}=c().public.mdc,d=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h4)});return(e,m)=>(s(),n("h4",{id:e.id},[e.id&&u(d)?(s(),n("a",{key:0,href:`#${e.id}`},[t(e.$slots,"default")],8,l)):t(e.$slots,"default",{key:1})],8,f))}});export{k as default}; diff --git a/_nuxt/Dq0ogEhO.js b/_nuxt/Dq0ogEhO.js new file mode 100644 index 000000000..f3f8635e5 --- /dev/null +++ b/_nuxt/Dq0ogEhO.js @@ -0,0 +1 @@ +import{u as g,q as m}from"./by_5UnZ2.js";import{d as C,t as S,c as b,a as _,w as k,u as A,h as N}from"./DzgF3Vew.js";import{h as O}from"./IShi1APO.js";import"./1XwWt0dk.js";const Q=C({name:"ContentQuery",props:{path:{type:String,required:!1,default:void 0},only:{type:Array,required:!1,default:void 0},without:{type:Array,required:!1,default:void 0},where:{type:Object,required:!1,default:void 0},sort:{type:Object,required:!1,default:void 0},limit:{type:Number,required:!1,default:void 0},skip:{type:Number,required:!1,default:void 0},locale:{type:String,required:!1,default:void 0},find:{type:String,required:!1,default:void 0}},async setup(u){const{path:t,only:r,without:o,where:a,sort:f,limit:l,skip:d,locale:s,find:p}=S(u),y=b(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),h=!_().public.content.experimental.advanceQuery;k(()=>u,()=>n(),{deep:!0});const i=e=>h?e!=null&&e.surround?e.surround:e!=null&&e._id||Array.isArray(e)?e:e==null?void 0:e.result:e.result,{data:v,refresh:n}=await g(`content-query-${O(u)}`,()=>{let e;return t.value?e=m(t.value):e=m(),r.value&&(e=e.only(r.value)),o.value&&(e=e.without(o.value)),a.value&&(e=e.where(a.value)),f.value&&(e=e.sort(f.value)),l.value&&(e=e.limit(l.value)),d.value&&(e=e.skip(d.value)),s.value&&(e=e.where({_locale:s.value})),p.value==="one"?e.findOne().then(i):p.value==="surround"?t.value?h?e.findSurround(t.value):e.withSurround(t.value).findOne().then(i):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find().then(i)):e.find().then(i)});return{isPartial:y,data:v,refresh:n}},render(u){var c;const t=A(),{data:r,refresh:o,isPartial:a,path:f,only:l,without:d,where:s,sort:p,limit:y,skip:h,locale:i,find:v}=u,n={path:f,only:l,without:d,where:s,sort:p,limit:y,skip:h,locale:i,find:v};if(n.find==="one"){if(!r&&(t!=null&&t["not-found"]))return t["not-found"]({props:n,...this.$attrs});if(t!=null&&t.empty&&(r==null?void 0:r._type)==="markdown"&&!((c=r==null?void 0:r.body)!=null&&c.children.length))return t.empty({props:n,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:n,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:o,isPartial:a,props:n,...this.$attrs}):((w,q)=>N("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:a})}}),P=Q;export{P as default}; diff --git a/_nuxt/DqIxQbFE.js b/_nuxt/DqIxQbFE.js new file mode 100644 index 000000000..df62c5f01 --- /dev/null +++ b/_nuxt/DqIxQbFE.js @@ -0,0 +1 @@ +import{b as r}from"./BH-Vtj6c.js";var e=4;function a(o){return r(o,e)}export{a as c}; diff --git a/_nuxt/DFoqy8oA.js b/_nuxt/Dqap1RpX.js similarity index 72% rename from _nuxt/DFoqy8oA.js rename to _nuxt/Dqap1RpX.js index 1e3e0a751..7f8a4219e 100644 --- a/_nuxt/DFoqy8oA.js +++ b/_nuxt/Dqap1RpX.js @@ -1 +1 @@ -import{h as o,I as s,o as n,c as r,d as e,v as a,a as t}from"./ZI84DZB4.js";const c={key:0},i=t("code",null,"script",-1),d=t("code",null,"ProseScript",-1),f=o({__name:"ProseScript",props:{src:{type:String,default:""}},setup(l){return(_,m)=>s(!1)?(n(),r("div",c,[e(" Rendering the "),i,e(" element is dangerous and is disabled by default. Consider implementing your own "),d,e(" element to have control over script rendering. ")])):a("",!0)}});export{f as default}; +import{d as o,q as s,o as n,b as r,l as e,D as a,e as t}from"./DzgF3Vew.js";const c={key:0},i=t("code",null,"script",-1),d=t("code",null,"ProseScript",-1),f=o({__name:"ProseScript",props:{src:{type:String,default:""}},setup(l){return(_,m)=>s(!1)?(n(),r("div",c,[e(" Rendering the "),i,e(" element is dangerous and is disabled by default. Consider implementing your own "),d,e(" element to have control over script rendering. ")])):a("",!0)}});export{f as default}; diff --git a/_nuxt/ZI84DZB4.js b/_nuxt/DzgF3Vew.js similarity index 80% rename from _nuxt/ZI84DZB4.js rename to _nuxt/DzgF3Vew.js index a8e3e7502..c9afd328f 100644 --- a/_nuxt/ZI84DZB4.js +++ b/_nuxt/DzgF3Vew.js @@ -1,4 +1,4 @@ -const __vite__fileDeps=["./_pgRj0dJ.js","./BJxZixah.js","./IShi1APO.js","./D5vXOEyf.js","./_id_.D334hZGB.css","./CLvOkMre.js","./Bk5l7imX.js","./CAJW8Aus.js","./C-v3KzvZ.js","./ny9-2f-j.js","./BI2NzfhY.js","./-yCMipV_.js","./7Sy1XzGG.js","./Bts1nb3V.js","./ZNOPhsdt.js","./B4E6yrnf.js","./C7rv9HNS.js","./CP0KRmK-.js","./igdY0Og6.js","./ProsePre.CchFRBtv.css","./BOm3I9Ep.js","./DwjrZLxu.js","./error-404.JekaaCis.css","./BTH4M2oM.js","./error-500.CNP9nqm1.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +const __vite__fileDeps=["./Be8qMQ7y.js","./BJevMQrH.js","./IShi1APO.js","./BN9GDn3H.js","./Cpj98o6Y.js","./_id_.CpkGk6rS.css","./4hq1URUI.js","./BIVkUQcf.js","./BhaonjGO.js","./C-v3KzvZ.js","./1XwWt0dk.js","./Dq0ogEhO.js","./by_5UnZ2.js","./DKEOPaPT.js","./C1JfJP5P.js","./CEh4-x7r.js","./BrsovEvy.js","./CMWefPjl.js","./KzJu2wNH.js","./11VvIB8a.js","./ProseCode.CchFRBtv.css","./CEbTorUm.js","./Cr_fMKTm.js","./error-404.JekaaCis.css","./maciVotI.js","./error-500.CNP9nqm1.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); /** * @vue/shared v3.4.27 * (c) 2018-present Yuxi (Evan) You and Vue contributors @@ -15,15 +15,15 @@ const __vite__fileDeps=["./_pgRj0dJ.js","./BJxZixah.js","./IShi1APO.js","./D5vXO * @vue/runtime-dom v3.4.27 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const dh="http://www.w3.org/2000/svg",hh="http://www.w3.org/1998/Math/MathML",Pt=typeof document<"u"?document:null,al=Pt&&Pt.createElement("template"),ph={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Pt.createElementNS(dh,e):t==="mathml"?Pt.createElementNS(hh,e):Pt.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Pt.createTextNode(e),createComment:e=>Pt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Pt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{al.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=al.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},_t="transition",Tn="animation",Qn=Symbol("_vtc"),hi=(e,{slots:t})=>Le(Pd,gh(e),t);hi.displayName="Transition";const Qc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};hi.props=Ee({},mc,Qc);const Ft=(e,t=[])=>{J(e)?e.forEach(n=>n(...t)):e&&e(...t)},cl=e=>e?J(e)?e.some(t=>t.length>1):e.length>1:!1;function gh(e){const t={};for(const P in e)P in Qc||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:u=i,appearToClass:c=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,y=mh(o),w=y&&y[0],v=y&&y[1],{onBeforeEnter:S,onEnter:_,onEnterCancelled:g,onLeave:b,onLeaveCancelled:E,onBeforeAppear:x=S,onAppear:L=_,onAppearCancelled:k=g}=t,R=(P,K,re)=>{Dt(P,K?c:l),Dt(P,K?u:i),re&&re()},O=(P,K)=>{P._isLeaving=!1,Dt(P,f),Dt(P,p),Dt(P,d),K&&K()},W=P=>(K,re)=>{const ie=P?L:_,H=()=>R(K,P,re);Ft(ie,[K,H]),ul(()=>{Dt(K,P?a:s),vt(K,P?c:l),cl(ie)||fl(K,r,w,H)})};return Ee(t,{onBeforeEnter(P){Ft(S,[P]),vt(P,s),vt(P,i)},onBeforeAppear(P){Ft(x,[P]),vt(P,a),vt(P,u)},onEnter:W(!1),onAppear:W(!0),onLeave(P,K){P._isLeaving=!0;const re=()=>O(P,K);vt(P,f),vt(P,d),_h(),ul(()=>{P._isLeaving&&(Dt(P,f),vt(P,p),cl(b)||fl(P,r,v,re))}),Ft(b,[P,re])},onEnterCancelled(P){R(P,!1),Ft(g,[P])},onAppearCancelled(P){R(P,!0),Ft(k,[P])},onLeaveCancelled(P){O(P),Ft(E,[P])}})}function mh(e){if(e==null)return null;if(de(e))return[Lo(e.enter),Lo(e.leave)];{const t=Lo(e);return[t,t]}}function Lo(e){return $a(e)}function vt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Qn]||(e[Qn]=new Set)).add(t)}function Dt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Qn];n&&(n.delete(t),n.size||(e[Qn]=void 0))}function ul(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let yh=0;function fl(e,t,n,r){const o=e._endId=++yh,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=bh(e,t);if(!i)return r();const u=i+"end";let c=0;const f=()=>{e.removeEventListener(u,d),s()},d=p=>{p.target===e&&++c>=a&&f()};setTimeout(()=>{c(n[y]||"").split(", "),o=r(`${_t}Delay`),s=r(`${_t}Duration`),i=dl(o,s),l=r(`${Tn}Delay`),a=r(`${Tn}Duration`),u=dl(l,a);let c=null,f=0,d=0;t===_t?i>0&&(c=_t,f=i,d=s.length):t===Tn?u>0&&(c=Tn,f=u,d=a.length):(f=Math.max(i,u),c=f>0?i>u?_t:Tn:null,d=c?c===_t?s.length:a.length:0);const p=c===_t&&/\b(transform|all)(,|$)/.test(r(`${_t}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:p}}function dl(e,t){for(;e.lengthhl(n)+hl(e[r])))}function hl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _h(){return document.body.offsetHeight}function vh(e,t,n){const r=e[Qn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const pl=Symbol("_vod"),wh=Symbol("_vsh"),xh=Symbol(""),Eh=/(^|;)\s*display\s*:/;function Ch(e,t,n){const r=e.style,o=be(n);let s=!1;if(n&&!o){if(t)if(be(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Ir(r,l,"")}else for(const i in t)n[i]==null&&Ir(r,i,"");for(const i in n)i==="display"&&(s=!0),Ir(r,i,n[i])}else if(o){if(t!==n){const i=r[xh];i&&(n+=";"+i),r.cssText=n,s=Eh.test(n)}}else t&&e.removeAttribute("style");pl in e&&(e[pl]=s?r.display:"",e[wh]&&(r.display="none"))}const gl=/\s*!important$/;function Ir(e,t,n){if(J(n))n.forEach(r=>Ir(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Sh(e,t);gl.test(n)?e.setProperty(wn(r),n.replace(gl,""),"important"):e[r]=n}}const ml=["Webkit","Moz","ms"],Oo={};function Sh(e,t){const n=Oo[t];if(n)return n;let r=lt(t);if(r!=="filter"&&r in e)return Oo[t]=r;r=ro(r);for(let o=0;oMo||(Ih.then(()=>Mo=0),Mo=Date.now());function Oh(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Je(Mh(r,n.value),t,5,[r])};return n.value=e,n.attached=Lh(),n}function Mh(e,t){if(J(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const vl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,$h=(e,t,n,r,o,s,i,l,a)=>{const u=o==="svg";t==="class"?vh(e,r,u):t==="style"?Ch(e,n,r):nr(t)?qs(t)||Rh(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Nh(e,t,r,u))?Th(e,t,r,s,i,l,a):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),kh(e,t,r,u))};function Nh(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&vl(t)&&X(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return vl(t)&&be(n)?!1:t in e}const wl=e=>{const t=e.props["onUpdate:modelValue"]||!1;return J(t)?n=>cn(t,n):t};function jh(e){e.target.composing=!0}function xl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const $o=Symbol("_assign"),xw={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[$o]=wl(o);const s=r||o.props&&o.props.type==="number";nn(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),s&&(l=Zo(l)),e[$o](l)}),n&&nn(e,"change",()=>{e.value=e.value.trim()}),t||(nn(e,"compositionstart",jh),nn(e,"compositionend",xl),nn(e,"change",xl))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:o}},s){if(e[$o]=wl(s),e.composing)return;const i=(o||e.type==="number")&&!/^0\d/.test(e.value)?Zo(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},Xc=Ee({patchProp:$h},ph);let Dn,El=!1;function Hh(){return Dn||(Dn=Zd(Xc))}function Fh(){return Dn=El?Dn:eh(Xc),El=!0,Dn}const Dh=(...e)=>{const t=Hh().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Zc(r);if(!o)return;const s=t._component;!X(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,Yc(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t},Bh=(...e)=>{const t=Fh().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Zc(r);if(o)return n(o,!0,Yc(o))},t};function Yc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Zc(e){return be(e)?document.querySelector(e):e}const Vh=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Uh=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,zh=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Wh(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){qh(e);return}return t}function qh(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Kr(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e[0]==='"'&&e.endsWith('"')&&!e.includes("\\"))return n.slice(1,-1);if(n.length<=9){const r=n.toLowerCase();if(r==="true")return!0;if(r==="false")return!1;if(r==="undefined")return;if(r==="null")return null;if(r==="nan")return Number.NaN;if(r==="infinity")return Number.POSITIVE_INFINITY;if(r==="-infinity")return Number.NEGATIVE_INFINITY}if(!zh.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Vh.test(e)||Uh.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,Wh)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const Kh=/#/g,Gh=/&/g,Jh=/\//g,Qh=/=/g,pi=/\+/g,Xh=/%5e/gi,Yh=/%60/gi,Zh=/%7c/gi,ep=/%20/gi;function tp(e){return encodeURI(""+e).replace(Zh,"|")}function ps(e){return tp(typeof e=="string"?e:JSON.stringify(e)).replace(pi,"%2B").replace(ep,"+").replace(Kh,"%23").replace(Gh,"%26").replace(Yh,"`").replace(Xh,"^").replace(Jh,"%2F")}function No(e){return ps(e).replace(Qh,"%3D")}function Gr(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function np(e){return Gr(e.replace(pi," "))}function rp(e){return Gr(e.replace(pi," "))}function eu(e=""){const t={};e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const o=np(r[1]);if(o==="__proto__"||o==="constructor")continue;const s=rp(r[2]||"");t[o]===void 0?t[o]=s:Array.isArray(t[o])?t[o].push(s):t[o]=[t[o],s]}return t}function op(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${No(e)}=${ps(n)}`).join("&"):`${No(e)}=${ps(t)}`:No(e)}function sp(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>op(t,e[t])).filter(Boolean).join("&")}const ip=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,lp=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,ap=/^([/\\]\s*){2,}[^/\\]/,cp=/^[\s\0]*(blob|data|javascript|vbscript):$/i,up=/\/$|\/\?|\/#/,fp=/^\.?\//;function mt(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?ip.test(e):lp.test(e)||(t.acceptRelative?ap.test(e):!1)}function dp(e){return!!e&&cp.test(e)}function gs(e="",t){return t?up.test(e):e.endsWith("/")}function po(e="",t){if(!t)return(gs(e)?e.slice(0,-1):e)||"/";if(!gs(e,!0))return e||"/";let n=e,r="";const o=e.indexOf("#");o>=0&&(n=e.slice(0,o),r=e.slice(o));const[s,...i]=n.split("?");return((s.endsWith("/")?s.slice(0,-1):s)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function Jr(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(gs(e,!0))return e||"/";let n=e,r="";const o=e.indexOf("#");if(o>=0&&(n=e.slice(0,o),r=e.slice(o),!n))return r;const[s,...i]=n.split("?");return s+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function hp(e=""){return e.startsWith("/")}function Cl(e=""){return hp(e)?e:"/"+e}function pp(e,t){if(nu(t)||mt(e))return e;const n=po(t);return e.startsWith(n)?e:go(n,e)}function Sl(e,t){if(nu(t))return e;const n=po(t);if(!e.startsWith(n))return e;const r=e.slice(n.length);return r[0]==="/"?r:"/"+r}function tu(e,t){const n=ur(e),r={...eu(n.search),...t};return n.search=sp(r),yp(n)}function nu(e){return!e||e==="/"}function gp(e){return e&&e!=="/"}function go(e,...t){let n=e||"";for(const r of t.filter(o=>gp(o)))if(n){const o=r.replace(fp,"");n=Jr(n)+o}else n=r;return n}function ru(...e){var i,l,a,u;const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let o=0;for(const c of n)if(!(!c||c==="/")){for(const[f,d]of c.split(t).entries())if(!(!d||d===".")){if(d===".."){if(r.length===1&&mt(r[0]))continue;r.pop(),o--;continue}if(f===1&&((i=r[r.length-1])!=null&&i.endsWith(":/"))){r[r.length-1]+="/"+d;continue}r.push(d),o++}}let s=r.join("/");return o>=0?(l=n[0])!=null&&l.startsWith("/")&&!s.startsWith("/")?s="/"+s:(a=n[0])!=null&&a.startsWith("./")&&!s.startsWith("./")&&(s="./"+s):s="../".repeat(-1*o)+s,(u=n[n.length-1])!=null&&u.endsWith("/")&&!s.endsWith("/")&&(s+="/"),s}function mp(e,t,n={}){return n.trailingSlash||(e=Jr(e),t=Jr(t)),n.leadingSlash||(e=Cl(e),t=Cl(t)),n.encoding||(e=Gr(e),t=Gr(t)),e===t}const ou=Symbol.for("ufo:protocolRelative");function ur(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,f,d=""]=n;return{protocol:f.toLowerCase(),pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!mt(e,{acceptRelative:!0}))return t?ur(t+e):kl(e);const[,r="",o,s=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",l=""]=s.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(l=l.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:a,search:u,hash:c}=kl(l);return{protocol:r.toLowerCase(),auth:o?o.slice(0,Math.max(0,o.length-1)):"",host:i,pathname:a,search:u,hash:c,[ou]:!r}}function kl(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function yp(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",o=e.auth?e.auth+"@":"",s=e.host||"";return(e.protocol||e[ou]?(e.protocol||"")+"//":"")+o+s+t+n+r}class bp extends Error{constructor(t,n){super(t,n),this.name="FetchError",n!=null&&n.cause&&!this.cause&&(this.cause=n.cause)}}function _p(e){var a,u,c,f,d;const t=((a=e.error)==null?void 0:a.message)||((u=e.error)==null?void 0:u.toString())||"",n=((c=e.request)==null?void 0:c.method)||((f=e.options)==null?void 0:f.method)||"GET",r=((d=e.request)==null?void 0:d.url)||String(e.request)||"/",o=`[${n}] ${JSON.stringify(r)}`,s=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${o}: ${s}${t?` ${t}`:""}`,l=new bp(i,e.error?{cause:e.error}:void 0);for(const p of["request","options","response"])Object.defineProperty(l,p,{get(){return e[p]}});for(const[p,y]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(l,p,{get(){return e.response&&e.response[y]}});return l}const vp=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function Tl(e="GET"){return vp.has(e.toUpperCase())}function wp(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const xp=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Ep=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Cp(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Ep.test(t)?"json":xp.has(t)||t.startsWith("text/")?"text":"blob"}function Sp(e,t,n=globalThis.Headers){const r={...t,...e};if(t!=null&&t.params&&(e!=null&&e.params)&&(r.params={...t==null?void 0:t.params,...e==null?void 0:e.params}),t!=null&&t.query&&(e!=null&&e.query)&&(r.query={...t==null?void 0:t.query,...e==null?void 0:e.query}),t!=null&&t.headers&&(e!=null&&e.headers)){r.headers=new n((t==null?void 0:t.headers)||{});for(const[o,s]of new n((e==null?void 0:e.headers)||{}))r.headers.set(o,s)}return r}const kp=new Set([408,409,425,429,500,502,503,504]),Tp=new Set([101,204,205,304]);function su(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function o(l){const a=l.error&&l.error.name==="AbortError"&&!l.options.timeout||!1;if(l.options.retry!==!1&&!a){let c;typeof l.options.retry=="number"?c=l.options.retry:c=Tl(l.options.method)?0:1;const f=l.response&&l.response.status||500;if(c>0&&(Array.isArray(l.options.retryStatusCodes)?l.options.retryStatusCodes.includes(f):kp.has(f))){const d=l.options.retryDelay||0;return d>0&&await new Promise(p=>setTimeout(p,d)),s(l.request,{...l.options,retry:c-1})}}const u=_p(l);throw Error.captureStackTrace&&Error.captureStackTrace(u,s),u}const s=async function(a,u={}){var p;const c={request:a,options:Sp(u,e.defaults,n),response:void 0,error:void 0};c.options.method=(p=c.options.method)==null?void 0:p.toUpperCase(),c.options.onRequest&&await c.options.onRequest(c),typeof c.request=="string"&&(c.options.baseURL&&(c.request=pp(c.request,c.options.baseURL)),(c.options.query||c.options.params)&&(c.request=tu(c.request,{...c.options.params,...c.options.query}))),c.options.body&&Tl(c.options.method)&&(wp(c.options.body)?(c.options.body=typeof c.options.body=="string"?c.options.body:JSON.stringify(c.options.body),c.options.headers=new n(c.options.headers||{}),c.options.headers.has("content-type")||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")):("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half")));let f;if(!c.options.signal&&c.options.timeout){const y=new r;f=setTimeout(()=>y.abort(),c.options.timeout),c.options.signal=y.signal}try{c.response=await t(c.request,c.options)}catch(y){return c.error=y,c.options.onRequestError&&await c.options.onRequestError(c),await o(c)}finally{f&&clearTimeout(f)}if(c.response.body&&!Tp.has(c.response.status)&&c.options.method!=="HEAD"){const y=(c.options.parseResponse?"json":c.options.responseType)||Cp(c.response.headers.get("content-type")||"");switch(y){case"json":{const w=await c.response.text(),v=c.options.parseResponse||Kr;c.response._data=v(w);break}case"stream":{c.response._data=c.response.body;break}default:c.response._data=await c.response[y]()}}return c.options.onResponse&&await c.options.onResponse(c),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await c.options.onResponseError(c),await o(c)):c.response},i=async function(a,u){return(await s(a,u))._data};return i.raw=s,i.native=(...l)=>t(...l),i.create=(l={})=>su({...e,defaults:{...e.defaults,...l}}),i}const gi=function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}(),Pp=gi.fetch||(()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!"))),Rp=gi.Headers,Ap=gi.AbortController,Ip=su({fetch:Pp,Headers:Rp,AbortController:Ap}),Lp=Ip,Op=()=>{var e;return((e=window==null?void 0:window.__NUXT__)==null?void 0:e.config)||{}},Qr=Op().app,Mp=()=>Qr.baseURL,$p=()=>Qr.buildAssetsDir,mi=(...e)=>ru(yi(),$p(),...e),yi=(...e)=>{const t=Qr.cdnURL||Qr.baseURL;return e.length?ru(t,...e):t};globalThis.__buildAssetsURL=mi,globalThis.__publicAssetsURL=yi;globalThis.$fetch||(globalThis.$fetch=Lp.create({baseURL:Mp()}));function ms(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?ms(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const Np={run:e=>e()},jp=()=>Np,iu=typeof console.createTask<"u"?console.createTask:jp;function Hp(e,t){const n=t.shift(),r=iu(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function Fp(e,t){const n=t.shift(),r=iu(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function jo(e,t){for(const n of[...e])n(t)}class Dp{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const o=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!r.allowDeprecated){let i=s.message;i||(i=`${o} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,o=(...s)=>(typeof r=="function"&&r(),r=void 0,o=void 0,n(...s));return r=this.hook(t,o),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const o of r)this.hook(t,o)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=ms(t),r=Object.keys(n).map(o=>this.hook(o,n[o]));return()=>{for(const o of r.splice(0,r.length))o()}}removeHooks(t){const n=ms(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(Hp,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(Fp,t,...n)}callHookWith(t,n,...r){const o=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&jo(this._before,o);const s=t(n in this._hooks?[...this._hooks[n]]:[],r);return s instanceof Promise?s.finally(()=>{this._after&&o&&jo(this._after,o)}):(this._after&&o&&jo(this._after,o),s)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}}function lu(){return new Dp}function Bp(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let o;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?o=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const s=()=>{if(o&&t===void 0){const i=o.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=s();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>s(),set:(i,l)=>{l||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,l)=>{r(i),t=i;try{return o?o.run(i,l):l()}finally{n||(t=void 0)}},async callAsync(i,l){t=i;const a=()=>{t=i},u=()=>t===i?a:void 0;ys.add(u);try{const c=o?o.run(i,l):l();return n||(t=void 0),await c}finally{ys.delete(u)}}}}function Vp(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Bp({...e,...r})),t[n],t[n]}}}const Xr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},Pl="__unctx__",Up=Xr[Pl]||(Xr[Pl]=Vp()),zp=(e,t={})=>Up.get(e,t),Rl="__unctx_async_handlers__",ys=Xr[Rl]||(Xr[Rl]=new Set);function Xn(e){const t=[];for(const o of ys){const s=o();s&&t.push(s)}const n=()=>{for(const o of t)o()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(o=>{throw n(),o})),[r,n]}const au=zp("nuxt-app",{asyncContext:!1}),Wp="__nuxt_plugin";function qp(e){let t=0;const n={_scope:Js(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.11.2"},get vue(){return n.vueApp.version}},payload:at({data:{},state:{},once:new Set,_errors:{},...window.__NUXT__??{}}),static:{data:{}},runWithContext:o=>n._scope.run(()=>Jp(n,o)),isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let o=!1;return()=>{if(!o&&(o=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:{},_payloadRevivers:{},...e};n.hooks=lu(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(o,s)=>{const i="$"+o;Cr(n,i,s),Cr(n.vueApp.config.globalProperties,i,s)},Cr(n.vueApp,"$nuxt",n),Cr(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener("nuxt.preloadError",s=>{n.callHook("app:chunkError",{error:s.payload})}),window.useNuxtApp=window.useNuxtApp||ue;const o=n.hook("app:error",(...s)=>{console.error("[nuxt] error caught during app initialization",...s)});n.hook("app:mounted",o)}const r=n.payload.config;return n.provide("config",r),n}async function Kp(e,t){if(t.hooks&&e.hooks.addHooks(t.hooks),typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function Gp(e,t){const n=[],r=[],o=[],s=[];let i=0;async function l(a){var c;const u=((c=a.dependsOn)==null?void 0:c.filter(f=>t.some(d=>d._name===f)&&!n.includes(f)))??[];if(u.length>0)r.push([new Set(u),a]);else{const f=Kp(e,a).then(async()=>{a._name&&(n.push(a._name),await Promise.all(r.map(async([d,p])=>{d.has(a._name)&&(d.delete(a._name),d.size===0&&(i++,await l(p)))})))});a.parallel?o.push(f.catch(d=>s.push(d))):await f}}for(const a of t)await l(a);if(await Promise.all(o),i)for(let a=0;a{}),e,{[Wp]:!0,_name:t})}function Jp(e,t,n){const r=()=>t();return au.set(e),e.vueApp.runWithContext(r)}function Qp(){var t;let e;return ui()&&(e=(t=lr())==null?void 0:t.appContext.app.$nuxt),e=e||au.tryUse(),e||null}function ue(){const e=Qp();if(!e)throw new Error("[nuxt] instance unavailable");return e}function fr(e){return ue().$config}function Cr(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function Xp(e,t){return{ctx:{table:e},matchAll:n=>uu(n,e)}}function cu(e){const t={};for(const n in e)t[n]=n==="dynamic"?new Map(Object.entries(e[n]).map(([r,o])=>[r,cu(o)])):new Map(Object.entries(e[n]));return t}function Yp(e){return Xp(cu(e))}function uu(e,t,n){e.endsWith("/")&&(e=e.slice(0,-1)||"/");const r=[];for(const[s,i]of Al(t.wildcard))(e===s||e.startsWith(s+"/"))&&r.push(i);for(const[s,i]of Al(t.dynamic))if(e.startsWith(s+"/")){const l="/"+e.slice(s.length).split("/").splice(2).join("/");r.push(...uu(l,i))}const o=t.static.get(e);return o&&r.push(o),r.filter(Boolean)}function Al(e){return[...e.entries()].sort((t,n)=>t[0].length-n[0].length)}function Ho(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function bs(e,t,n=".",r){if(!Ho(t))return bs(e,{},n,r);const o=Object.assign({},t);for(const s in e){if(s==="__proto__"||s==="constructor")continue;const i=e[s];i!=null&&(r&&r(o,s,i,n)||(Array.isArray(i)&&Array.isArray(o[s])?o[s]=[...i,...o[s]]:Ho(i)&&Ho(o[s])?o[s]=bs(i,o[s],(n?`${n}.`:"")+s.toString(),r):o[s]=i))}return o}function bi(e){return(...t)=>t.reduce((n,r)=>bs(n,r,"",e),{})}const _i=bi(),Zp=bi((e,t,n)=>{if(e[t]!==void 0&&typeof n=="function")return e[t]=n(e[t]),!0});function eg(e,t){try{return t in e}catch{return!1}}var tg=Object.defineProperty,ng=(e,t,n)=>t in e?tg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bt=(e,t,n)=>(ng(e,typeof t!="symbol"?t+"":t,n),n);class _s extends Error{constructor(t,n={}){super(t,n),Bt(this,"statusCode",500),Bt(this,"fatal",!1),Bt(this,"unhandled",!1),Bt(this,"statusMessage"),Bt(this,"data"),Bt(this,"cause"),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:ws(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=fu(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}Bt(_s,"__h3_error__",!0);function vs(e){if(typeof e=="string")return new _s(e);if(rg(e))return e;const t=new _s(e.message??e.statusMessage??"",{cause:e.cause||e});if(eg(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=ws(e.statusCode,t.statusCode):e.status&&(t.statusCode=ws(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;fu(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function rg(e){var t;return((t=e==null?void 0:e.constructor)==null?void 0:t.__h3_error__)===!0}const og=/[^\u0009\u0020-\u007E]/g;function fu(e=""){return e.replace(og,"")}function ws(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const sg=Symbol("layout-meta"),mo=Symbol("route"),Qe=()=>{var e;return(e=ue())==null?void 0:e.$router},du=()=>ui()?Me(mo,ue()._route):ue()._route;const ig=()=>{try{if(ue()._processingMiddleware)return!0}catch{return!1}return!1},lg=(e,t)=>{e||(e="/");const n=typeof e=="string"?e:tu(e.path||"/",e.query||{})+(e.hash||"");if(t!=null&&t.open){const{target:l="_blank",windowFeatures:a={}}=t.open,u=Object.entries(a).filter(([c,f])=>f!==void 0).map(([c,f])=>`${c.toLowerCase()}=${f}`).join(", ");return open(n,l,u),Promise.resolve()}const r=(t==null?void 0:t.external)||mt(n,{acceptRelative:!0});if(r){if(!(t!=null&&t.external))throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const l=ur(n).protocol;if(l&&dp(l))throw new Error(`Cannot navigate to a URL with '${l}' protocol.`)}const o=ig();if(!r&&o)return e;const s=Qe(),i=ue();return r?(i._scope.stop(),t!=null&&t.replace?location.replace(n):location.href=n,o?i.isHydrating?new Promise(()=>{}):!1:Promise.resolve()):t!=null&&t.replace?s.replace(e):s.push(e)},hu="__nuxt_error",yo=()=>rc(ue().payload,"error"),on=e=>{const t=bo(e);try{const n=ue(),r=yo();n.hooks.callHook("app:error",t),r.value=r.value||t}catch{throw t}return t},ag=async(e={})=>{const t=ue(),n=yo();t.callHook("app:error:cleared",e),e.redirect&&await Qe().replace(e.redirect),n.value=null},cg=e=>!!e&&typeof e=="object"&&hu in e,bo=e=>{const t=vs(e);return Object.defineProperty(t,hu,{value:!0,configurable:!1,writable:!1}),t},ug=-1,fg=-2,dg=-3,hg=-4,pg=-5,gg=-6;function mg(e,t){return yg(JSON.parse(e),t)}function yg(e,t){if(typeof e=="number")return o(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);function o(s,i=!1){if(s===ug)return;if(s===dg)return NaN;if(s===hg)return 1/0;if(s===pg)return-1/0;if(s===gg)return-0;if(i)throw new Error("Invalid input");if(s in r)return r[s];const l=n[s];if(!l||typeof l!="object")r[s]=l;else if(Array.isArray(l))if(typeof l[0]=="string"){const a=l[0],u=t==null?void 0:t[a];if(u)return r[s]=u(o(l[1]));switch(a){case"Date":r[s]=new Date(l[1]);break;case"Set":const c=new Set;r[s]=c;for(let p=1;p>>9)+65536).toString(16).substring(1,8).toLowerCase()}function Il(e){return e._h||vi(e._d?e._d:`${e.tag}:${e.textContent||e.innerHTML||""}:${Object.entries(e.props).map(([t,n])=>`${t}:${String(n)}`).join(",")}`)}function gu(e,t){const{props:n,tag:r}=e;if(wg.includes(r))return r;if(r==="link"&&n.rel==="canonical")return"canonical";if(n.charset)return"charset";const o=["id"];r==="meta"&&o.push("name","property","http-equiv");for(const s of o)if(typeof n[s]<"u"){const i=String(n[s]);return`${r}:${s}:${i}`}return!1}function Ll(e,t){return e==null?t||null:typeof e=="function"?e(t):e}async function Eg(e,t,n){const r={tag:e,props:await mu(typeof t=="object"&&typeof t!="function"&&!(t instanceof Promise)?{...t}:{[["script","noscript","style"].includes(e)?"innerHTML":"textContent"]:t},["templateParams","titleTemplate"].includes(e))};return pu.forEach(o=>{const s=typeof r.props[o]<"u"?r.props[o]:n[o];typeof s<"u"&&((!["innerHTML","textContent","children"].includes(o)||_g.includes(r.tag))&&(r[o==="children"?"innerHTML":o]=s),delete r.props[o])}),r.props.body&&(r.tagPosition="bodyClose",delete r.props.body),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(o=>({...r,props:{...r.props,content:o}})):r}function Cg(e,t){var r;const n=e==="class"?" ":";";return typeof t=="object"&&!Array.isArray(t)&&(t=Object.entries(t).filter(([,o])=>o).map(([o,s])=>e==="style"?`${o}:${s}`:o)),(r=Array.isArray(t)?t.join(n):t)==null?void 0:r.split(n).filter(o=>o.trim()).filter(Boolean).join(n)}async function mu(e,t){for(const n of Object.keys(e)){if(["class","style"].includes(n)){e[n]=Cg(n,e[n]);continue}if(e[n]instanceof Promise&&(e[n]=await e[n]),!t&&!pu.includes(n)){const r=String(e[n]),o=n.startsWith("data-");r==="true"||r===""?e[n]=o?"true":!0:e[n]||(o&&r==="false"?e[n]="false":delete e[n])}}return e}const Sg=10;async function kg(e){const t=[];return Object.entries(e.resolvedInput).filter(([n,r])=>typeof r<"u"&&vg.includes(n)).forEach(([n,r])=>{const o=bg(r);t.push(...o.map(s=>Eg(n,s,e)).flat())}),(await Promise.all(t)).flat().filter(Boolean).map((n,r)=>(n._e=e._i,e.mode&&(n._m=e.mode),n._p=(e._i<a&&a[u]||void 0,t):l=t[i],typeof l<"u"?(l||"").replace(/"/g,'\\"'):!1}let o=e;try{o=decodeURI(e)}catch{}return(o.match(/%(\w+\.+\w+)|%(\w+)/g)||[]).sort().reverse().forEach(i=>{const l=r(i.slice(1));typeof l=="string"&&(e=e.replace(new RegExp(`\\${i}(\\W|$)`,"g"),(a,u)=>`${l}${u}`).trim())}),e.includes(wt)&&(e.endsWith(wt)&&(e=e.slice(0,-wt.length).trim()),e.startsWith(wt)&&(e=e.slice(wt.length).trim()),e=e.replace(new RegExp(`\\${wt}\\s*\\${wt}`,"g"),wt),e=Or(e,{separator:n},n)),e}async function yu(e,t={}){var c;const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!r.shouldRender)return;const o=(await e.resolveTags()).map(f=>({tag:f,id:Lr.includes(f.tag)?Il(f):f.tag,shouldRender:!0}));let s=e._dom;if(!s){s={elMap:{htmlAttrs:n.documentElement,bodyAttrs:n.body}};for(const f of["body","head"]){const d=(c=n[f])==null?void 0:c.children,p=[];for(const y of[...d].filter(w=>Lr.includes(w.tagName.toLowerCase()))){const w={tag:y.tagName.toLowerCase(),props:await mu(y.getAttributeNames().reduce((_,g)=>({..._,[g]:y.getAttribute(g)}),{})),innerHTML:y.innerHTML};let v=1,S=gu(w);for(;S&&p.find(_=>_._d===S);)S=`${S}:${v++}`;w._d=S||void 0,p.push(w),s.elMap[y.getAttribute("data-hid")||Il(w)]=y}}}s.pendingSideEffects={...s.sideEffects||{}},s.sideEffects={};function i(f,d,p){const y=`${f}:${d}`;s.sideEffects[y]=p,delete s.pendingSideEffects[y]}function l({id:f,$el:d,tag:p}){const y=p.tag.endsWith("Attrs");s.elMap[f]=d,y||(["textContent","innerHTML"].forEach(w=>{p[w]&&p[w]!==d[w]&&(d[w]=p[w])}),i(f,"el",()=>{var w;(w=s.elMap[f])==null||w.remove(),delete s.elMap[f]}));for(const[w,v]of Object.entries(p._eventHandlers||{}))d.getAttribute(`data-${w}`)!==""&&((p.tag==="bodyAttrs"?n.defaultView:d).addEventListener(w.replace("on",""),v.bind(d)),d.setAttribute(`data-${w}`,""));Object.entries(p.props).forEach(([w,v])=>{const S=`attr:${w}`;if(w==="class")for(const _ of(v||"").split(" ").filter(Boolean))y&&i(f,`${S}:${_}`,()=>d.classList.remove(_)),!d.classList.contains(_)&&d.classList.add(_);else if(w==="style")for(const _ of(v||"").split(";").filter(Boolean)){const[g,...b]=_.split(":").map(E=>E.trim());i(f,`${S}:${_}:${g}`,()=>{d.style.removeProperty(g)}),d.style.setProperty(g,b.join(":"))}else d.getAttribute(w)!==v&&d.setAttribute(w,v===!0?"":String(v)),y&&i(f,S,()=>d.removeAttribute(w))})}const a=[],u={bodyClose:void 0,bodyOpen:void 0,head:void 0};for(const f of o){const{tag:d,shouldRender:p,id:y}=f;if(p){if(d.tag==="title"){n.title=d.textContent;continue}f.$el=f.$el||s.elMap[y],f.$el?l(f):Lr.includes(d.tag)&&a.push(f)}}for(const f of a){const d=f.tag.tagPosition||"head";f.$el=n.createElement(f.tag.tag),l(f),u[d]=u[d]||n.createDocumentFragment(),u[d].appendChild(f.$el)}for(const f of o)await e.hooks.callHook("dom:renderTag",f,n,i);u.head&&n.head.appendChild(u.head),u.bodyOpen&&n.body.insertBefore(u.bodyOpen,n.body.firstChild),u.bodyClose&&n.body.appendChild(u.bodyClose),Object.values(s.pendingSideEffects).forEach(f=>f()),e._dom=s,e.dirty=!1,await e.hooks.callHook("dom:rendered",{renders:o})}async function Pg(e,t={}){const n=t.delayFn||(r=>setTimeout(r,10));return e._domUpdatePromise=e._domUpdatePromise||new Promise(r=>n(async()=>{await yu(e,t),delete e._domUpdatePromise,r()}))}function Rg(e){return t=>{var r,o;const n=((o=(r=t.resolvedOptions.document)==null?void 0:r.head.querySelector('script[id="unhead:payload"]'))==null?void 0:o.innerHTML)||!1;return n&&t.push(JSON.parse(n)),{mode:"client",hooks:{"entries:updated":function(s){Pg(s,e)}}}}}const Ag=["templateParams","htmlAttrs","bodyAttrs"],Ig={hooks:{"tag:normalise":function({tag:e}){["hid","vmid","key"].forEach(r=>{e.props[r]&&(e.key=e.props[r],delete e.props[r])});const n=gu(e)||(e.key?`${e.tag}:${e.key}`:!1);n&&(e._d=n)},"tags:resolve":function(e){const t={};e.tags.forEach(r=>{const o=(r.key?`${r.tag}:${r.key}`:r._d)||r._p,s=t[o];if(s){let l=r==null?void 0:r.tagDuplicateStrategy;if(!l&&Ag.includes(r.tag)&&(l="merge"),l==="merge"){const a=s.props;["class","style"].forEach(u=>{a[u]&&(r.props[u]?(u==="style"&&!a[u].endsWith(";")&&(a[u]+=";"),r.props[u]=`${a[u]} ${r.props[u]}`):r.props[u]=a[u])}),t[o].props={...a,...r.props};return}else if(r._e===s._e){s._duped=s._duped||[],r._d=`${s._d}:${s._duped.length+1}`,s._duped.push(r);return}else if(Yr(r)>Yr(s))return}const i=Object.keys(r.props).length+(r.innerHTML?1:0)+(r.textContent?1:0);if(Lr.includes(r.tag)&&i===0){delete t[o];return}t[o]=r});const n=[];Object.values(t).forEach(r=>{const o=r._duped;delete r._duped,n.push(r),o&&n.push(...o)}),e.tags=n,e.tags=e.tags.filter(r=>!(r.tag==="meta"&&(r.props.name||r.props.property)&&!r.props.content))}}},Lg={mode:"server",hooks:{"tags:resolve":function(e){const t={};e.tags.filter(n=>["titleTemplate","templateParams","title"].includes(n.tag)&&n._m==="server").forEach(n=>{t[n.tag]=n.tag.startsWith("title")?n.textContent:n.props}),Object.keys(t).length&&e.tags.push({tag:"script",innerHTML:JSON.stringify(t),props:{id:"unhead:payload",type:"application/json"}})}}},Og=["script","link","bodyAttrs"],Mg=e=>({hooks:{"tags:resolve":function(t){for(const n of t.tags.filter(r=>Og.includes(r.tag)))Object.entries(n.props).forEach(([r,o])=>{r.startsWith("on")&&typeof o=="function"&&(e.ssr&&$l.includes(r)?n.props[r]=`this.dataset.${r}fired = true`:delete n.props[r],n._eventHandlers=n._eventHandlers||{},n._eventHandlers[r]=o)}),e.ssr&&n._eventHandlers&&(n.props.src||n.props.href)&&(n.key=n.key||vi(n.props.src||n.props.href))},"dom:renderTag":function({$el:t,tag:n}){var r,o;for(const s of Object.keys((t==null?void 0:t.dataset)||{}).filter(i=>$l.some(l=>`${l}fired`===i))){const i=s.replace("fired","");(o=(r=n._eventHandlers)==null?void 0:r[i])==null||o.call(t,new Event(i.replace("on","")))}}}}),$g=["link","style","script","noscript"],Ng={hooks:{"tag:normalise":({tag:e})=>{e.key&&$g.includes(e.tag)&&(e.props["data-hid"]=e._h=vi(e.key))}}},jg={hooks:{"tags:resolve":e=>{const t=n=>{var r;return(r=e.tags.find(o=>o._d===n))==null?void 0:r._p};for(const{prefix:n,offset:r}of Tg)for(const o of e.tags.filter(s=>typeof s.tagPriority=="string"&&s.tagPriority.startsWith(n))){const s=t(o.tagPriority.replace(n,""));typeof s<"u"&&(o._p=s+r)}e.tags.sort((n,r)=>n._p-r._p).sort((n,r)=>Yr(n)-Yr(r))}}},Hg={meta:"content",link:"href",htmlAttrs:"lang"},Fg=e=>({hooks:{"tags:resolve":t=>{var l;const{tags:n}=t,r=(l=n.find(a=>a.tag==="title"))==null?void 0:l.textContent,o=n.findIndex(a=>a.tag==="templateParams"),s=o!==-1?n[o].props:{},i=s.separator||"|";delete s.separator,s.pageTitle=Or(s.pageTitle||r||"",s,i);for(const a of n.filter(u=>u.processTemplateParams!==!1)){const u=Hg[a.tag];u&&typeof a.props[u]=="string"?a.props[u]=Or(a.props[u],s,i):(a.processTemplateParams===!0||["titleTemplate","title"].includes(a.tag))&&["innerHTML","textContent"].forEach(c=>{typeof a[c]=="string"&&(a[c]=Or(a[c],s,i))})}e._templateParams=s,e._separator=i,t.tags=n.filter(a=>a.tag!=="templateParams")}}}),Dg={hooks:{"tags:resolve":e=>{const{tags:t}=e;let n=t.findIndex(o=>o.tag==="titleTemplate");const r=t.findIndex(o=>o.tag==="title");if(r!==-1&&n!==-1){const o=Ll(t[n].textContent,t[r].textContent);o!==null?t[r].textContent=o||t[r].textContent:delete t[r]}else if(n!==-1){const o=Ll(t[n].textContent);o!==null&&(t[n].textContent=o,t[n].tag="title",n=-1)}n!==-1&&delete t[n],e.tags=t.filter(Boolean)}}},Bg={hooks:{"tags:afterResolve":function(e){for(const t of e.tags)typeof t.innerHTML=="string"&&(t.innerHTML&&["application/ld+json","application/json"].includes(t.props.type)?t.innerHTML=t.innerHTML.replace(/{l.dirty=!0,t.callHook("entries:updated",l)};let o=0,s=[];const i=[],l={plugins:i,dirty:!1,resolvedOptions:e,hooks:t,headEntries(){return s},use(a){const u=typeof a=="function"?a(l):a;(!u.key||!i.some(c=>c.key===u.key))&&(i.push(u),Nl(u.mode,n)&&t.addHooks(u.hooks||{}))},push(a,u){u==null||delete u.head;const c={_i:o++,input:a,...u};return Nl(c.mode,n)&&(s.push(c),r()),{dispose(){s=s.filter(f=>f._i!==c._i),t.callHook("entries:updated",l),r()},patch(f){s=s.map(d=>(d._i===c._i&&(d.input=c.input=f),d)),r()}}},async resolveTags(){const a={tags:[],entries:[...s]};await t.callHook("entries:resolve",a);for(const u of a.entries){const c=u.resolvedInput||u.input;if(u.resolvedInput=await(u.transform?u.transform(c):c),u.resolvedInput)for(const f of await kg(u)){const d={tag:f,entry:u,resolvedOptions:l.resolvedOptions};await t.callHook("tag:normalise",d),a.tags.push(d.tag)}}return await t.callHook("tags:beforeResolve",a),await t.callHook("tags:resolve",a),await t.callHook("tags:afterResolve",a),a.tags},ssr:n};return[Ig,Lg,Mg,Ng,jg,Fg,Dg,Bg,...(e==null?void 0:e.plugins)||[]].forEach(a=>l.use(a)),l.hooks.callHook("init",l),l}function zg(){return bu}const Wg=Jc.startsWith("3");function qg(e){return typeof e=="function"?e():ye(e)}function Zr(e,t=""){if(e instanceof Promise)return e;const n=qg(e);return!e||!n?n:Array.isArray(n)?n.map(r=>Zr(r,t)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([r,o])=>r==="titleTemplate"||r.startsWith("on")?[r,ye(o)]:[r,Zr(o,r)])):n}const Kg={hooks:{"entries:resolve":function(e){for(const t of e.entries)t.resolvedInput=Zr(t.input)}}},_u="usehead";function Gg(e){return{install(n){Wg&&(n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(_u,e))}}.install}function Jg(e={}){e.domDelayFn=e.domDelayFn||(n=>En(()=>setTimeout(()=>n(),0)));const t=Vg(e);return t.use(Kg),t.install=Gg(t),t}const xs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Es="__unhead_injection_handler__";function Qg(e){xs[Es]=e}function Xg(){if(Es in xs)return xs[Es]();const e=Me(_u);return e||zg()}function Yg(e,t={}){const n=t.head||Xg();if(n)return n.ssr?n.push(e,t):Zg(n,e,t)}function Zg(e,t,n={}){const r=Fe(!1),o=Fe({});Cd(()=>{o.value=r.value?{}:Zr(t)});const s=e.push(o.value,n);return nt(o,l=>{s.patch(l)}),lr()&&(ir(()=>{s.dispose()}),vc(()=>{r.value=!0}),_c(()=>{r.value=!1})),s}const em={ui:{primary:"hokey-pokey",gray:"ebony-clay"}},tm={nuxt:{buildId:"e6fddee0-45ce-473e-bd04-62f8e4312dcf"},icon:{provider:"iconify",class:"",aliases:{},iconifyApiEndpoint:"https://api.iconify.design",localApiEndpoint:"/api/_nuxt_icon",fallbackToApi:!0,cssSelectorPrefix:"i-",cssWherePseudo:!0,mode:"css",attrs:{"aria-hidden":!0},collections:["academicons","akar-icons","ant-design","arcticons","basil","bi","bitcoin-icons","bpmn","brandico","bx","bxl","bxs","bytesize","carbon","catppuccin","cbi","charm","ci","cib","cif","cil","circle-flags","circum","clarity","codicon","covid","cryptocurrency","cryptocurrency-color","dashicons","devicon","devicon-plain","ei","el","emojione","emojione-monotone","emojione-v1","entypo","entypo-social","eos-icons","ep","et","eva","f7","fa","fa-brands","fa-regular","fa-solid","fa6-brands","fa6-regular","fa6-solid","fad","fe","feather","file-icons","flag","flagpack","flat-color-icons","flat-ui","flowbite","fluent","fluent-emoji","fluent-emoji-flat","fluent-emoji-high-contrast","fluent-mdl2","fontelico","fontisto","formkit","foundation","fxemoji","gala","game-icons","geo","gg","gis","gravity-ui","gridicons","grommet-icons","guidance","healthicons","heroicons","heroicons-outline","heroicons-solid","hugeicons","humbleicons","ic","icomoon-free","icon-park","icon-park-outline","icon-park-solid","icon-park-twotone","iconamoon","iconoir","icons8","il","ion","iwwa","jam","la","lets-icons","line-md","logos","ls","lucide","lucide-lab","mage","majesticons","maki","map","marketeq","material-symbols","material-symbols-light","mdi","mdi-light","medical-icon","memory","meteocons","mi","mingcute","mono-icons","mynaui","nimbus","nonicons","noto","noto-v1","octicon","oi","ooui","openmoji","oui","pajamas","pepicons","pepicons-pencil","pepicons-pop","pepicons-print","ph","pixelarticons","prime","ps","quill","radix-icons","raphael","ri","rivet-icons","si-glyph","simple-icons","simple-line-icons","skill-icons","solar","streamline","streamline-emojis","subway","svg-spinners","system-uicons","tabler","tdesign","teenyicons","token","token-branded","topcoat","twemoji","typcn","uil","uim","uis","uit","uiw","unjs","vaadin","vs","vscode-icons","websymbol","weui","whh","wi","wpf","zmdi","zondicons"],fetchTimeout:500},ui:{primary:"green",gray:"cool",colors:["red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose","bay-of-many","ebony-clay","gold","chicago","hokey-pokey","primary"],strategy:"merge"}},nm=Zp(em,tm);function jt(){const e=ue();return e._appConfig||(e._appConfig=at(nm)),e._appConfig}const Ew=!1,Cs=!1,rm=!1,om={componentName:"NuxtLink"},Cw={deep:!0},sm="#__nuxt";let Mr,vu;function im(){var t;const e=(t=jt().nuxt)==null?void 0:t.buildId;return Mr=$fetch(mi(`builds/meta/${e}.json`)),Mr.then(n=>{vu=Yp(n.matcher)}),Mr}function _o(){return Mr||im()}async function wi(e){return await _o(),_i({},...vu.matchAll(e).reverse())}function jl(e,t={}){const n=am(e,t),r=ue(),o=r._payloadCache=r._payloadCache||{};return n in o||(o[n]=cm(e).then(s=>s?wu(n).then(i=>i||(delete o[n],null)):(o[n]=null,null))),o[n]}const lm="_payload.json";function am(e,t={}){var o;const n=new URL(e,"http://localhost");if(n.host!=="localhost"||mt(n.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+e);const r=t.hash||(t.fresh?Date.now():(o=jt().nuxt)==null?void 0:o.buildId);return go(fr().app.baseURL,n.pathname,lm+(r?`?${r}`:""))}async function wu(e){const t=fetch(e).then(n=>n.text().then(xu));try{return await t}catch(n){console.warn("[nuxt] Cannot load payload ",e,n)}return null}async function cm(e=du().path){if(e=po(e),(await _o()).prerendered.includes(e))return!0;const n=await wi(e);return!!n.prerender&&!n.redirect}let Sr=null;async function um(){if(Sr)return Sr;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await xu(e.textContent||""),n=e.dataset.src?await wu(e.dataset.src):void 0;return Sr={...t,...n,...window.__NUXT__},Sr}async function xu(e){return await mg(e,ue()._payloadRevivers)}function fm(e,t){ue()._payloadRevivers[e]=t}const Hl={NuxtError:e=>bo(e),EmptyShallowRef:e=>Jt(e==="_"?void 0:e==="0n"?BigInt(0):Kr(e)),EmptyRef:e=>Fe(e==="_"?void 0:e==="0n"?BigInt(0):Kr(e)),ShallowRef:e=>Jt(e),ShallowReactive:e=>or(e),Ref:e=>Fe(e),Reactive:e=>at(e)},dm=$e({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const r in Hl)fm(r,Hl[r]);Object.assign(e.payload,([t,n]=Xn(()=>e.runWithContext(um)),t=await t,n(),t)),window.__NUXT__=e.payload}}),hm=[],pm=$e({name:"nuxt:head",enforce:"pre",setup(e){const t=Jg({plugins:hm});Qg(()=>ue().vueApp._context.provides.usehead),e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await yu(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r)}}});/*! +**/const dh="http://www.w3.org/2000/svg",hh="http://www.w3.org/1998/Math/MathML",Pt=typeof document<"u"?document:null,al=Pt&&Pt.createElement("template"),ph={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Pt.createElementNS(dh,e):t==="mathml"?Pt.createElementNS(hh,e):Pt.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Pt.createTextNode(e),createComment:e=>Pt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Pt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{al.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=al.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},_t="transition",Tn="animation",Qn=Symbol("_vtc"),hi=(e,{slots:t})=>Le(Pd,gh(e),t);hi.displayName="Transition";const Qc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};hi.props=Ee({},mc,Qc);const Ft=(e,t=[])=>{J(e)?e.forEach(n=>n(...t)):e&&e(...t)},cl=e=>e?J(e)?e.some(t=>t.length>1):e.length>1:!1;function gh(e){const t={};for(const P in e)P in Qc||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:u=i,appearToClass:c=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,y=mh(o),w=y&&y[0],v=y&&y[1],{onBeforeEnter:S,onEnter:_,onEnterCancelled:g,onLeave:b,onLeaveCancelled:E,onBeforeAppear:x=S,onAppear:L=_,onAppearCancelled:k=g}=t,R=(P,K,re)=>{Dt(P,K?c:l),Dt(P,K?u:i),re&&re()},O=(P,K)=>{P._isLeaving=!1,Dt(P,f),Dt(P,p),Dt(P,d),K&&K()},W=P=>(K,re)=>{const ie=P?L:_,H=()=>R(K,P,re);Ft(ie,[K,H]),ul(()=>{Dt(K,P?a:s),vt(K,P?c:l),cl(ie)||fl(K,r,w,H)})};return Ee(t,{onBeforeEnter(P){Ft(S,[P]),vt(P,s),vt(P,i)},onBeforeAppear(P){Ft(x,[P]),vt(P,a),vt(P,u)},onEnter:W(!1),onAppear:W(!0),onLeave(P,K){P._isLeaving=!0;const re=()=>O(P,K);vt(P,f),vt(P,d),_h(),ul(()=>{P._isLeaving&&(Dt(P,f),vt(P,p),cl(b)||fl(P,r,v,re))}),Ft(b,[P,re])},onEnterCancelled(P){R(P,!1),Ft(g,[P])},onAppearCancelled(P){R(P,!0),Ft(k,[P])},onLeaveCancelled(P){O(P),Ft(E,[P])}})}function mh(e){if(e==null)return null;if(de(e))return[Lo(e.enter),Lo(e.leave)];{const t=Lo(e);return[t,t]}}function Lo(e){return $a(e)}function vt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Qn]||(e[Qn]=new Set)).add(t)}function Dt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Qn];n&&(n.delete(t),n.size||(e[Qn]=void 0))}function ul(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let yh=0;function fl(e,t,n,r){const o=e._endId=++yh,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=bh(e,t);if(!i)return r();const u=i+"end";let c=0;const f=()=>{e.removeEventListener(u,d),s()},d=p=>{p.target===e&&++c>=a&&f()};setTimeout(()=>{c(n[y]||"").split(", "),o=r(`${_t}Delay`),s=r(`${_t}Duration`),i=dl(o,s),l=r(`${Tn}Delay`),a=r(`${Tn}Duration`),u=dl(l,a);let c=null,f=0,d=0;t===_t?i>0&&(c=_t,f=i,d=s.length):t===Tn?u>0&&(c=Tn,f=u,d=a.length):(f=Math.max(i,u),c=f>0?i>u?_t:Tn:null,d=c?c===_t?s.length:a.length:0);const p=c===_t&&/\b(transform|all)(,|$)/.test(r(`${_t}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:p}}function dl(e,t){for(;e.lengthhl(n)+hl(e[r])))}function hl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _h(){return document.body.offsetHeight}function vh(e,t,n){const r=e[Qn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const pl=Symbol("_vod"),wh=Symbol("_vsh"),xh=Symbol(""),Eh=/(^|;)\s*display\s*:/;function Ch(e,t,n){const r=e.style,o=be(n);let s=!1;if(n&&!o){if(t)if(be(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Ir(r,l,"")}else for(const i in t)n[i]==null&&Ir(r,i,"");for(const i in n)i==="display"&&(s=!0),Ir(r,i,n[i])}else if(o){if(t!==n){const i=r[xh];i&&(n+=";"+i),r.cssText=n,s=Eh.test(n)}}else t&&e.removeAttribute("style");pl in e&&(e[pl]=s?r.display:"",e[wh]&&(r.display="none"))}const gl=/\s*!important$/;function Ir(e,t,n){if(J(n))n.forEach(r=>Ir(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Sh(e,t);gl.test(n)?e.setProperty(wn(r),n.replace(gl,""),"important"):e[r]=n}}const ml=["Webkit","Moz","ms"],Oo={};function Sh(e,t){const n=Oo[t];if(n)return n;let r=lt(t);if(r!=="filter"&&r in e)return Oo[t]=r;r=ro(r);for(let o=0;oMo||(Ih.then(()=>Mo=0),Mo=Date.now());function Oh(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Je(Mh(r,n.value),t,5,[r])};return n.value=e,n.attached=Lh(),n}function Mh(e,t){if(J(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const vl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,$h=(e,t,n,r,o,s,i,l,a)=>{const u=o==="svg";t==="class"?vh(e,r,u):t==="style"?Ch(e,n,r):nr(t)?qs(t)||Rh(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Nh(e,t,r,u))?Th(e,t,r,s,i,l,a):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),kh(e,t,r,u))};function Nh(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&vl(t)&&X(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return vl(t)&&be(n)?!1:t in e}const wl=e=>{const t=e.props["onUpdate:modelValue"]||!1;return J(t)?n=>cn(t,n):t};function jh(e){e.target.composing=!0}function xl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const $o=Symbol("_assign"),xw={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[$o]=wl(o);const s=r||o.props&&o.props.type==="number";nn(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),s&&(l=Zo(l)),e[$o](l)}),n&&nn(e,"change",()=>{e.value=e.value.trim()}),t||(nn(e,"compositionstart",jh),nn(e,"compositionend",xl),nn(e,"change",xl))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:o}},s){if(e[$o]=wl(s),e.composing)return;const i=(o||e.type==="number")&&!/^0\d/.test(e.value)?Zo(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},Xc=Ee({patchProp:$h},ph);let Dn,El=!1;function Hh(){return Dn||(Dn=Zd(Xc))}function Fh(){return Dn=El?Dn:eh(Xc),El=!0,Dn}const Dh=(...e)=>{const t=Hh().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Zc(r);if(!o)return;const s=t._component;!X(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,Yc(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t},Bh=(...e)=>{const t=Fh().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Zc(r);if(o)return n(o,!0,Yc(o))},t};function Yc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Zc(e){return be(e)?document.querySelector(e):e}const Vh=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Uh=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,zh=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Wh(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){qh(e);return}return t}function qh(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Kr(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e[0]==='"'&&e.endsWith('"')&&!e.includes("\\"))return n.slice(1,-1);if(n.length<=9){const r=n.toLowerCase();if(r==="true")return!0;if(r==="false")return!1;if(r==="undefined")return;if(r==="null")return null;if(r==="nan")return Number.NaN;if(r==="infinity")return Number.POSITIVE_INFINITY;if(r==="-infinity")return Number.NEGATIVE_INFINITY}if(!zh.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Vh.test(e)||Uh.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,Wh)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const Kh=/#/g,Gh=/&/g,Jh=/\//g,Qh=/=/g,pi=/\+/g,Xh=/%5e/gi,Yh=/%60/gi,Zh=/%7c/gi,ep=/%20/gi;function tp(e){return encodeURI(""+e).replace(Zh,"|")}function ps(e){return tp(typeof e=="string"?e:JSON.stringify(e)).replace(pi,"%2B").replace(ep,"+").replace(Kh,"%23").replace(Gh,"%26").replace(Yh,"`").replace(Xh,"^").replace(Jh,"%2F")}function No(e){return ps(e).replace(Qh,"%3D")}function Gr(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function np(e){return Gr(e.replace(pi," "))}function rp(e){return Gr(e.replace(pi," "))}function eu(e=""){const t={};e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const o=np(r[1]);if(o==="__proto__"||o==="constructor")continue;const s=rp(r[2]||"");t[o]===void 0?t[o]=s:Array.isArray(t[o])?t[o].push(s):t[o]=[t[o],s]}return t}function op(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${No(e)}=${ps(n)}`).join("&"):`${No(e)}=${ps(t)}`:No(e)}function sp(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>op(t,e[t])).filter(Boolean).join("&")}const ip=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,lp=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,ap=/^([/\\]\s*){2,}[^/\\]/,cp=/^[\s\0]*(blob|data|javascript|vbscript):$/i,up=/\/$|\/\?|\/#/,fp=/^\.?\//;function mt(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?ip.test(e):lp.test(e)||(t.acceptRelative?ap.test(e):!1)}function dp(e){return!!e&&cp.test(e)}function gs(e="",t){return t?up.test(e):e.endsWith("/")}function po(e="",t){if(!t)return(gs(e)?e.slice(0,-1):e)||"/";if(!gs(e,!0))return e||"/";let n=e,r="";const o=e.indexOf("#");o>=0&&(n=e.slice(0,o),r=e.slice(o));const[s,...i]=n.split("?");return((s.endsWith("/")?s.slice(0,-1):s)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function Jr(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(gs(e,!0))return e||"/";let n=e,r="";const o=e.indexOf("#");if(o>=0&&(n=e.slice(0,o),r=e.slice(o),!n))return r;const[s,...i]=n.split("?");return s+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function hp(e=""){return e.startsWith("/")}function Cl(e=""){return hp(e)?e:"/"+e}function pp(e,t){if(nu(t)||mt(e))return e;const n=po(t);return e.startsWith(n)?e:go(n,e)}function Sl(e,t){if(nu(t))return e;const n=po(t);if(!e.startsWith(n))return e;const r=e.slice(n.length);return r[0]==="/"?r:"/"+r}function tu(e,t){const n=ur(e),r={...eu(n.search),...t};return n.search=sp(r),yp(n)}function nu(e){return!e||e==="/"}function gp(e){return e&&e!=="/"}function go(e,...t){let n=e||"";for(const r of t.filter(o=>gp(o)))if(n){const o=r.replace(fp,"");n=Jr(n)+o}else n=r;return n}function ru(...e){var i,l,a,u;const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let o=0;for(const c of n)if(!(!c||c==="/")){for(const[f,d]of c.split(t).entries())if(!(!d||d===".")){if(d===".."){if(r.length===1&&mt(r[0]))continue;r.pop(),o--;continue}if(f===1&&((i=r[r.length-1])!=null&&i.endsWith(":/"))){r[r.length-1]+="/"+d;continue}r.push(d),o++}}let s=r.join("/");return o>=0?(l=n[0])!=null&&l.startsWith("/")&&!s.startsWith("/")?s="/"+s:(a=n[0])!=null&&a.startsWith("./")&&!s.startsWith("./")&&(s="./"+s):s="../".repeat(-1*o)+s,(u=n[n.length-1])!=null&&u.endsWith("/")&&!s.endsWith("/")&&(s+="/"),s}function mp(e,t,n={}){return n.trailingSlash||(e=Jr(e),t=Jr(t)),n.leadingSlash||(e=Cl(e),t=Cl(t)),n.encoding||(e=Gr(e),t=Gr(t)),e===t}const ou=Symbol.for("ufo:protocolRelative");function ur(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,f,d=""]=n;return{protocol:f.toLowerCase(),pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!mt(e,{acceptRelative:!0}))return t?ur(t+e):kl(e);const[,r="",o,s=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",l=""]=s.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(l=l.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:a,search:u,hash:c}=kl(l);return{protocol:r.toLowerCase(),auth:o?o.slice(0,Math.max(0,o.length-1)):"",host:i,pathname:a,search:u,hash:c,[ou]:!r}}function kl(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function yp(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",o=e.auth?e.auth+"@":"",s=e.host||"";return(e.protocol||e[ou]?(e.protocol||"")+"//":"")+o+s+t+n+r}class bp extends Error{constructor(t,n){super(t,n),this.name="FetchError",n!=null&&n.cause&&!this.cause&&(this.cause=n.cause)}}function _p(e){var a,u,c,f,d;const t=((a=e.error)==null?void 0:a.message)||((u=e.error)==null?void 0:u.toString())||"",n=((c=e.request)==null?void 0:c.method)||((f=e.options)==null?void 0:f.method)||"GET",r=((d=e.request)==null?void 0:d.url)||String(e.request)||"/",o=`[${n}] ${JSON.stringify(r)}`,s=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${o}: ${s}${t?` ${t}`:""}`,l=new bp(i,e.error?{cause:e.error}:void 0);for(const p of["request","options","response"])Object.defineProperty(l,p,{get(){return e[p]}});for(const[p,y]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(l,p,{get(){return e.response&&e.response[y]}});return l}const vp=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function Tl(e="GET"){return vp.has(e.toUpperCase())}function wp(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const xp=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Ep=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Cp(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Ep.test(t)?"json":xp.has(t)||t.startsWith("text/")?"text":"blob"}function Sp(e,t,n=globalThis.Headers){const r={...t,...e};if(t!=null&&t.params&&(e!=null&&e.params)&&(r.params={...t==null?void 0:t.params,...e==null?void 0:e.params}),t!=null&&t.query&&(e!=null&&e.query)&&(r.query={...t==null?void 0:t.query,...e==null?void 0:e.query}),t!=null&&t.headers&&(e!=null&&e.headers)){r.headers=new n((t==null?void 0:t.headers)||{});for(const[o,s]of new n((e==null?void 0:e.headers)||{}))r.headers.set(o,s)}return r}const kp=new Set([408,409,425,429,500,502,503,504]),Tp=new Set([101,204,205,304]);function su(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function o(l){const a=l.error&&l.error.name==="AbortError"&&!l.options.timeout||!1;if(l.options.retry!==!1&&!a){let c;typeof l.options.retry=="number"?c=l.options.retry:c=Tl(l.options.method)?0:1;const f=l.response&&l.response.status||500;if(c>0&&(Array.isArray(l.options.retryStatusCodes)?l.options.retryStatusCodes.includes(f):kp.has(f))){const d=l.options.retryDelay||0;return d>0&&await new Promise(p=>setTimeout(p,d)),s(l.request,{...l.options,retry:c-1})}}const u=_p(l);throw Error.captureStackTrace&&Error.captureStackTrace(u,s),u}const s=async function(a,u={}){var p;const c={request:a,options:Sp(u,e.defaults,n),response:void 0,error:void 0};c.options.method=(p=c.options.method)==null?void 0:p.toUpperCase(),c.options.onRequest&&await c.options.onRequest(c),typeof c.request=="string"&&(c.options.baseURL&&(c.request=pp(c.request,c.options.baseURL)),(c.options.query||c.options.params)&&(c.request=tu(c.request,{...c.options.params,...c.options.query}))),c.options.body&&Tl(c.options.method)&&(wp(c.options.body)?(c.options.body=typeof c.options.body=="string"?c.options.body:JSON.stringify(c.options.body),c.options.headers=new n(c.options.headers||{}),c.options.headers.has("content-type")||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")):("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half")));let f;if(!c.options.signal&&c.options.timeout){const y=new r;f=setTimeout(()=>y.abort(),c.options.timeout),c.options.signal=y.signal}try{c.response=await t(c.request,c.options)}catch(y){return c.error=y,c.options.onRequestError&&await c.options.onRequestError(c),await o(c)}finally{f&&clearTimeout(f)}if(c.response.body&&!Tp.has(c.response.status)&&c.options.method!=="HEAD"){const y=(c.options.parseResponse?"json":c.options.responseType)||Cp(c.response.headers.get("content-type")||"");switch(y){case"json":{const w=await c.response.text(),v=c.options.parseResponse||Kr;c.response._data=v(w);break}case"stream":{c.response._data=c.response.body;break}default:c.response._data=await c.response[y]()}}return c.options.onResponse&&await c.options.onResponse(c),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await c.options.onResponseError(c),await o(c)):c.response},i=async function(a,u){return(await s(a,u))._data};return i.raw=s,i.native=(...l)=>t(...l),i.create=(l={})=>su({...e,defaults:{...e.defaults,...l}}),i}const gi=function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}(),Pp=gi.fetch||(()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!"))),Rp=gi.Headers,Ap=gi.AbortController,Ip=su({fetch:Pp,Headers:Rp,AbortController:Ap}),Lp=Ip,Op=()=>{var e;return((e=window==null?void 0:window.__NUXT__)==null?void 0:e.config)||{}},Qr=Op().app,Mp=()=>Qr.baseURL,$p=()=>Qr.buildAssetsDir,mi=(...e)=>ru(yi(),$p(),...e),yi=(...e)=>{const t=Qr.cdnURL||Qr.baseURL;return e.length?ru(t,...e):t};globalThis.__buildAssetsURL=mi,globalThis.__publicAssetsURL=yi;globalThis.$fetch||(globalThis.$fetch=Lp.create({baseURL:Mp()}));function ms(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?ms(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const Np={run:e=>e()},jp=()=>Np,iu=typeof console.createTask<"u"?console.createTask:jp;function Hp(e,t){const n=t.shift(),r=iu(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function Fp(e,t){const n=t.shift(),r=iu(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function jo(e,t){for(const n of[...e])n(t)}class Dp{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const o=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!r.allowDeprecated){let i=s.message;i||(i=`${o} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,o=(...s)=>(typeof r=="function"&&r(),r=void 0,o=void 0,n(...s));return r=this.hook(t,o),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const o of r)this.hook(t,o)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=ms(t),r=Object.keys(n).map(o=>this.hook(o,n[o]));return()=>{for(const o of r.splice(0,r.length))o()}}removeHooks(t){const n=ms(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(Hp,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(Fp,t,...n)}callHookWith(t,n,...r){const o=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&jo(this._before,o);const s=t(n in this._hooks?[...this._hooks[n]]:[],r);return s instanceof Promise?s.finally(()=>{this._after&&o&&jo(this._after,o)}):(this._after&&o&&jo(this._after,o),s)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}}function lu(){return new Dp}function Bp(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let o;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?o=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const s=()=>{if(o&&t===void 0){const i=o.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=s();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>s(),set:(i,l)=>{l||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,l)=>{r(i),t=i;try{return o?o.run(i,l):l()}finally{n||(t=void 0)}},async callAsync(i,l){t=i;const a=()=>{t=i},u=()=>t===i?a:void 0;ys.add(u);try{const c=o?o.run(i,l):l();return n||(t=void 0),await c}finally{ys.delete(u)}}}}function Vp(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Bp({...e,...r})),t[n],t[n]}}}const Xr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},Pl="__unctx__",Up=Xr[Pl]||(Xr[Pl]=Vp()),zp=(e,t={})=>Up.get(e,t),Rl="__unctx_async_handlers__",ys=Xr[Rl]||(Xr[Rl]=new Set);function Xn(e){const t=[];for(const o of ys){const s=o();s&&t.push(s)}const n=()=>{for(const o of t)o()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(o=>{throw n(),o})),[r,n]}const au=zp("nuxt-app",{asyncContext:!1}),Wp="__nuxt_plugin";function qp(e){let t=0;const n={_scope:Js(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.11.2"},get vue(){return n.vueApp.version}},payload:at({data:{},state:{},once:new Set,_errors:{},...window.__NUXT__??{}}),static:{data:{}},runWithContext:o=>n._scope.run(()=>Jp(n,o)),isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let o=!1;return()=>{if(!o&&(o=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:{},_payloadRevivers:{},...e};n.hooks=lu(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(o,s)=>{const i="$"+o;Cr(n,i,s),Cr(n.vueApp.config.globalProperties,i,s)},Cr(n.vueApp,"$nuxt",n),Cr(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener("nuxt.preloadError",s=>{n.callHook("app:chunkError",{error:s.payload})}),window.useNuxtApp=window.useNuxtApp||ue;const o=n.hook("app:error",(...s)=>{console.error("[nuxt] error caught during app initialization",...s)});n.hook("app:mounted",o)}const r=n.payload.config;return n.provide("config",r),n}async function Kp(e,t){if(t.hooks&&e.hooks.addHooks(t.hooks),typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function Gp(e,t){const n=[],r=[],o=[],s=[];let i=0;async function l(a){var c;const u=((c=a.dependsOn)==null?void 0:c.filter(f=>t.some(d=>d._name===f)&&!n.includes(f)))??[];if(u.length>0)r.push([new Set(u),a]);else{const f=Kp(e,a).then(async()=>{a._name&&(n.push(a._name),await Promise.all(r.map(async([d,p])=>{d.has(a._name)&&(d.delete(a._name),d.size===0&&(i++,await l(p)))})))});a.parallel?o.push(f.catch(d=>s.push(d))):await f}}for(const a of t)await l(a);if(await Promise.all(o),i)for(let a=0;a{}),e,{[Wp]:!0,_name:t})}function Jp(e,t,n){const r=()=>t();return au.set(e),e.vueApp.runWithContext(r)}function Qp(){var t;let e;return ui()&&(e=(t=lr())==null?void 0:t.appContext.app.$nuxt),e=e||au.tryUse(),e||null}function ue(){const e=Qp();if(!e)throw new Error("[nuxt] instance unavailable");return e}function fr(e){return ue().$config}function Cr(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function Xp(e,t){return{ctx:{table:e},matchAll:n=>uu(n,e)}}function cu(e){const t={};for(const n in e)t[n]=n==="dynamic"?new Map(Object.entries(e[n]).map(([r,o])=>[r,cu(o)])):new Map(Object.entries(e[n]));return t}function Yp(e){return Xp(cu(e))}function uu(e,t,n){e.endsWith("/")&&(e=e.slice(0,-1)||"/");const r=[];for(const[s,i]of Al(t.wildcard))(e===s||e.startsWith(s+"/"))&&r.push(i);for(const[s,i]of Al(t.dynamic))if(e.startsWith(s+"/")){const l="/"+e.slice(s.length).split("/").splice(2).join("/");r.push(...uu(l,i))}const o=t.static.get(e);return o&&r.push(o),r.filter(Boolean)}function Al(e){return[...e.entries()].sort((t,n)=>t[0].length-n[0].length)}function Ho(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function bs(e,t,n=".",r){if(!Ho(t))return bs(e,{},n,r);const o=Object.assign({},t);for(const s in e){if(s==="__proto__"||s==="constructor")continue;const i=e[s];i!=null&&(r&&r(o,s,i,n)||(Array.isArray(i)&&Array.isArray(o[s])?o[s]=[...i,...o[s]]:Ho(i)&&Ho(o[s])?o[s]=bs(i,o[s],(n?`${n}.`:"")+s.toString(),r):o[s]=i))}return o}function bi(e){return(...t)=>t.reduce((n,r)=>bs(n,r,"",e),{})}const _i=bi(),Zp=bi((e,t,n)=>{if(e[t]!==void 0&&typeof n=="function")return e[t]=n(e[t]),!0});function eg(e,t){try{return t in e}catch{return!1}}var tg=Object.defineProperty,ng=(e,t,n)=>t in e?tg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bt=(e,t,n)=>(ng(e,typeof t!="symbol"?t+"":t,n),n);class _s extends Error{constructor(t,n={}){super(t,n),Bt(this,"statusCode",500),Bt(this,"fatal",!1),Bt(this,"unhandled",!1),Bt(this,"statusMessage"),Bt(this,"data"),Bt(this,"cause"),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:ws(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=fu(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}Bt(_s,"__h3_error__",!0);function vs(e){if(typeof e=="string")return new _s(e);if(rg(e))return e;const t=new _s(e.message??e.statusMessage??"",{cause:e.cause||e});if(eg(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=ws(e.statusCode,t.statusCode):e.status&&(t.statusCode=ws(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;fu(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function rg(e){var t;return((t=e==null?void 0:e.constructor)==null?void 0:t.__h3_error__)===!0}const og=/[^\u0009\u0020-\u007E]/g;function fu(e=""){return e.replace(og,"")}function ws(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const sg=Symbol("layout-meta"),mo=Symbol("route"),Qe=()=>{var e;return(e=ue())==null?void 0:e.$router},du=()=>ui()?Me(mo,ue()._route):ue()._route;const ig=()=>{try{if(ue()._processingMiddleware)return!0}catch{return!1}return!1},lg=(e,t)=>{e||(e="/");const n=typeof e=="string"?e:tu(e.path||"/",e.query||{})+(e.hash||"");if(t!=null&&t.open){const{target:l="_blank",windowFeatures:a={}}=t.open,u=Object.entries(a).filter(([c,f])=>f!==void 0).map(([c,f])=>`${c.toLowerCase()}=${f}`).join(", ");return open(n,l,u),Promise.resolve()}const r=(t==null?void 0:t.external)||mt(n,{acceptRelative:!0});if(r){if(!(t!=null&&t.external))throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const l=ur(n).protocol;if(l&&dp(l))throw new Error(`Cannot navigate to a URL with '${l}' protocol.`)}const o=ig();if(!r&&o)return e;const s=Qe(),i=ue();return r?(i._scope.stop(),t!=null&&t.replace?location.replace(n):location.href=n,o?i.isHydrating?new Promise(()=>{}):!1:Promise.resolve()):t!=null&&t.replace?s.replace(e):s.push(e)},hu="__nuxt_error",yo=()=>rc(ue().payload,"error"),on=e=>{const t=bo(e);try{const n=ue(),r=yo();n.hooks.callHook("app:error",t),r.value=r.value||t}catch{throw t}return t},ag=async(e={})=>{const t=ue(),n=yo();t.callHook("app:error:cleared",e),e.redirect&&await Qe().replace(e.redirect),n.value=null},cg=e=>!!e&&typeof e=="object"&&hu in e,bo=e=>{const t=vs(e);return Object.defineProperty(t,hu,{value:!0,configurable:!1,writable:!1}),t},ug=-1,fg=-2,dg=-3,hg=-4,pg=-5,gg=-6;function mg(e,t){return yg(JSON.parse(e),t)}function yg(e,t){if(typeof e=="number")return o(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);function o(s,i=!1){if(s===ug)return;if(s===dg)return NaN;if(s===hg)return 1/0;if(s===pg)return-1/0;if(s===gg)return-0;if(i)throw new Error("Invalid input");if(s in r)return r[s];const l=n[s];if(!l||typeof l!="object")r[s]=l;else if(Array.isArray(l))if(typeof l[0]=="string"){const a=l[0],u=t==null?void 0:t[a];if(u)return r[s]=u(o(l[1]));switch(a){case"Date":r[s]=new Date(l[1]);break;case"Set":const c=new Set;r[s]=c;for(let p=1;p>>9)+65536).toString(16).substring(1,8).toLowerCase()}function Il(e){return e._h||vi(e._d?e._d:`${e.tag}:${e.textContent||e.innerHTML||""}:${Object.entries(e.props).map(([t,n])=>`${t}:${String(n)}`).join(",")}`)}function gu(e,t){const{props:n,tag:r}=e;if(wg.includes(r))return r;if(r==="link"&&n.rel==="canonical")return"canonical";if(n.charset)return"charset";const o=["id"];r==="meta"&&o.push("name","property","http-equiv");for(const s of o)if(typeof n[s]<"u"){const i=String(n[s]);return`${r}:${s}:${i}`}return!1}function Ll(e,t){return e==null?t||null:typeof e=="function"?e(t):e}async function Eg(e,t,n){const r={tag:e,props:await mu(typeof t=="object"&&typeof t!="function"&&!(t instanceof Promise)?{...t}:{[["script","noscript","style"].includes(e)?"innerHTML":"textContent"]:t},["templateParams","titleTemplate"].includes(e))};return pu.forEach(o=>{const s=typeof r.props[o]<"u"?r.props[o]:n[o];typeof s<"u"&&((!["innerHTML","textContent","children"].includes(o)||_g.includes(r.tag))&&(r[o==="children"?"innerHTML":o]=s),delete r.props[o])}),r.props.body&&(r.tagPosition="bodyClose",delete r.props.body),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(o=>({...r,props:{...r.props,content:o}})):r}function Cg(e,t){var r;const n=e==="class"?" ":";";return typeof t=="object"&&!Array.isArray(t)&&(t=Object.entries(t).filter(([,o])=>o).map(([o,s])=>e==="style"?`${o}:${s}`:o)),(r=Array.isArray(t)?t.join(n):t)==null?void 0:r.split(n).filter(o=>o.trim()).filter(Boolean).join(n)}async function mu(e,t){for(const n of Object.keys(e)){if(["class","style"].includes(n)){e[n]=Cg(n,e[n]);continue}if(e[n]instanceof Promise&&(e[n]=await e[n]),!t&&!pu.includes(n)){const r=String(e[n]),o=n.startsWith("data-");r==="true"||r===""?e[n]=o?"true":!0:e[n]||(o&&r==="false"?e[n]="false":delete e[n])}}return e}const Sg=10;async function kg(e){const t=[];return Object.entries(e.resolvedInput).filter(([n,r])=>typeof r<"u"&&vg.includes(n)).forEach(([n,r])=>{const o=bg(r);t.push(...o.map(s=>Eg(n,s,e)).flat())}),(await Promise.all(t)).flat().filter(Boolean).map((n,r)=>(n._e=e._i,e.mode&&(n._m=e.mode),n._p=(e._i<a&&a[u]||void 0,t):l=t[i],typeof l<"u"?(l||"").replace(/"/g,'\\"'):!1}let o=e;try{o=decodeURI(e)}catch{}return(o.match(/%(\w+\.+\w+)|%(\w+)/g)||[]).sort().reverse().forEach(i=>{const l=r(i.slice(1));typeof l=="string"&&(e=e.replace(new RegExp(`\\${i}(\\W|$)`,"g"),(a,u)=>`${l}${u}`).trim())}),e.includes(wt)&&(e.endsWith(wt)&&(e=e.slice(0,-wt.length).trim()),e.startsWith(wt)&&(e=e.slice(wt.length).trim()),e=e.replace(new RegExp(`\\${wt}\\s*\\${wt}`,"g"),wt),e=Or(e,{separator:n},n)),e}async function yu(e,t={}){var c;const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!r.shouldRender)return;const o=(await e.resolveTags()).map(f=>({tag:f,id:Lr.includes(f.tag)?Il(f):f.tag,shouldRender:!0}));let s=e._dom;if(!s){s={elMap:{htmlAttrs:n.documentElement,bodyAttrs:n.body}};for(const f of["body","head"]){const d=(c=n[f])==null?void 0:c.children,p=[];for(const y of[...d].filter(w=>Lr.includes(w.tagName.toLowerCase()))){const w={tag:y.tagName.toLowerCase(),props:await mu(y.getAttributeNames().reduce((_,g)=>({..._,[g]:y.getAttribute(g)}),{})),innerHTML:y.innerHTML};let v=1,S=gu(w);for(;S&&p.find(_=>_._d===S);)S=`${S}:${v++}`;w._d=S||void 0,p.push(w),s.elMap[y.getAttribute("data-hid")||Il(w)]=y}}}s.pendingSideEffects={...s.sideEffects||{}},s.sideEffects={};function i(f,d,p){const y=`${f}:${d}`;s.sideEffects[y]=p,delete s.pendingSideEffects[y]}function l({id:f,$el:d,tag:p}){const y=p.tag.endsWith("Attrs");s.elMap[f]=d,y||(["textContent","innerHTML"].forEach(w=>{p[w]&&p[w]!==d[w]&&(d[w]=p[w])}),i(f,"el",()=>{var w;(w=s.elMap[f])==null||w.remove(),delete s.elMap[f]}));for(const[w,v]of Object.entries(p._eventHandlers||{}))d.getAttribute(`data-${w}`)!==""&&((p.tag==="bodyAttrs"?n.defaultView:d).addEventListener(w.replace("on",""),v.bind(d)),d.setAttribute(`data-${w}`,""));Object.entries(p.props).forEach(([w,v])=>{const S=`attr:${w}`;if(w==="class")for(const _ of(v||"").split(" ").filter(Boolean))y&&i(f,`${S}:${_}`,()=>d.classList.remove(_)),!d.classList.contains(_)&&d.classList.add(_);else if(w==="style")for(const _ of(v||"").split(";").filter(Boolean)){const[g,...b]=_.split(":").map(E=>E.trim());i(f,`${S}:${_}:${g}`,()=>{d.style.removeProperty(g)}),d.style.setProperty(g,b.join(":"))}else d.getAttribute(w)!==v&&d.setAttribute(w,v===!0?"":String(v)),y&&i(f,S,()=>d.removeAttribute(w))})}const a=[],u={bodyClose:void 0,bodyOpen:void 0,head:void 0};for(const f of o){const{tag:d,shouldRender:p,id:y}=f;if(p){if(d.tag==="title"){n.title=d.textContent;continue}f.$el=f.$el||s.elMap[y],f.$el?l(f):Lr.includes(d.tag)&&a.push(f)}}for(const f of a){const d=f.tag.tagPosition||"head";f.$el=n.createElement(f.tag.tag),l(f),u[d]=u[d]||n.createDocumentFragment(),u[d].appendChild(f.$el)}for(const f of o)await e.hooks.callHook("dom:renderTag",f,n,i);u.head&&n.head.appendChild(u.head),u.bodyOpen&&n.body.insertBefore(u.bodyOpen,n.body.firstChild),u.bodyClose&&n.body.appendChild(u.bodyClose),Object.values(s.pendingSideEffects).forEach(f=>f()),e._dom=s,e.dirty=!1,await e.hooks.callHook("dom:rendered",{renders:o})}async function Pg(e,t={}){const n=t.delayFn||(r=>setTimeout(r,10));return e._domUpdatePromise=e._domUpdatePromise||new Promise(r=>n(async()=>{await yu(e,t),delete e._domUpdatePromise,r()}))}function Rg(e){return t=>{var r,o;const n=((o=(r=t.resolvedOptions.document)==null?void 0:r.head.querySelector('script[id="unhead:payload"]'))==null?void 0:o.innerHTML)||!1;return n&&t.push(JSON.parse(n)),{mode:"client",hooks:{"entries:updated":function(s){Pg(s,e)}}}}}const Ag=["templateParams","htmlAttrs","bodyAttrs"],Ig={hooks:{"tag:normalise":function({tag:e}){["hid","vmid","key"].forEach(r=>{e.props[r]&&(e.key=e.props[r],delete e.props[r])});const n=gu(e)||(e.key?`${e.tag}:${e.key}`:!1);n&&(e._d=n)},"tags:resolve":function(e){const t={};e.tags.forEach(r=>{const o=(r.key?`${r.tag}:${r.key}`:r._d)||r._p,s=t[o];if(s){let l=r==null?void 0:r.tagDuplicateStrategy;if(!l&&Ag.includes(r.tag)&&(l="merge"),l==="merge"){const a=s.props;["class","style"].forEach(u=>{a[u]&&(r.props[u]?(u==="style"&&!a[u].endsWith(";")&&(a[u]+=";"),r.props[u]=`${a[u]} ${r.props[u]}`):r.props[u]=a[u])}),t[o].props={...a,...r.props};return}else if(r._e===s._e){s._duped=s._duped||[],r._d=`${s._d}:${s._duped.length+1}`,s._duped.push(r);return}else if(Yr(r)>Yr(s))return}const i=Object.keys(r.props).length+(r.innerHTML?1:0)+(r.textContent?1:0);if(Lr.includes(r.tag)&&i===0){delete t[o];return}t[o]=r});const n=[];Object.values(t).forEach(r=>{const o=r._duped;delete r._duped,n.push(r),o&&n.push(...o)}),e.tags=n,e.tags=e.tags.filter(r=>!(r.tag==="meta"&&(r.props.name||r.props.property)&&!r.props.content))}}},Lg={mode:"server",hooks:{"tags:resolve":function(e){const t={};e.tags.filter(n=>["titleTemplate","templateParams","title"].includes(n.tag)&&n._m==="server").forEach(n=>{t[n.tag]=n.tag.startsWith("title")?n.textContent:n.props}),Object.keys(t).length&&e.tags.push({tag:"script",innerHTML:JSON.stringify(t),props:{id:"unhead:payload",type:"application/json"}})}}},Og=["script","link","bodyAttrs"],Mg=e=>({hooks:{"tags:resolve":function(t){for(const n of t.tags.filter(r=>Og.includes(r.tag)))Object.entries(n.props).forEach(([r,o])=>{r.startsWith("on")&&typeof o=="function"&&(e.ssr&&$l.includes(r)?n.props[r]=`this.dataset.${r}fired = true`:delete n.props[r],n._eventHandlers=n._eventHandlers||{},n._eventHandlers[r]=o)}),e.ssr&&n._eventHandlers&&(n.props.src||n.props.href)&&(n.key=n.key||vi(n.props.src||n.props.href))},"dom:renderTag":function({$el:t,tag:n}){var r,o;for(const s of Object.keys((t==null?void 0:t.dataset)||{}).filter(i=>$l.some(l=>`${l}fired`===i))){const i=s.replace("fired","");(o=(r=n._eventHandlers)==null?void 0:r[i])==null||o.call(t,new Event(i.replace("on","")))}}}}),$g=["link","style","script","noscript"],Ng={hooks:{"tag:normalise":({tag:e})=>{e.key&&$g.includes(e.tag)&&(e.props["data-hid"]=e._h=vi(e.key))}}},jg={hooks:{"tags:resolve":e=>{const t=n=>{var r;return(r=e.tags.find(o=>o._d===n))==null?void 0:r._p};for(const{prefix:n,offset:r}of Tg)for(const o of e.tags.filter(s=>typeof s.tagPriority=="string"&&s.tagPriority.startsWith(n))){const s=t(o.tagPriority.replace(n,""));typeof s<"u"&&(o._p=s+r)}e.tags.sort((n,r)=>n._p-r._p).sort((n,r)=>Yr(n)-Yr(r))}}},Hg={meta:"content",link:"href",htmlAttrs:"lang"},Fg=e=>({hooks:{"tags:resolve":t=>{var l;const{tags:n}=t,r=(l=n.find(a=>a.tag==="title"))==null?void 0:l.textContent,o=n.findIndex(a=>a.tag==="templateParams"),s=o!==-1?n[o].props:{},i=s.separator||"|";delete s.separator,s.pageTitle=Or(s.pageTitle||r||"",s,i);for(const a of n.filter(u=>u.processTemplateParams!==!1)){const u=Hg[a.tag];u&&typeof a.props[u]=="string"?a.props[u]=Or(a.props[u],s,i):(a.processTemplateParams===!0||["titleTemplate","title"].includes(a.tag))&&["innerHTML","textContent"].forEach(c=>{typeof a[c]=="string"&&(a[c]=Or(a[c],s,i))})}e._templateParams=s,e._separator=i,t.tags=n.filter(a=>a.tag!=="templateParams")}}}),Dg={hooks:{"tags:resolve":e=>{const{tags:t}=e;let n=t.findIndex(o=>o.tag==="titleTemplate");const r=t.findIndex(o=>o.tag==="title");if(r!==-1&&n!==-1){const o=Ll(t[n].textContent,t[r].textContent);o!==null?t[r].textContent=o||t[r].textContent:delete t[r]}else if(n!==-1){const o=Ll(t[n].textContent);o!==null&&(t[n].textContent=o,t[n].tag="title",n=-1)}n!==-1&&delete t[n],e.tags=t.filter(Boolean)}}},Bg={hooks:{"tags:afterResolve":function(e){for(const t of e.tags)typeof t.innerHTML=="string"&&(t.innerHTML&&["application/ld+json","application/json"].includes(t.props.type)?t.innerHTML=t.innerHTML.replace(/{l.dirty=!0,t.callHook("entries:updated",l)};let o=0,s=[];const i=[],l={plugins:i,dirty:!1,resolvedOptions:e,hooks:t,headEntries(){return s},use(a){const u=typeof a=="function"?a(l):a;(!u.key||!i.some(c=>c.key===u.key))&&(i.push(u),Nl(u.mode,n)&&t.addHooks(u.hooks||{}))},push(a,u){u==null||delete u.head;const c={_i:o++,input:a,...u};return Nl(c.mode,n)&&(s.push(c),r()),{dispose(){s=s.filter(f=>f._i!==c._i),t.callHook("entries:updated",l),r()},patch(f){s=s.map(d=>(d._i===c._i&&(d.input=c.input=f),d)),r()}}},async resolveTags(){const a={tags:[],entries:[...s]};await t.callHook("entries:resolve",a);for(const u of a.entries){const c=u.resolvedInput||u.input;if(u.resolvedInput=await(u.transform?u.transform(c):c),u.resolvedInput)for(const f of await kg(u)){const d={tag:f,entry:u,resolvedOptions:l.resolvedOptions};await t.callHook("tag:normalise",d),a.tags.push(d.tag)}}return await t.callHook("tags:beforeResolve",a),await t.callHook("tags:resolve",a),await t.callHook("tags:afterResolve",a),a.tags},ssr:n};return[Ig,Lg,Mg,Ng,jg,Fg,Dg,Bg,...(e==null?void 0:e.plugins)||[]].forEach(a=>l.use(a)),l.hooks.callHook("init",l),l}function zg(){return bu}const Wg=Jc.startsWith("3");function qg(e){return typeof e=="function"?e():ye(e)}function Zr(e,t=""){if(e instanceof Promise)return e;const n=qg(e);return!e||!n?n:Array.isArray(n)?n.map(r=>Zr(r,t)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([r,o])=>r==="titleTemplate"||r.startsWith("on")?[r,ye(o)]:[r,Zr(o,r)])):n}const Kg={hooks:{"entries:resolve":function(e){for(const t of e.entries)t.resolvedInput=Zr(t.input)}}},_u="usehead";function Gg(e){return{install(n){Wg&&(n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(_u,e))}}.install}function Jg(e={}){e.domDelayFn=e.domDelayFn||(n=>En(()=>setTimeout(()=>n(),0)));const t=Vg(e);return t.use(Kg),t.install=Gg(t),t}const xs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Es="__unhead_injection_handler__";function Qg(e){xs[Es]=e}function Xg(){if(Es in xs)return xs[Es]();const e=Me(_u);return e||zg()}function Yg(e,t={}){const n=t.head||Xg();if(n)return n.ssr?n.push(e,t):Zg(n,e,t)}function Zg(e,t,n={}){const r=Fe(!1),o=Fe({});Cd(()=>{o.value=r.value?{}:Zr(t)});const s=e.push(o.value,n);return nt(o,l=>{s.patch(l)}),lr()&&(ir(()=>{s.dispose()}),vc(()=>{r.value=!0}),_c(()=>{r.value=!1})),s}const em={ui:{primary:"hokey-pokey",gray:"ebony-clay"}},tm={nuxt:{buildId:"bf7af7fd-a799-49d4-95c2-1c60384f989a"},icon:{provider:"iconify",class:"",aliases:{},iconifyApiEndpoint:"https://api.iconify.design",localApiEndpoint:"/api/_nuxt_icon",fallbackToApi:!0,cssSelectorPrefix:"i-",cssWherePseudo:!0,mode:"css",attrs:{"aria-hidden":!0},collections:["academicons","akar-icons","ant-design","arcticons","basil","bi","bitcoin-icons","bpmn","brandico","bx","bxl","bxs","bytesize","carbon","catppuccin","cbi","charm","ci","cib","cif","cil","circle-flags","circum","clarity","codicon","covid","cryptocurrency","cryptocurrency-color","dashicons","devicon","devicon-plain","ei","el","emojione","emojione-monotone","emojione-v1","entypo","entypo-social","eos-icons","ep","et","eva","f7","fa","fa-brands","fa-regular","fa-solid","fa6-brands","fa6-regular","fa6-solid","fad","fe","feather","file-icons","flag","flagpack","flat-color-icons","flat-ui","flowbite","fluent","fluent-emoji","fluent-emoji-flat","fluent-emoji-high-contrast","fluent-mdl2","fontelico","fontisto","formkit","foundation","fxemoji","gala","game-icons","geo","gg","gis","gravity-ui","gridicons","grommet-icons","guidance","healthicons","heroicons","heroicons-outline","heroicons-solid","hugeicons","humbleicons","ic","icomoon-free","icon-park","icon-park-outline","icon-park-solid","icon-park-twotone","iconamoon","iconoir","icons8","il","ion","iwwa","jam","la","lets-icons","line-md","logos","ls","lucide","lucide-lab","mage","majesticons","maki","map","marketeq","material-symbols","material-symbols-light","mdi","mdi-light","medical-icon","memory","meteocons","mi","mingcute","mono-icons","mynaui","nimbus","nonicons","noto","noto-v1","octicon","oi","ooui","openmoji","oui","pajamas","pepicons","pepicons-pencil","pepicons-pop","pepicons-print","ph","pixelarticons","prime","ps","quill","radix-icons","raphael","ri","rivet-icons","si-glyph","simple-icons","simple-line-icons","skill-icons","solar","streamline","streamline-emojis","subway","svg-spinners","system-uicons","tabler","tdesign","teenyicons","token","token-branded","topcoat","twemoji","typcn","uil","uim","uis","uit","uiw","unjs","vaadin","vs","vscode-icons","websymbol","weui","whh","wi","wpf","zmdi","zondicons"],fetchTimeout:500},ui:{primary:"green",gray:"cool",colors:["red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose","bay-of-many","ebony-clay","gold","chicago","hokey-pokey","primary"],strategy:"merge"}},nm=Zp(em,tm);function jt(){const e=ue();return e._appConfig||(e._appConfig=at(nm)),e._appConfig}const Ew=!1,Cs=!1,rm=!1,om={componentName:"NuxtLink"},Cw={deep:!0},sm="#__nuxt";let Mr,vu;function im(){var t;const e=(t=jt().nuxt)==null?void 0:t.buildId;return Mr=$fetch(mi(`builds/meta/${e}.json`)),Mr.then(n=>{vu=Yp(n.matcher)}),Mr}function _o(){return Mr||im()}async function wi(e){return await _o(),_i({},...vu.matchAll(e).reverse())}function jl(e,t={}){const n=am(e,t),r=ue(),o=r._payloadCache=r._payloadCache||{};return n in o||(o[n]=cm(e).then(s=>s?wu(n).then(i=>i||(delete o[n],null)):(o[n]=null,null))),o[n]}const lm="_payload.json";function am(e,t={}){var o;const n=new URL(e,"http://localhost");if(n.host!=="localhost"||mt(n.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+e);const r=t.hash||(t.fresh?Date.now():(o=jt().nuxt)==null?void 0:o.buildId);return go(fr().app.baseURL,n.pathname,lm+(r?`?${r}`:""))}async function wu(e){const t=fetch(e).then(n=>n.text().then(xu));try{return await t}catch(n){console.warn("[nuxt] Cannot load payload ",e,n)}return null}async function cm(e=du().path){if(e=po(e),(await _o()).prerendered.includes(e))return!0;const n=await wi(e);return!!n.prerender&&!n.redirect}let Sr=null;async function um(){if(Sr)return Sr;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await xu(e.textContent||""),n=e.dataset.src?await wu(e.dataset.src):void 0;return Sr={...t,...n,...window.__NUXT__},Sr}async function xu(e){return await mg(e,ue()._payloadRevivers)}function fm(e,t){ue()._payloadRevivers[e]=t}const Hl={NuxtError:e=>bo(e),EmptyShallowRef:e=>Jt(e==="_"?void 0:e==="0n"?BigInt(0):Kr(e)),EmptyRef:e=>Fe(e==="_"?void 0:e==="0n"?BigInt(0):Kr(e)),ShallowRef:e=>Jt(e),ShallowReactive:e=>or(e),Ref:e=>Fe(e),Reactive:e=>at(e)},dm=$e({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const r in Hl)fm(r,Hl[r]);Object.assign(e.payload,([t,n]=Xn(()=>e.runWithContext(um)),t=await t,n(),t)),window.__NUXT__=e.payload}}),hm=[],pm=$e({name:"nuxt:head",enforce:"pre",setup(e){const t=Jg({plugins:hm});Qg(()=>ue().vueApp._context.provides.usehead),e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await yu(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r)}}});/*! * vue-router v4.3.2 * (c) 2024 Eduardo San Martin Morote * @license MIT - */const rn=typeof document<"u";function gm(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ae=Object.assign;function Fo(e,t){const n={};for(const r in t){const o=t[r];n[r]=rt(o)?o.map(e):e(o)}return n}const Bn=()=>{},rt=Array.isArray,Eu=/#/g,mm=/&/g,ym=/\//g,bm=/=/g,_m=/\?/g,Cu=/\+/g,vm=/%5B/g,wm=/%5D/g,Su=/%5E/g,xm=/%60/g,ku=/%7B/g,Em=/%7C/g,Tu=/%7D/g,Cm=/%20/g;function xi(e){return encodeURI(""+e).replace(Em,"|").replace(vm,"[").replace(wm,"]")}function Sm(e){return xi(e).replace(ku,"{").replace(Tu,"}").replace(Su,"^")}function Ss(e){return xi(e).replace(Cu,"%2B").replace(Cm,"+").replace(Eu,"%23").replace(mm,"%26").replace(xm,"`").replace(ku,"{").replace(Tu,"}").replace(Su,"^")}function km(e){return Ss(e).replace(bm,"%3D")}function Tm(e){return xi(e).replace(Eu,"%23").replace(_m,"%3F")}function Pm(e){return e==null?"":Tm(e).replace(ym,"%2F")}function Yn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Rm=/\/$/,Am=e=>e.replace(Rm,"");function Do(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),s=t.slice(a+1,l>-1?l:t.length),o=e(s)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=Mm(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:Yn(i)}}function Im(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Fl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Lm(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&_n(t.matched[r],n.matched[o])&&Pu(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function _n(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Pu(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Om(e[n],t[n]))return!1;return!0}function Om(e,t){return rt(e)?Dl(e,t):rt(t)?Dl(t,e):e===t}function Dl(e,t){return rt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Mm(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,l;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}var Zn;(function(e){e.pop="pop",e.push="push"})(Zn||(Zn={}));var Vn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Vn||(Vn={}));function $m(e){if(!e)if(rn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Am(e)}const Nm=/^[^#]+#/;function jm(e,t){return e.replace(Nm,"#")+t}function Hm(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const vo=()=>({left:window.scrollX,top:window.scrollY});function Fm(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Hm(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Bl(e,t){return(history.state?history.state.position-t:-1)+e}const ks=new Map;function Dm(e,t){ks.set(e,t)}function Bm(e){const t=ks.get(e);return ks.delete(e),t}let Vm=()=>location.protocol+"//"+location.host;function Ru(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let l=o.includes(e.slice(s))?e.slice(s).length:1,a=o.slice(l);return a[0]!=="/"&&(a="/"+a),Fl(a,"")}return Fl(n,e)+r+o}function Um(e,t,n,r){let o=[],s=[],i=null;const l=({state:d})=>{const p=Ru(e,location),y=n.value,w=t.value;let v=0;if(d){if(n.value=p,t.value=d,i&&i===y){i=null;return}v=w?d.position-w.position:0}else r(p);o.forEach(S=>{S(n.value,y,{delta:v,type:Zn.pop,direction:v?v>0?Vn.forward:Vn.back:Vn.unknown})})};function a(){i=n.value}function u(d){o.push(d);const p=()=>{const y=o.indexOf(d);y>-1&&o.splice(y,1)};return s.push(p),p}function c(){const{history:d}=window;d.state&&d.replaceState(ae({},d.state,{scroll:vo()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:a,listen:u,destroy:f}}function Vl(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?vo():null}}function zm(e){const{history:t,location:n}=window,r={value:Ru(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:Vm()+e+a;try{t[c?"replaceState":"pushState"](u,"",d),o.value=u}catch(p){console.error(p),n[c?"replace":"assign"](d)}}function i(a,u){const c=ae({},t.state,Vl(o.value.back,a,o.value.forward,!0),u,{position:o.value.position});s(a,c,!0),r.value=a}function l(a,u){const c=ae({},o.value,t.state,{forward:a,scroll:vo()});s(c.current,c,!0);const f=ae({},Vl(r.value,a,null),{position:c.position+1},u);s(a,f,!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function Au(e){e=$m(e);const t=zm(e),n=Um(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=ae({location:"",base:e,go:r,createHref:jm.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Wm(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Au(e)}function qm(e){return typeof e=="string"||e&&typeof e=="object"}function Iu(e){return typeof e=="string"||typeof e=="symbol"}const Ze={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Lu=Symbol("");var Ul;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ul||(Ul={}));function vn(e,t){return ae(new Error,{type:e,[Lu]:!0},t)}function ut(e,t){return e instanceof Error&&Lu in e&&(t==null||!!(e.type&t))}const zl="[^/]+?",Km={sensitive:!1,strict:!1,start:!0,end:!0},Gm=/[.+*?^${}()[\]/\\]/g;function Jm(e,t){const n=ae({},Km,t),r=[];let o=n.start?"^":"";const s=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function Xm(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Ym={type:0,value:""},Zm=/[a-zA-Z0-9_]/;function ey(e){if(!e)return[[]];if(e==="/")return[[Ym]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${u}": ${p}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,u="",c="";function f(){u&&(n===0?s.push({type:0,value:u}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=a}for(;l{i(_)}:Bn}function i(c){if(Iu(c)){const f=r.get(c);f&&(r.delete(c),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(c);f>-1&&(n.splice(f,1),c.record.name&&r.delete(c.record.name),c.children.forEach(i),c.alias.forEach(i))}}function l(){return n}function a(c){let f=0;for(;f=0&&(c.record.path!==n[f].record.path||!Ou(c,n[f]));)f++;n.splice(f,0,c),c.record.name&&!Kl(c)&&r.set(c.record.name,c)}function u(c,f){let d,p={},y,w;if("name"in c&&c.name){if(d=r.get(c.name),!d)throw vn(1,{location:c});w=d.record.name,p=ae(ql(f.params,d.keys.filter(_=>!_.optional).concat(d.parent?d.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),c.params&&ql(c.params,d.keys.map(_=>_.name))),y=d.stringify(p)}else if(c.path!=null)y=c.path,d=n.find(_=>_.re.test(y)),d&&(p=d.parse(y),w=d.record.name);else{if(d=f.name?r.get(f.name):n.find(_=>_.re.test(f.path)),!d)throw vn(1,{location:c,currentLocation:f});w=d.record.name,p=ae({},f.params,c.params),y=d.stringify(p)}const v=[];let S=d;for(;S;)v.unshift(S.record),S=S.parent;return{name:w,path:y,params:p,matched:v,meta:sy(v)}}return e.forEach(c=>s(c)),{addRoute:s,resolve:u,removeRoute:i,getRoutes:l,getRecordMatcher:o}}function ql(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function ry(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:oy(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function oy(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Kl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function sy(e){return e.reduce((t,n)=>ae(t,n.meta),{})}function Gl(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Ou(e,t){return t.children.some(n=>n===e||Ou(e,n))}function iy(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Ss(s)):[r&&Ss(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function ly(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=rt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const ay=Symbol(""),Ql=Symbol(""),Ei=Symbol(""),Ci=Symbol(""),Ts=Symbol("");function Pn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Rt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const u=d=>{d===!1?a(vn(4,{from:n,to:t})):d instanceof Error?a(d):qm(d)?a(vn(2,{from:t,to:d})):(i&&r.enterCallbacks[o]===i&&typeof d=="function"&&i.push(d),l())},c=s(()=>e.call(r&&r.instances[o],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>a(d))})}function Bo(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(cy(a)){const c=(a.__vccOpts||a)[t];c&&s.push(Rt(c,n,r,i,l,o))}else{let u=a();s.push(()=>u.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${i.path}"`));const f=gm(c)?c.default:c;i.components[l]=f;const p=(f.__vccOpts||f)[t];return p&&Rt(p,n,r,i,l,o)()}))}}return s}function cy(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Xl(e){const t=Me(Ei),n=Me(Ci),r=_e(()=>{const a=ye(e.to);return t.resolve(a)}),o=_e(()=>{const{matched:a}=r.value,{length:u}=a,c=a[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(_n.bind(null,c));if(d>-1)return d;const p=Yl(a[u-2]);return u>1&&Yl(c)===p&&f[f.length-1].path!==p?f.findIndex(_n.bind(null,a[u-2])):d}),s=_e(()=>o.value>-1&&hy(n.params,r.value.params)),i=_e(()=>o.value>-1&&o.value===n.matched.length-1&&Pu(n.params,r.value.params));function l(a={}){return dy(a)?t[ye(e.replace)?"replace":"push"](ye(e.to)).catch(Bn):Promise.resolve()}return{route:r,href:_e(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const uy=ct({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Xl,setup(e,{slots:t}){const n=at(Xl(e)),{options:r}=Me(Ei),o=_e(()=>({[Zl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Zl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:Le("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),fy=uy;function dy(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function hy(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!rt(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function Yl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Zl=(e,t,n)=>e??t??n,py=ct({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Me(Ts),o=_e(()=>e.route||r.value),s=Me(Ql,0),i=_e(()=>{let u=ye(s);const{matched:c}=o.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),l=_e(()=>o.value.matched[i.value]);hn(Ql,_e(()=>i.value+1)),hn(ay,l),hn(Ts,o);const a=Fe();return nt(()=>[a.value,l.value,e.name],([u,c,f],[d,p,y])=>{c&&(c.instances[f]=u,p&&p!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=p.leaveGuards),c.updateGuards.size||(c.updateGuards=p.updateGuards))),u&&c&&(!p||!_n(c,p)||!d)&&(c.enterCallbacks[f]||[]).forEach(w=>w(u))},{flush:"post"}),()=>{const u=o.value,c=e.name,f=l.value,d=f&&f.components[c];if(!d)return ea(n.default,{Component:d,route:u});const p=f.props[c],y=p?p===!0?u.params:typeof p=="function"?p(u):p:null,v=Le(d,ae({},y,t,{onVnodeUnmounted:S=>{S.component.isUnmounted&&(f.instances[c]=null)},ref:a}));return ea(n.default,{Component:v,route:u})||v}}});function ea(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Mu=py;function gy(e){const t=ny(e.routes,e),n=e.parseQuery||iy,r=e.stringifyQuery||Jl,o=e.history,s=Pn(),i=Pn(),l=Pn(),a=Jt(Ze);let u=Ze;rn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Fo.bind(null,A=>""+A),f=Fo.bind(null,Pm),d=Fo.bind(null,Yn);function p(A,B){let F,q;return Iu(A)?(F=t.getRecordMatcher(A),q=B):q=A,t.addRoute(q,F)}function y(A){const B=t.getRecordMatcher(A);B&&t.removeRoute(B)}function w(){return t.getRoutes().map(A=>A.record)}function v(A){return!!t.getRecordMatcher(A)}function S(A,B){if(B=ae({},B||a.value),typeof A=="string"){const m=Do(n,A,B.path),C=t.resolve({path:m.path},B),I=o.createHref(m.fullPath);return ae(m,C,{params:d(C.params),hash:Yn(m.hash),redirectedFrom:void 0,href:I})}let F;if(A.path!=null)F=ae({},A,{path:Do(n,A.path,B.path).path});else{const m=ae({},A.params);for(const C in m)m[C]==null&&delete m[C];F=ae({},A,{params:f(m)}),B.params=f(B.params)}const q=t.resolve(F,B),le=A.hash||"";q.params=c(d(q.params));const ge=Im(r,ae({},A,{hash:Sm(le),path:q.path})),h=o.createHref(ge);return ae({fullPath:ge,hash:le,query:r===Jl?ly(A.query):A.query||{}},q,{redirectedFrom:void 0,href:h})}function _(A){return typeof A=="string"?Do(n,A,a.value.path):ae({},A)}function g(A,B){if(u!==A)return vn(8,{from:B,to:A})}function b(A){return L(A)}function E(A){return b(ae(_(A),{replace:!0}))}function x(A){const B=A.matched[A.matched.length-1];if(B&&B.redirect){const{redirect:F}=B;let q=typeof F=="function"?F(A):F;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=_(q):{path:q},q.params={}),ae({query:A.query,hash:A.hash,params:q.path!=null?{}:A.params},q)}}function L(A,B){const F=u=S(A),q=a.value,le=A.state,ge=A.force,h=A.replace===!0,m=x(F);if(m)return L(ae(_(m),{state:typeof m=="object"?ae({},le,m.state):le,force:ge,replace:h}),B||F);const C=F;C.redirectedFrom=B;let I;return!ge&&Lm(r,q,F)&&(I=vn(16,{to:C,from:q}),we(q,q,!0,!1)),(I?Promise.resolve(I):O(C,q)).catch(T=>ut(T)?ut(T,2)?T:Xe(T):U(T,C,q)).then(T=>{if(T){if(ut(T,2))return L(ae({replace:h},_(T.to),{state:typeof T.to=="object"?ae({},le,T.to.state):le,force:ge}),B||C)}else T=P(C,q,!0,h,le);return W(C,q,T),T})}function k(A,B){const F=g(A,B);return F?Promise.reject(F):Promise.resolve()}function R(A){const B=Zt.values().next().value;return B&&typeof B.runWithContext=="function"?B.runWithContext(A):A()}function O(A,B){let F;const[q,le,ge]=my(A,B);F=Bo(q.reverse(),"beforeRouteLeave",A,B);for(const m of q)m.leaveGuards.forEach(C=>{F.push(Rt(C,A,B))});const h=k.bind(null,A,B);return F.push(h),Re(F).then(()=>{F=[];for(const m of s.list())F.push(Rt(m,A,B));return F.push(h),Re(F)}).then(()=>{F=Bo(le,"beforeRouteUpdate",A,B);for(const m of le)m.updateGuards.forEach(C=>{F.push(Rt(C,A,B))});return F.push(h),Re(F)}).then(()=>{F=[];for(const m of ge)if(m.beforeEnter)if(rt(m.beforeEnter))for(const C of m.beforeEnter)F.push(Rt(C,A,B));else F.push(Rt(m.beforeEnter,A,B));return F.push(h),Re(F)}).then(()=>(A.matched.forEach(m=>m.enterCallbacks={}),F=Bo(ge,"beforeRouteEnter",A,B,R),F.push(h),Re(F))).then(()=>{F=[];for(const m of i.list())F.push(Rt(m,A,B));return F.push(h),Re(F)}).catch(m=>ut(m,8)?m:Promise.reject(m))}function W(A,B,F){l.list().forEach(q=>R(()=>q(A,B,F)))}function P(A,B,F,q,le){const ge=g(A,B);if(ge)return ge;const h=B===Ze,m=rn?history.state:{};F&&(q||h?o.replace(A.fullPath,ae({scroll:h&&m&&m.scroll},le)):o.push(A.fullPath,le)),a.value=A,we(A,B,F,h),Xe()}let K;function re(){K||(K=o.listen((A,B,F)=>{if(!pr.listening)return;const q=S(A),le=x(q);if(le){L(ae(le,{replace:!0}),q).catch(Bn);return}u=q;const ge=a.value;rn&&Dm(Bl(ge.fullPath,F.delta),vo()),O(q,ge).catch(h=>ut(h,12)?h:ut(h,2)?(L(h.to,q).then(m=>{ut(m,20)&&!F.delta&&F.type===Zn.pop&&o.go(-1,!1)}).catch(Bn),Promise.reject()):(F.delta&&o.go(-F.delta,!1),U(h,q,ge))).then(h=>{h=h||P(q,ge,!1),h&&(F.delta&&!ut(h,8)?o.go(-F.delta,!1):F.type===Zn.pop&&ut(h,20)&&o.go(-1,!1)),W(q,ge,h)}).catch(Bn)}))}let ie=Pn(),H=Pn(),z;function U(A,B,F){Xe(A);const q=H.list();return q.length?q.forEach(le=>le(A,B,F)):console.error(A),Promise.reject(A)}function ke(){return z&&a.value!==Ze?Promise.resolve():new Promise((A,B)=>{ie.add([A,B])})}function Xe(A){return z||(z=!A,re(),ie.list().forEach(([B,F])=>A?F(A):B()),ie.reset()),A}function we(A,B,F,q){const{scrollBehavior:le}=e;if(!rn||!le)return Promise.resolve();const ge=!F&&Bm(Bl(A.fullPath,0))||(q||!F)&&history.state&&history.state.scroll||null;return En().then(()=>le(A,B,ge)).then(h=>h&&Fm(h)).catch(h=>U(h,A,B))}const Ne=A=>o.go(A);let Yt;const Zt=new Set,pr={currentRoute:a,listening:!0,addRoute:p,removeRoute:y,hasRoute:v,getRoutes:w,resolve:S,options:e,push:b,replace:E,go:Ne,back:()=>Ne(-1),forward:()=>Ne(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:H.add,isReady:ke,install(A){const B=this;A.component("RouterLink",fy),A.component("RouterView",Mu),A.config.globalProperties.$router=B,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>ye(a)}),rn&&!Yt&&a.value===Ze&&(Yt=!0,b(o.location).catch(le=>{}));const F={};for(const le in Ze)Object.defineProperty(F,le,{get:()=>a.value[le],enumerable:!0});A.provide(Ei,B),A.provide(Ci,or(F)),A.provide(Ts,a);const q=A.unmount;Zt.add(A),A.unmount=function(){Zt.delete(A),Zt.size<1&&(u=Ze,K&&K(),K=null,a.value=Ze,Yt=!1,z=!1),q()}}};function Re(A){return A.reduce((B,F)=>B.then(()=>R(F)),Promise.resolve())}return pr}function my(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;i_n(u,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>_n(u,a))||o.push(a))}return[n,r,o]}function Sw(){return Me(Ci)}const yy=(e,t)=>t.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""}),Ps=(e,t)=>{const n=e.route.matched.find(o=>{var s;return((s=o.components)==null?void 0:s.default)===e.Component.type}),r=t??(n==null?void 0:n.meta.key)??(n&&yy(e.route,n));return typeof r=="function"?r(e.route):r},by=(e,t)=>({default:()=>e?Le(Ad,e===!0?{}:e,t):t});function Si(e){return Array.isArray(e)?e:[e]}const _y="modulepreload",vy=function(e,t){return e[0]==="."?new URL(e,t).href:e},ta={},wy=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.all(n.map(a=>{if(a=vy(a,r),a in ta)return;ta[a]=!0;const u=a.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(!!r)for(let p=s.length-1;p>=0;p--){const y=s[p];if(y.href===a&&(!u||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${c}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":_y,u||(d.as="script",d.crossOrigin=""),d.href=a,l&&d.setAttribute("nonce",l),document.head.appendChild(d),u)return new Promise((p,y)=>{d.addEventListener("load",p),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${a}`)))})}))}return o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},Z=(...e)=>wy(...e).catch(t=>{const n=new Event("nuxt.preloadError");throw n.payload=t,window.dispatchEvent(n),t}),Vo=null,Uo=null,na=[{name:"index",path:"/",meta:{},alias:[],redirect:Vo==null?void 0:Vo.redirect,component:()=>Z(()=>import("./_pgRj0dJ.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(e=>e.default||e)},{name:"workflow-id",path:"/workflow/:id()",meta:{},alias:[],redirect:Uo==null?void 0:Uo.redirect,component:()=>Z(()=>import("./D5vXOEyf.js"),__vite__mapDeps([3,1,2,4]),import.meta.url).then(e=>e.default||e)}],xy=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?Le(e,t,n):(r=n.default)==null?void 0:r.call(n)}});function ra(e){const t=(e==null?void 0:e.meta.key)??e.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""});return typeof t=="function"?t(e):t}function Ey(e,t){return e===t||t===Ze?!1:ra(e)!==ra(t)?!0:!e.matched.every((r,o)=>{var s,i;return r.components&&r.components.default===((i=(s=t.matched[o])==null?void 0:s.components)==null?void 0:i.default)})}const Cy={scrollBehavior(e,t,n){var u;const r=ue(),o=((u=Qe().options)==null?void 0:u.scrollBehaviorType)??"auto";let s=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!s&&t&&e&&i!==!1&&Ey(e,t)&&(s={left:0,top:0}),e.path===t.path)return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:oa(e.hash),behavior:o}:!1;const l=c=>!!(c.meta.pageTransition??Cs),a=l(t)&&l(e)?"page:transition:finish":"page:finish";return new Promise(c=>{r.hooks.hookOnce(a,async()=>{await new Promise(f=>setTimeout(f,0)),e.hash&&(s={el:e.hash,top:oa(e.hash),behavior:o}),c(s)})})}};function oa(e){try{const t=document.querySelector(e);if(t)return parseFloat(getComputedStyle(t).scrollMarginTop)}catch{}return 0}const Sy={hashMode:!1,scrollBehaviorType:"auto"},Ve={...Sy,...Cy},ky=async e=>{var a;let t,n;if(!((a=e.meta)!=null&&a.validate))return;const r=ue(),o=Qe();if(([t,n]=Xn(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=bo({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}}),l=o.beforeResolve(u=>{if(l(),u===e){const c=o.afterEach(async()=>{c(),await r.runWithContext(()=>on(i)),window.history.pushState({},"",e.fullPath)});return!1}})},Ty=async e=>{let t,n;const r=([t,n]=Xn(()=>wi(e.path)),t=await t,n(),t);if(r.redirect)return mt(r.redirect,{acceptRelative:!0})?(window.location.href=r.redirect,!1):r.redirect},Py=[ky,Ty],Un={};function Ry(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const u=s.includes(e.slice(i))?e.slice(i).length:1;let c=s.slice(u);return c[0]!=="/"&&(c="/"+c),Sl(c,"")}const l=Sl(r,e),a=!n||mp(l,n,{trailingSlash:!0})?l:n;return a+(a.includes("?")?"":o)+s}const Ay=$e({name:"nuxt:router",enforce:"pre",async setup(e){var v,S;let t,n,r=fr().app.baseURL;Ve.hashMode&&!r.includes("#")&&(r+="#");const o=((v=Ve.history)==null?void 0:v.call(Ve,r))??(Ve.hashMode?Wm(r):Au(r)),s=((S=Ve.routes)==null?void 0:S.call(Ve,na))??na;let i;const l=gy({...Ve,scrollBehavior:(_,g,b)=>{if(g===Ze){i=b;return}if(Ve.scrollBehavior){if(l.options.scrollBehavior=Ve.scrollBehavior,"scrollRestoration"in window.history){const E=l.beforeEach(()=>{E(),window.history.scrollRestoration="manual"})}return Ve.scrollBehavior(_,Ze,i||b)}},history:o,routes:s});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(l);const a=Jt(l.currentRoute.value);l.afterEach((_,g)=>{a.value=g}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>a.value});const u=Ry(r,window.location,e.payload.path),c=Jt(l.currentRoute.value),f=()=>{c.value=l.currentRoute.value};e.hook("page:finish",f),l.afterEach((_,g)=>{var b,E,x,L;((E=(b=_.matched[0])==null?void 0:b.components)==null?void 0:E.default)===((L=(x=g.matched[0])==null?void 0:x.components)==null?void 0:L.default)&&f()});const d={};for(const _ in c.value)Object.defineProperty(d,_,{get:()=>c.value[_]});e._route=or(d),e._middleware=e._middleware||{global:[],named:{}};try{[t,n]=Xn(()=>l.isReady()),await t,n()}catch(_){[t,n]=Xn(()=>e.runWithContext(()=>on(_))),await t,n()}const p=u!==l.currentRoute.value.fullPath?l.resolve(u):l.currentRoute.value;f();const y=e.payload.state._layout;l.beforeEach(async(_,g)=>{var b;await e.callHook("page:loading:start"),_.meta=at(_.meta),e.isHydrating&&y&&!gn(_.meta.layout)&&(_.meta.layout=y),e._processingMiddleware=!0;{const E=new Set([...Py,...e._middleware.global]);for(const x of _.matched){const L=x.meta.middleware;if(L)for(const k of Si(L))E.add(k)}{const x=await e.runWithContext(()=>wi(_.path));if(x.appMiddleware)for(const L in x.appMiddleware)x.appMiddleware[L]?E.add(L):E.delete(L)}for(const x of E){const L=typeof x=="string"?e._middleware.named[x]||await((b=Un[x])==null?void 0:b.call(Un).then(R=>R.default||R)):x;if(!L)throw new Error(`Unknown route middleware: '${x}'.`);const k=await e.runWithContext(()=>L(_,g));if(!e.payload.serverRendered&&e.isHydrating&&(k===!1||k instanceof Error)){const R=k||vs({statusCode:404,statusMessage:`Page Not Found: ${u}`});return await e.runWithContext(()=>on(R)),!1}if(k!==!0&&(k||k===!1))return k}}}),l.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")});const w=yo();return l.afterEach(async(_,g,b)=>{delete e._processingMiddleware,!e.isHydrating&&w.value&&await e.runWithContext(ag),b&&await e.callHook("page:loading:end"),_.matched.length===0&&await e.runWithContext(()=>on(vs({statusCode:404,fatal:!1,statusMessage:`Page not found: ${_.fullPath}`,data:{path:_.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{"name"in p&&(p.name=void 0),await l.replace({...p,force:!0}),l.options.scrollBehavior=Ve.scrollBehavior}catch(_){await e.runWithContext(()=>on(_))}}),{provide:{router:l}}}}),Rs=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),Iy=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),ki=e=>{const t=ue();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{Rs(e)}):Rs(e)},Ly=$e({name:"nuxt:payload",setup(e){Qe().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await jl(t.path);r&&Object.assign(e.static.data,r.data)}),ki(()=>{var t;e.hooks.hook("link:prefetch",async n=>{ur(n).protocol||await jl(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(_o,1e3)})}}),Oy=$e(e=>{let t;async function n(){const r=await _o();t&&clearTimeout(t),t=setTimeout(n,1e3*60*60);try{const o=await $fetch(mi("builds/latest.json")+`?${Date.now()}`);o.id!==r.id&&e.hooks.callHook("app:manifest:update",o)}catch{}}ki(()=>{t=setTimeout(n,1e3*60*60)})}),My=!1;/*! + */const rn=typeof document<"u";function gm(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ae=Object.assign;function Fo(e,t){const n={};for(const r in t){const o=t[r];n[r]=rt(o)?o.map(e):e(o)}return n}const Bn=()=>{},rt=Array.isArray,Eu=/#/g,mm=/&/g,ym=/\//g,bm=/=/g,_m=/\?/g,Cu=/\+/g,vm=/%5B/g,wm=/%5D/g,Su=/%5E/g,xm=/%60/g,ku=/%7B/g,Em=/%7C/g,Tu=/%7D/g,Cm=/%20/g;function xi(e){return encodeURI(""+e).replace(Em,"|").replace(vm,"[").replace(wm,"]")}function Sm(e){return xi(e).replace(ku,"{").replace(Tu,"}").replace(Su,"^")}function Ss(e){return xi(e).replace(Cu,"%2B").replace(Cm,"+").replace(Eu,"%23").replace(mm,"%26").replace(xm,"`").replace(ku,"{").replace(Tu,"}").replace(Su,"^")}function km(e){return Ss(e).replace(bm,"%3D")}function Tm(e){return xi(e).replace(Eu,"%23").replace(_m,"%3F")}function Pm(e){return e==null?"":Tm(e).replace(ym,"%2F")}function Yn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Rm=/\/$/,Am=e=>e.replace(Rm,"");function Do(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),s=t.slice(a+1,l>-1?l:t.length),o=e(s)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=Mm(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:Yn(i)}}function Im(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Fl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Lm(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&_n(t.matched[r],n.matched[o])&&Pu(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function _n(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Pu(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Om(e[n],t[n]))return!1;return!0}function Om(e,t){return rt(e)?Dl(e,t):rt(t)?Dl(t,e):e===t}function Dl(e,t){return rt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Mm(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,l;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}var Zn;(function(e){e.pop="pop",e.push="push"})(Zn||(Zn={}));var Vn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Vn||(Vn={}));function $m(e){if(!e)if(rn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Am(e)}const Nm=/^[^#]+#/;function jm(e,t){return e.replace(Nm,"#")+t}function Hm(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const vo=()=>({left:window.scrollX,top:window.scrollY});function Fm(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Hm(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Bl(e,t){return(history.state?history.state.position-t:-1)+e}const ks=new Map;function Dm(e,t){ks.set(e,t)}function Bm(e){const t=ks.get(e);return ks.delete(e),t}let Vm=()=>location.protocol+"//"+location.host;function Ru(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let l=o.includes(e.slice(s))?e.slice(s).length:1,a=o.slice(l);return a[0]!=="/"&&(a="/"+a),Fl(a,"")}return Fl(n,e)+r+o}function Um(e,t,n,r){let o=[],s=[],i=null;const l=({state:d})=>{const p=Ru(e,location),y=n.value,w=t.value;let v=0;if(d){if(n.value=p,t.value=d,i&&i===y){i=null;return}v=w?d.position-w.position:0}else r(p);o.forEach(S=>{S(n.value,y,{delta:v,type:Zn.pop,direction:v?v>0?Vn.forward:Vn.back:Vn.unknown})})};function a(){i=n.value}function u(d){o.push(d);const p=()=>{const y=o.indexOf(d);y>-1&&o.splice(y,1)};return s.push(p),p}function c(){const{history:d}=window;d.state&&d.replaceState(ae({},d.state,{scroll:vo()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:a,listen:u,destroy:f}}function Vl(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?vo():null}}function zm(e){const{history:t,location:n}=window,r={value:Ru(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:Vm()+e+a;try{t[c?"replaceState":"pushState"](u,"",d),o.value=u}catch(p){console.error(p),n[c?"replace":"assign"](d)}}function i(a,u){const c=ae({},t.state,Vl(o.value.back,a,o.value.forward,!0),u,{position:o.value.position});s(a,c,!0),r.value=a}function l(a,u){const c=ae({},o.value,t.state,{forward:a,scroll:vo()});s(c.current,c,!0);const f=ae({},Vl(r.value,a,null),{position:c.position+1},u);s(a,f,!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function Au(e){e=$m(e);const t=zm(e),n=Um(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=ae({location:"",base:e,go:r,createHref:jm.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Wm(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Au(e)}function qm(e){return typeof e=="string"||e&&typeof e=="object"}function Iu(e){return typeof e=="string"||typeof e=="symbol"}const Ze={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Lu=Symbol("");var Ul;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ul||(Ul={}));function vn(e,t){return ae(new Error,{type:e,[Lu]:!0},t)}function ut(e,t){return e instanceof Error&&Lu in e&&(t==null||!!(e.type&t))}const zl="[^/]+?",Km={sensitive:!1,strict:!1,start:!0,end:!0},Gm=/[.+*?^${}()[\]/\\]/g;function Jm(e,t){const n=ae({},Km,t),r=[];let o=n.start?"^":"";const s=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function Xm(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Ym={type:0,value:""},Zm=/[a-zA-Z0-9_]/;function ey(e){if(!e)return[[]];if(e==="/")return[[Ym]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${u}": ${p}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,u="",c="";function f(){u&&(n===0?s.push({type:0,value:u}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=a}for(;l{i(_)}:Bn}function i(c){if(Iu(c)){const f=r.get(c);f&&(r.delete(c),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(c);f>-1&&(n.splice(f,1),c.record.name&&r.delete(c.record.name),c.children.forEach(i),c.alias.forEach(i))}}function l(){return n}function a(c){let f=0;for(;f=0&&(c.record.path!==n[f].record.path||!Ou(c,n[f]));)f++;n.splice(f,0,c),c.record.name&&!Kl(c)&&r.set(c.record.name,c)}function u(c,f){let d,p={},y,w;if("name"in c&&c.name){if(d=r.get(c.name),!d)throw vn(1,{location:c});w=d.record.name,p=ae(ql(f.params,d.keys.filter(_=>!_.optional).concat(d.parent?d.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),c.params&&ql(c.params,d.keys.map(_=>_.name))),y=d.stringify(p)}else if(c.path!=null)y=c.path,d=n.find(_=>_.re.test(y)),d&&(p=d.parse(y),w=d.record.name);else{if(d=f.name?r.get(f.name):n.find(_=>_.re.test(f.path)),!d)throw vn(1,{location:c,currentLocation:f});w=d.record.name,p=ae({},f.params,c.params),y=d.stringify(p)}const v=[];let S=d;for(;S;)v.unshift(S.record),S=S.parent;return{name:w,path:y,params:p,matched:v,meta:sy(v)}}return e.forEach(c=>s(c)),{addRoute:s,resolve:u,removeRoute:i,getRoutes:l,getRecordMatcher:o}}function ql(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function ry(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:oy(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function oy(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Kl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function sy(e){return e.reduce((t,n)=>ae(t,n.meta),{})}function Gl(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Ou(e,t){return t.children.some(n=>n===e||Ou(e,n))}function iy(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Ss(s)):[r&&Ss(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function ly(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=rt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const ay=Symbol(""),Ql=Symbol(""),Ei=Symbol(""),Ci=Symbol(""),Ts=Symbol("");function Pn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Rt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const u=d=>{d===!1?a(vn(4,{from:n,to:t})):d instanceof Error?a(d):qm(d)?a(vn(2,{from:t,to:d})):(i&&r.enterCallbacks[o]===i&&typeof d=="function"&&i.push(d),l())},c=s(()=>e.call(r&&r.instances[o],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>a(d))})}function Bo(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(cy(a)){const c=(a.__vccOpts||a)[t];c&&s.push(Rt(c,n,r,i,l,o))}else{let u=a();s.push(()=>u.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${i.path}"`));const f=gm(c)?c.default:c;i.components[l]=f;const p=(f.__vccOpts||f)[t];return p&&Rt(p,n,r,i,l,o)()}))}}return s}function cy(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Xl(e){const t=Me(Ei),n=Me(Ci),r=_e(()=>{const a=ye(e.to);return t.resolve(a)}),o=_e(()=>{const{matched:a}=r.value,{length:u}=a,c=a[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(_n.bind(null,c));if(d>-1)return d;const p=Yl(a[u-2]);return u>1&&Yl(c)===p&&f[f.length-1].path!==p?f.findIndex(_n.bind(null,a[u-2])):d}),s=_e(()=>o.value>-1&&hy(n.params,r.value.params)),i=_e(()=>o.value>-1&&o.value===n.matched.length-1&&Pu(n.params,r.value.params));function l(a={}){return dy(a)?t[ye(e.replace)?"replace":"push"](ye(e.to)).catch(Bn):Promise.resolve()}return{route:r,href:_e(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const uy=ct({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Xl,setup(e,{slots:t}){const n=at(Xl(e)),{options:r}=Me(Ei),o=_e(()=>({[Zl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Zl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:Le("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),fy=uy;function dy(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function hy(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!rt(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function Yl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Zl=(e,t,n)=>e??t??n,py=ct({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Me(Ts),o=_e(()=>e.route||r.value),s=Me(Ql,0),i=_e(()=>{let u=ye(s);const{matched:c}=o.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),l=_e(()=>o.value.matched[i.value]);hn(Ql,_e(()=>i.value+1)),hn(ay,l),hn(Ts,o);const a=Fe();return nt(()=>[a.value,l.value,e.name],([u,c,f],[d,p,y])=>{c&&(c.instances[f]=u,p&&p!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=p.leaveGuards),c.updateGuards.size||(c.updateGuards=p.updateGuards))),u&&c&&(!p||!_n(c,p)||!d)&&(c.enterCallbacks[f]||[]).forEach(w=>w(u))},{flush:"post"}),()=>{const u=o.value,c=e.name,f=l.value,d=f&&f.components[c];if(!d)return ea(n.default,{Component:d,route:u});const p=f.props[c],y=p?p===!0?u.params:typeof p=="function"?p(u):p:null,v=Le(d,ae({},y,t,{onVnodeUnmounted:S=>{S.component.isUnmounted&&(f.instances[c]=null)},ref:a}));return ea(n.default,{Component:v,route:u})||v}}});function ea(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Mu=py;function gy(e){const t=ny(e.routes,e),n=e.parseQuery||iy,r=e.stringifyQuery||Jl,o=e.history,s=Pn(),i=Pn(),l=Pn(),a=Jt(Ze);let u=Ze;rn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Fo.bind(null,A=>""+A),f=Fo.bind(null,Pm),d=Fo.bind(null,Yn);function p(A,B){let F,q;return Iu(A)?(F=t.getRecordMatcher(A),q=B):q=A,t.addRoute(q,F)}function y(A){const B=t.getRecordMatcher(A);B&&t.removeRoute(B)}function w(){return t.getRoutes().map(A=>A.record)}function v(A){return!!t.getRecordMatcher(A)}function S(A,B){if(B=ae({},B||a.value),typeof A=="string"){const m=Do(n,A,B.path),C=t.resolve({path:m.path},B),I=o.createHref(m.fullPath);return ae(m,C,{params:d(C.params),hash:Yn(m.hash),redirectedFrom:void 0,href:I})}let F;if(A.path!=null)F=ae({},A,{path:Do(n,A.path,B.path).path});else{const m=ae({},A.params);for(const C in m)m[C]==null&&delete m[C];F=ae({},A,{params:f(m)}),B.params=f(B.params)}const q=t.resolve(F,B),le=A.hash||"";q.params=c(d(q.params));const ge=Im(r,ae({},A,{hash:Sm(le),path:q.path})),h=o.createHref(ge);return ae({fullPath:ge,hash:le,query:r===Jl?ly(A.query):A.query||{}},q,{redirectedFrom:void 0,href:h})}function _(A){return typeof A=="string"?Do(n,A,a.value.path):ae({},A)}function g(A,B){if(u!==A)return vn(8,{from:B,to:A})}function b(A){return L(A)}function E(A){return b(ae(_(A),{replace:!0}))}function x(A){const B=A.matched[A.matched.length-1];if(B&&B.redirect){const{redirect:F}=B;let q=typeof F=="function"?F(A):F;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=_(q):{path:q},q.params={}),ae({query:A.query,hash:A.hash,params:q.path!=null?{}:A.params},q)}}function L(A,B){const F=u=S(A),q=a.value,le=A.state,ge=A.force,h=A.replace===!0,m=x(F);if(m)return L(ae(_(m),{state:typeof m=="object"?ae({},le,m.state):le,force:ge,replace:h}),B||F);const C=F;C.redirectedFrom=B;let I;return!ge&&Lm(r,q,F)&&(I=vn(16,{to:C,from:q}),we(q,q,!0,!1)),(I?Promise.resolve(I):O(C,q)).catch(T=>ut(T)?ut(T,2)?T:Xe(T):U(T,C,q)).then(T=>{if(T){if(ut(T,2))return L(ae({replace:h},_(T.to),{state:typeof T.to=="object"?ae({},le,T.to.state):le,force:ge}),B||C)}else T=P(C,q,!0,h,le);return W(C,q,T),T})}function k(A,B){const F=g(A,B);return F?Promise.reject(F):Promise.resolve()}function R(A){const B=Zt.values().next().value;return B&&typeof B.runWithContext=="function"?B.runWithContext(A):A()}function O(A,B){let F;const[q,le,ge]=my(A,B);F=Bo(q.reverse(),"beforeRouteLeave",A,B);for(const m of q)m.leaveGuards.forEach(C=>{F.push(Rt(C,A,B))});const h=k.bind(null,A,B);return F.push(h),Re(F).then(()=>{F=[];for(const m of s.list())F.push(Rt(m,A,B));return F.push(h),Re(F)}).then(()=>{F=Bo(le,"beforeRouteUpdate",A,B);for(const m of le)m.updateGuards.forEach(C=>{F.push(Rt(C,A,B))});return F.push(h),Re(F)}).then(()=>{F=[];for(const m of ge)if(m.beforeEnter)if(rt(m.beforeEnter))for(const C of m.beforeEnter)F.push(Rt(C,A,B));else F.push(Rt(m.beforeEnter,A,B));return F.push(h),Re(F)}).then(()=>(A.matched.forEach(m=>m.enterCallbacks={}),F=Bo(ge,"beforeRouteEnter",A,B,R),F.push(h),Re(F))).then(()=>{F=[];for(const m of i.list())F.push(Rt(m,A,B));return F.push(h),Re(F)}).catch(m=>ut(m,8)?m:Promise.reject(m))}function W(A,B,F){l.list().forEach(q=>R(()=>q(A,B,F)))}function P(A,B,F,q,le){const ge=g(A,B);if(ge)return ge;const h=B===Ze,m=rn?history.state:{};F&&(q||h?o.replace(A.fullPath,ae({scroll:h&&m&&m.scroll},le)):o.push(A.fullPath,le)),a.value=A,we(A,B,F,h),Xe()}let K;function re(){K||(K=o.listen((A,B,F)=>{if(!pr.listening)return;const q=S(A),le=x(q);if(le){L(ae(le,{replace:!0}),q).catch(Bn);return}u=q;const ge=a.value;rn&&Dm(Bl(ge.fullPath,F.delta),vo()),O(q,ge).catch(h=>ut(h,12)?h:ut(h,2)?(L(h.to,q).then(m=>{ut(m,20)&&!F.delta&&F.type===Zn.pop&&o.go(-1,!1)}).catch(Bn),Promise.reject()):(F.delta&&o.go(-F.delta,!1),U(h,q,ge))).then(h=>{h=h||P(q,ge,!1),h&&(F.delta&&!ut(h,8)?o.go(-F.delta,!1):F.type===Zn.pop&&ut(h,20)&&o.go(-1,!1)),W(q,ge,h)}).catch(Bn)}))}let ie=Pn(),H=Pn(),z;function U(A,B,F){Xe(A);const q=H.list();return q.length?q.forEach(le=>le(A,B,F)):console.error(A),Promise.reject(A)}function ke(){return z&&a.value!==Ze?Promise.resolve():new Promise((A,B)=>{ie.add([A,B])})}function Xe(A){return z||(z=!A,re(),ie.list().forEach(([B,F])=>A?F(A):B()),ie.reset()),A}function we(A,B,F,q){const{scrollBehavior:le}=e;if(!rn||!le)return Promise.resolve();const ge=!F&&Bm(Bl(A.fullPath,0))||(q||!F)&&history.state&&history.state.scroll||null;return En().then(()=>le(A,B,ge)).then(h=>h&&Fm(h)).catch(h=>U(h,A,B))}const Ne=A=>o.go(A);let Yt;const Zt=new Set,pr={currentRoute:a,listening:!0,addRoute:p,removeRoute:y,hasRoute:v,getRoutes:w,resolve:S,options:e,push:b,replace:E,go:Ne,back:()=>Ne(-1),forward:()=>Ne(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:H.add,isReady:ke,install(A){const B=this;A.component("RouterLink",fy),A.component("RouterView",Mu),A.config.globalProperties.$router=B,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>ye(a)}),rn&&!Yt&&a.value===Ze&&(Yt=!0,b(o.location).catch(le=>{}));const F={};for(const le in Ze)Object.defineProperty(F,le,{get:()=>a.value[le],enumerable:!0});A.provide(Ei,B),A.provide(Ci,or(F)),A.provide(Ts,a);const q=A.unmount;Zt.add(A),A.unmount=function(){Zt.delete(A),Zt.size<1&&(u=Ze,K&&K(),K=null,a.value=Ze,Yt=!1,z=!1),q()}}};function Re(A){return A.reduce((B,F)=>B.then(()=>R(F)),Promise.resolve())}return pr}function my(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;i_n(u,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>_n(u,a))||o.push(a))}return[n,r,o]}function Sw(){return Me(Ci)}const yy=(e,t)=>t.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""}),Ps=(e,t)=>{const n=e.route.matched.find(o=>{var s;return((s=o.components)==null?void 0:s.default)===e.Component.type}),r=t??(n==null?void 0:n.meta.key)??(n&&yy(e.route,n));return typeof r=="function"?r(e.route):r},by=(e,t)=>({default:()=>e?Le(Ad,e===!0?{}:e,t):t});function Si(e){return Array.isArray(e)?e:[e]}const _y="modulepreload",vy=function(e,t){return e[0]==="."?new URL(e,t).href:e},ta={},wy=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.all(n.map(a=>{if(a=vy(a,r),a in ta)return;ta[a]=!0;const u=a.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(!!r)for(let p=s.length-1;p>=0;p--){const y=s[p];if(y.href===a&&(!u||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${c}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":_y,u||(d.as="script",d.crossOrigin=""),d.href=a,l&&d.setAttribute("nonce",l),document.head.appendChild(d),u)return new Promise((p,y)=>{d.addEventListener("load",p),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${a}`)))})}))}return o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},Z=(...e)=>wy(...e).catch(t=>{const n=new Event("nuxt.preloadError");throw n.payload=t,window.dispatchEvent(n),t}),Vo=null,Uo=null,na=[{name:"index",path:"/",meta:{},alias:[],redirect:Vo==null?void 0:Vo.redirect,component:()=>Z(()=>import("./Be8qMQ7y.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(e=>e.default||e)},{name:"workflow-id",path:"/workflow/:id()",meta:{},alias:[],redirect:Uo==null?void 0:Uo.redirect,component:()=>Z(()=>import("./BN9GDn3H.js").then(e=>e.by),__vite__mapDeps([3,1,2,4,5]),import.meta.url).then(e=>e.default||e)}],xy=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?Le(e,t,n):(r=n.default)==null?void 0:r.call(n)}});function ra(e){const t=(e==null?void 0:e.meta.key)??e.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""});return typeof t=="function"?t(e):t}function Ey(e,t){return e===t||t===Ze?!1:ra(e)!==ra(t)?!0:!e.matched.every((r,o)=>{var s,i;return r.components&&r.components.default===((i=(s=t.matched[o])==null?void 0:s.components)==null?void 0:i.default)})}const Cy={scrollBehavior(e,t,n){var u;const r=ue(),o=((u=Qe().options)==null?void 0:u.scrollBehaviorType)??"auto";let s=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!s&&t&&e&&i!==!1&&Ey(e,t)&&(s={left:0,top:0}),e.path===t.path)return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:oa(e.hash),behavior:o}:!1;const l=c=>!!(c.meta.pageTransition??Cs),a=l(t)&&l(e)?"page:transition:finish":"page:finish";return new Promise(c=>{r.hooks.hookOnce(a,async()=>{await new Promise(f=>setTimeout(f,0)),e.hash&&(s={el:e.hash,top:oa(e.hash),behavior:o}),c(s)})})}};function oa(e){try{const t=document.querySelector(e);if(t)return parseFloat(getComputedStyle(t).scrollMarginTop)}catch{}return 0}const Sy={hashMode:!1,scrollBehaviorType:"auto"},Ve={...Sy,...Cy},ky=async e=>{var a;let t,n;if(!((a=e.meta)!=null&&a.validate))return;const r=ue(),o=Qe();if(([t,n]=Xn(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=bo({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}}),l=o.beforeResolve(u=>{if(l(),u===e){const c=o.afterEach(async()=>{c(),await r.runWithContext(()=>on(i)),window.history.pushState({},"",e.fullPath)});return!1}})},Ty=async e=>{let t,n;const r=([t,n]=Xn(()=>wi(e.path)),t=await t,n(),t);if(r.redirect)return mt(r.redirect,{acceptRelative:!0})?(window.location.href=r.redirect,!1):r.redirect},Py=[ky,Ty],Un={};function Ry(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const u=s.includes(e.slice(i))?e.slice(i).length:1;let c=s.slice(u);return c[0]!=="/"&&(c="/"+c),Sl(c,"")}const l=Sl(r,e),a=!n||mp(l,n,{trailingSlash:!0})?l:n;return a+(a.includes("?")?"":o)+s}const Ay=$e({name:"nuxt:router",enforce:"pre",async setup(e){var v,S;let t,n,r=fr().app.baseURL;Ve.hashMode&&!r.includes("#")&&(r+="#");const o=((v=Ve.history)==null?void 0:v.call(Ve,r))??(Ve.hashMode?Wm(r):Au(r)),s=((S=Ve.routes)==null?void 0:S.call(Ve,na))??na;let i;const l=gy({...Ve,scrollBehavior:(_,g,b)=>{if(g===Ze){i=b;return}if(Ve.scrollBehavior){if(l.options.scrollBehavior=Ve.scrollBehavior,"scrollRestoration"in window.history){const E=l.beforeEach(()=>{E(),window.history.scrollRestoration="manual"})}return Ve.scrollBehavior(_,Ze,i||b)}},history:o,routes:s});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(l);const a=Jt(l.currentRoute.value);l.afterEach((_,g)=>{a.value=g}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>a.value});const u=Ry(r,window.location,e.payload.path),c=Jt(l.currentRoute.value),f=()=>{c.value=l.currentRoute.value};e.hook("page:finish",f),l.afterEach((_,g)=>{var b,E,x,L;((E=(b=_.matched[0])==null?void 0:b.components)==null?void 0:E.default)===((L=(x=g.matched[0])==null?void 0:x.components)==null?void 0:L.default)&&f()});const d={};for(const _ in c.value)Object.defineProperty(d,_,{get:()=>c.value[_]});e._route=or(d),e._middleware=e._middleware||{global:[],named:{}};try{[t,n]=Xn(()=>l.isReady()),await t,n()}catch(_){[t,n]=Xn(()=>e.runWithContext(()=>on(_))),await t,n()}const p=u!==l.currentRoute.value.fullPath?l.resolve(u):l.currentRoute.value;f();const y=e.payload.state._layout;l.beforeEach(async(_,g)=>{var b;await e.callHook("page:loading:start"),_.meta=at(_.meta),e.isHydrating&&y&&!gn(_.meta.layout)&&(_.meta.layout=y),e._processingMiddleware=!0;{const E=new Set([...Py,...e._middleware.global]);for(const x of _.matched){const L=x.meta.middleware;if(L)for(const k of Si(L))E.add(k)}{const x=await e.runWithContext(()=>wi(_.path));if(x.appMiddleware)for(const L in x.appMiddleware)x.appMiddleware[L]?E.add(L):E.delete(L)}for(const x of E){const L=typeof x=="string"?e._middleware.named[x]||await((b=Un[x])==null?void 0:b.call(Un).then(R=>R.default||R)):x;if(!L)throw new Error(`Unknown route middleware: '${x}'.`);const k=await e.runWithContext(()=>L(_,g));if(!e.payload.serverRendered&&e.isHydrating&&(k===!1||k instanceof Error)){const R=k||vs({statusCode:404,statusMessage:`Page Not Found: ${u}`});return await e.runWithContext(()=>on(R)),!1}if(k!==!0&&(k||k===!1))return k}}}),l.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")});const w=yo();return l.afterEach(async(_,g,b)=>{delete e._processingMiddleware,!e.isHydrating&&w.value&&await e.runWithContext(ag),b&&await e.callHook("page:loading:end"),_.matched.length===0&&await e.runWithContext(()=>on(vs({statusCode:404,fatal:!1,statusMessage:`Page not found: ${_.fullPath}`,data:{path:_.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{"name"in p&&(p.name=void 0),await l.replace({...p,force:!0}),l.options.scrollBehavior=Ve.scrollBehavior}catch(_){await e.runWithContext(()=>on(_))}}),{provide:{router:l}}}}),Rs=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),Iy=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),ki=e=>{const t=ue();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{Rs(e)}):Rs(e)},Ly=$e({name:"nuxt:payload",setup(e){Qe().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await jl(t.path);r&&Object.assign(e.static.data,r.data)}),ki(()=>{var t;e.hooks.hook("link:prefetch",async n=>{ur(n).protocol||await jl(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(_o,1e3)})}}),Oy=$e(e=>{let t;async function n(){const r=await _o();t&&clearTimeout(t),t=setTimeout(n,1e3*60*60);try{const o=await $fetch(mi("builds/latest.json")+`?${Date.now()}`);o.id!==r.id&&e.hooks.callHook("app:manifest:update",o)}catch{}}ki(()=>{t=setTimeout(n,1e3*60*60)})}),My=!1;/*! * pinia v2.2.4 * (c) 2024 Eduardo San Martin Morote * @license MIT - */let $u;const dr=e=>$u=e,Nu=Symbol();function As(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(zn||(zn={}));function $y(){const e=Js(!0),t=e.run(()=>Fe({}));let n=[],r=[];const o=ni({install(s){dr(o),o._a=s,s.provide(Nu,o),s.config.globalProperties.$pinia=o,r.forEach(i=>n.push(i)),r=[]},use(s){return!this._a&&!My?r.push(s):n.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const ju=()=>{};function sa(e,t,n,r=ju){e.push(t);const o=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),r())};return!n&&Da()&&If(o),o}function tn(e,...t){e.slice().forEach(n=>{n(...t)})}const Ny=e=>e(),ia=Symbol(),zo=Symbol();function Is(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];As(o)&&As(r)&&e.hasOwnProperty(n)&&!ve(r)&&!qt(r)?e[n]=Is(o,r):e[n]=r}return e}const jy=Symbol();function Hy(e){return!As(e)||!e.hasOwnProperty(jy)}const{assign:Ct}=Object;function Fy(e){return!!(ve(e)&&e.effect)}function Dy(e,t,n,r){const{state:o,actions:s,getters:i}=t,l=n.state.value[e];let a;function u(){l||(n.state.value[e]=o?o():{});const c=nd(n.state.value[e]);return Ct(c,s,Object.keys(i||{}).reduce((f,d)=>(f[d]=ni(_e(()=>{dr(n);const p=n._s.get(e);return i[d].call(p,p)})),f),{}))}return a=Hu(e,u,t,n,r,!0),a}function Hu(e,t,n={},r,o,s){let i;const l=Ct({actions:{}},n),a={deep:!0};let u,c,f=[],d=[],p;const y=r.state.value[e];!s&&!y&&(r.state.value[e]={}),Fe({});let w;function v(k){let R;u=c=!1,typeof k=="function"?(k(r.state.value[e]),R={type:zn.patchFunction,storeId:e,events:p}):(Is(r.state.value[e],k),R={type:zn.patchObject,payload:k,storeId:e,events:p});const O=w=Symbol();En().then(()=>{w===O&&(u=!0)}),c=!0,tn(f,R,r.state.value[e])}const S=s?function(){const{state:R}=n,O=R?R():{};this.$patch(W=>{Ct(W,O)})}:ju;function _(){i.stop(),f=[],d=[],r._s.delete(e)}const g=(k,R="")=>{if(ia in k)return k[zo]=R,k;const O=function(){dr(r);const W=Array.from(arguments),P=[],K=[];function re(z){P.push(z)}function ie(z){K.push(z)}tn(d,{args:W,name:O[zo],store:E,after:re,onError:ie});let H;try{H=k.apply(this&&this.$id===e?this:E,W)}catch(z){throw tn(K,z),z}return H instanceof Promise?H.then(z=>(tn(P,z),z)).catch(z=>(tn(K,z),Promise.reject(z))):(tn(P,H),H)};return O[ia]=!0,O[zo]=R,O},b={_p:r,$id:e,$onAction:sa.bind(null,d),$patch:v,$reset:S,$subscribe(k,R={}){const O=sa(f,k,R.detached,()=>W()),W=i.run(()=>nt(()=>r.state.value[e],P=>{(R.flush==="sync"?c:u)&&k({storeId:e,type:zn.direct,events:p},P)},Ct({},a,R)));return O},$dispose:_},E=at(b);r._s.set(e,E);const L=(r._a&&r._a.runWithContext||Ny)(()=>r._e.run(()=>(i=Js()).run(()=>t({action:g}))));for(const k in L){const R=L[k];if(ve(R)&&!Fy(R)||qt(R))s||(y&&Hy(R)&&(ve(R)?R.value=y[k]:Is(R,y[k])),r.state.value[e][k]=R);else if(typeof R=="function"){const O=g(R,k);L[k]=O,l.actions[k]=R}}return Ct(E,L),Ct(se(E),L),Object.defineProperty(E,"$state",{get:()=>r.state.value[e],set:k=>{v(R=>{Ct(R,k)})}}),r._p.forEach(k=>{Ct(E,i.run(()=>k({store:E,app:r._a,pinia:r,options:l})))}),y&&s&&n.hydrate&&n.hydrate(E.$state,y),u=!0,c=!0,E}function kw(e,t,n){let r,o;const s=typeof t=="function";r=e,o=s?n:t;function i(l,a){const u=ui();return l=l||(u?Me(Nu,null):null),l&&dr(l),l=$u,l._s.has(r)||(s?Hu(r,t,o,l):Dy(r,o,l)),l._s.get(r)}return i.$id=r,i}const By="$s";function Fu(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r]=e;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(r!==void 0&&typeof r!="function")throw new Error("[nuxt] [useState] init must be a function: "+r);const o=By+n,s=ue(),i=rc(s.payload.state,o);if(i.value===void 0&&r){const l=r();if(ve(l))return s.payload.state[o]=l,l;i.value=l}return i}async function Du(e,t=Qe()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||(t._routePreloaded=new Set),t._routePreloaded.has(n)))return;const o=t._preloadPromises=t._preloadPromises||[];if(o.length>4)return Promise.all(o).then(()=>Du(e,t));t._routePreloaded.add(n);const s=r.map(i=>{var l;return(l=i.components)==null?void 0:l.default}).filter(i=>typeof i=="function");for(const i of s){const l=Promise.resolve(i()).catch(()=>{}).finally(()=>o.splice(o.indexOf(l)));o.push(l)}await Promise.all(o)}function Vy(e={}){const t=e.path||window.location.pathname;let n={};try{n=Kr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires)e.find(t=>t!==void 0);function zy(e){const t=e.componentName||"NuxtLink";function n(r,o){if(!r||e.trailingSlash!=="append"&&e.trailingSlash!=="remove")return r;if(typeof r=="string")return la(r,e.trailingSlash);const s="path"in r&&r.path!==void 0?r.path:o(r).path;return{...r,name:void 0,path:la(s,e.trailingSlash)}}return ct({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},setup(r,{slots:o}){const s=Qe(),i=fr(),l=_e(()=>{const y=r.to||r.href||"";return n(y,s.resolve)}),a=_e(()=>typeof l.value=="string"&&mt(l.value,{acceptRelative:!0})),u=_e(()=>r.target&&r.target!=="_self"),c=_e(()=>r.external||u.value?!0:typeof l.value=="object"?!1:l.value===""||a.value),f=Fe(!1),d=Fe(null),p=y=>{var w;d.value=r.custom?(w=y==null?void 0:y.$el)==null?void 0:w.nextElementSibling:y==null?void 0:y.$el};if(r.prefetch!==!1&&r.noPrefetch!==!0&&r.target!=="_blank"&&!Ky()){const w=ue();let v,S=null;fo(()=>{const _=qy();ki(()=>{v=Rs(()=>{var g;(g=d==null?void 0:d.value)!=null&&g.tagName&&(S=_.observe(d.value,async()=>{S==null||S(),S=null;const b=typeof l.value=="string"?l.value:s.resolve(l.value).fullPath;await Promise.all([w.hooks.callHook("link:prefetch",b).catch(()=>{}),!c.value&&Du(l.value,s).catch(()=>{})]),f.value=!0}))})})}),ir(()=>{v&&Iy(v),S==null||S(),S=null})}return()=>{var S,_;if(!c.value){const g={ref:p,to:l.value,activeClass:r.activeClass||e.activeClass,exactActiveClass:r.exactActiveClass||e.exactActiveClass,replace:r.replace,ariaCurrentValue:r.ariaCurrentValue,custom:r.custom};return r.custom||(f.value&&(g.class=r.prefetchedClass||e.prefetchedClass),g.rel=r.rel||void 0),Le(pd("RouterLink"),g,o.default)}const y=typeof l.value=="object"?((S=s.resolve(l.value))==null?void 0:S.href)??null:l.value&&!r.external&&!a.value?n(go(i.app.baseURL,l.value),s.resolve):l.value||null,w=r.target||null,v=Uy(r.noRel?"":r.rel,e.externalRelAttribute,a.value||u.value?"noopener noreferrer":"")||null;if(r.custom){if(!o.default)return null;const g=()=>lg(y,{replace:r.replace,external:r.external});return o.default({href:y,navigate:g,get route(){if(!y)return;const b=ur(y);return{path:b.pathname,fullPath:b.pathname,get query(){return eu(b.search)},hash:b.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:y}},rel:v,target:w,isExternal:c.value,isActive:!1,isExactActive:!1})}return Le("a",{ref:d,href:y,rel:v,target:w},(_=o.default)==null?void 0:_.call(o))}}})}const Wy=zy(om);function la(e,t){const n=t==="append"?Jr:po;return mt(e)&&!e.startsWith("http")?e:n(e,!0)}function qy(){const e=ue();if(e._observer)return e._observer;let t=null;const n=new Map,r=(s,i)=>(t||(t=new IntersectionObserver(l=>{for(const a of l){const u=n.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&u&&u()}})),n.set(s,i),t.observe(s),()=>{n.delete(s),t.unobserve(s),n.size===0&&(t.disconnect(),t=null)});return e._observer={observe:r}}function Ky(){const e=navigator.connection;return!!(e&&(e.saveData||/2g/.test(e.effectiveType)))}const Gy=$e({name:"pinia",setup(e){const t=$y();return e.vueApp.use(t),dr(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}}}),Jy=te(()=>Z(()=>import("./CLvOkMre.js"),__vite__mapDeps([5,6,7,8,9,2,10,11]),import.meta.url).then(e=>e.default||e.default||e)),Qy=te(()=>Z(()=>import("./7Sy1XzGG.js"),__vite__mapDeps([12,10,11,2,9]),import.meta.url).then(e=>e.default||e.default||e)),Xy=te(()=>Z(()=>import("./Bts1nb3V.js"),__vite__mapDeps([13,11,2,9]),import.meta.url).then(e=>e.default||e.default||e)),Yy=te(()=>Z(()=>import("./BI2NzfhY.js"),__vite__mapDeps([10,11,2,9]),import.meta.url).then(e=>e.default||e.default||e)),Zy=te(()=>Z(()=>import("./Bk5l7imX.js"),__vite__mapDeps([6,7,8,9,2]),import.meta.url).then(e=>e.default||e.default||e)),e0=te(()=>Z(()=>import("./ZNOPhsdt.js"),__vite__mapDeps([14,7,8,9,2]),import.meta.url).then(e=>e.default||e.default||e)),t0=te(()=>Z(()=>import("./C7rv9HNS.js"),[],import.meta.url).then(e=>e.default||e.default||e)),n0=te(()=>Z(()=>import("./BG-Mtyn1.js"),[],import.meta.url).then(e=>e.default||e.default||e)),r0=te(()=>Z(()=>import("./DCBTzStL.js"),[],import.meta.url).then(e=>e.default||e.default||e)),o0=te(()=>Z(()=>import("./B4E6yrnf.js"),__vite__mapDeps([15,16]),import.meta.url).then(e=>e.default||e.default||e)),s0=te(()=>Z(()=>import("./CP0KRmK-.js"),__vite__mapDeps([17,18,19]),import.meta.url).then(e=>e.default||e.default||e)),i0=te(()=>Z(()=>import("./a3ITFkyq.js"),[],import.meta.url).then(e=>e.default||e.default||e)),l0=te(()=>Z(()=>import("./BOm3I9Ep.js"),__vite__mapDeps([20,18,19]),import.meta.url).then(e=>e.default||e.default||e)),a0=te(()=>Z(()=>import("./kXO4MUao.js"),[],import.meta.url).then(e=>e.default||e.default||e)),c0=te(()=>Z(()=>import("./CM2yUB0e.js"),[],import.meta.url).then(e=>e.default||e.default||e)),u0=te(()=>Z(()=>import("./f_LkCM04.js"),[],import.meta.url).then(e=>e.default||e.default||e)),f0=te(()=>Z(()=>import("./Cbi5YN8i.js"),[],import.meta.url).then(e=>e.default||e.default||e)),d0=te(()=>Z(()=>import("./BiaM9gQc.js"),[],import.meta.url).then(e=>e.default||e.default||e)),h0=te(()=>Z(()=>import("./BFGZpWx_.js"),[],import.meta.url).then(e=>e.default||e.default||e)),p0=te(()=>Z(()=>import("./CigpWje-.js"),[],import.meta.url).then(e=>e.default||e.default||e)),g0=te(()=>Z(()=>import("./82jccFBt.js"),[],import.meta.url).then(e=>e.default||e.default||e)),m0=te(()=>Z(()=>import("./Btv4BgYl.js"),[],import.meta.url).then(e=>e.default||e.default||e)),y0=te(()=>Z(()=>import("./CkbuisaA.js"),[],import.meta.url).then(e=>e.default||e.default||e)),b0=te(()=>Z(()=>import("./0lDBlFmI.js"),[],import.meta.url).then(e=>e.default||e.default||e)),_0=te(()=>Z(()=>import("./B63kVRHZ.js"),[],import.meta.url).then(e=>e.default||e.default||e)),v0=te(()=>Z(()=>import("./BFdqArbZ.js"),[],import.meta.url).then(e=>e.default||e.default||e)),w0=te(()=>Z(()=>import("./BHweTIhu.js"),[],import.meta.url).then(e=>e.default||e.default||e)),x0=te(()=>Z(()=>import("./DFoqy8oA.js"),[],import.meta.url).then(e=>e.default||e.default||e)),E0=te(()=>Z(()=>import("./dDnsVHSO.js"),[],import.meta.url).then(e=>e.default||e.default||e)),C0=te(()=>Z(()=>import("./C6I_uMOn.js"),[],import.meta.url).then(e=>e.default||e.default||e)),S0=te(()=>Z(()=>import("./CWcjv5hM.js"),[],import.meta.url).then(e=>e.default||e.default||e)),k0=te(()=>Z(()=>import("./DPN-xNBM.js"),[],import.meta.url).then(e=>e.default||e.default||e)),T0=te(()=>Z(()=>import("./BjkRZCrk.js"),[],import.meta.url).then(e=>e.default||e.default||e)),P0=te(()=>Z(()=>import("./CN5ytbgz.js"),[],import.meta.url).then(e=>e.default||e.default||e)),R0=te(()=>Z(()=>import("./COcyib0V.js"),[],import.meta.url).then(e=>e.default||e.default||e)),A0=te(()=>Z(()=>import("./DcU2AYcU.js"),[],import.meta.url).then(e=>e.default||e.default||e)),I0=te(()=>Z(()=>Promise.resolve().then(()=>Uv),void 0,import.meta.url).then(e=>e.default||e.default||e)),L0=[["ContentDoc",Jy],["ContentList",Qy],["ContentNavigation",Xy],["ContentQuery",Yy],["ContentRenderer",Zy],["ContentRendererMarkdown",e0],["MDCSlot",t0],["DocumentDrivenEmpty",n0],["DocumentDrivenNotFound",r0],["Markdown",o0],["ProseCode",s0],["ProseCodeInline",i0],["ProsePre",l0],["ProseA",a0],["ProseBlockquote",c0],["ProseEm",u0],["ProseH1",f0],["ProseH2",d0],["ProseH3",h0],["ProseH4",p0],["ProseH5",g0],["ProseH6",m0],["ProseHr",y0],["ProseImg",b0],["ProseLi",_0],["ProseOl",v0],["ProseP",w0],["ProseScript",x0],["ProseStrong",E0],["ProseTable",C0],["ProseTbody",S0],["ProseTd",k0],["ProseTh",T0],["ProseThead",P0],["ProseTr",R0],["ProseUl",A0],["Icon",I0]],O0=$e({name:"nuxt:global-components",setup(e){for(const[t,n]of L0)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),kr={default:()=>Z(()=>import("./DM5ltnW9.js"),[],import.meta.url).then(e=>e.default||e)},M0=$e({name:"nuxt:prefetch",setup(e){const t=Qe();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var o;const r=(o=n==null?void 0:n.meta)==null?void 0:o.layout;r&&typeof kr[r]=="function"&&await kr[r]()})}),e.hooks.hook("link:prefetch",n=>{if(mt(n))return;const r=t.resolve(n);if(!r)return;const o=r.meta.layout;let s=Si(r.meta.middleware);s=s.filter(i=>typeof i=="string");for(const i of s)typeof Un[i]=="function"&&Un[i]();o&&typeof kr[o]=="function"&&kr[o]()})}}),$0=Symbol("nuxt-ui.slideover"),N0=$e(e=>{const t=Jt({component:"div",props:{}});e.vueApp.provide($0,t)}),j0=Symbol("nuxt-ui.modal"),H0=$e(e=>{const t=Jt({component:"div",props:{}});e.vueApp.provide(j0,t)}),Ti="-",F0=e=>{const t=B0(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{const l=i.split(Ti);return l[0]===""&&l.length!==1&&l.shift(),Bu(l,t)||D0(i)},getConflictingClassGroupIds:(i,l)=>{const a=n[i]||[];return l&&r[i]?[...a,...r[i]]:a}}},Bu=(e,t)=>{var i;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),o=r?Bu(e.slice(1),r):void 0;if(o)return o;if(t.validators.length===0)return;const s=e.join(Ti);return(i=t.validators.find(({validator:l})=>l(s)))==null?void 0:i.classGroupId},aa=/^\[(.+)\]$/,D0=e=>{if(aa.test(e)){const t=aa.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},B0=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return U0(Object.entries(e.classGroups),n).forEach(([s,i])=>{Ls(i,r,s,t)}),r},Ls=(e,t,n,r)=>{e.forEach(o=>{if(typeof o=="string"){const s=o===""?t:ca(t,o);s.classGroupId=n;return}if(typeof o=="function"){if(V0(o)){Ls(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([s,i])=>{Ls(i,ca(t,s),n,r)})})},ca=(e,t)=>{let n=e;return t.split(Ti).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},V0=e=>e.isThemeGetter,U0=(e,t)=>t?e.map(([n,r])=>{const o=r.map(s=>typeof s=="string"?t+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([i,l])=>[t+i,l])):s);return[n,o]}):e,z0=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const o=(s,i)=>{n.set(s,i),t++,t>e&&(t=0,r=n,n=new Map)};return{get(s){let i=n.get(s);if(i!==void 0)return i;if((i=r.get(s))!==void 0)return o(s,i),i},set(s,i){n.has(s)?n.set(s,i):o(s,i)}}},Vu="!",W0=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,o=t[0],s=t.length,i=l=>{const a=[];let u=0,c=0,f;for(let v=0;vc?f-c:void 0;return{modifiers:a,hasImportantModifier:p,baseClassName:y,maybePostfixModifierPosition:w}};return n?l=>n({className:l,parseClassName:i}):i},q0=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t},K0=e=>({cache:z0(e.cacheSize),parseClassName:W0(e),...F0(e)}),G0=/\s+/,J0=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,s=[],i=e.trim().split(G0);let l="";for(let a=i.length-1;a>=0;a-=1){const u=i[a],{modifiers:c,hasImportantModifier:f,baseClassName:d,maybePostfixModifierPosition:p}=n(u);let y=!!p,w=r(y?d.substring(0,p):d);if(!w){if(!y){l=u+(l.length>0?" "+l:l);continue}if(w=r(d),!w){l=u+(l.length>0?" "+l:l);continue}y=!1}const v=q0(c).join(":"),S=f?v+Vu:v,_=S+w;if(s.includes(_))continue;s.push(_);const g=o(w,y);for(let b=0;b0?" "+l:l)}return l};function Q0(){let e=0,t,n,r="";for(;e{if(typeof e=="string")return e;let t,n="";for(let r=0;rf(c),e());return n=K0(u),r=n.cache.get,o=n.cache.set,s=l,l(a)}function l(a){const u=r(a);if(u)return u;const c=J0(a,n);return o(a,c),c}return function(){return s(Q0.apply(null,arguments))}}const he=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},zu=/^\[(?:([a-z-]+):)?(.+)\]$/i,X0=/^\d+\/\d+$/,Y0=new Set(["px","full","screen"]),Z0=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,eb=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,tb=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,nb=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,rb=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ft=e=>pn(e)||Y0.has(e)||X0.test(e),xt=e=>Cn(e,"length",fb),pn=e=>!!e&&!Number.isNaN(Number(e)),Wo=e=>Cn(e,"number",pn),Rn=e=>!!e&&Number.isInteger(Number(e)),ob=e=>e.endsWith("%")&&pn(e.slice(0,-1)),ee=e=>zu.test(e),Et=e=>Z0.test(e),sb=new Set(["length","size","percentage"]),ib=e=>Cn(e,sb,Wu),lb=e=>Cn(e,"position",Wu),ab=new Set(["image","url"]),cb=e=>Cn(e,ab,hb),ub=e=>Cn(e,"",db),An=()=>!0,Cn=(e,t,n)=>{const r=zu.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},fb=e=>eb.test(e)&&!tb.test(e),Wu=()=>!1,db=e=>nb.test(e),hb=e=>rb.test(e),Ms=()=>{const e=he("colors"),t=he("spacing"),n=he("blur"),r=he("brightness"),o=he("borderColor"),s=he("borderRadius"),i=he("borderSpacing"),l=he("borderWidth"),a=he("contrast"),u=he("grayscale"),c=he("hueRotate"),f=he("invert"),d=he("gap"),p=he("gradientColorStops"),y=he("gradientColorStopPositions"),w=he("inset"),v=he("margin"),S=he("opacity"),_=he("padding"),g=he("saturate"),b=he("scale"),E=he("sepia"),x=he("skew"),L=he("space"),k=he("translate"),R=()=>["auto","contain","none"],O=()=>["auto","hidden","clip","visible","scroll"],W=()=>["auto",ee,t],P=()=>[ee,t],K=()=>["",ft,xt],re=()=>["auto",pn,ee],ie=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],H=()=>["solid","dashed","dotted","double","none"],z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],U=()=>["start","end","center","between","around","evenly","stretch"],ke=()=>["","0",ee],Xe=()=>["auto","avoid","all","avoid-page","page","left","right","column"],we=()=>[pn,ee];return{cacheSize:500,separator:":",theme:{colors:[An],spacing:[ft,xt],blur:["none","",Et,ee],brightness:we(),borderColor:[e],borderRadius:["none","","full",Et,ee],borderSpacing:P(),borderWidth:K(),contrast:we(),grayscale:ke(),hueRotate:we(),invert:ke(),gap:P(),gradientColorStops:[e],gradientColorStopPositions:[ob,xt],inset:W(),margin:W(),opacity:we(),padding:P(),saturate:we(),scale:we(),sepia:ke(),skew:we(),space:P(),translate:P()},classGroups:{aspect:[{aspect:["auto","square","video",ee]}],container:["container"],columns:[{columns:[Et]}],"break-after":[{"break-after":Xe()}],"break-before":[{"break-before":Xe()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ie(),ee]}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[w]}],"inset-x":[{"inset-x":[w]}],"inset-y":[{"inset-y":[w]}],start:[{start:[w]}],end:[{end:[w]}],top:[{top:[w]}],right:[{right:[w]}],bottom:[{bottom:[w]}],left:[{left:[w]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Rn,ee]}],basis:[{basis:W()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",ee]}],grow:[{grow:ke()}],shrink:[{shrink:ke()}],order:[{order:["first","last","none",Rn,ee]}],"grid-cols":[{"grid-cols":[An]}],"col-start-end":[{col:["auto",{span:["full",Rn,ee]},ee]}],"col-start":[{"col-start":re()}],"col-end":[{"col-end":re()}],"grid-rows":[{"grid-rows":[An]}],"row-start-end":[{row:["auto",{span:[Rn,ee]},ee]}],"row-start":[{"row-start":re()}],"row-end":[{"row-end":re()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",ee]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",ee]}],gap:[{gap:[d]}],"gap-x":[{"gap-x":[d]}],"gap-y":[{"gap-y":[d]}],"justify-content":[{justify:["normal",...U()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...U(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...U(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[_]}],px:[{px:[_]}],py:[{py:[_]}],ps:[{ps:[_]}],pe:[{pe:[_]}],pt:[{pt:[_]}],pr:[{pr:[_]}],pb:[{pb:[_]}],pl:[{pl:[_]}],m:[{m:[v]}],mx:[{mx:[v]}],my:[{my:[v]}],ms:[{ms:[v]}],me:[{me:[v]}],mt:[{mt:[v]}],mr:[{mr:[v]}],mb:[{mb:[v]}],ml:[{ml:[v]}],"space-x":[{"space-x":[L]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[L]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",ee,t]}],"min-w":[{"min-w":[ee,t,"min","max","fit"]}],"max-w":[{"max-w":[ee,t,"none","full","min","max","fit","prose",{screen:[Et]},Et]}],h:[{h:[ee,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[ee,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[ee,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[ee,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Et,xt]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Wo]}],"font-family":[{font:[An]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",ee]}],"line-clamp":[{"line-clamp":["none",pn,Wo]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",ft,ee]}],"list-image":[{"list-image":["none",ee]}],"list-style-type":[{list:["none","disc","decimal",ee]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[S]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[S]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...H(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",ft,xt]}],"underline-offset":[{"underline-offset":["auto",ft,ee]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:P()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ee]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ee]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[S]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ie(),lb]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",ib]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},cb]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[y]}],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[S]}],"border-style":[{border:[...H(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[S]}],"divide-style":[{divide:H()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...H()]}],"outline-offset":[{"outline-offset":[ft,ee]}],"outline-w":[{outline:[ft,xt]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[S]}],"ring-offset-w":[{"ring-offset":[ft,xt]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Et,ub]}],"shadow-color":[{shadow:[An]}],opacity:[{opacity:[S]}],"mix-blend":[{"mix-blend":[...z(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":z()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[a]}],"drop-shadow":[{"drop-shadow":["","none",Et,ee]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[f]}],saturate:[{saturate:[g]}],sepia:[{sepia:[E]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[a]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[S]}],"backdrop-saturate":[{"backdrop-saturate":[g]}],"backdrop-sepia":[{"backdrop-sepia":[E]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[i]}],"border-spacing-x":[{"border-spacing-x":[i]}],"border-spacing-y":[{"border-spacing-y":[i]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",ee]}],duration:[{duration:we()}],ease:[{ease:["linear","in","out","in-out",ee]}],delay:[{delay:we()}],animate:[{animate:["none","spin","ping","pulse","bounce",ee]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[b]}],"scale-x":[{"scale-x":[b]}],"scale-y":[{"scale-y":[b]}],rotate:[{rotate:[Rn,ee]}],"translate-x":[{"translate-x":[k]}],"translate-y":[{"translate-y":[k]}],"skew-x":[{"skew-x":[x]}],"skew-y":[{"skew-y":[x]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",ee]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ee]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":P()}],"scroll-mx":[{"scroll-mx":P()}],"scroll-my":[{"scroll-my":P()}],"scroll-ms":[{"scroll-ms":P()}],"scroll-me":[{"scroll-me":P()}],"scroll-mt":[{"scroll-mt":P()}],"scroll-mr":[{"scroll-mr":P()}],"scroll-mb":[{"scroll-mb":P()}],"scroll-ml":[{"scroll-ml":P()}],"scroll-p":[{"scroll-p":P()}],"scroll-px":[{"scroll-px":P()}],"scroll-py":[{"scroll-py":P()}],"scroll-ps":[{"scroll-ps":P()}],"scroll-pe":[{"scroll-pe":P()}],"scroll-pt":[{"scroll-pt":P()}],"scroll-pr":[{"scroll-pr":P()}],"scroll-pb":[{"scroll-pb":P()}],"scroll-pl":[{"scroll-pl":P()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ee]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[ft,xt,Wo]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},pb=(e,{cacheSize:t,prefix:n,separator:r,experimentalParseClassName:o,extend:s={},override:i={}})=>{$n(e,"cacheSize",t),$n(e,"prefix",n),$n(e,"separator",r),$n(e,"experimentalParseClassName",o);for(const l in i)gb(e[l],i[l]);for(const l in s)mb(e[l],s[l]);return e},$n=(e,t,n)=>{n!==void 0&&(e[t]=n)},gb=(e,t)=>{if(t)for(const n in t)$n(e,n,t[n])},mb=(e,t)=>{if(t)for(const n in t){const r=t[n];r!==void 0&&(e[n]=(e[n]||[]).concat(r))}},yb=(e,...t)=>typeof e=="function"?Os(Ms,e,...t):Os(()=>pb(Ms(),e),...t),Tw=Os(Ms);function Pw(e,t){const n={...e};for(const r of t)delete n[r];return n}function ua(e,t,n){typeof t=="string"&&(t=t.split(".").map(o=>{const s=Number(o);return Number.isNaN(s)?o:s}));let r=e;for(const o of t){if(r==null)return n;r=r[o]}return r!==void 0?r:n}const bb=yb({extend:{classGroups:{icons:[e=>e.startsWith("i-")]}}}),_b=bi((e,t,n,r)=>{if(r==="default"||r.startsWith("default.")||r==="popper"||r.startsWith("popper.")||r.endsWith("avatar")&&t==="size"||r.endsWith("chip")&&t==="size"||r.endsWith("badge")&&t==="size"||t==="color"||t==="variant")return!1;if(typeof e[t]=="string"&&typeof n=="string"&&e[t]&&n)return e[t]=bb(e[t],n),!0});function Rw(e,...t){return e==="override"?_i({},...t):_b({},...t)}const qu=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;function fa(e){return qu.test(e)?vb(e):e}function vb(e){const t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(t,function(r,o,s,i){return o+o+s+s+i+i});const n=qu.exec(e);return n?`${Number.parseInt(n[1],16)} ${Number.parseInt(n[2],16)} ${Number.parseInt(n[3],16)}`:null}function Aw(e){var n;let t=(n=e.default)==null?void 0:n.call(e);return t!=null&&t.length&&(t=t.flatMap(r=>{var o,s;return typeof r.type=="symbol"?typeof r.children=="string"?void 0:r.children:r.type.name==="MDCSlot"?(s=(o=r.ctx.slots).default)==null?void 0:s.call(o):r}).filter(Boolean)),t||[]}const wb="inherit",xb="currentColor",Eb="transparent",Cb="#000",Sb="#fff",kb={50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},Tb={50:"rgb(var(--color-gray-50) / )",100:"rgb(var(--color-gray-100) / )",200:"rgb(var(--color-gray-200) / )",300:"rgb(var(--color-gray-300) / )",400:"rgb(var(--color-gray-400) / )",500:"rgb(var(--color-gray-500) / )",600:"rgb(var(--color-gray-600) / )",700:"rgb(var(--color-gray-700) / )",800:"rgb(var(--color-gray-800) / )",900:"rgb(var(--color-gray-900) / )",950:"rgb(var(--color-gray-950) / )"},Pb={50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},Rb={50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},Ab={50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},Ib={50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},Lb={50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},Ob={50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},Mb={50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},$b={50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},Nb={50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},jb={50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},Hb={50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},Fb={50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},Db={50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},Bb={50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},Vb={50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},Ub={50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},zb={50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},Wb={50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},qb={50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},Kb={50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},Gb={50:"#ffffe7",100:"#feffc1",200:"#fffd86",300:"#fff441",400:"#ffe60d",500:"#ffd700",600:"#d19e00",700:"#a67102",800:"#89580a",900:"#74480f",950:"#442604",DEFAULT:"#ffd700"},Jb={50:"#f5f5f6",100:"#e6e6e7",200:"#d0d0d1",300:"#afafb1",400:"#878789",500:"#6c6c6e",600:"#58585a",700:"#4f4e50",800:"#454446",900:"#3c3c3d",950:"#262626",DEFAULT:"#58585a"},Qb={50:"rgb(var(--color-primary-50) / )",100:"rgb(var(--color-primary-100) / )",200:"rgb(var(--color-primary-200) / )",300:"rgb(var(--color-primary-300) / )",400:"rgb(var(--color-primary-400) / )",500:"rgb(var(--color-primary-500) / )",600:"rgb(var(--color-primary-600) / )",700:"rgb(var(--color-primary-700) / )",800:"rgb(var(--color-primary-800) / )",900:"rgb(var(--color-primary-900) / )",950:"rgb(var(--color-primary-950) / )",DEFAULT:"rgb(var(--color-primary-DEFAULT) / )"},Xb={50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},Tr={inherit:wb,current:xb,transparent:Eb,black:Cb,white:Sb,slate:kb,gray:Tb,zinc:Pb,neutral:Rb,stone:Ab,red:Ib,orange:Lb,amber:Ob,yellow:Mb,lime:$b,green:Nb,emerald:jb,teal:Hb,cyan:Fb,sky:Db,blue:Bb,indigo:Vb,violet:Ub,purple:zb,fuchsia:Wb,pink:qb,rose:Kb,gold:Gb,chicago:Jb,primary:Qb,cool:Xb,"bay-of-many":{50:"#FDFDFE",100:"#EDF4FA",200:"#CDE0F0",300:"#AECCE7",400:"#8FB9DD",500:"#6FA5D4",600:"#5091CA",700:"#387DBA",800:"#2E689A",900:"#25537B",950:"#1F4465",DEFAULT:"#25537B"},"ebony-clay":{50:"#DFE2EA",100:"#D3D6E2",200:"#BBC0D2",300:"#A2A9C2",400:"#8992B2",500:"#717BA2",600:"#5D678D",700:"#4C5574",800:"#3C435C",900:"#2C3143",950:"#212532",DEFAULT:"#2C3143"},"hokey-pokey":{50:"#F2ECBF",100:"#EFE7AE",200:"#E8DD8D",300:"#E1D36B",400:"#DACA49",500:"#D0BD2A",600:"#A19321",700:"#736817",800:"#443E0E",900:"#151304",950:"#000000",DEFAULT:"#D0BD2A"}},Yb=$e(()=>{const e=jt(),t=ue(),n=_e(()=>{const o=ua(Tr,e.ui.primary),s=ua(Tr,e.ui.gray);return o||console.warn(`[@nuxt/ui] Primary color '${e.ui.primary}' not found in Tailwind config`),s||console.warn(`[@nuxt/ui] Gray color '${e.ui.gray}' not found in Tailwind config`),`:root { + */let $u;const dr=e=>$u=e,Nu=Symbol();function As(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(zn||(zn={}));function $y(){const e=Js(!0),t=e.run(()=>Fe({}));let n=[],r=[];const o=ni({install(s){dr(o),o._a=s,s.provide(Nu,o),s.config.globalProperties.$pinia=o,r.forEach(i=>n.push(i)),r=[]},use(s){return!this._a&&!My?r.push(s):n.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const ju=()=>{};function sa(e,t,n,r=ju){e.push(t);const o=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),r())};return!n&&Da()&&If(o),o}function tn(e,...t){e.slice().forEach(n=>{n(...t)})}const Ny=e=>e(),ia=Symbol(),zo=Symbol();function Is(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];As(o)&&As(r)&&e.hasOwnProperty(n)&&!ve(r)&&!qt(r)?e[n]=Is(o,r):e[n]=r}return e}const jy=Symbol();function Hy(e){return!As(e)||!e.hasOwnProperty(jy)}const{assign:Ct}=Object;function Fy(e){return!!(ve(e)&&e.effect)}function Dy(e,t,n,r){const{state:o,actions:s,getters:i}=t,l=n.state.value[e];let a;function u(){l||(n.state.value[e]=o?o():{});const c=nd(n.state.value[e]);return Ct(c,s,Object.keys(i||{}).reduce((f,d)=>(f[d]=ni(_e(()=>{dr(n);const p=n._s.get(e);return i[d].call(p,p)})),f),{}))}return a=Hu(e,u,t,n,r,!0),a}function Hu(e,t,n={},r,o,s){let i;const l=Ct({actions:{}},n),a={deep:!0};let u,c,f=[],d=[],p;const y=r.state.value[e];!s&&!y&&(r.state.value[e]={}),Fe({});let w;function v(k){let R;u=c=!1,typeof k=="function"?(k(r.state.value[e]),R={type:zn.patchFunction,storeId:e,events:p}):(Is(r.state.value[e],k),R={type:zn.patchObject,payload:k,storeId:e,events:p});const O=w=Symbol();En().then(()=>{w===O&&(u=!0)}),c=!0,tn(f,R,r.state.value[e])}const S=s?function(){const{state:R}=n,O=R?R():{};this.$patch(W=>{Ct(W,O)})}:ju;function _(){i.stop(),f=[],d=[],r._s.delete(e)}const g=(k,R="")=>{if(ia in k)return k[zo]=R,k;const O=function(){dr(r);const W=Array.from(arguments),P=[],K=[];function re(z){P.push(z)}function ie(z){K.push(z)}tn(d,{args:W,name:O[zo],store:E,after:re,onError:ie});let H;try{H=k.apply(this&&this.$id===e?this:E,W)}catch(z){throw tn(K,z),z}return H instanceof Promise?H.then(z=>(tn(P,z),z)).catch(z=>(tn(K,z),Promise.reject(z))):(tn(P,H),H)};return O[ia]=!0,O[zo]=R,O},b={_p:r,$id:e,$onAction:sa.bind(null,d),$patch:v,$reset:S,$subscribe(k,R={}){const O=sa(f,k,R.detached,()=>W()),W=i.run(()=>nt(()=>r.state.value[e],P=>{(R.flush==="sync"?c:u)&&k({storeId:e,type:zn.direct,events:p},P)},Ct({},a,R)));return O},$dispose:_},E=at(b);r._s.set(e,E);const L=(r._a&&r._a.runWithContext||Ny)(()=>r._e.run(()=>(i=Js()).run(()=>t({action:g}))));for(const k in L){const R=L[k];if(ve(R)&&!Fy(R)||qt(R))s||(y&&Hy(R)&&(ve(R)?R.value=y[k]:Is(R,y[k])),r.state.value[e][k]=R);else if(typeof R=="function"){const O=g(R,k);L[k]=O,l.actions[k]=R}}return Ct(E,L),Ct(se(E),L),Object.defineProperty(E,"$state",{get:()=>r.state.value[e],set:k=>{v(R=>{Ct(R,k)})}}),r._p.forEach(k=>{Ct(E,i.run(()=>k({store:E,app:r._a,pinia:r,options:l})))}),y&&s&&n.hydrate&&n.hydrate(E.$state,y),u=!0,c=!0,E}function kw(e,t,n){let r,o;const s=typeof t=="function";r=e,o=s?n:t;function i(l,a){const u=ui();return l=l||(u?Me(Nu,null):null),l&&dr(l),l=$u,l._s.has(r)||(s?Hu(r,t,o,l):Dy(r,o,l)),l._s.get(r)}return i.$id=r,i}const By="$s";function Fu(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r]=e;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(r!==void 0&&typeof r!="function")throw new Error("[nuxt] [useState] init must be a function: "+r);const o=By+n,s=ue(),i=rc(s.payload.state,o);if(i.value===void 0&&r){const l=r();if(ve(l))return s.payload.state[o]=l,l;i.value=l}return i}async function Du(e,t=Qe()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||(t._routePreloaded=new Set),t._routePreloaded.has(n)))return;const o=t._preloadPromises=t._preloadPromises||[];if(o.length>4)return Promise.all(o).then(()=>Du(e,t));t._routePreloaded.add(n);const s=r.map(i=>{var l;return(l=i.components)==null?void 0:l.default}).filter(i=>typeof i=="function");for(const i of s){const l=Promise.resolve(i()).catch(()=>{}).finally(()=>o.splice(o.indexOf(l)));o.push(l)}await Promise.all(o)}function Vy(e={}){const t=e.path||window.location.pathname;let n={};try{n=Kr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires)e.find(t=>t!==void 0);function zy(e){const t=e.componentName||"NuxtLink";function n(r,o){if(!r||e.trailingSlash!=="append"&&e.trailingSlash!=="remove")return r;if(typeof r=="string")return la(r,e.trailingSlash);const s="path"in r&&r.path!==void 0?r.path:o(r).path;return{...r,name:void 0,path:la(s,e.trailingSlash)}}return ct({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},setup(r,{slots:o}){const s=Qe(),i=fr(),l=_e(()=>{const y=r.to||r.href||"";return n(y,s.resolve)}),a=_e(()=>typeof l.value=="string"&&mt(l.value,{acceptRelative:!0})),u=_e(()=>r.target&&r.target!=="_self"),c=_e(()=>r.external||u.value?!0:typeof l.value=="object"?!1:l.value===""||a.value),f=Fe(!1),d=Fe(null),p=y=>{var w;d.value=r.custom?(w=y==null?void 0:y.$el)==null?void 0:w.nextElementSibling:y==null?void 0:y.$el};if(r.prefetch!==!1&&r.noPrefetch!==!0&&r.target!=="_blank"&&!Ky()){const w=ue();let v,S=null;fo(()=>{const _=qy();ki(()=>{v=Rs(()=>{var g;(g=d==null?void 0:d.value)!=null&&g.tagName&&(S=_.observe(d.value,async()=>{S==null||S(),S=null;const b=typeof l.value=="string"?l.value:s.resolve(l.value).fullPath;await Promise.all([w.hooks.callHook("link:prefetch",b).catch(()=>{}),!c.value&&Du(l.value,s).catch(()=>{})]),f.value=!0}))})})}),ir(()=>{v&&Iy(v),S==null||S(),S=null})}return()=>{var S,_;if(!c.value){const g={ref:p,to:l.value,activeClass:r.activeClass||e.activeClass,exactActiveClass:r.exactActiveClass||e.exactActiveClass,replace:r.replace,ariaCurrentValue:r.ariaCurrentValue,custom:r.custom};return r.custom||(f.value&&(g.class=r.prefetchedClass||e.prefetchedClass),g.rel=r.rel||void 0),Le(pd("RouterLink"),g,o.default)}const y=typeof l.value=="object"?((S=s.resolve(l.value))==null?void 0:S.href)??null:l.value&&!r.external&&!a.value?n(go(i.app.baseURL,l.value),s.resolve):l.value||null,w=r.target||null,v=Uy(r.noRel?"":r.rel,e.externalRelAttribute,a.value||u.value?"noopener noreferrer":"")||null;if(r.custom){if(!o.default)return null;const g=()=>lg(y,{replace:r.replace,external:r.external});return o.default({href:y,navigate:g,get route(){if(!y)return;const b=ur(y);return{path:b.pathname,fullPath:b.pathname,get query(){return eu(b.search)},hash:b.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:y}},rel:v,target:w,isExternal:c.value,isActive:!1,isExactActive:!1})}return Le("a",{ref:d,href:y,rel:v,target:w},(_=o.default)==null?void 0:_.call(o))}}})}const Wy=zy(om);function la(e,t){const n=t==="append"?Jr:po;return mt(e)&&!e.startsWith("http")?e:n(e,!0)}function qy(){const e=ue();if(e._observer)return e._observer;let t=null;const n=new Map,r=(s,i)=>(t||(t=new IntersectionObserver(l=>{for(const a of l){const u=n.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&u&&u()}})),n.set(s,i),t.observe(s),()=>{n.delete(s),t.unobserve(s),n.size===0&&(t.disconnect(),t=null)});return e._observer={observe:r}}function Ky(){const e=navigator.connection;return!!(e&&(e.saveData||/2g/.test(e.effectiveType)))}const Gy=$e({name:"pinia",setup(e){const t=$y();return e.vueApp.use(t),dr(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}}}),Jy=te(()=>Z(()=>import("./4hq1URUI.js"),__vite__mapDeps([6,7,8,9,10,2,11,12]),import.meta.url).then(e=>e.default||e.default||e)),Qy=te(()=>Z(()=>import("./DKEOPaPT.js"),__vite__mapDeps([13,11,12,2,10]),import.meta.url).then(e=>e.default||e.default||e)),Xy=te(()=>Z(()=>import("./C1JfJP5P.js"),__vite__mapDeps([14,12,2,10]),import.meta.url).then(e=>e.default||e.default||e)),Yy=te(()=>Z(()=>import("./Dq0ogEhO.js"),__vite__mapDeps([11,12,2,10]),import.meta.url).then(e=>e.default||e.default||e)),Zy=te(()=>Z(()=>import("./BIVkUQcf.js"),__vite__mapDeps([7,8,9,10,2]),import.meta.url).then(e=>e.default||e.default||e)),e0=te(()=>Z(()=>import("./CEh4-x7r.js"),__vite__mapDeps([15,8,9,10,2]),import.meta.url).then(e=>e.default||e.default||e)),t0=te(()=>Z(()=>import("./CMWefPjl.js"),[],import.meta.url).then(e=>e.default||e.default||e)),n0=te(()=>Z(()=>import("./CZyae0UU.js"),[],import.meta.url).then(e=>e.default||e.default||e)),r0=te(()=>Z(()=>import("./CuNWyn2d.js"),[],import.meta.url).then(e=>e.default||e.default||e)),o0=te(()=>Z(()=>import("./BrsovEvy.js"),__vite__mapDeps([16,17]),import.meta.url).then(e=>e.default||e.default||e)),s0=te(()=>Z(()=>import("./KzJu2wNH.js"),__vite__mapDeps([18,19,20]),import.meta.url).then(e=>e.default||e.default||e)),i0=te(()=>Z(()=>import("./DWlsyFxE.js"),[],import.meta.url).then(e=>e.default||e.default||e)),l0=te(()=>Z(()=>import("./CEbTorUm.js"),__vite__mapDeps([21,19,20]),import.meta.url).then(e=>e.default||e.default||e)),a0=te(()=>Z(()=>import("./odlyb-8r.js"),[],import.meta.url).then(e=>e.default||e.default||e)),c0=te(()=>Z(()=>import("./C17nQrMx.js"),[],import.meta.url).then(e=>e.default||e.default||e)),u0=te(()=>Z(()=>import("./ufPKIqBi.js"),[],import.meta.url).then(e=>e.default||e.default||e)),f0=te(()=>Z(()=>import("./DNwYr7Pt.js"),[],import.meta.url).then(e=>e.default||e.default||e)),d0=te(()=>Z(()=>import("./DB7qAOaQ.js"),[],import.meta.url).then(e=>e.default||e.default||e)),h0=te(()=>Z(()=>import("./D98TL2vF.js"),[],import.meta.url).then(e=>e.default||e.default||e)),p0=te(()=>Z(()=>import("./DpNHeHvB.js"),[],import.meta.url).then(e=>e.default||e.default||e)),g0=te(()=>Z(()=>import("./B1ETFVk0.js"),[],import.meta.url).then(e=>e.default||e.default||e)),m0=te(()=>Z(()=>import("./RYj3OKVH.js"),[],import.meta.url).then(e=>e.default||e.default||e)),y0=te(()=>Z(()=>import("./BhT3LTym.js"),[],import.meta.url).then(e=>e.default||e.default||e)),b0=te(()=>Z(()=>import("./D-qyYwsU.js"),[],import.meta.url).then(e=>e.default||e.default||e)),_0=te(()=>Z(()=>import("./B6ZS9b_z.js"),[],import.meta.url).then(e=>e.default||e.default||e)),v0=te(()=>Z(()=>import("./BQAUpuJp.js"),[],import.meta.url).then(e=>e.default||e.default||e)),w0=te(()=>Z(()=>import("./BT2BSI1v.js"),[],import.meta.url).then(e=>e.default||e.default||e)),x0=te(()=>Z(()=>import("./Dqap1RpX.js"),[],import.meta.url).then(e=>e.default||e.default||e)),E0=te(()=>Z(()=>import("./BQI0Wxxj.js"),[],import.meta.url).then(e=>e.default||e.default||e)),C0=te(()=>Z(()=>import("./Dgb7eL1e.js"),[],import.meta.url).then(e=>e.default||e.default||e)),S0=te(()=>Z(()=>import("./CgoineOE.js"),[],import.meta.url).then(e=>e.default||e.default||e)),k0=te(()=>Z(()=>import("./c29WzxQ5.js"),[],import.meta.url).then(e=>e.default||e.default||e)),T0=te(()=>Z(()=>import("./ChZphjCZ.js"),[],import.meta.url).then(e=>e.default||e.default||e)),P0=te(()=>Z(()=>import("./BTrRUYEc.js"),[],import.meta.url).then(e=>e.default||e.default||e)),R0=te(()=>Z(()=>import("./BdShI6Yz.js"),[],import.meta.url).then(e=>e.default||e.default||e)),A0=te(()=>Z(()=>import("./1wWk9IEk.js"),[],import.meta.url).then(e=>e.default||e.default||e)),I0=te(()=>Z(()=>Promise.resolve().then(()=>Uv),void 0,import.meta.url).then(e=>e.default||e.default||e)),L0=[["ContentDoc",Jy],["ContentList",Qy],["ContentNavigation",Xy],["ContentQuery",Yy],["ContentRenderer",Zy],["ContentRendererMarkdown",e0],["MDCSlot",t0],["DocumentDrivenEmpty",n0],["DocumentDrivenNotFound",r0],["Markdown",o0],["ProseCode",s0],["ProseCodeInline",i0],["ProsePre",l0],["ProseA",a0],["ProseBlockquote",c0],["ProseEm",u0],["ProseH1",f0],["ProseH2",d0],["ProseH3",h0],["ProseH4",p0],["ProseH5",g0],["ProseH6",m0],["ProseHr",y0],["ProseImg",b0],["ProseLi",_0],["ProseOl",v0],["ProseP",w0],["ProseScript",x0],["ProseStrong",E0],["ProseTable",C0],["ProseTbody",S0],["ProseTd",k0],["ProseTh",T0],["ProseThead",P0],["ProseTr",R0],["ProseUl",A0],["Icon",I0]],O0=$e({name:"nuxt:global-components",setup(e){for(const[t,n]of L0)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),kr={default:()=>Z(()=>import("./CdIHTZtf.js"),[],import.meta.url).then(e=>e.default||e)},M0=$e({name:"nuxt:prefetch",setup(e){const t=Qe();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var o;const r=(o=n==null?void 0:n.meta)==null?void 0:o.layout;r&&typeof kr[r]=="function"&&await kr[r]()})}),e.hooks.hook("link:prefetch",n=>{if(mt(n))return;const r=t.resolve(n);if(!r)return;const o=r.meta.layout;let s=Si(r.meta.middleware);s=s.filter(i=>typeof i=="string");for(const i of s)typeof Un[i]=="function"&&Un[i]();o&&typeof kr[o]=="function"&&kr[o]()})}}),$0=Symbol("nuxt-ui.slideover"),N0=$e(e=>{const t=Jt({component:"div",props:{}});e.vueApp.provide($0,t)}),j0=Symbol("nuxt-ui.modal"),H0=$e(e=>{const t=Jt({component:"div",props:{}});e.vueApp.provide(j0,t)}),Ti="-",F0=e=>{const t=B0(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{const l=i.split(Ti);return l[0]===""&&l.length!==1&&l.shift(),Bu(l,t)||D0(i)},getConflictingClassGroupIds:(i,l)=>{const a=n[i]||[];return l&&r[i]?[...a,...r[i]]:a}}},Bu=(e,t)=>{var i;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),o=r?Bu(e.slice(1),r):void 0;if(o)return o;if(t.validators.length===0)return;const s=e.join(Ti);return(i=t.validators.find(({validator:l})=>l(s)))==null?void 0:i.classGroupId},aa=/^\[(.+)\]$/,D0=e=>{if(aa.test(e)){const t=aa.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},B0=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return U0(Object.entries(e.classGroups),n).forEach(([s,i])=>{Ls(i,r,s,t)}),r},Ls=(e,t,n,r)=>{e.forEach(o=>{if(typeof o=="string"){const s=o===""?t:ca(t,o);s.classGroupId=n;return}if(typeof o=="function"){if(V0(o)){Ls(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([s,i])=>{Ls(i,ca(t,s),n,r)})})},ca=(e,t)=>{let n=e;return t.split(Ti).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},V0=e=>e.isThemeGetter,U0=(e,t)=>t?e.map(([n,r])=>{const o=r.map(s=>typeof s=="string"?t+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([i,l])=>[t+i,l])):s);return[n,o]}):e,z0=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const o=(s,i)=>{n.set(s,i),t++,t>e&&(t=0,r=n,n=new Map)};return{get(s){let i=n.get(s);if(i!==void 0)return i;if((i=r.get(s))!==void 0)return o(s,i),i},set(s,i){n.has(s)?n.set(s,i):o(s,i)}}},Vu="!",W0=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,o=t[0],s=t.length,i=l=>{const a=[];let u=0,c=0,f;for(let v=0;vc?f-c:void 0;return{modifiers:a,hasImportantModifier:p,baseClassName:y,maybePostfixModifierPosition:w}};return n?l=>n({className:l,parseClassName:i}):i},q0=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t},K0=e=>({cache:z0(e.cacheSize),parseClassName:W0(e),...F0(e)}),G0=/\s+/,J0=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,s=[],i=e.trim().split(G0);let l="";for(let a=i.length-1;a>=0;a-=1){const u=i[a],{modifiers:c,hasImportantModifier:f,baseClassName:d,maybePostfixModifierPosition:p}=n(u);let y=!!p,w=r(y?d.substring(0,p):d);if(!w){if(!y){l=u+(l.length>0?" "+l:l);continue}if(w=r(d),!w){l=u+(l.length>0?" "+l:l);continue}y=!1}const v=q0(c).join(":"),S=f?v+Vu:v,_=S+w;if(s.includes(_))continue;s.push(_);const g=o(w,y);for(let b=0;b0?" "+l:l)}return l};function Q0(){let e=0,t,n,r="";for(;e{if(typeof e=="string")return e;let t,n="";for(let r=0;rf(c),e());return n=K0(u),r=n.cache.get,o=n.cache.set,s=l,l(a)}function l(a){const u=r(a);if(u)return u;const c=J0(a,n);return o(a,c),c}return function(){return s(Q0.apply(null,arguments))}}const he=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},zu=/^\[(?:([a-z-]+):)?(.+)\]$/i,X0=/^\d+\/\d+$/,Y0=new Set(["px","full","screen"]),Z0=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,eb=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,tb=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,nb=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,rb=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ft=e=>pn(e)||Y0.has(e)||X0.test(e),xt=e=>Cn(e,"length",fb),pn=e=>!!e&&!Number.isNaN(Number(e)),Wo=e=>Cn(e,"number",pn),Rn=e=>!!e&&Number.isInteger(Number(e)),ob=e=>e.endsWith("%")&&pn(e.slice(0,-1)),ee=e=>zu.test(e),Et=e=>Z0.test(e),sb=new Set(["length","size","percentage"]),ib=e=>Cn(e,sb,Wu),lb=e=>Cn(e,"position",Wu),ab=new Set(["image","url"]),cb=e=>Cn(e,ab,hb),ub=e=>Cn(e,"",db),An=()=>!0,Cn=(e,t,n)=>{const r=zu.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},fb=e=>eb.test(e)&&!tb.test(e),Wu=()=>!1,db=e=>nb.test(e),hb=e=>rb.test(e),Ms=()=>{const e=he("colors"),t=he("spacing"),n=he("blur"),r=he("brightness"),o=he("borderColor"),s=he("borderRadius"),i=he("borderSpacing"),l=he("borderWidth"),a=he("contrast"),u=he("grayscale"),c=he("hueRotate"),f=he("invert"),d=he("gap"),p=he("gradientColorStops"),y=he("gradientColorStopPositions"),w=he("inset"),v=he("margin"),S=he("opacity"),_=he("padding"),g=he("saturate"),b=he("scale"),E=he("sepia"),x=he("skew"),L=he("space"),k=he("translate"),R=()=>["auto","contain","none"],O=()=>["auto","hidden","clip","visible","scroll"],W=()=>["auto",ee,t],P=()=>[ee,t],K=()=>["",ft,xt],re=()=>["auto",pn,ee],ie=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],H=()=>["solid","dashed","dotted","double","none"],z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],U=()=>["start","end","center","between","around","evenly","stretch"],ke=()=>["","0",ee],Xe=()=>["auto","avoid","all","avoid-page","page","left","right","column"],we=()=>[pn,ee];return{cacheSize:500,separator:":",theme:{colors:[An],spacing:[ft,xt],blur:["none","",Et,ee],brightness:we(),borderColor:[e],borderRadius:["none","","full",Et,ee],borderSpacing:P(),borderWidth:K(),contrast:we(),grayscale:ke(),hueRotate:we(),invert:ke(),gap:P(),gradientColorStops:[e],gradientColorStopPositions:[ob,xt],inset:W(),margin:W(),opacity:we(),padding:P(),saturate:we(),scale:we(),sepia:ke(),skew:we(),space:P(),translate:P()},classGroups:{aspect:[{aspect:["auto","square","video",ee]}],container:["container"],columns:[{columns:[Et]}],"break-after":[{"break-after":Xe()}],"break-before":[{"break-before":Xe()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ie(),ee]}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[w]}],"inset-x":[{"inset-x":[w]}],"inset-y":[{"inset-y":[w]}],start:[{start:[w]}],end:[{end:[w]}],top:[{top:[w]}],right:[{right:[w]}],bottom:[{bottom:[w]}],left:[{left:[w]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Rn,ee]}],basis:[{basis:W()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",ee]}],grow:[{grow:ke()}],shrink:[{shrink:ke()}],order:[{order:["first","last","none",Rn,ee]}],"grid-cols":[{"grid-cols":[An]}],"col-start-end":[{col:["auto",{span:["full",Rn,ee]},ee]}],"col-start":[{"col-start":re()}],"col-end":[{"col-end":re()}],"grid-rows":[{"grid-rows":[An]}],"row-start-end":[{row:["auto",{span:[Rn,ee]},ee]}],"row-start":[{"row-start":re()}],"row-end":[{"row-end":re()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",ee]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",ee]}],gap:[{gap:[d]}],"gap-x":[{"gap-x":[d]}],"gap-y":[{"gap-y":[d]}],"justify-content":[{justify:["normal",...U()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...U(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...U(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[_]}],px:[{px:[_]}],py:[{py:[_]}],ps:[{ps:[_]}],pe:[{pe:[_]}],pt:[{pt:[_]}],pr:[{pr:[_]}],pb:[{pb:[_]}],pl:[{pl:[_]}],m:[{m:[v]}],mx:[{mx:[v]}],my:[{my:[v]}],ms:[{ms:[v]}],me:[{me:[v]}],mt:[{mt:[v]}],mr:[{mr:[v]}],mb:[{mb:[v]}],ml:[{ml:[v]}],"space-x":[{"space-x":[L]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[L]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",ee,t]}],"min-w":[{"min-w":[ee,t,"min","max","fit"]}],"max-w":[{"max-w":[ee,t,"none","full","min","max","fit","prose",{screen:[Et]},Et]}],h:[{h:[ee,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[ee,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[ee,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[ee,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Et,xt]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Wo]}],"font-family":[{font:[An]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",ee]}],"line-clamp":[{"line-clamp":["none",pn,Wo]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",ft,ee]}],"list-image":[{"list-image":["none",ee]}],"list-style-type":[{list:["none","disc","decimal",ee]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[S]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[S]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...H(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",ft,xt]}],"underline-offset":[{"underline-offset":["auto",ft,ee]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:P()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ee]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ee]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[S]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ie(),lb]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",ib]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},cb]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[y]}],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[S]}],"border-style":[{border:[...H(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[S]}],"divide-style":[{divide:H()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...H()]}],"outline-offset":[{"outline-offset":[ft,ee]}],"outline-w":[{outline:[ft,xt]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[S]}],"ring-offset-w":[{"ring-offset":[ft,xt]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Et,ub]}],"shadow-color":[{shadow:[An]}],opacity:[{opacity:[S]}],"mix-blend":[{"mix-blend":[...z(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":z()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[a]}],"drop-shadow":[{"drop-shadow":["","none",Et,ee]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[f]}],saturate:[{saturate:[g]}],sepia:[{sepia:[E]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[a]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[S]}],"backdrop-saturate":[{"backdrop-saturate":[g]}],"backdrop-sepia":[{"backdrop-sepia":[E]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[i]}],"border-spacing-x":[{"border-spacing-x":[i]}],"border-spacing-y":[{"border-spacing-y":[i]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",ee]}],duration:[{duration:we()}],ease:[{ease:["linear","in","out","in-out",ee]}],delay:[{delay:we()}],animate:[{animate:["none","spin","ping","pulse","bounce",ee]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[b]}],"scale-x":[{"scale-x":[b]}],"scale-y":[{"scale-y":[b]}],rotate:[{rotate:[Rn,ee]}],"translate-x":[{"translate-x":[k]}],"translate-y":[{"translate-y":[k]}],"skew-x":[{"skew-x":[x]}],"skew-y":[{"skew-y":[x]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",ee]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ee]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":P()}],"scroll-mx":[{"scroll-mx":P()}],"scroll-my":[{"scroll-my":P()}],"scroll-ms":[{"scroll-ms":P()}],"scroll-me":[{"scroll-me":P()}],"scroll-mt":[{"scroll-mt":P()}],"scroll-mr":[{"scroll-mr":P()}],"scroll-mb":[{"scroll-mb":P()}],"scroll-ml":[{"scroll-ml":P()}],"scroll-p":[{"scroll-p":P()}],"scroll-px":[{"scroll-px":P()}],"scroll-py":[{"scroll-py":P()}],"scroll-ps":[{"scroll-ps":P()}],"scroll-pe":[{"scroll-pe":P()}],"scroll-pt":[{"scroll-pt":P()}],"scroll-pr":[{"scroll-pr":P()}],"scroll-pb":[{"scroll-pb":P()}],"scroll-pl":[{"scroll-pl":P()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ee]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[ft,xt,Wo]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},pb=(e,{cacheSize:t,prefix:n,separator:r,experimentalParseClassName:o,extend:s={},override:i={}})=>{$n(e,"cacheSize",t),$n(e,"prefix",n),$n(e,"separator",r),$n(e,"experimentalParseClassName",o);for(const l in i)gb(e[l],i[l]);for(const l in s)mb(e[l],s[l]);return e},$n=(e,t,n)=>{n!==void 0&&(e[t]=n)},gb=(e,t)=>{if(t)for(const n in t)$n(e,n,t[n])},mb=(e,t)=>{if(t)for(const n in t){const r=t[n];r!==void 0&&(e[n]=(e[n]||[]).concat(r))}},yb=(e,...t)=>typeof e=="function"?Os(Ms,e,...t):Os(()=>pb(Ms(),e),...t),Tw=Os(Ms);function Pw(e,t){const n={...e};for(const r of t)delete n[r];return n}function ua(e,t,n){typeof t=="string"&&(t=t.split(".").map(o=>{const s=Number(o);return Number.isNaN(s)?o:s}));let r=e;for(const o of t){if(r==null)return n;r=r[o]}return r!==void 0?r:n}const bb=yb({extend:{classGroups:{icons:[e=>e.startsWith("i-")]}}}),_b=bi((e,t,n,r)=>{if(r==="default"||r.startsWith("default.")||r==="popper"||r.startsWith("popper.")||r.endsWith("avatar")&&t==="size"||r.endsWith("chip")&&t==="size"||r.endsWith("badge")&&t==="size"||t==="color"||t==="variant")return!1;if(typeof e[t]=="string"&&typeof n=="string"&&e[t]&&n)return e[t]=bb(e[t],n),!0});function Rw(e,...t){return e==="override"?_i({},...t):_b({},...t)}const qu=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;function fa(e){return qu.test(e)?vb(e):e}function vb(e){const t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(t,function(r,o,s,i){return o+o+s+s+i+i});const n=qu.exec(e);return n?`${Number.parseInt(n[1],16)} ${Number.parseInt(n[2],16)} ${Number.parseInt(n[3],16)}`:null}function Aw(e){var n;let t=(n=e.default)==null?void 0:n.call(e);return t!=null&&t.length&&(t=t.flatMap(r=>{var o,s;return typeof r.type=="symbol"?typeof r.children=="string"?void 0:r.children:r.type.name==="MDCSlot"?(s=(o=r.ctx.slots).default)==null?void 0:s.call(o):r}).filter(Boolean)),t||[]}const wb="inherit",xb="currentColor",Eb="transparent",Cb="#000",Sb="#fff",kb={50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},Tb={50:"rgb(var(--color-gray-50) / )",100:"rgb(var(--color-gray-100) / )",200:"rgb(var(--color-gray-200) / )",300:"rgb(var(--color-gray-300) / )",400:"rgb(var(--color-gray-400) / )",500:"rgb(var(--color-gray-500) / )",600:"rgb(var(--color-gray-600) / )",700:"rgb(var(--color-gray-700) / )",800:"rgb(var(--color-gray-800) / )",900:"rgb(var(--color-gray-900) / )",950:"rgb(var(--color-gray-950) / )"},Pb={50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},Rb={50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},Ab={50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},Ib={50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},Lb={50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},Ob={50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},Mb={50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},$b={50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},Nb={50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},jb={50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},Hb={50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},Fb={50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},Db={50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},Bb={50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},Vb={50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},Ub={50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},zb={50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},Wb={50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},qb={50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},Kb={50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},Gb={50:"#ffffe7",100:"#feffc1",200:"#fffd86",300:"#fff441",400:"#ffe60d",500:"#ffd700",600:"#d19e00",700:"#a67102",800:"#89580a",900:"#74480f",950:"#442604",DEFAULT:"#ffd700"},Jb={50:"#f5f5f6",100:"#e6e6e7",200:"#d0d0d1",300:"#afafb1",400:"#878789",500:"#6c6c6e",600:"#58585a",700:"#4f4e50",800:"#454446",900:"#3c3c3d",950:"#262626",DEFAULT:"#58585a"},Qb={50:"rgb(var(--color-primary-50) / )",100:"rgb(var(--color-primary-100) / )",200:"rgb(var(--color-primary-200) / )",300:"rgb(var(--color-primary-300) / )",400:"rgb(var(--color-primary-400) / )",500:"rgb(var(--color-primary-500) / )",600:"rgb(var(--color-primary-600) / )",700:"rgb(var(--color-primary-700) / )",800:"rgb(var(--color-primary-800) / )",900:"rgb(var(--color-primary-900) / )",950:"rgb(var(--color-primary-950) / )",DEFAULT:"rgb(var(--color-primary-DEFAULT) / )"},Xb={50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},Tr={inherit:wb,current:xb,transparent:Eb,black:Cb,white:Sb,slate:kb,gray:Tb,zinc:Pb,neutral:Rb,stone:Ab,red:Ib,orange:Lb,amber:Ob,yellow:Mb,lime:$b,green:Nb,emerald:jb,teal:Hb,cyan:Fb,sky:Db,blue:Bb,indigo:Vb,violet:Ub,purple:zb,fuchsia:Wb,pink:qb,rose:Kb,gold:Gb,chicago:Jb,primary:Qb,cool:Xb,"bay-of-many":{50:"#FDFDFE",100:"#EDF4FA",200:"#CDE0F0",300:"#AECCE7",400:"#8FB9DD",500:"#6FA5D4",600:"#5091CA",700:"#387DBA",800:"#2E689A",900:"#25537B",950:"#1F4465",DEFAULT:"#25537B"},"ebony-clay":{50:"#DFE2EA",100:"#D3D6E2",200:"#BBC0D2",300:"#A2A9C2",400:"#8992B2",500:"#717BA2",600:"#5D678D",700:"#4C5574",800:"#3C435C",900:"#2C3143",950:"#212532",DEFAULT:"#2C3143"},"hokey-pokey":{50:"#F2ECBF",100:"#EFE7AE",200:"#E8DD8D",300:"#E1D36B",400:"#DACA49",500:"#D0BD2A",600:"#A19321",700:"#736817",800:"#443E0E",900:"#151304",950:"#000000",DEFAULT:"#D0BD2A"}},Yb=$e(()=>{const e=jt(),t=ue(),n=_e(()=>{const o=ua(Tr,e.ui.primary),s=ua(Tr,e.ui.gray);return o||console.warn(`[@nuxt/ui] Primary color '${e.ui.primary}' not found in Tailwind config`),s||console.warn(`[@nuxt/ui] Gray color '${e.ui.gray}' not found in Tailwind config`),`:root { ${Object.entries(o||Tr.green).map(([i,l])=>`--color-primary-${i}: ${fa(l)};`).join(` `)} --color-primary-DEFAULT: var(--color-primary-500); @@ -35,7 +35,7 @@ ${Object.entries(s||Tr.cool).map(([i,l])=>`--color-gray-${i}: ${fa(l)};`).join(` .dark { --color-primary-DEFAULT: var(--color-primary-400); } -`}),r={style:[{innerHTML:()=>n.value,tagPriority:-2,id:"nuxt-ui-colors"}]};if(t.isHydrating&&!t.payload.serverRendered){const o=document.createElement("style");o.innerHTML=n.value,o.setAttribute("data-nuxt-ui-colors",""),document.head.appendChild(o),r.script=[{innerHTML:"document.head.removeChild(document.querySelector('[data-nuxt-ui-colors]'))"}]}Yg(r)}),Zb="__NUXT_COLOR_MODE__",qo="nuxt-color-mode",e_="localStorage",dt=window[Zb]||{},t_=$e(e=>{const t=Fu("color-mode",()=>at({preference:dt.preference,value:dt.value,unknown:!1,forced:!1})).value;Qe().afterEach(s=>{const i=s.meta.colorMode;i&&i!=="system"?(t.value=i,t.forced=!0):(i==="system"&&console.warn("You cannot force the colorMode to system at the page level."),t.forced=!1,t.value=t.preference==="system"?dt.getColorScheme():t.preference)});let n;function r(){n||!window.matchMedia||(n=window.matchMedia("(prefers-color-scheme: dark)"),n.addEventListener("change",()=>{!t.forced&&t.preference==="system"&&(t.value=dt.getColorScheme())}))}function o(s,i){var l,a;switch(s){case"cookie":window.document.cookie=qo+"="+i;break;case"sessionStorage":(l=window.sessionStorage)==null||l.setItem(qo,i);break;case"localStorage":default:(a=window.localStorage)==null||a.setItem(qo,i)}}nt(()=>t.preference,s=>{t.forced||(s==="system"?(t.value=dt.getColorScheme(),r()):t.value=s,o(e_,s))},{immediate:!0}),nt(()=>t.value,(s,i)=>{dt.removeColorScheme(i),dt.addColorScheme(s)}),t.preference==="system"&&r(),e.hook("app:mounted",()=>{t.unknown&&(t.preference=dt.preference,t.value=dt.value,t.unknown=!1)}),e.provide("colorMode",t)}),Wn=/^[a-z0-9]+(-[a-z0-9]+)*$/,hr=(e,t,n,r="")=>{const o=e.split(":");if(e.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;r=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const l=o.pop(),a=o.pop(),u={provider:o.length>0?o[0]:r,prefix:a,name:l};return t&&!$r(u)?null:u}const s=o[0],i=s.split("-");if(i.length>1){const l={provider:r,prefix:i.shift(),name:i.join("-")};return t&&!$r(l)?null:l}if(n&&r===""){const l={provider:r,prefix:"",name:s};return t&&!$r(l,n)?null:l}return null},$r=(e,t)=>e?!!((e.provider===""||e.provider.match(Wn))&&(t&&e.prefix===""||e.prefix.match(Wn))&&e.name.match(Wn)):!1,Ku=Object.freeze({left:0,top:0,width:16,height:16}),eo=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Sn=Object.freeze({...Ku,...eo}),$s=Object.freeze({...Sn,body:"",hidden:!1});function n_(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function da(e,t){const n=n_(e,t);for(const r in $s)r in eo?r in e&&!(r in n)&&(n[r]=eo[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function r_(e,t){const n=e.icons,r=e.aliases||Object.create(null),o=Object.create(null);function s(i){if(n[i])return o[i]=[];if(!(i in o)){o[i]=null;const l=r[i]&&r[i].parent,a=l&&s(l);a&&(o[i]=[l].concat(a))}return o[i]}return Object.keys(n).concat(Object.keys(r)).forEach(s),o}function o_(e,t,n){const r=e.icons,o=e.aliases||Object.create(null);let s={};function i(l){s=da(r[l]||o[l],s)}return i(t),n.forEach(i),da(e,s)}function Gu(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(o=>{t(o,null),n.push(o)});const r=r_(e);for(const o in r){const s=r[o];s&&(t(o,o_(e,o,s)),n.push(o))}return n}const s_={provider:"",aliases:{},not_found:{},...Ku};function Ko(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function Ju(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!Ko(e,s_))return null;const n=t.icons;for(const o in n){const s=n[o];if(!o.match(Wn)||typeof s.body!="string"||!Ko(s,$s))return null}const r=t.aliases||Object.create(null);for(const o in r){const s=r[o],i=s.parent;if(!o.match(Wn)||typeof i!="string"||!n[i]&&!r[i]||!Ko(s,$s))return null}return t}const ha=Object.create(null);function i_(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function Qt(e,t){const n=ha[e]||(ha[e]=Object.create(null));return n[t]||(n[t]=i_(e,t))}function Pi(e,t){return Ju(t)?Gu(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function l_(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let er=!1;function Qu(e){return typeof e=="boolean"&&(er=e),er}function Ri(e){const t=typeof e=="string"?hr(e,!0,er):e;if(t){const n=Qt(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function Ai(e,t){const n=hr(e,!0,er);if(!n)return!1;const r=Qt(n.provider,n.prefix);return l_(r,n.name,t)}function a_(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),er&&!t&&!e.prefix){let o=!1;return Ju(e)&&(e.prefix="",Gu(e,(s,i)=>{i&&Ai(s,i)&&(o=!0)})),o}const n=e.prefix;if(!$r({provider:t,prefix:n,name:"a"}))return!1;const r=Qt(t,n);return!!Pi(r,e)}function Ns(e){const t=Ri(e);return t?{...Sn,...t}:null}const Xu=Object.freeze({width:null,height:null}),Yu=Object.freeze({...Xu,...eo}),c_=/(-?[0-9.]*[0-9]+[0-9.]*)/g,u_=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function pa(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(c_);if(r===null||!r.length)return e;const o=[];let s=r.shift(),i=u_.test(s);for(;;){if(i){const l=parseFloat(s);isNaN(l)?o.push(s):o.push(Math.ceil(l*t*n)/n)}else o.push(s);if(s=r.shift(),s===void 0)return o.join("");i=!i}}function f_(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const o=e.indexOf(">",r),s=e.indexOf("",s);if(i===-1)break;n+=e.slice(o+1,s).trim(),e=e.slice(0,r).trim()+e.slice(i+1)}return{defs:n,content:e}}function d_(e,t){return e?""+e+""+t:t}function h_(e,t,n){const r=f_(e);return d_(r.defs,t+r.content+n)}const p_=e=>e==="unset"||e==="undefined"||e==="none";function g_(e,t){const n={...Sn,...e},r={...Yu,...t},o={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(w=>{const v=[],S=w.hFlip,_=w.vFlip;let g=w.rotate;S?_?g+=2:(v.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),v.push("scale(-1 1)"),o.top=o.left=0):_&&(v.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),v.push("scale(1 -1)"),o.top=o.left=0);let b;switch(g<0&&(g-=Math.floor(g/4)*4),g=g%4,g){case 1:b=o.height/2+o.top,v.unshift("rotate(90 "+b.toString()+" "+b.toString()+")");break;case 2:v.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:b=o.width/2+o.left,v.unshift("rotate(-90 "+b.toString()+" "+b.toString()+")");break}g%2===1&&(o.left!==o.top&&(b=o.left,o.left=o.top,o.top=b),o.width!==o.height&&(b=o.width,o.width=o.height,o.height=b)),v.length&&(s=h_(s,'',""))});const i=r.width,l=r.height,a=o.width,u=o.height;let c,f;i===null?(f=l===null?"1em":l==="auto"?u:l,c=pa(f,a/u)):(c=i==="auto"?a:i,f=l===null?pa(c,u/a):l==="auto"?u:l);const d={},p=(w,v)=>{p_(v)||(d[w]=v.toString())};p("width",c),p("height",f);const y=[o.left,o.top,a,u];return d.viewBox=y.join(" "),{attributes:d,viewBox:y,body:s}}const m_=/\sid="(\S+)"/g,y_="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let b_=0;function __(e,t=y_){const n=[];let r;for(;r=m_.exec(e);)n.push(r[1]);if(!n.length)return e;const o="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(s=>{const i=typeof t=="function"?t(s):t+(b_++).toString(),l=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+i+o+"$3")}),e=e.replace(new RegExp(o,"g"),""),e}const js=Object.create(null);function Zu(e,t){js[e]=t}function Hs(e){return js[e]||js[""]}function Ii(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const wo=Object.create(null),In=["https://api.simplesvg.com","https://api.unisvg.com"],Nr=[];for(;In.length>0;)In.length===1||Math.random()>.5?Nr.push(In.shift()):Nr.push(In.pop());wo[""]=Ii({resources:["https://api.iconify.design"].concat(Nr)});function ef(e,t){const n=Ii(t);return n===null?!1:(wo[e]=n,!0)}function xo(e){return wo[e]}function v_(){return Object.keys(wo)}const w_=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let to=w_();function x_(e){to=e}function E_(){return to}function C_(e,t){const n=xo(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let o=0;n.resources.forEach(i=>{o=Math.max(o,i.length)});const s=t+".json?icons=";r=n.maxURL-o-n.path.length-s.length}return r}function S_(e){return e===404}const k_=(e,t,n)=>{const r=[],o=C_(e,t),s="icons";let i={type:s,provider:e,prefix:t,icons:[]},l=0;return n.forEach((a,u)=>{l+=a.length+1,l>=o&&u>0&&(r.push(i),i={type:s,provider:e,prefix:t,icons:[]},l=a.length),i.icons.push(a)}),r.push(i),r};function T_(e){if(typeof e=="string"){const t=xo(e);if(t)return t.path}return"/"}const P_=(e,t,n)=>{if(!to){n("abort",424);return}let r=T_(t.provider);switch(t.type){case"icons":{const s=t.prefix,l=t.icons.join(","),a=new URLSearchParams({icons:l});r+=s+".json?"+a.toString();break}case"custom":{const s=t.uri;r+=s.slice(0,1)==="/"?s.slice(1):s;break}default:n("abort",400);return}let o=503;to(e+r).then(s=>{const i=s.status;if(i!==200){setTimeout(()=>{n(S_(i)?"abort":"next",i)});return}return o=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?n("abort",s):n("next",o)});return}setTimeout(()=>{n("success",s)})}).catch(()=>{n("next",o)})},R_={prepare:k_,send:P_};function A_(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((o,s)=>o.provider!==s.provider?o.provider.localeCompare(s.provider):o.prefix!==s.prefix?o.prefix.localeCompare(s.prefix):o.name.localeCompare(s.name));let r={provider:"",prefix:"",name:""};return e.forEach(o=>{if(r.name===o.name&&r.prefix===o.prefix&&r.provider===o.provider)return;r=o;const s=o.provider,i=o.prefix,l=o.name,a=n[s]||(n[s]=Object.create(null)),u=a[i]||(a[i]=Qt(s,i));let c;l in u.icons?c=t.loaded:i===""||u.missing.has(l)?c=t.missing:c=t.pending;const f={provider:s,prefix:i,name:l};c.push(f)}),t}function tf(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(o=>o.id!==t))})}function I_(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,o=e.prefix;t.forEach(s=>{const i=s.icons,l=i.pending.length;i.pending=i.pending.filter(a=>{if(a.prefix!==o)return!0;const u=a.name;if(e.icons[u])i.loaded.push({provider:r,prefix:o,name:u});else if(e.missing.has(u))i.missing.push({provider:r,prefix:o,name:u});else return n=!0,!0;return!1}),i.pending.length!==l&&(n||tf([e],s.id),s.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),s.abort))})}))}let L_=0;function O_(e,t,n){const r=L_++,o=tf.bind(null,n,r);if(!t.pending.length)return o;const s={id:r,icons:t,callback:e,abort:o};return n.forEach(i=>{(i.loaderCallbacks||(i.loaderCallbacks=[])).push(s)}),o}function M_(e,t=!0,n=!1){const r=[];return e.forEach(o=>{const s=typeof o=="string"?hr(o,t,n):o;s&&r.push(s)}),r}var $_={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function N_(e,t,n,r){const o=e.resources.length,s=e.random?Math.floor(Math.random()*o):e.index;let i;if(e.random){let x=e.resources.slice(0);for(i=[];x.length>1;){const L=Math.floor(Math.random()*x.length);i.push(x[L]),x=x.slice(0,L).concat(x.slice(L+1))}i=i.concat(x)}else i=e.resources.slice(s).concat(e.resources.slice(0,s));const l=Date.now();let a="pending",u=0,c,f=null,d=[],p=[];typeof r=="function"&&p.push(r);function y(){f&&(clearTimeout(f),f=null)}function w(){a==="pending"&&(a="aborted"),y(),d.forEach(x=>{x.status==="pending"&&(x.status="aborted")}),d=[]}function v(x,L){L&&(p=[]),typeof x=="function"&&p.push(x)}function S(){return{startTime:l,payload:t,status:a,queriesSent:u,queriesPending:d.length,subscribe:v,abort:w}}function _(){a="failed",p.forEach(x=>{x(void 0,c)})}function g(){d.forEach(x=>{x.status==="pending"&&(x.status="aborted")}),d=[]}function b(x,L,k){const R=L!=="success";switch(d=d.filter(O=>O!==x),a){case"pending":break;case"failed":if(R||!e.dataAfterTimeout)return;break;default:return}if(L==="abort"){c=k,_();return}if(R){c=k,d.length||(i.length?E():_());return}if(y(),g(),!e.random){const O=e.resources.indexOf(x.resource);O!==-1&&O!==e.index&&(e.index=O)}a="completed",p.forEach(O=>{O(k)})}function E(){if(a!=="pending")return;y();const x=i.shift();if(x===void 0){if(d.length){f=setTimeout(()=>{y(),a==="pending"&&(g(),_())},e.timeout);return}_();return}const L={status:"pending",resource:x,callback:(k,R)=>{b(L,k,R)}};d.push(L),u++,f=setTimeout(E,e.rotate),n(x,t,L.callback)}return setTimeout(E),S}function nf(e){const t={...$_,...e};let n=[];function r(){n=n.filter(l=>l().status==="pending")}function o(l,a,u){const c=N_(t,l,a,(f,d)=>{r(),u&&u(f,d)});return n.push(c),c}function s(l){return n.find(a=>l(a))||null}return{query:o,find:s,setIndex:l=>{t.index=l},getIndex:()=>t.index,cleanup:r}}function ga(){}const Go=Object.create(null);function j_(e){if(!Go[e]){const t=xo(e);if(!t)return;const n=nf(t),r={config:t,redundancy:n};Go[e]=r}return Go[e]}function rf(e,t,n){let r,o;if(typeof e=="string"){const s=Hs(e);if(!s)return n(void 0,424),ga;o=s.send;const i=j_(e);i&&(r=i.redundancy)}else{const s=Ii(e);if(s){r=nf(s);const i=e.resources?e.resources[0]:"",l=Hs(i);l&&(o=l.send)}}return!r||!o?(n(void 0,424),ga):r.query(t,o,n)().abort}const ma="iconify2",tr="iconify",of=tr+"-count",ya=tr+"-version",sf=36e5,H_=168,F_=50;function Fs(e,t){try{return e.getItem(t)}catch{}}function Li(e,t,n){try{return e.setItem(t,n),!0}catch{}}function ba(e,t){try{e.removeItem(t)}catch{}}function Ds(e,t){return Li(e,of,t.toString())}function Bs(e){return parseInt(Fs(e,of))||0}const Gt={local:!0,session:!0},lf={local:new Set,session:new Set};let Oi=!1;function D_(e){Oi=e}let Pr=typeof window>"u"?{}:window;function af(e){const t=e+"Storage";try{if(Pr&&Pr[t]&&typeof Pr[t].length=="number")return Pr[t]}catch{}Gt[e]=!1}function cf(e,t){const n=af(e);if(!n)return;const r=Fs(n,ya);if(r!==ma){if(r){const l=Bs(n);for(let a=0;a{const a=tr+l.toString(),u=Fs(n,a);if(typeof u=="string"){try{const c=JSON.parse(u);if(typeof c=="object"&&typeof c.cached=="number"&&c.cached>o&&typeof c.provider=="string"&&typeof c.data=="object"&&typeof c.data.prefix=="string"&&t(c,l))return!0}catch{}ba(n,a)}};let i=Bs(n);for(let l=i-1;l>=0;l--)s(l)||(l===i-1?(i--,Ds(n,i)):lf[e].add(l))}function uf(){if(!Oi){D_(!0);for(const e in Gt)cf(e,t=>{const n=t.data,r=t.provider,o=n.prefix,s=Qt(r,o);if(!Pi(s,n).length)return!1;const i=n.lastModified||-1;return s.lastModifiedCached=s.lastModifiedCached?Math.min(s.lastModifiedCached,i):i,!0})}}function B_(e,t){const n=e.lastModifiedCached;if(n&&n>=t)return n===t;if(e.lastModifiedCached=t,n)for(const r in Gt)cf(r,o=>{const s=o.data;return o.provider!==e.provider||s.prefix!==e.prefix||s.lastModified===t});return!0}function V_(e,t){Oi||uf();function n(r){let o;if(!Gt[r]||!(o=af(r)))return;const s=lf[r];let i;if(s.size)s.delete(i=Array.from(s).shift());else if(i=Bs(o),i>=F_||!Ds(o,i+1))return;const l={cached:Math.floor(Date.now()/sf),provider:e.provider,data:t};return Li(o,tr+i.toString(),JSON.stringify(l))}t.lastModified&&!B_(e,t.lastModified)||Object.keys(t.icons).length&&(t.not_found&&(t=Object.assign({},t),delete t.not_found),n("local")||n("session"))}function _a(){}function U_(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,I_(e)}))}function z_(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,o=e.iconsToLoad;delete e.iconsToLoad;let s;if(!o||!(s=Hs(n)))return;s.prepare(n,r,o).forEach(l=>{rf(n,l,a=>{if(typeof a!="object")l.icons.forEach(u=>{e.missing.add(u)});else try{const u=Pi(e,a);if(!u.length)return;const c=e.pendingIcons;c&&u.forEach(f=>{c.delete(f)}),V_(e,a)}catch(u){console.error(u)}U_(e)})})}))}const ff=(e,t)=>{const n=M_(e,!0,Qu()),r=A_(n);if(!r.pending.length){let a=!0;return t&&setTimeout(()=>{a&&t(r.loaded,r.missing,r.pending,_a)}),()=>{a=!1}}const o=Object.create(null),s=[];let i,l;return r.pending.forEach(a=>{const{provider:u,prefix:c}=a;if(c===l&&u===i)return;i=u,l=c,s.push(Qt(u,c));const f=o[u]||(o[u]=Object.create(null));f[c]||(f[c]=[])}),r.pending.forEach(a=>{const{provider:u,prefix:c,name:f}=a,d=Qt(u,c),p=d.pendingIcons||(d.pendingIcons=new Set);p.has(f)||(p.add(f),o[u][c].push(f))}),s.forEach(a=>{const{provider:u,prefix:c}=a;o[u][c].length&&z_(a,o[u][c])}),t?O_(t,r,s):_a},W_=e=>new Promise((t,n)=>{const r=typeof e=="string"?hr(e,!0):e;if(!r){n(e);return}ff([r||e],o=>{if(o.length&&r){const s=Ri(r);if(s){t({...Sn,...s});return}}n(e)})});function q_(e,t){switch(e){case"local":case"session":Gt[e]=t;break;case"all":for(const n in Gt)Gt[n]=t;break}}function K_(e,t){const n={...e};for(const r in t){const o=t[r],s=typeof o;r in Xu?(o===null||o&&(s==="string"||s==="number"))&&(n[r]=o):s===typeof n[r]&&(n[r]=r==="rotate"?o%4:o)}return n}const G_=/[\s,]+/;function J_(e,t){t.split(G_).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function Q_(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function r(o){for(;o<0;)o+=4;return o%4}if(n===""){const o=parseInt(e);return isNaN(o)?0:r(o)}else if(n!==e){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let s=parseFloat(e.slice(0,e.length-n.length));return isNaN(s)?0:(s=s/o,s%1===0?r(s):0)}}return t}function X_(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}function Y_(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function Z_(e){return"data:image/svg+xml,"+Y_(e)}function ev(e){return'url("'+Z_(e)+'")'}const va={...Yu,inline:!1},tv={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},nv={display:"inline-block"},Vs={backgroundColor:"currentColor"},df={backgroundColor:"transparent"},wa={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},xa={webkitMask:Vs,mask:Vs,background:df};for(const e in xa){const t=xa[e];for(const n in wa)t[e+n]=wa[n]}const jr={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";jr[e+"-flip"]=t,jr[e.slice(0,1)+"-flip"]=t,jr[e+"Flip"]=t});function Ea(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const Ca=(e,t)=>{const n=K_(va,t),r={...tv},o=t.mode||"svg",s={},i=t.style,l=typeof i=="object"&&!(i instanceof Array)?i:{};for(let w in t){const v=t[w];if(v!==void 0)switch(w){case"icon":case"style":case"onLoad":case"mode":break;case"inline":case"hFlip":case"vFlip":n[w]=v===!0||v==="true"||v===1;break;case"flip":typeof v=="string"&&J_(n,v);break;case"color":s.color=v;break;case"rotate":typeof v=="string"?n[w]=Q_(v):typeof v=="number"&&(n[w]=v);break;case"ariaHidden":case"aria-hidden":v!==!0&&v!=="true"&&delete r["aria-hidden"];break;default:{const S=jr[w];S?(v===!0||v==="true"||v===1)&&(n[S]=!0):va[w]===void 0&&(r[w]=v)}}}const a=g_(e,n),u=a.attributes;if(n.inline&&(s.verticalAlign="-0.125em"),o==="svg"){r.style={...s,...l},Object.assign(r,u);let w=0,v=t.id;return typeof v=="string"&&(v=v.replace(/-/g,"_")),r.innerHTML=__(a.body,v?()=>v+"ID"+w++:"iconifyVue"),Le("svg",r)}const{body:c,width:f,height:d}=e,p=o==="mask"||(o==="bg"?!1:c.indexOf("currentColor")!==-1),y=X_(c,{...u,width:f+"",height:d+""});return r.style={...s,"--svg":ev(y),width:Ea(u.width),height:Ea(u.height),...nv,...p?Vs:df,...l},Le("span",r)};function rv(e){q_(e,!1)}Qu(!0);Zu("",R_);if(typeof document<"u"&&typeof window<"u"){uf();const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!a_(r))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const r="IconifyProviders["+n+"] is invalid.";try{const o=t[n];if(typeof o!="object"||!o||o.resources===void 0)continue;ef(n,o)||console.error(r)}catch{console.error(r)}}}}const ov={...Sn,body:""},sv=ct({inheritAttrs:!1,data(){return{_name:"",_loadingIcon:null,iconMounted:!1,counter:0}},mounted(){this.iconMounted=!0},unmounted(){this.abortLoading()},methods:{abortLoading(){this._loadingIcon&&(this._loadingIcon.abort(),this._loadingIcon=null)},getIcon(e,t,n){if(typeof e=="object"&&e!==null&&typeof e.body=="string")return this._name="",this.abortLoading(),{data:e};let r;if(typeof e!="string"||(r=hr(e,!1,!0))===null)return this.abortLoading(),null;let o=Ri(r);if(!o)return(!this._loadingIcon||this._loadingIcon.name!==e)&&(this.abortLoading(),this._name="",o!==null&&(this._loadingIcon={name:e,abort:ff([r],()=>{this.counter++})})),null;if(this.abortLoading(),this._name!==e&&(this._name=e,t&&t(e)),n){o=Object.assign({},o);const i=n(o.body,r.name,r.prefix,r.provider);typeof i=="string"&&(o.body=i)}const s=["iconify"];return r.prefix!==""&&s.push("iconify--"+r.prefix),r.provider!==""&&s.push("iconify--"+r.provider),{data:o,classes:s}}},render(){this.counter;const e=this.$attrs,t=this.iconMounted||e.ssr?this.getIcon(e.icon,e.onLoad,e.customise):null;if(!t)return Ca(ov,e);let n=e;return t.classes&&(n={...e,class:(typeof e.class=="string"?e.class+" ":"")+t.classes.join(" ")}),Ca({...Sn,...t.data},n)}}),iv={getAPIConfig:xo,setAPIModule:Zu,sendAPIQuery:rf,setFetch:x_,getFetch:E_,listAPIProviders:v_},lv=$e({name:"@nuxt/icon",setup(){var r,o;const e=fr(),t=jt().icon;iv.setFetch($fetch.native),rv("all");const n=[];if(t.provider==="server"){const s=((o=(r=e.app)==null?void 0:r.baseURL)==null?void 0:o.replace(/\/$/,""))??"";n.push(s+(t.localApiEndpoint||"/api/_nuxt_icon")),(t.fallbackToApi===!0||t.fallbackToApi==="client-only")&&n.push(t.iconifyApiEndpoint)}else n.push(t.iconifyApiEndpoint);ef("",{resources:n})}}),av=$e({name:"nuxt:chunk-reload",setup(e){const t=Qe(),n=fr(),r=new Set;t.beforeEach(()=>{r.clear()}),e.hook("app:chunkError",({error:s})=>{r.add(s)});function o(s){const l="href"in s&&s.href[0]==="#"?n.app.baseURL+s.href:go(n.app.baseURL,s.fullPath);Vy({path:l,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(o)}),t.onError((s,i)=>{r.has(s)&&o(i)})}}),cv=()=>Fu("color-mode").value,uv=$e(e=>{const t=cv();e.hook("app:mounted",()=>{t.preference="light",t.value="light"})}),fv=[dm,pm,Ay,Ly,Oy,Gy,O0,M0,N0,H0,Yb,t_,lv,av,uv],dv=Object.freeze({left:0,top:0,width:16,height:16}),hf=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Mi=Object.freeze({...dv,...hf});Object.freeze({...Mi,body:"",hidden:!1});function hv(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}const pv=/(-?[0-9.]*[0-9]+[0-9.]*)/g,gv=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Us(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(pv);if(r===null||!r.length)return e;const o=[];let s=r.shift(),i=gv.test(s);for(;;){if(i){const l=parseFloat(s);isNaN(l)?o.push(s):o.push(Math.ceil(l*t*n)/n)}else o.push(s);if(s=r.shift(),s===void 0)return o.join("");i=!i}}function mv(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function yv(e){return"data:image/svg+xml,"+mv(e)}function bv(e){return'url("'+yv(e)+'")'}function _v(e){const[t,n,r,o]=e;if(r!==o){const s=Math.max(r,o);return[t-(s-r)/2,n-(s-o)/2,s,s]}return e}const vv=Object.freeze({width:null,height:null}),wv=Object.freeze({...vv,...hf});function xv(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const o=e.indexOf(">",r),s=e.indexOf("",s);if(i===-1)break;n+=e.slice(o+1,s).trim(),e=e.slice(0,r).trim()+e.slice(i+1)}return{defs:n,content:e}}function Ev(e,t){return e?""+e+""+t:t}function Cv(e,t,n){const r=xv(e);return Ev(r.defs,t+r.content+n)}const Sv=e=>e==="unset"||e==="undefined"||e==="none";function kv(e,t){const n={...Mi,...e},r={...wv,...t},o={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(w=>{const v=[],S=w.hFlip,_=w.vFlip;let g=w.rotate;S?_?g+=2:(v.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),v.push("scale(-1 1)"),o.top=o.left=0):_&&(v.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),v.push("scale(1 -1)"),o.top=o.left=0);let b;switch(g<0&&(g-=Math.floor(g/4)*4),g=g%4,g){case 1:b=o.height/2+o.top,v.unshift("rotate(90 "+b.toString()+" "+b.toString()+")");break;case 2:v.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:b=o.width/2+o.left,v.unshift("rotate(-90 "+b.toString()+" "+b.toString()+")");break}g%2===1&&(o.left!==o.top&&(b=o.left,o.left=o.top,o.top=b),o.width!==o.height&&(b=o.width,o.width=o.height,o.height=b)),v.length&&(s=Cv(s,'',""))});const i=r.width,l=r.height,a=o.width,u=o.height;let c,f;i===null?(f=l===null?"1em":l==="auto"?u:l,c=Us(f,a/u)):(c=i==="auto"?a:i,f=l===null?Us(c,u/a):l==="auto"?u:l);const d={},p=(w,v)=>{Sv(v)||(d[w]=v.toString())};p("width",c),p("height",f);const y=[o.left,o.top,a,u];return d.viewBox=y.join(" "),{attributes:d,viewBox:y,body:s}}function Tv(e){const t={display:"inline-block",width:"1em",height:"1em"},n=e.varName;switch(e.pseudoSelector&&(t.content="''"),e.mode){case"background":n&&(t["background-image"]="var(--"+n+")"),t["background-repeat"]="no-repeat",t["background-size"]="100% 100%";break;case"mask":t["background-color"]="currentColor",n&&(t["mask-image"]=t["-webkit-mask-image"]="var(--"+n+")"),t["mask-repeat"]=t["-webkit-mask-repeat"]="no-repeat",t["mask-size"]=t["-webkit-mask-size"]="100% 100%";break}return t}function Pv(e,t){const n={},r=t.varName,o=kv(e);let s=o.viewBox;s[2]!==s[3]&&(t.forceSquare?s=_v(s):n.width=Us("1em",s[2]/s[3]));const i=hv(o.body.replace(/currentColor/g,t.color||"black"),{viewBox:`${s[0]} ${s[1]} ${s[2]} ${s[3]}`,width:`${s[2]}`,height:`${s[3]}`}),l=bv(i);if(r)n["--"+r]=l;else switch(t.mode){case"background":n["background-image"]=l;break;case"mask":n["mask-image"]=n["-webkit-mask-image"]=l;break}return n}const Jo={selectorStart:{compressed:"{",compact:" {",expanded:" {"},selectorEnd:{compressed:"}",compact:`; } +`}),r={style:[{innerHTML:()=>n.value,tagPriority:-2,id:"nuxt-ui-colors"}]};if(t.isHydrating&&!t.payload.serverRendered){const o=document.createElement("style");o.innerHTML=n.value,o.setAttribute("data-nuxt-ui-colors",""),document.head.appendChild(o),r.script=[{innerHTML:"document.head.removeChild(document.querySelector('[data-nuxt-ui-colors]'))"}]}Yg(r)}),Zb="__NUXT_COLOR_MODE__",qo="nuxt-color-mode",e_="localStorage",dt=window[Zb]||{},t_=$e(e=>{const t=Fu("color-mode",()=>at({preference:dt.preference,value:dt.value,unknown:!1,forced:!1})).value;Qe().afterEach(s=>{const i=s.meta.colorMode;i&&i!=="system"?(t.value=i,t.forced=!0):(i==="system"&&console.warn("You cannot force the colorMode to system at the page level."),t.forced=!1,t.value=t.preference==="system"?dt.getColorScheme():t.preference)});let n;function r(){n||!window.matchMedia||(n=window.matchMedia("(prefers-color-scheme: dark)"),n.addEventListener("change",()=>{!t.forced&&t.preference==="system"&&(t.value=dt.getColorScheme())}))}function o(s,i){var l,a;switch(s){case"cookie":window.document.cookie=qo+"="+i;break;case"sessionStorage":(l=window.sessionStorage)==null||l.setItem(qo,i);break;case"localStorage":default:(a=window.localStorage)==null||a.setItem(qo,i)}}nt(()=>t.preference,s=>{t.forced||(s==="system"?(t.value=dt.getColorScheme(),r()):t.value=s,o(e_,s))},{immediate:!0}),nt(()=>t.value,(s,i)=>{dt.removeColorScheme(i),dt.addColorScheme(s)}),t.preference==="system"&&r(),e.hook("app:mounted",()=>{t.unknown&&(t.preference=dt.preference,t.value=dt.value,t.unknown=!1)}),e.provide("colorMode",t)}),Wn=/^[a-z0-9]+(-[a-z0-9]+)*$/,hr=(e,t,n,r="")=>{const o=e.split(":");if(e.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;r=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const l=o.pop(),a=o.pop(),u={provider:o.length>0?o[0]:r,prefix:a,name:l};return t&&!$r(u)?null:u}const s=o[0],i=s.split("-");if(i.length>1){const l={provider:r,prefix:i.shift(),name:i.join("-")};return t&&!$r(l)?null:l}if(n&&r===""){const l={provider:r,prefix:"",name:s};return t&&!$r(l,n)?null:l}return null},$r=(e,t)=>e?!!((e.provider===""||e.provider.match(Wn))&&(t&&e.prefix===""||e.prefix.match(Wn))&&e.name.match(Wn)):!1,Ku=Object.freeze({left:0,top:0,width:16,height:16}),eo=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Sn=Object.freeze({...Ku,...eo}),$s=Object.freeze({...Sn,body:"",hidden:!1});function n_(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function da(e,t){const n=n_(e,t);for(const r in $s)r in eo?r in e&&!(r in n)&&(n[r]=eo[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function r_(e,t){const n=e.icons,r=e.aliases||Object.create(null),o=Object.create(null);function s(i){if(n[i])return o[i]=[];if(!(i in o)){o[i]=null;const l=r[i]&&r[i].parent,a=l&&s(l);a&&(o[i]=[l].concat(a))}return o[i]}return Object.keys(n).concat(Object.keys(r)).forEach(s),o}function o_(e,t,n){const r=e.icons,o=e.aliases||Object.create(null);let s={};function i(l){s=da(r[l]||o[l],s)}return i(t),n.forEach(i),da(e,s)}function Gu(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(o=>{t(o,null),n.push(o)});const r=r_(e);for(const o in r){const s=r[o];s&&(t(o,o_(e,o,s)),n.push(o))}return n}const s_={provider:"",aliases:{},not_found:{},...Ku};function Ko(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function Ju(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!Ko(e,s_))return null;const n=t.icons;for(const o in n){const s=n[o];if(!o.match(Wn)||typeof s.body!="string"||!Ko(s,$s))return null}const r=t.aliases||Object.create(null);for(const o in r){const s=r[o],i=s.parent;if(!o.match(Wn)||typeof i!="string"||!n[i]&&!r[i]||!Ko(s,$s))return null}return t}const ha=Object.create(null);function i_(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function Qt(e,t){const n=ha[e]||(ha[e]=Object.create(null));return n[t]||(n[t]=i_(e,t))}function Pi(e,t){return Ju(t)?Gu(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function l_(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let er=!1;function Qu(e){return typeof e=="boolean"&&(er=e),er}function Ri(e){const t=typeof e=="string"?hr(e,!0,er):e;if(t){const n=Qt(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function Ai(e,t){const n=hr(e,!0,er);if(!n)return!1;const r=Qt(n.provider,n.prefix);return l_(r,n.name,t)}function a_(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),er&&!t&&!e.prefix){let o=!1;return Ju(e)&&(e.prefix="",Gu(e,(s,i)=>{i&&Ai(s,i)&&(o=!0)})),o}const n=e.prefix;if(!$r({provider:t,prefix:n,name:"a"}))return!1;const r=Qt(t,n);return!!Pi(r,e)}function Ns(e){const t=Ri(e);return t?{...Sn,...t}:null}const Xu=Object.freeze({width:null,height:null}),Yu=Object.freeze({...Xu,...eo}),c_=/(-?[0-9.]*[0-9]+[0-9.]*)/g,u_=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function pa(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(c_);if(r===null||!r.length)return e;const o=[];let s=r.shift(),i=u_.test(s);for(;;){if(i){const l=parseFloat(s);isNaN(l)?o.push(s):o.push(Math.ceil(l*t*n)/n)}else o.push(s);if(s=r.shift(),s===void 0)return o.join("");i=!i}}function f_(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const o=e.indexOf(">",r),s=e.indexOf("",s);if(i===-1)break;n+=e.slice(o+1,s).trim(),e=e.slice(0,r).trim()+e.slice(i+1)}return{defs:n,content:e}}function d_(e,t){return e?""+e+""+t:t}function h_(e,t,n){const r=f_(e);return d_(r.defs,t+r.content+n)}const p_=e=>e==="unset"||e==="undefined"||e==="none";function g_(e,t){const n={...Sn,...e},r={...Yu,...t},o={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(w=>{const v=[],S=w.hFlip,_=w.vFlip;let g=w.rotate;S?_?g+=2:(v.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),v.push("scale(-1 1)"),o.top=o.left=0):_&&(v.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),v.push("scale(1 -1)"),o.top=o.left=0);let b;switch(g<0&&(g-=Math.floor(g/4)*4),g=g%4,g){case 1:b=o.height/2+o.top,v.unshift("rotate(90 "+b.toString()+" "+b.toString()+")");break;case 2:v.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:b=o.width/2+o.left,v.unshift("rotate(-90 "+b.toString()+" "+b.toString()+")");break}g%2===1&&(o.left!==o.top&&(b=o.left,o.left=o.top,o.top=b),o.width!==o.height&&(b=o.width,o.width=o.height,o.height=b)),v.length&&(s=h_(s,'',""))});const i=r.width,l=r.height,a=o.width,u=o.height;let c,f;i===null?(f=l===null?"1em":l==="auto"?u:l,c=pa(f,a/u)):(c=i==="auto"?a:i,f=l===null?pa(c,u/a):l==="auto"?u:l);const d={},p=(w,v)=>{p_(v)||(d[w]=v.toString())};p("width",c),p("height",f);const y=[o.left,o.top,a,u];return d.viewBox=y.join(" "),{attributes:d,viewBox:y,body:s}}const m_=/\sid="(\S+)"/g,y_="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let b_=0;function __(e,t=y_){const n=[];let r;for(;r=m_.exec(e);)n.push(r[1]);if(!n.length)return e;const o="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(s=>{const i=typeof t=="function"?t(s):t+(b_++).toString(),l=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+i+o+"$3")}),e=e.replace(new RegExp(o,"g"),""),e}const js=Object.create(null);function Zu(e,t){js[e]=t}function Hs(e){return js[e]||js[""]}function Ii(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const wo=Object.create(null),In=["https://api.simplesvg.com","https://api.unisvg.com"],Nr=[];for(;In.length>0;)In.length===1||Math.random()>.5?Nr.push(In.shift()):Nr.push(In.pop());wo[""]=Ii({resources:["https://api.iconify.design"].concat(Nr)});function ef(e,t){const n=Ii(t);return n===null?!1:(wo[e]=n,!0)}function xo(e){return wo[e]}function v_(){return Object.keys(wo)}const w_=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let to=w_();function x_(e){to=e}function E_(){return to}function C_(e,t){const n=xo(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let o=0;n.resources.forEach(i=>{o=Math.max(o,i.length)});const s=t+".json?icons=";r=n.maxURL-o-n.path.length-s.length}return r}function S_(e){return e===404}const k_=(e,t,n)=>{const r=[],o=C_(e,t),s="icons";let i={type:s,provider:e,prefix:t,icons:[]},l=0;return n.forEach((a,u)=>{l+=a.length+1,l>=o&&u>0&&(r.push(i),i={type:s,provider:e,prefix:t,icons:[]},l=a.length),i.icons.push(a)}),r.push(i),r};function T_(e){if(typeof e=="string"){const t=xo(e);if(t)return t.path}return"/"}const P_=(e,t,n)=>{if(!to){n("abort",424);return}let r=T_(t.provider);switch(t.type){case"icons":{const s=t.prefix,l=t.icons.join(","),a=new URLSearchParams({icons:l});r+=s+".json?"+a.toString();break}case"custom":{const s=t.uri;r+=s.slice(0,1)==="/"?s.slice(1):s;break}default:n("abort",400);return}let o=503;to(e+r).then(s=>{const i=s.status;if(i!==200){setTimeout(()=>{n(S_(i)?"abort":"next",i)});return}return o=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?n("abort",s):n("next",o)});return}setTimeout(()=>{n("success",s)})}).catch(()=>{n("next",o)})},R_={prepare:k_,send:P_};function A_(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((o,s)=>o.provider!==s.provider?o.provider.localeCompare(s.provider):o.prefix!==s.prefix?o.prefix.localeCompare(s.prefix):o.name.localeCompare(s.name));let r={provider:"",prefix:"",name:""};return e.forEach(o=>{if(r.name===o.name&&r.prefix===o.prefix&&r.provider===o.provider)return;r=o;const s=o.provider,i=o.prefix,l=o.name,a=n[s]||(n[s]=Object.create(null)),u=a[i]||(a[i]=Qt(s,i));let c;l in u.icons?c=t.loaded:i===""||u.missing.has(l)?c=t.missing:c=t.pending;const f={provider:s,prefix:i,name:l};c.push(f)}),t}function tf(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(o=>o.id!==t))})}function I_(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,o=e.prefix;t.forEach(s=>{const i=s.icons,l=i.pending.length;i.pending=i.pending.filter(a=>{if(a.prefix!==o)return!0;const u=a.name;if(e.icons[u])i.loaded.push({provider:r,prefix:o,name:u});else if(e.missing.has(u))i.missing.push({provider:r,prefix:o,name:u});else return n=!0,!0;return!1}),i.pending.length!==l&&(n||tf([e],s.id),s.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),s.abort))})}))}let L_=0;function O_(e,t,n){const r=L_++,o=tf.bind(null,n,r);if(!t.pending.length)return o;const s={id:r,icons:t,callback:e,abort:o};return n.forEach(i=>{(i.loaderCallbacks||(i.loaderCallbacks=[])).push(s)}),o}function M_(e,t=!0,n=!1){const r=[];return e.forEach(o=>{const s=typeof o=="string"?hr(o,t,n):o;s&&r.push(s)}),r}var $_={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function N_(e,t,n,r){const o=e.resources.length,s=e.random?Math.floor(Math.random()*o):e.index;let i;if(e.random){let x=e.resources.slice(0);for(i=[];x.length>1;){const L=Math.floor(Math.random()*x.length);i.push(x[L]),x=x.slice(0,L).concat(x.slice(L+1))}i=i.concat(x)}else i=e.resources.slice(s).concat(e.resources.slice(0,s));const l=Date.now();let a="pending",u=0,c,f=null,d=[],p=[];typeof r=="function"&&p.push(r);function y(){f&&(clearTimeout(f),f=null)}function w(){a==="pending"&&(a="aborted"),y(),d.forEach(x=>{x.status==="pending"&&(x.status="aborted")}),d=[]}function v(x,L){L&&(p=[]),typeof x=="function"&&p.push(x)}function S(){return{startTime:l,payload:t,status:a,queriesSent:u,queriesPending:d.length,subscribe:v,abort:w}}function _(){a="failed",p.forEach(x=>{x(void 0,c)})}function g(){d.forEach(x=>{x.status==="pending"&&(x.status="aborted")}),d=[]}function b(x,L,k){const R=L!=="success";switch(d=d.filter(O=>O!==x),a){case"pending":break;case"failed":if(R||!e.dataAfterTimeout)return;break;default:return}if(L==="abort"){c=k,_();return}if(R){c=k,d.length||(i.length?E():_());return}if(y(),g(),!e.random){const O=e.resources.indexOf(x.resource);O!==-1&&O!==e.index&&(e.index=O)}a="completed",p.forEach(O=>{O(k)})}function E(){if(a!=="pending")return;y();const x=i.shift();if(x===void 0){if(d.length){f=setTimeout(()=>{y(),a==="pending"&&(g(),_())},e.timeout);return}_();return}const L={status:"pending",resource:x,callback:(k,R)=>{b(L,k,R)}};d.push(L),u++,f=setTimeout(E,e.rotate),n(x,t,L.callback)}return setTimeout(E),S}function nf(e){const t={...$_,...e};let n=[];function r(){n=n.filter(l=>l().status==="pending")}function o(l,a,u){const c=N_(t,l,a,(f,d)=>{r(),u&&u(f,d)});return n.push(c),c}function s(l){return n.find(a=>l(a))||null}return{query:o,find:s,setIndex:l=>{t.index=l},getIndex:()=>t.index,cleanup:r}}function ga(){}const Go=Object.create(null);function j_(e){if(!Go[e]){const t=xo(e);if(!t)return;const n=nf(t),r={config:t,redundancy:n};Go[e]=r}return Go[e]}function rf(e,t,n){let r,o;if(typeof e=="string"){const s=Hs(e);if(!s)return n(void 0,424),ga;o=s.send;const i=j_(e);i&&(r=i.redundancy)}else{const s=Ii(e);if(s){r=nf(s);const i=e.resources?e.resources[0]:"",l=Hs(i);l&&(o=l.send)}}return!r||!o?(n(void 0,424),ga):r.query(t,o,n)().abort}const ma="iconify2",tr="iconify",of=tr+"-count",ya=tr+"-version",sf=36e5,H_=168,F_=50;function Fs(e,t){try{return e.getItem(t)}catch{}}function Li(e,t,n){try{return e.setItem(t,n),!0}catch{}}function ba(e,t){try{e.removeItem(t)}catch{}}function Ds(e,t){return Li(e,of,t.toString())}function Bs(e){return parseInt(Fs(e,of))||0}const Gt={local:!0,session:!0},lf={local:new Set,session:new Set};let Oi=!1;function D_(e){Oi=e}let Pr=typeof window>"u"?{}:window;function af(e){const t=e+"Storage";try{if(Pr&&Pr[t]&&typeof Pr[t].length=="number")return Pr[t]}catch{}Gt[e]=!1}function cf(e,t){const n=af(e);if(!n)return;const r=Fs(n,ya);if(r!==ma){if(r){const l=Bs(n);for(let a=0;a{const a=tr+l.toString(),u=Fs(n,a);if(typeof u=="string"){try{const c=JSON.parse(u);if(typeof c=="object"&&typeof c.cached=="number"&&c.cached>o&&typeof c.provider=="string"&&typeof c.data=="object"&&typeof c.data.prefix=="string"&&t(c,l))return!0}catch{}ba(n,a)}};let i=Bs(n);for(let l=i-1;l>=0;l--)s(l)||(l===i-1?(i--,Ds(n,i)):lf[e].add(l))}function uf(){if(!Oi){D_(!0);for(const e in Gt)cf(e,t=>{const n=t.data,r=t.provider,o=n.prefix,s=Qt(r,o);if(!Pi(s,n).length)return!1;const i=n.lastModified||-1;return s.lastModifiedCached=s.lastModifiedCached?Math.min(s.lastModifiedCached,i):i,!0})}}function B_(e,t){const n=e.lastModifiedCached;if(n&&n>=t)return n===t;if(e.lastModifiedCached=t,n)for(const r in Gt)cf(r,o=>{const s=o.data;return o.provider!==e.provider||s.prefix!==e.prefix||s.lastModified===t});return!0}function V_(e,t){Oi||uf();function n(r){let o;if(!Gt[r]||!(o=af(r)))return;const s=lf[r];let i;if(s.size)s.delete(i=Array.from(s).shift());else if(i=Bs(o),i>=F_||!Ds(o,i+1))return;const l={cached:Math.floor(Date.now()/sf),provider:e.provider,data:t};return Li(o,tr+i.toString(),JSON.stringify(l))}t.lastModified&&!B_(e,t.lastModified)||Object.keys(t.icons).length&&(t.not_found&&(t=Object.assign({},t),delete t.not_found),n("local")||n("session"))}function _a(){}function U_(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,I_(e)}))}function z_(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,o=e.iconsToLoad;delete e.iconsToLoad;let s;if(!o||!(s=Hs(n)))return;s.prepare(n,r,o).forEach(l=>{rf(n,l,a=>{if(typeof a!="object")l.icons.forEach(u=>{e.missing.add(u)});else try{const u=Pi(e,a);if(!u.length)return;const c=e.pendingIcons;c&&u.forEach(f=>{c.delete(f)}),V_(e,a)}catch(u){console.error(u)}U_(e)})})}))}const ff=(e,t)=>{const n=M_(e,!0,Qu()),r=A_(n);if(!r.pending.length){let a=!0;return t&&setTimeout(()=>{a&&t(r.loaded,r.missing,r.pending,_a)}),()=>{a=!1}}const o=Object.create(null),s=[];let i,l;return r.pending.forEach(a=>{const{provider:u,prefix:c}=a;if(c===l&&u===i)return;i=u,l=c,s.push(Qt(u,c));const f=o[u]||(o[u]=Object.create(null));f[c]||(f[c]=[])}),r.pending.forEach(a=>{const{provider:u,prefix:c,name:f}=a,d=Qt(u,c),p=d.pendingIcons||(d.pendingIcons=new Set);p.has(f)||(p.add(f),o[u][c].push(f))}),s.forEach(a=>{const{provider:u,prefix:c}=a;o[u][c].length&&z_(a,o[u][c])}),t?O_(t,r,s):_a},W_=e=>new Promise((t,n)=>{const r=typeof e=="string"?hr(e,!0):e;if(!r){n(e);return}ff([r||e],o=>{if(o.length&&r){const s=Ri(r);if(s){t({...Sn,...s});return}}n(e)})});function q_(e,t){switch(e){case"local":case"session":Gt[e]=t;break;case"all":for(const n in Gt)Gt[n]=t;break}}function K_(e,t){const n={...e};for(const r in t){const o=t[r],s=typeof o;r in Xu?(o===null||o&&(s==="string"||s==="number"))&&(n[r]=o):s===typeof n[r]&&(n[r]=r==="rotate"?o%4:o)}return n}const G_=/[\s,]+/;function J_(e,t){t.split(G_).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function Q_(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function r(o){for(;o<0;)o+=4;return o%4}if(n===""){const o=parseInt(e);return isNaN(o)?0:r(o)}else if(n!==e){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let s=parseFloat(e.slice(0,e.length-n.length));return isNaN(s)?0:(s=s/o,s%1===0?r(s):0)}}return t}function X_(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}function Y_(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function Z_(e){return"data:image/svg+xml,"+Y_(e)}function ev(e){return'url("'+Z_(e)+'")'}const va={...Yu,inline:!1},tv={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},nv={display:"inline-block"},Vs={backgroundColor:"currentColor"},df={backgroundColor:"transparent"},wa={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},xa={webkitMask:Vs,mask:Vs,background:df};for(const e in xa){const t=xa[e];for(const n in wa)t[e+n]=wa[n]}const jr={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";jr[e+"-flip"]=t,jr[e.slice(0,1)+"-flip"]=t,jr[e+"Flip"]=t});function Ea(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const Ca=(e,t)=>{const n=K_(va,t),r={...tv},o=t.mode||"svg",s={},i=t.style,l=typeof i=="object"&&!(i instanceof Array)?i:{};for(let w in t){const v=t[w];if(v!==void 0)switch(w){case"icon":case"style":case"onLoad":case"mode":break;case"inline":case"hFlip":case"vFlip":n[w]=v===!0||v==="true"||v===1;break;case"flip":typeof v=="string"&&J_(n,v);break;case"color":s.color=v;break;case"rotate":typeof v=="string"?n[w]=Q_(v):typeof v=="number"&&(n[w]=v);break;case"ariaHidden":case"aria-hidden":v!==!0&&v!=="true"&&delete r["aria-hidden"];break;default:{const S=jr[w];S?(v===!0||v==="true"||v===1)&&(n[S]=!0):va[w]===void 0&&(r[w]=v)}}}const a=g_(e,n),u=a.attributes;if(n.inline&&(s.verticalAlign="-0.125em"),o==="svg"){r.style={...s,...l},Object.assign(r,u);let w=0,v=t.id;return typeof v=="string"&&(v=v.replace(/-/g,"_")),r.innerHTML=__(a.body,v?()=>v+"ID"+w++:"iconifyVue"),Le("svg",r)}const{body:c,width:f,height:d}=e,p=o==="mask"||(o==="bg"?!1:c.indexOf("currentColor")!==-1),y=X_(c,{...u,width:f+"",height:d+""});return r.style={...s,"--svg":ev(y),width:Ea(u.width),height:Ea(u.height),...nv,...p?Vs:df,...l},Le("span",r)};function rv(e){q_(e,!1)}Qu(!0);Zu("",R_);if(typeof document<"u"&&typeof window<"u"){uf();const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!a_(r))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const r="IconifyProviders["+n+"] is invalid.";try{const o=t[n];if(typeof o!="object"||!o||o.resources===void 0)continue;ef(n,o)||console.error(r)}catch{console.error(r)}}}}const ov={...Sn,body:""},sv=ct({inheritAttrs:!1,data(){return{_name:"",_loadingIcon:null,iconMounted:!1,counter:0}},mounted(){this.iconMounted=!0},unmounted(){this.abortLoading()},methods:{abortLoading(){this._loadingIcon&&(this._loadingIcon.abort(),this._loadingIcon=null)},getIcon(e,t,n){if(typeof e=="object"&&e!==null&&typeof e.body=="string")return this._name="",this.abortLoading(),{data:e};let r;if(typeof e!="string"||(r=hr(e,!1,!0))===null)return this.abortLoading(),null;let o=Ri(r);if(!o)return(!this._loadingIcon||this._loadingIcon.name!==e)&&(this.abortLoading(),this._name="",o!==null&&(this._loadingIcon={name:e,abort:ff([r],()=>{this.counter++})})),null;if(this.abortLoading(),this._name!==e&&(this._name=e,t&&t(e)),n){o=Object.assign({},o);const i=n(o.body,r.name,r.prefix,r.provider);typeof i=="string"&&(o.body=i)}const s=["iconify"];return r.prefix!==""&&s.push("iconify--"+r.prefix),r.provider!==""&&s.push("iconify--"+r.provider),{data:o,classes:s}}},render(){this.counter;const e=this.$attrs,t=this.iconMounted||e.ssr?this.getIcon(e.icon,e.onLoad,e.customise):null;if(!t)return Ca(ov,e);let n=e;return t.classes&&(n={...e,class:(typeof e.class=="string"?e.class+" ":"")+t.classes.join(" ")}),Ca({...Sn,...t.data},n)}}),iv={getAPIConfig:xo,setAPIModule:Zu,sendAPIQuery:rf,setFetch:x_,getFetch:E_,listAPIProviders:v_},lv=$e({name:"@nuxt/icon",setup(){var r,o;const e=fr(),t=jt().icon;iv.setFetch($fetch.native),rv("all");const n=[];if(t.provider==="server"){const s=((o=(r=e.app)==null?void 0:r.baseURL)==null?void 0:o.replace(/\/$/,""))??"";n.push(s+(t.localApiEndpoint||"/api/_nuxt_icon")),(t.fallbackToApi===!0||t.fallbackToApi==="client-only")&&n.push(t.iconifyApiEndpoint)}else n.push(t.iconifyApiEndpoint);ef("",{resources:n})}}),av=$e({name:"nuxt:chunk-reload",setup(e){const t=Qe(),n=fr(),r=new Set;t.beforeEach(()=>{r.clear()}),e.hook("app:chunkError",({error:s})=>{r.add(s)});function o(s){const l="href"in s&&s.href[0]==="#"?n.app.baseURL+s.href:go(n.app.baseURL,s.fullPath);Vy({path:l,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(o)}),t.onError((s,i)=>{r.has(s)&&o(i)})}}),cv=()=>Fu("color-mode").value,uv=$e(e=>{const t=cv();e.hook("app:mounted",()=>{t.preference="light",t.value="light"})}),fv=[dm,pm,Ay,Ly,Oy,Gy,O0,M0,N0,H0,Yb,t_,lv,av,uv],dv=Object.freeze({left:0,top:0,width:16,height:16}),hf=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Mi=Object.freeze({...dv,...hf}),Iw=Object.freeze({...Mi,body:"",hidden:!1});function hv(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}const pv=/(-?[0-9.]*[0-9]+[0-9.]*)/g,gv=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Us(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(pv);if(r===null||!r.length)return e;const o=[];let s=r.shift(),i=gv.test(s);for(;;){if(i){const l=parseFloat(s);isNaN(l)?o.push(s):o.push(Math.ceil(l*t*n)/n)}else o.push(s);if(s=r.shift(),s===void 0)return o.join("");i=!i}}function mv(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function yv(e){return"data:image/svg+xml,"+mv(e)}function bv(e){return'url("'+yv(e)+'")'}function _v(e){const[t,n,r,o]=e;if(r!==o){const s=Math.max(r,o);return[t-(s-r)/2,n-(s-o)/2,s,s]}return e}const vv=Object.freeze({width:null,height:null}),wv=Object.freeze({...vv,...hf});function xv(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const o=e.indexOf(">",r),s=e.indexOf("",s);if(i===-1)break;n+=e.slice(o+1,s).trim(),e=e.slice(0,r).trim()+e.slice(i+1)}return{defs:n,content:e}}function Ev(e,t){return e?""+e+""+t:t}function Cv(e,t,n){const r=xv(e);return Ev(r.defs,t+r.content+n)}const Sv=e=>e==="unset"||e==="undefined"||e==="none";function kv(e,t){const n={...Mi,...e},r={...wv,...t},o={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(w=>{const v=[],S=w.hFlip,_=w.vFlip;let g=w.rotate;S?_?g+=2:(v.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),v.push("scale(-1 1)"),o.top=o.left=0):_&&(v.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),v.push("scale(1 -1)"),o.top=o.left=0);let b;switch(g<0&&(g-=Math.floor(g/4)*4),g=g%4,g){case 1:b=o.height/2+o.top,v.unshift("rotate(90 "+b.toString()+" "+b.toString()+")");break;case 2:v.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:b=o.width/2+o.left,v.unshift("rotate(-90 "+b.toString()+" "+b.toString()+")");break}g%2===1&&(o.left!==o.top&&(b=o.left,o.left=o.top,o.top=b),o.width!==o.height&&(b=o.width,o.width=o.height,o.height=b)),v.length&&(s=Cv(s,'',""))});const i=r.width,l=r.height,a=o.width,u=o.height;let c,f;i===null?(f=l===null?"1em":l==="auto"?u:l,c=Us(f,a/u)):(c=i==="auto"?a:i,f=l===null?Us(c,u/a):l==="auto"?u:l);const d={},p=(w,v)=>{Sv(v)||(d[w]=v.toString())};p("width",c),p("height",f);const y=[o.left,o.top,a,u];return d.viewBox=y.join(" "),{attributes:d,viewBox:y,body:s}}function Tv(e){const t={display:"inline-block",width:"1em",height:"1em"},n=e.varName;switch(e.pseudoSelector&&(t.content="''"),e.mode){case"background":n&&(t["background-image"]="var(--"+n+")"),t["background-repeat"]="no-repeat",t["background-size"]="100% 100%";break;case"mask":t["background-color"]="currentColor",n&&(t["mask-image"]=t["-webkit-mask-image"]="var(--"+n+")"),t["mask-repeat"]=t["-webkit-mask-repeat"]="no-repeat",t["mask-size"]=t["-webkit-mask-size"]="100% 100%";break}return t}function Pv(e,t){const n={},r=t.varName,o=kv(e);let s=o.viewBox;s[2]!==s[3]&&(t.forceSquare?s=_v(s):n.width=Us("1em",s[2]/s[3]));const i=hv(o.body.replace(/currentColor/g,t.color||"black"),{viewBox:`${s[0]} ${s[1]} ${s[2]} ${s[3]}`,width:`${s[2]}`,height:`${s[3]}`}),l=bv(i);if(r)n["--"+r]=l;else switch(t.mode){case"background":n["background-image"]=l;break;case"mask":n["mask-image"]=n["-webkit-mask-image"]=l;break}return n}const Jo={selectorStart:{compressed:"{",compact:" {",expanded:" {"},selectorEnd:{compressed:"}",compact:`; } `,expanded:`; } `},rule:{compressed:"{key}:",compact:" {key}: ",expanded:` @@ -51,4 +51,4 @@ ${Object.entries(s||Tr.cool).map(([i,l])=>`--color-gray-${i}: ${fa(l)};`).join(` padding: 2px 0.5em; `,l=`%c${[o,r].filter(Boolean).join(":")}`;typeof t.args[0]=="string"?n(`${l}%c ${t.args[0]}`,i,"",...t.args.slice(1)):n(l,i,...t.args)}}function jv(e={}){return $v({reporters:e.reporters||[new Nv({})],prompt(n,r={}){return r.type==="confirm"?Promise.resolve(confirm(n)):Promise.resolve(prompt(n))},...e})}const Ta=jv();async function Hv(e,t){if(!e)return null;const n=Ns(e);if(n)return n;let r;const o=W_(e).catch(()=>(Ta.warn(`[Icon] failed to load icon \`${e}\``),null)).finally(()=>clearTimeout(r));return t>0?await Promise.race([o,new Promise(s=>{r=setTimeout(()=>{Ta.warn(`[Icon] loading icon \`${e}\` timed out after ${t}ms`),s()},t)})]):await o,Ns(e)}function pf(e){const t=jt().icon,n=(t.collections||[]).sort((r,o)=>o.length-r.length);return _e(()=>{var i;const r=e(),o=r.startsWith(t.cssSelectorPrefix)?r.slice(t.cssSelectorPrefix.length):r,s=((i=t.aliases)==null?void 0:i[o])||o;if(!s.includes(":")){const l=n.find(a=>s.startsWith(a+"-"));return l?l+":"+s.slice(l.length+1):s}return s})}let Ln;function Fv(e){return e.replace(/([^\w-])/g,"\\$1")}function Dv(){if(Ln)return Ln;Ln=new Set;const e=n=>{if(n=n.replace(/^:where\((.*)\)$/,"$1").trim(),n.startsWith("."))return n},t=n=>{if(n!=null&&n.length)for(const r of n){r!=null&&r.cssRules&&t(r.cssRules);const o=r==null?void 0:r.selectorText;if(typeof o=="string"){const s=e(o);s&&Ln.add(s)}}};if(typeof document<"u")for(const n of document.styleSheets)try{const r=n.cssRules||n.rules;t(r)}catch{}return Ln}const Bv=ct({name:"NuxtIconCss",props:{name:{type:String,required:!0},customize:{type:Function,required:!1}},setup(e){const t=ue(),n=jt().icon,r=_e(()=>e.name?n.cssSelectorPrefix+e.name:"");function o(l){var c,f;if(!l)return;const a=Ns(l);if(a)return a;const u=(f=(c=t.payload)==null?void 0:c.data)==null?void 0:f[l];if(u)return Ai(l,u),u}const s=_e(()=>"."+Fv(r.value));function i(l,a=!0){let u=s.value;n.cssWherePseudo&&(u=`:where(${u})`);const c=Av(l,{iconSelector:u,format:"compressed",customise:e.customize});return n.cssLayer&&a?`@layer ${n.cssLayer} { ${c} }`:c}{const l=Dv();async function a(u){if(l.has(s.value)||typeof document>"u")return;const c=document.createElement("style");c.textContent=i(u);const f=document.head.querySelector('style, link[rel="stylesheet"]');f?document.head.insertBefore(c,f):document.head.appendChild(c),l.add(s.value)}nt(()=>e.name,()=>{if(l.has(s.value))return;const u=o(e.name);u?a(u):Hv(e.name,n.fetchTimeout).then(c=>{c&&a(c)}).catch(()=>null)},{immediate:!0})}return()=>Le("span",{class:["iconify",r.value]})}}),Vv=ct({name:"NuxtIconSvg",props:{name:{type:String,required:!0},customize:{type:Function,required:!1}},async setup(e,{slots:t}){const n=ue();jt().icon;const r=pf(()=>e.name),o="i-"+r.value;if(r.value){const s=n.payload.data[o];s&&Ai(r.value,s)}return()=>Le(sv,{icon:r.value,ssr:!0,customise:e.customize},t)}}),gf=ct({name:"NuxtIcon",props:{name:{type:String,required:!0},mode:{type:String,required:!1,default:null},size:{type:[Number,String],required:!1,default:null},customize:{type:Function,required:!1}},async setup(e,{slots:t}){const n=ue(),r=jt().icon,o=pf(()=>e.name),s=_e(()=>{var a;return((a=n.vueApp)==null?void 0:a.component(o.value))||((e.mode||r.mode)==="svg"?Vv:Bv)}),i=_e(()=>{const a=e.size||r.size;return a?{fontSize:Number.isNaN(+a)?a:a+"px"}:null}),l=e.customize||r.customize;return()=>Le(s.value,{...r.attrs,name:o.value,class:r.class,style:i.value,customize:l},t)}}),Uv=Object.freeze(Object.defineProperty({__proto__:null,default:gf},Symbol.toStringTag,{value:"Module"})),zv=yi("/iwc_logo_white.png"),mf=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},Wv={},qv={class:"p-8 bg-ebony-clay-800 border-b text-white"},Kv={class:"flex"},Gv={class:"flex flex-grow space-x-2"},Jv=Ot("img",{src:zv,alt:"IWC Logo",width:"128",height:"128"},null,-1),Qv=Ot("span",{class:"text-4xl font-mono font-semibold px-4"}," Galaxy IWC - Workflow Library ",-1),Xv={class:"flex items-center space-x-8 font-mono"};function Yv(e,t){const n=Wy,r=gf;return et(),Uc("header",qv,[Ot("div",Kv,[Ot("div",Gv,[fe(n,{to:"/",class:"flex items-center space-x-2 hover:text-hokey-pokey"},{default:jn(()=>[Jv,Qv]),_:1})]),Ot("div",Xv,[fe(n,{to:"https://github.com/galaxyproject/iwc/blob/main/workflows/README.md#adding-workflows",class:"hover:text-hokey-pokey"},{default:jn(()=>[Wr(" Contribute ")]),_:1}),fe(n,{to:"https://github.com/galaxyproject/iwc/",class:"hover:text-hokey-pokey"},{default:jn(()=>[Wr(" GitHub "),fe(r,{name:"uil:github"})]),_:1})])])])}const Zv=mf(Wv,[["render",Yv]]),ew=ct({props:{vnode:{type:Object,required:!0},route:{type:Object,required:!0},vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(e){const t=e.renderKey,n=e.route,r={};for(const o in e.route)Object.defineProperty(r,o,{get:()=>t===e.renderKey?e.route[o]:n[o]});return hn(mo,or(r)),()=>Le(e.vnode,{ref:e.vnodeRef})}}),tw=ct({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,expose:n}){const r=ue(),o=Fe(),s=Me(mo,null);let i;n({pageRef:o});const l=Me(sg,null);let a;const u=r.deferHydration();if(r.isHydrating){const c=r.hooks.hookOnce("app:error",u);Qe().beforeEach(c)}return e.pageKey&&nt(()=>e.pageKey,(c,f)=>{c!==f&&r.callHook("page:loading:start")}),()=>Le(Mu,{name:e.name,route:e.route,...t},{default:c=>{const f=rw(s,c.route,c.Component),d=s&&s.matched.length===c.route.matched.length;if(!c.Component){if(a&&!d)return a;u();return}if(a&&l&&!l.isCurrent(c.route))return a;if(f&&s&&(!l||l!=null&&l.isCurrent(s)))return d?a:null;const p=Ps(c,e.pageKey);!r.isHydrating&&!ow(s,c.route,c.Component)&&i===p&&r.callHook("page:loading:end"),i=p;const y=!!(e.transition??c.route.meta.pageTransition??Cs),w=y&&nw([e.transition,c.route.meta.pageTransition,Cs,{onAfterLeave:()=>{r.callHook("page:transition:finish",c.Component)}}].filter(Boolean)),v=e.keepalive??c.route.meta.keepalive??rm;return a=xy(hi,y&&w,by(v,Le(hc,{suspensible:!0,onPending:()=>r.callHook("page:start",c.Component),onResolve:()=>{En(()=>r.callHook("page:finish",c.Component).then(()=>r.callHook("page:loading:end")).finally(u))}},{default:()=>{const S=Le(ew,{key:p||void 0,vnode:c.Component,route:c.route,renderKey:p||void 0,trackRootNodes:y,vnodeRef:o});return v&&(S.type.name=c.Component.type.name||c.Component.type.__name||"RouteProvider"),S}}))).default(),a}})}});function nw(e){const t=e.map(n=>({...n,onAfterLeave:n.onAfterLeave?Si(n.onAfterLeave):void 0}));return _i(...t)}function rw(e,t,n){if(!e)return!1;const r=t.matched.findIndex(o=>{var s;return((s=o.components)==null?void 0:s.default)===(n==null?void 0:n.type)});return!r||r===-1?!1:t.matched.slice(0,r).some((o,s)=>{var i,l,a;return((i=o.components)==null?void 0:i.default)!==((a=(l=e.matched[s])==null?void 0:l.components)==null?void 0:a.default)})||n&&Ps({route:t,Component:n})!==Ps({route:e,Component:n})}function ow(e,t,n){return e?t.matched.findIndex(o=>{var s;return((s=o.components)==null?void 0:s.default)===(n==null?void 0:n.type)})({text:f.replace("webpack:/","").replace(".vue",".js").trim(),internal:f.includes("node_modules")&&!f.includes(".cache")||f.includes("internal")||f.includes("new Promise")})).map(f=>`${f.text}`).join(` -`);const r=Number(n.statusCode||500),o=r===404,s=n.statusMessage??(o?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),l=void 0,c=o?te(()=>Z(()=>import("./DwjrZLxu.js"),__vite__mapDeps([21,22]),import.meta.url).then(f=>f.default||f)):te(()=>Z(()=>import("./BTH4M2oM.js"),__vite__mapDeps([23,24]),import.meta.url).then(f=>f.default||f));return(f,d)=>(et(),At(ye(c),Tf(Wc({statusCode:ye(r),statusMessage:ye(s),description:ye(i),stack:ye(l)})),null,16))}},Pa={__name:"nuxt-root",setup(e){const t=()=>null,n=ue(),r=n.deferHydration();if(n.isHydrating){const l=n.hooks.hookOnce("app:error",r);Qe().beforeEach(l)}const o=!1;hn(mo,du()),n.hooks.callHookWith(l=>l.map(a=>a()),"vue:setup");const s=yo();Cc((l,a,u)=>{if(n.hooks.callHook("vue:error",l,a,u).catch(c=>console.error("[nuxt] Error in `vue:error` hook",c)),cg(l)&&(l.fatal||l.unhandled))return n.runWithContext(()=>on(l)),!1});const i=!1;return(l,a)=>(et(),At(hc,{onResolve:ye(r)},{default:jn(()=>[ye(s)?(et(),At(ye(uw),{key:0,error:ye(s)},null,8,["error"])):ye(i)?(et(),At(ye(t),{key:1,context:ye(i)},null,8,["context"])):ye(o)?(et(),At(gd(ye(o)),{key:2})):(et(),At(ye(cw),{key:3}))]),_:1},8,["onResolve"]))}};let Ra;{let e;Ra=async function(){var i,l;if(e)return e;const r=!!((i=window.__NUXT__)!=null&&i.serverRendered||((l=document.getElementById("__NUXT_DATA__"))==null?void 0:l.dataset.ssr)==="true")?Bh(Pa):Dh(Pa),o=qp({vueApp:r});async function s(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||bo(a)}r.config.errorHandler=s;try{await Gp(o,fv)}catch(a){s(a)}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(sm),await o.hooks.callHook("app:mounted",r),await En()}catch(a){s(a)}return r.config.errorHandler===s&&(r.config.errorHandler=void 0),r},e=Ra().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{dw as $,xw as A,yw as B,Me as C,ue as D,lr as E,He as F,Da as G,If as H,ye as I,nt as J,fo as K,ua as L,Aw as M,Le as N,hn as O,Cd as P,pt as Q,Ec as R,En as S,pd as T,oo as U,Sw as V,at as W,Ld as X,vw as Y,jt as Z,mf as _,Ot as a,Pw as a0,Tf as a1,Wc as a2,gf as a3,mo as a4,du as a5,kr as a6,Qe as a7,Ew as a8,xy as a9,hi as aa,hc as ab,sg as ac,kw as ad,fr as ae,_w as af,Jr as ag,Z as ah,nd as ai,Fu as aj,Cw as ak,Jt as al,bo as am,pp as an,Cl as ao,go as ap,po as aq,se as ar,mn as as,Ie as at,Kr as au,hw as av,fe as b,Uc as c,Wr as d,Wy as e,gw as f,nm as g,ct as h,rc as i,_e as j,Tw as k,Q0 as l,Rw as m,oh as n,et as o,pw as p,At as q,bw as r,so as s,fw as t,Yg as u,ww as v,jn as w,gd as x,Fe as y,mw as z}; +`);const r=Number(n.statusCode||500),o=r===404,s=n.statusMessage??(o?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),l=void 0,c=o?te(()=>Z(()=>import("./Cr_fMKTm.js"),__vite__mapDeps([22,23]),import.meta.url).then(f=>f.default||f)):te(()=>Z(()=>import("./maciVotI.js"),__vite__mapDeps([24,25]),import.meta.url).then(f=>f.default||f));return(f,d)=>(et(),At(ye(c),Tf(Wc({statusCode:ye(r),statusMessage:ye(s),description:ye(i),stack:ye(l)})),null,16))}},Pa={__name:"nuxt-root",setup(e){const t=()=>null,n=ue(),r=n.deferHydration();if(n.isHydrating){const l=n.hooks.hookOnce("app:error",r);Qe().beforeEach(l)}const o=!1;hn(mo,du()),n.hooks.callHookWith(l=>l.map(a=>a()),"vue:setup");const s=yo();Cc((l,a,u)=>{if(n.hooks.callHook("vue:error",l,a,u).catch(c=>console.error("[nuxt] Error in `vue:error` hook",c)),cg(l)&&(l.fatal||l.unhandled))return n.runWithContext(()=>on(l)),!1});const i=!1;return(l,a)=>(et(),At(hc,{onResolve:ye(r)},{default:jn(()=>[ye(s)?(et(),At(ye(uw),{key:0,error:ye(s)},null,8,["error"])):ye(i)?(et(),At(ye(t),{key:1,context:ye(i)},null,8,["context"])):ye(o)?(et(),At(gd(ye(o)),{key:2})):(et(),At(ye(cw),{key:3}))]),_:1},8,["onResolve"]))}};let Ra;{let e;Ra=async function(){var i,l;if(e)return e;const r=!!((i=window.__NUXT__)!=null&&i.serverRendered||((l=document.getElementById("__NUXT_DATA__"))==null?void 0:l.dataset.ssr)==="true")?Bh(Pa):Dh(Pa),o=qp({vueApp:r});async function s(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||bo(a)}r.config.errorHandler=s;try{await Gp(o,fv)}catch(a){s(a)}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(sm),await o.hooks.callHook("app:mounted",r),await En()}catch(a){s(a)}return r.config.errorHandler===s&&(r.config.errorHandler=void 0),r},e=Ra().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{ue as $,At as A,Cl as B,go as C,ww as D,so as E,oo as F,Fe as G,Da as H,If as I,hw as J,Kr as K,Rw as L,nm as M,rc as N,Tw as O,Q0 as P,oh as Q,gd as R,mw as S,xw as T,yw as U,He as V,Cw as W,Jt as X,Ld as Y,Ec as Z,mf as _,fr as a,bo as a0,pp as a1,po as a2,vw as a3,jt as a4,dw as a5,ua as a6,Pw as a7,hn as a8,Me as a9,fo as aa,Tf as ab,Wc as ac,gf as ad,mo as ae,Sw as af,kr as ag,Qe as ah,Ew as ai,xy as aj,hi as ak,hc as al,sg as am,kw as an,se as ao,pd as ap,mn as aq,Ie as ar,Aw as as,Cd as at,pt as au,Iw as av,hf as aw,kv as ax,hv as ay,at as az,Uc as b,_e as c,ct as d,Ot as e,Yg as f,lr as g,Le as h,fw as i,fe as j,jn as k,Wr as l,Wy as m,gw as n,et as o,pw as p,ye as q,bw as r,du as s,nd as t,_w as u,En as v,nt as w,Jr as x,Z as y,Fu as z}; diff --git a/_nuxt/FpOb6hff.js b/_nuxt/FpOb6hff.js new file mode 100644 index 000000000..e2ff6b7de --- /dev/null +++ b/_nuxt/FpOb6hff.js @@ -0,0 +1,16 @@ +function Ue(r){"@babel/helpers - typeof";return Ue=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ue(r)}function ii(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function Hu(r,e){for(var t=0;tr.length)&&(e=r.length);for(var t=0,a=new Array(e);t=r.length?{done:!0}:{done:!1,value:r[a++]}},e:function(l){throw l},f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,s=!1,o;return{s:function(){t=t.call(r)},n:function(){var l=t.next();return i=l.done,l},e:function(l){s=!0,o=l},f:function(){try{!i&&t.return!=null&&t.return()}finally{if(s)throw o}}}}var Ke=typeof window>"u"?null:window,Oi=Ke?Ke.navigator:null;Ke&&Ke.document;var Uu=Ue(""),Qs=Ue({}),Yu=Ue(function(){}),Xu=typeof HTMLElement>"u"?"undefined":Ue(HTMLElement),wa=function(e){return e&&e.instanceString&&qe(e.instanceString)?e.instanceString():null},ce=function(e){return e!=null&&Ue(e)==Uu},qe=function(e){return e!=null&&Ue(e)===Yu},Oe=function(e){return!yr(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},Te=function(e){return e!=null&&Ue(e)===Qs&&!Oe(e)&&e.constructor===Object},Zu=function(e){return e!=null&&Ue(e)===Qs},ne=function(e){return e!=null&&Ue(e)===Ue(1)&&!isNaN(e)},Qu=function(e){return ne(e)&&Math.floor(e)===e},_a=function(e){if(Xu!=="undefined")return e!=null&&e instanceof HTMLElement},yr=function(e){return xa(e)||Js(e)},xa=function(e){return wa(e)==="collection"&&e._private.single},Js=function(e){return wa(e)==="collection"&&!e._private.single},oi=function(e){return wa(e)==="core"},_s=function(e){return wa(e)==="stylesheet"},Ju=function(e){return wa(e)==="event"},jr=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},_u=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},ju=function(e){return Te(e)&&ne(e.x1)&&ne(e.x2)&&ne(e.y1)&&ne(e.y2)},el=function(e){return Zu(e)&&qe(e.then)},rl=function(){return Oi&&Oi.userAgent.match(/msie|trident|edge/i)},la=function(e,t){t||(t=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],s=0;st?1:0},ul=function(e,t){return-1*eo(e,t)},pe=Object.assign!=null?Object.assign.bind(Object):function(r){for(var e=arguments,t=1;t1&&(p-=1),p<1/6?d+(y-d)*6*p:p<1/2?y:p<2/3?d+(y-d)*(2/3-p)*6:d}var f=new RegExp("^"+nl+"$").exec(e);if(f){if(a=parseInt(f[1]),a<0?a=(360- -1*a%360)%360:a>360&&(a=a%360),a/=360,n=parseFloat(f[2]),n<0||n>100||(n=n/100,i=parseFloat(f[3]),i<0||i>100)||(i=i/100,s=f[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(n===0)o=l=u=Math.round(i*255);else{var c=i<.5?i*(1+n):i+n-i*n,h=2*i-c;o=Math.round(255*v(h,c,a+1/3)),l=Math.round(255*v(h,c,a)),u=Math.round(255*v(h,c,a-1/3))}t=[o,l,u,s]}return t},fl=function(e){var t,a=new RegExp("^"+tl+"$").exec(e);if(a){t=[];for(var n=[],i=1;i<=3;i++){var s=a[i];if(s[s.length-1]==="%"&&(n[i]=!0),s=parseFloat(s),n[i]&&(s=s/100*255),s<0||s>255)return;t.push(Math.floor(s))}var o=n[1]||n[2]||n[3],l=n[1]&&n[2]&&n[3];if(o&&!l)return;var u=a[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;t.push(u)}}return t},cl=function(e){return hl[e.toLowerCase()]},dl=function(e){return(Oe(e)?e:null)||cl(e)||ll(e)||fl(e)||vl(e)},hl={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ro=function(e){for(var t=e.map,a=e.keys,n=a.length,i=0;i=e||x<0||f&&D>=i}function g(){var E=Mn();if(p(E))return m(E);o=setTimeout(g,y(E))}function m(E){return o=void 0,c&&a?h(E):(a=n=void 0,s)}function b(){o!==void 0&&clearTimeout(o),u=0,a=l=n=o=void 0}function w(){return o===void 0?s:m(Mn())}function S(){var E=Mn(),x=p(E);if(a=arguments,n=this,l=E,x){if(o===void 0)return d(l);if(f)return clearTimeout(o),o=setTimeout(g,e),h(l)}return o===void 0&&(o=setTimeout(g,e)),s}return S.cancel=b,S.flush=w,S}var cn=_l,Ln=Ke?Ke.performance:null,io=Ln&&Ln.now?function(){return Ln.now()}:function(){return Date.now()},jl=function(){if(Ke){if(Ke.requestAnimationFrame)return function(r){Ke.requestAnimationFrame(r)};if(Ke.mozRequestAnimationFrame)return function(r){Ke.mozRequestAnimationFrame(r)};if(Ke.webkitRequestAnimationFrame)return function(r){Ke.webkitRequestAnimationFrame(r)};if(Ke.msRequestAnimationFrame)return function(r){Ke.msRequestAnimationFrame(r)}}return function(r){r&&setTimeout(function(){r(io())},1e3/60)}}(),ja=function(e){return jl(e)},Hr=io,kt=9261,so=65599,aa=5381,oo=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kt,a=t,n;n=e.next(),!n.done;)a=a*so+n.value|0;return a},va=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kt;return t*so+e|0},fa=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:aa;return(t<<5)+t+e|0},ev=function(e,t){return e*2097152+t},Yr=function(e){return e[0]*2097152+e[1]},La=function(e,t){return[va(e[0],t[0]),fa(e[1],t[1])]},rv=function(e,t){var a={value:0,done:!1},n=0,i=e.length,s={next:function(){return n=0;n--)e[n]===t&&e.splice(n,1)},fi=function(e){e.splice(0,e.length)},uv=function(e,t){for(var a=0;a"u"?"undefined":Ue(Set))!==vv?Set:fv,dn=function(e,t){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||t===void 0||!oi(e)){$e("An element must have a core reference and parameters set");return}var n=t.group;if(n==null&&(t.data&&t.data.source!=null&&t.data.target!=null?n="edges":n="nodes"),n!=="nodes"&&n!=="edges"){$e("An element must be of type `nodes` or `edges`; you specified `"+n+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:t.selectable===void 0?!0:!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:t.grabbable===void 0?!0:!!t.grabbable,pannable:t.pannable===void 0?n==="edges":!!t.pannable,active:!1,classes:new Vt,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),t.renderedPosition){var s=t.renderedPosition,o=e.pan(),l=e.zoom();i.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Oe(t.classes)?u=t.classes:ce(t.classes)&&(u=t.classes.split(/\s+/));for(var v=0,f=u.length;vm?1:0},v=function(g,m,b,w,S){var E;if(b==null&&(b=0),S==null&&(S=a),b<0)throw new Error("lo must be non-negative");for(w==null&&(w=g.length);bM;0<=M?C++:C--)D.push(C);return D}).apply(this).reverse(),x=[],w=0,S=E.length;wP;0<=P?++D:--D)B.push(s(g,b));return B},y=function(g,m,b,w){var S,E,x;for(w==null&&(w=a),S=g[b];b>m;){if(x=b-1>>1,E=g[x],w(S,E)<0){g[b]=E,b=x;continue}break}return g[b]=S},p=function(g,m,b){var w,S,E,x,D;for(b==null&&(b=a),S=g.length,D=m,E=g[m],w=2*m+1;w0;){var E=m.pop(),x=p(E),D=E.id();if(c[D]=x,x!==1/0)for(var C=E.neighborhood().intersect(d),M=0;M0)for(I.unshift(R);f[G];){var F=f[G];I.unshift(F.edge),I.unshift(F.node),V=F.node,G=V.id()}return o.spawn(I)}}}},gv={kruskal:function(e){e=e||function(b){return 1};for(var t=this.byGroup(),a=t.nodes,n=t.edges,i=a.length,s=new Array(i),o=a,l=function(w){for(var S=0;S0;){if(S(),x++,w===v){for(var D=[],C=i,M=v,P=g[M];D.unshift(C),P!=null&&D.unshift(P),C=p[M],C!=null;)M=C.id(),P=g[M];return{found:!0,distance:f[w],path:this.spawn(D),steps:x}}h[w]=!0;for(var B=b._private.edges,L=0;LP&&(d[M]=P,m[M]=C,b[M]=S),!i){var B=C*v+D;!i&&d[B]>P&&(d[B]=P,m[B]=D,b[B]=S)}}}for(var L=0;L1&&arguments[1]!==void 0?arguments[1]:s,Le=b(oe),Ce=[],xe=Le;;){if(xe==null)return t.spawn();var Ae=m(xe),Ee=Ae.edge,Pe=Ae.pred;if(Ce.unshift(xe[0]),xe.same(de)&&Ce.length>0)break;Ee!=null&&Ce.unshift(Ee),xe=Pe}return l.spawn(Ce)},E=0;E=0;v--){var f=u[v],c=f[1],h=f[2];(t[c]===o&&t[h]===l||t[c]===l&&t[h]===o)&&u.splice(v,1)}for(var d=0;dn;){var i=Math.floor(Math.random()*t.length);t=Cv(i,e,t),a--}return t},Sv={kargerStein:function(){var e=this,t=this.byGroup(),a=t.nodes,n=t.edges;n.unmergeBy(function(I){return I.isLoop()});var i=a.length,s=n.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),l=Math.floor(i/Ev);if(i<2){$e("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],v=0;v1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=1/0,i=t;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=-1/0,i=t;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=0,i=0,s=t;s1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;n?e=e.slice(t,a):(a0&&e.splice(0,t));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}i&&e.sort(function(c,h){return c-h});var v=e.length,f=Math.floor(v/2);return v%2!==0?e[f+1+o]:(e[f-1+o]+e[f+o])/2},Mv=function(e){return Math.PI*e/180},Aa=function(e,t){return Math.atan2(t,e)-Math.PI/2},ci=Math.log2||function(r){return Math.log(r)/Math.log(2)},go=function(e){return e>0?1:e<0?-1:0},ht=function(e,t){return Math.sqrt(ot(e,t))},ot=function(e,t){var a=t.x-e.x,n=t.y-e.y;return a*a+n*n},Lv=function(e){for(var t=e.length,a=0,n=0;n=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},Rv=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},Ov=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},Iv=function(e,t,a){return{x1:e.x1+t,x2:e.x2+t,y1:e.y1+a,y2:e.y2+a,w:e.w,h:e.h}},po=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},zv=function(e,t,a){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,a),e.y2=Math.max(e.y2,a),e.h=e.y2-e.y1},Ga=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Ka=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],a,n,i,s;if(t.length===1)a=n=i=s=t[0];else if(t.length===2)a=i=t[0],s=n=t[1];else if(t.length===4){var o=Tr(t,4);a=o[0],n=o[1],i=o[2],s=o[3]}return e.x1-=s,e.x2+=n,e.y1-=a,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Hi=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},di=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2t.y2||t.y1>e.y2)},It=function(e,t,a){return e.x1<=t&&t<=e.x2&&e.y1<=a&&a<=e.y2},Nv=function(e,t){return It(e,t.x,t.y)},yo=function(e,t){return It(e,t.x1,t.y1)&&It(e,t.x2,t.y2)},mo=function(e,t,a,n,i,s,o){var l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?gt(i,s):l,v=i/2,f=s/2;u=Math.min(u,v,f);var c=u!==v,h=u!==f,d;if(c){var y=a-v+u-o,p=n-f-o,g=a+v-u+o,m=p;if(d=Qr(e,t,a,n,y,p,g,m,!1),d.length>0)return d}if(h){var b=a+v+o,w=n-f+u-o,S=b,E=n+f-u+o;if(d=Qr(e,t,a,n,b,w,S,E,!1),d.length>0)return d}if(c){var x=a-v+u-o,D=n+f+o,C=a+v-u+o,M=D;if(d=Qr(e,t,a,n,x,D,C,M,!1),d.length>0)return d}if(h){var P=a-v-o,B=n-f+u-o,L=P,k=n+f-u+o;if(d=Qr(e,t,a,n,P,B,L,k,!1),d.length>0)return d}var O;{var A=a-v+u,R=n-f+u;if(O=na(e,t,a,n,A,R,u+o),O.length>0&&O[0]<=A&&O[1]<=R)return[O[0],O[1]]}{var I=a+v-u,V=n-f+u;if(O=na(e,t,a,n,I,V,u+o),O.length>0&&O[0]>=I&&O[1]<=V)return[O[0],O[1]]}{var G=a+v-u,F=n+f-u;if(O=na(e,t,a,n,G,F,u+o),O.length>0&&O[0]>=G&&O[1]>=F)return[O[0],O[1]]}{var q=a-v+u,Y=n+f-u;if(O=na(e,t,a,n,q,Y,u+o),O.length>0&&O[0]<=q&&O[1]>=Y)return[O[0],O[1]]}return[]},Fv=function(e,t,a,n,i,s,o){var l=o,u=Math.min(a,i),v=Math.max(a,i),f=Math.min(n,s),c=Math.max(n,s);return u-l<=e&&e<=v+l&&f-l<=t&&t<=c+l},Vv=function(e,t,a,n,i,s,o,l,u){var v={x1:Math.min(a,o,i)-u,x2:Math.max(a,o,i)+u,y1:Math.min(n,l,s)-u,y2:Math.max(n,l,s)+u};return!(ev.x2||tv.y2)},qv=function(e,t,a,n){a-=n;var i=t*t-4*e*a;if(i<0)return[];var s=Math.sqrt(i),o=2*e,l=(-t+s)/o,u=(-t-s)/o;return[l,u]},$v=function(e,t,a,n,i){var s=1e-5;e===0&&(e=s),t/=e,a/=e,n/=e;var o,l,u,v,f,c,h,d;if(l=(3*a-t*t)/9,u=-(27*n)+t*(9*a-2*(t*t)),u/=54,o=l*l*l+u*u,i[1]=0,h=t/3,o>0){f=u+Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),c=u-Math.sqrt(o),c=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-h+f+c,h+=(f+c)/2,i[4]=i[2]=-h,h=Math.sqrt(3)*(-c+f)/2,i[3]=h,i[5]=-h;return}if(i[5]=i[3]=0,o===0){d=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),i[0]=-h+2*d,i[4]=i[2]=-(d+h);return}l=-l,v=l*l*l,v=Math.acos(u/Math.sqrt(v)),d=2*Math.sqrt(l),i[0]=-h+d*Math.cos(v/3),i[2]=-h+d*Math.cos((v+2*Math.PI)/3),i[4]=-h+d*Math.cos((v+4*Math.PI)/3)},Hv=function(e,t,a,n,i,s,o,l){var u=1*a*a-4*a*i+2*a*o+4*i*i-4*i*o+o*o+n*n-4*n*s+2*n*l+4*s*s-4*s*l+l*l,v=1*9*a*i-3*a*a-3*a*o-6*i*i+3*i*o+9*n*s-3*n*n-3*n*l-6*s*s+3*s*l,f=1*3*a*a-6*a*i+a*o-a*e+2*i*i+2*i*e-o*e+3*n*n-6*n*s+n*l-n*t+2*s*s+2*s*t-l*t,c=1*a*i-a*a+a*e-i*e+n*s-n*n+n*t-s*t,h=[];$v(u,v,f,c,h);for(var d=1e-7,y=[],p=0;p<6;p+=2)Math.abs(h[p+1])=0&&h[p]<=1&&y.push(h[p]);y.push(1),y.push(0);for(var g=-1,m,b,w,S=0;S=0?wu?(e-i)*(e-i)+(t-s)*(t-s):v-c},dr=function(e,t,a){for(var n,i,s,o,l,u=0,v=0;v=e&&e>=s||n<=e&&e<=s)l=(e-n)/(s-n)*(o-i)+i,l>t&&u++;else continue;return u%2!==0},Gr=function(e,t,a,n,i,s,o,l,u){var v=new Array(a.length),f;l[0]!=null?(f=Math.atan(l[1]/l[0]),l[0]<0?f=f+Math.PI/2:f=-f-Math.PI/2):f=l;for(var c=Math.cos(-f),h=Math.sin(-f),d=0;d0){var p=tn(v,-u);y=rn(p)}else y=v;return dr(e,t,y)},Kv=function(e,t,a,n,i,s,o,l){for(var u=new Array(a.length*2),v=0;v=0&&p<=1&&m.push(p),g>=0&&g<=1&&m.push(g),m.length===0)return[];var b=m[0]*l[0]+e,w=m[0]*l[1]+t;if(m.length>1){if(m[0]==m[1])return[b,w];var S=m[1]*l[0]+e,E=m[1]*l[1]+t;return[b,w,S,E]}else return[b,w]},Rn=function(e,t,a){return t<=e&&e<=a||a<=e&&e<=t?e:e<=t&&t<=a||a<=t&&t<=e?t:a},Qr=function(e,t,a,n,i,s,o,l,u){var v=e-i,f=a-e,c=o-i,h=t-s,d=n-t,y=l-s,p=c*h-y*v,g=f*h-d*v,m=y*f-c*d;if(m!==0){var b=p/m,w=g/m,S=.001,E=0-S,x=1+S;return E<=b&&b<=x&&E<=w&&w<=x?[e+b*f,t+b*d]:u?[e+b*f,t+b*d]:[]}else return p===0||g===0?Rn(e,a,o)===o?[o,l]:Rn(e,a,i)===i?[i,s]:Rn(i,o,a)===a?[a,n]:[]:[]},ha=function(e,t,a,n,i,s,o,l){var u=[],v,f=new Array(a.length),c=!0;s==null&&(c=!1);var h;if(c){for(var d=0;d0){var y=tn(f,-l);h=rn(y)}else h=f}else h=a;for(var p,g,m,b,w=0;w2){for(var d=[v[0],v[1]],y=Math.pow(d[0]-e,2)+Math.pow(d[1]-t,2),p=1;pv&&(v=w)},get:function(b){return u[b]}},c=0;c0?A=O.edgesTo(k)[0]:A=k.edgesTo(O)[0];var R=n(A);k=k.id(),D[k]>D[B]+R&&(D[k]=D[B]+R,C.nodes.indexOf(k)<0?C.push(k):C.updateItem(k),x[k]=0,E[k]=[]),D[k]==D[B]+R&&(x[k]=x[k]+x[B],E[k].push(B))}else for(var I=0;I0;){for(var q=S.pop(),Y=0;Y0&&o.push(a[l]);o.length!==0&&i.push(n.collection(o))}return i},of=function(e,t){for(var a=0;a5&&arguments[5]!==void 0?arguments[5]:vf,o=n,l,u,v=0;v=2?_t(e,t,a,0,Yi,ff):_t(e,t,a,0,Ui)},squaredEuclidean:function(e,t,a){return _t(e,t,a,0,Yi)},manhattan:function(e,t,a){return _t(e,t,a,0,Ui)},max:function(e,t,a){return _t(e,t,a,-1/0,cf)}};zt["squared-euclidean"]=zt.squaredEuclidean;zt.squaredeuclidean=zt.squaredEuclidean;function gn(r,e,t,a,n,i){var s;return qe(r)?s=r:s=zt[r]||zt.euclidean,e===0&&qe(r)?s(n,i):s(e,t,a,n,i)}var df=rr({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),gi=function(e){return df(e)},an=function(e,t,a,n,i){var s=i!=="kMedoids",o=s?function(f){return a[f]}:function(f){return n[f](a)},l=function(c){return n[c](t)},u=a,v=t;return gn(e,n.length,o,l,u,v)},On=function(e,t,a){for(var n=a.length,i=new Array(n),s=new Array(n),o=new Array(t),l=null,u=0;ua)return!1}return!0},pf=function(e,t,a){for(var n=0;no&&(o=t[u][v],l=v);i[l].push(e[u])}for(var f=0;f=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var d=t[s],y=t[n[s]],p;i.mode==="dendrogram"?p={left:d,right:y,key:d.key}:p={value:d.value.concat(y.value),key:d.key},e[d.index]=p,e.splice(y.index,1),t[d.key]=p;for(var g=0;ga[y.key][m.key]&&(l=a[y.key][m.key])):i.linkage==="max"?(l=a[d.key][m.key],a[d.key][m.key]0&&n.push(i);return n},ji=function(e,t,a){for(var n=[],i=0;io&&(s=u,o=t[i*e+u])}s>0&&n.push(s)}for(var v=0;vu&&(l=v,u=f)}a[i]=s[l]}return n=ji(e,t,a),n},es=function(e){for(var t=this.cy(),a=this.nodes(),n=Mf(e),i={},s=0;s=P?(B=P,P=k,L=O):k>B&&(B=k);for(var A=0;A0?1:0;x[C%n.minIterations*o+q]=Y,F+=Y}if(F>0&&(C>=n.minIterations-1||C==n.maxIterations-1)){for(var Q=0,J=0;J1||E>1)&&(o=!0),f[b]=[],m.outgoers().forEach(function(D){D.isEdge()&&f[b].push(D.id())})}else c[b]=[void 0,m.target().id()]}):s.forEach(function(m){var b=m.id();if(m.isNode()){var w=m.degree(!0);w%2&&(l?u?o=!0:u=b:l=b),f[b]=[],m.connectedEdges().forEach(function(S){return f[b].push(S.id())})}else c[b]=[m.source().id(),m.target().id()]});var h={found:!1,trail:void 0};if(o)return h;if(u&&l)if(i){if(v&&u!=v)return h;v=u}else{if(v&&u!=v&&l!=v)return h;v||(v=u)}else v||(v=s[0].id());var d=function(b){for(var w=b,S=[b],E,x,D;f[w].length;)E=f[w].shift(),x=c[E][0],D=c[E][1],w!=D?(f[D]=f[D].filter(function(C){return C!=E}),w=D):!i&&w!=x&&(f[x]=f[x].filter(function(C){return C!=E}),w=x),S.unshift(E),S.unshift(w);return S},y=[],p=[];for(p=d(v);p.length!=1;)f[p[0]].length==0?(y.unshift(s.getElementById(p.shift())),y.unshift(s.getElementById(p.shift()))):p=d(p.shift()).concat(p);y.unshift(s.getElementById(p.shift()));for(var g in f)if(f[g].length)return h;return h.found=!0,h.trail=this.spawn(y,!0),h}},Ia=function(){var e=this,t={},a=0,n=0,i=[],s=[],o={},l=function(c,h){for(var d=s.length-1,y=[],p=e.spawn();s[d].x!=c||s[d].y!=h;)y.push(s.pop().edge),d--;y.push(s.pop().edge),y.forEach(function(g){var m=g.connectedNodes().intersection(e);p.merge(g),m.forEach(function(b){var w=b.id(),S=b.connectedEdges().intersection(e);p.merge(b),t[w].cutVertex?p.merge(S.filter(function(E){return E.isLoop()})):p.merge(S)})}),i.push(p)},u=function f(c,h,d){c===d&&(n+=1),t[h]={id:a,low:a++,cutVertex:!1};var y=e.getElementById(h).connectedEdges().intersection(e);if(y.size()===0)i.push(e.spawn(e.getElementById(h)));else{var p,g,m,b;y.forEach(function(w){p=w.source().id(),g=w.target().id(),m=p===h?g:p,m!==d&&(b=w.id(),o[b]||(o[b]=!0,s.push({x:h,y:m,edge:w})),m in t?t[h].low=Math.min(t[h].low,t[m].id):(f(c,m,h),t[h].low=Math.min(t[h].low,t[m].low),t[h].id<=t[m].low&&(t[h].cutVertex=!0,l(h,m))))})}};e.forEach(function(f){if(f.isNode()){var c=f.id();c in t||(n=0,u(c,c),t[c].cutVertex=n>1)}});var v=Object.keys(t).filter(function(f){return t[f].cutVertex}).map(function(f){return e.getElementById(f)});return{cut:e.spawn(v),components:i}},Ff={hopcroftTarjanBiconnected:Ia,htbc:Ia,htb:Ia,hopcroftTarjanBiconnectedComponents:Ia},za=function(){var e=this,t={},a=0,n=[],i=[],s=e.spawn(e),o=function l(u){i.push(u),t[u]={index:a,low:a++,explored:!1};var v=e.getElementById(u).connectedEdges().intersection(e);if(v.forEach(function(y){var p=y.target().id();p!==u&&(p in t||l(p),t[p].explored||(t[u].low=Math.min(t[u].low,t[p].low)))}),t[u].index===t[u].low){for(var f=e.spawn();;){var c=i.pop();if(f.merge(e.getElementById(c)),t[c].low=t[u].index,t[c].explored=!0,c===u)break}var h=f.edgesWith(f),d=f.merge(h);n.push(d),s=s.difference(d)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in t||o(u)}}),{cut:s,components:n}},Vf={tarjanStronglyConnected:za,tsc:za,tscc:za,tarjanStronglyConnectedComponents:za},To={};[ca,hv,gv,yv,bv,xv,Sv,Zv,Lt,At,Wn,lf,Ef,Pf,If,Nf,Ff,Vf].forEach(function(r){pe(To,r)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var Do=0,ko=1,Po=2,Kr=function r(e){if(!(this instanceof r))return new r(e);this.id="Thenable/1.0.7",this.state=Do,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};Kr.prototype={fulfill:function(e){return rs(this,ko,"fulfillValue",e)},reject:function(e){return rs(this,Po,"rejectReason",e)},then:function(e,t){var a=this,n=new Kr;return a.onFulfilled.push(as(e,n,"fulfill")),a.onRejected.push(as(t,n,"reject")),Bo(a),n.proxy}};var rs=function(e,t,a,n){return e.state===Do&&(e.state=t,e[a]=n,Bo(e)),e},Bo=function(e){e.state===ko?ts(e,"onFulfilled",e.fulfillValue):e.state===Po&&ts(e,"onRejected",e.rejectReason)},ts=function(e,t,a){if(e[t].length!==0){var n=e[t];e[t]=[];var i=function(){for(var o=0;o0}},clearQueue:function(){return function(){var t=this,a=t.length!==void 0,n=a?t:[t],i=this._private.cy||this;if(!i.styleEnabled())return this;for(var s=0;s-1}var Uc=Wc;function Yc(r,e){var t=this.__data__,a=yn(t,r);return a<0?(++this.size,t.push([r,e])):t[a][1]=e,this}var Xc=Yc;function Ht(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e-1&&r%1==0&&r0&&this.spawn(n).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return t!=null&&t._private.classes.has(e)},toggleClass:function(e,t){Oe(e)||(e=e.match(/\S+/g)||[]);for(var a=this,n=t===void 0,i=[],s=0,o=a.length;s0&&this.spawn(i).updateStyle().emit("class"),a},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var a=this;if(t==null)t=250;else if(t===0)return a;return a.addClass(e),setTimeout(function(){a.removeClass(e)},t),a}};Wa.className=Wa.classNames=Wa.classes;var Se={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:We,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Se.variable="(?:[\\w-.]|(?:\\\\"+Se.metaChar+"))+";Se.className="(?:[\\w-]|(?:\\\\"+Se.metaChar+"))+";Se.value=Se.string+"|"+Se.number;Se.id=Se.variable;(function(){var r,e,t;for(r=Se.comparatorOp.split("|"),t=0;t=0)&&e!=="="&&(Se.comparatorOp+="|\\!"+e)})();var Re=function(){return{checks:[]}},ue={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},Yn=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(r,e){return ul(r.selector,e.selector)}),_d=function(){for(var r={},e,t=0;t0&&v.edgeCount>0)return Me("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(v.edgeCount>1)return Me("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;v.edgeCount===1&&Me("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},nh=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(v){return v??""},t=function(v){return ce(v)?'"'+v+'"':e(v)},a=function(v){return" "+v+" "},n=function(v,f){var c=v.type,h=v.value;switch(c){case ue.GROUP:{var d=e(h);return d.substring(0,d.length-1)}case ue.DATA_COMPARE:{var y=v.field,p=v.operator;return"["+y+a(e(p))+t(h)+"]"}case ue.DATA_BOOL:{var g=v.operator,m=v.field;return"["+e(g)+m+"]"}case ue.DATA_EXIST:{var b=v.field;return"["+b+"]"}case ue.META_COMPARE:{var w=v.operator,S=v.field;return"[["+S+a(e(w))+t(h)+"]]"}case ue.STATE:return h;case ue.ID:return"#"+h;case ue.CLASS:return"."+h;case ue.PARENT:case ue.CHILD:return i(v.parent,f)+a(">")+i(v.child,f);case ue.ANCESTOR:case ue.DESCENDANT:return i(v.ancestor,f)+" "+i(v.descendant,f);case ue.COMPOUND_SPLIT:{var E=i(v.left,f),x=i(v.subject,f),D=i(v.right,f);return E+(E.length>0?" ":"")+x+D}case ue.TRUE:return""}},i=function(v,f){return v.checks.reduce(function(c,h,d){return c+(f===v&&d===0?"$":"")+n(h,f)},"")},s="",o=0;o1&&o=0&&(t=t.replace("!",""),f=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),v=!0),(i||o||v)&&(l=!i&&!s?"":""+e,u=""+a),v&&(e=l=l.toLowerCase(),a=u=u.toLowerCase()),t){case"*=":n=l.indexOf(u)>=0;break;case"$=":n=l.indexOf(u,l.length-u.length)>=0;break;case"^=":n=l.indexOf(u)===0;break;case"=":n=e===a;break;case">":c=!0,n=e>a;break;case">=":c=!0,n=e>=a;break;case"<":c=!0,n=e0;){var v=n.shift();e(v),i.add(v.id()),o&&a(n,i,v)}return r}function Fo(r,e,t){if(t.isParent())for(var a=t._private.children,n=0;n1&&arguments[1]!==void 0?arguments[1]:!0;return wi(this,r,e,Fo)};function Vo(r,e,t){if(t.isChild()){var a=t._private.parent;e.has(a.id())||r.push(a)}}Nt.forEachUp=function(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return wi(this,r,e,Vo)};function ch(r,e,t){Vo(r,e,t),Fo(r,e,t)}Nt.forEachUpAndDown=function(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return wi(this,r,e,ch)};Nt.ancestors=Nt.parents;var pa,qo;pa=qo={data:Be.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Be.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Be.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Be.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Be.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Be.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};pa.attr=pa.data;pa.removeAttr=pa.removeData;var dh=qo,bn={};function zn(r){return function(e){var t=this;if(e===void 0&&(e=!0),t.length!==0)if(t.isNode()&&!t.removed()){for(var a=0,n=t[0],i=n._private.edges,s=0;se}),minIndegree:Et("indegree",function(r,e){return re}),minOutdegree:Et("outdegree",function(r,e){return re})});pe(bn,{totalDegree:function(e){for(var t=0,a=this.nodes(),n=0;n0,c=f;f&&(v=v[0]);var h=c?v.position():{x:0,y:0};t!==void 0?u.position(e,t+h[e]):i!==void 0&&u.position({x:i.x+h.x,y:i.y+h.y})}else{var d=a.position(),y=o?a.parent():null,p=y&&y.length>0,g=p;p&&(y=y[0]);var m=g?y.position():{x:0,y:0};return i={x:d.x-m.x,y:d.y-m.y},e===void 0?i:i[e]}else if(!s)return;return this}};Pr.modelPosition=Pr.point=Pr.position;Pr.modelPositions=Pr.points=Pr.positions;Pr.renderedPoint=Pr.renderedPosition;Pr.relativePoint=Pr.relativePosition;var hh=$o,Rt,nt;Rt=nt={};nt.renderedBoundingBox=function(r){var e=this.boundingBox(r),t=this.cy(),a=t.zoom(),n=t.pan(),i=e.x1*a+n.x,s=e.x2*a+n.x,o=e.y1*a+n.y,l=e.y2*a+n.y;return{x1:i,x2:s,y1:o,y2:l,w:s-i,h:l-o}};nt.dirtyCompoundBoundsCache=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(t){if(t.isParent()){var a=t._private;a.compoundBoundsClean=!1,a.bbCache=null,r||t.emitAndNotify("bounds")}}),this)};nt.updateCompoundBounds=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!r&&e.batching())return this;function t(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",v={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},f=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),c=o.position;(f.w===0||f.h===0)&&(f={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},f.x1=c.x-f.w/2,f.x2=c.x+f.w/2,f.y1=c.y-f.h/2,f.y2=c.y+f.h/2);function h(C,M,P){var B=0,L=0,k=M+P;return C>0&&k>0&&(B=M/k*C,L=P/k*C),{biasDiff:B,biasComplementDiff:L}}function d(C,M,P,B){if(P.units==="%")switch(B){case"width":return C>0?P.pfValue*C:0;case"height":return M>0?P.pfValue*M:0;case"average":return C>0&&M>0?P.pfValue*(C+M)/2:0;case"min":return C>0&&M>0?C>M?P.pfValue*M:P.pfValue*C:0;case"max":return C>0&&M>0?C>M?P.pfValue*C:P.pfValue*M:0;default:return 0}else return P.units==="px"?P.pfValue:0}var y=v.width.left.value;v.width.left.units==="px"&&v.width.val>0&&(y=y*100/v.width.val);var p=v.width.right.value;v.width.right.units==="px"&&v.width.val>0&&(p=p*100/v.width.val);var g=v.height.top.value;v.height.top.units==="px"&&v.height.val>0&&(g=g*100/v.height.val);var m=v.height.bottom.value;v.height.bottom.units==="px"&&v.height.val>0&&(m=m*100/v.height.val);var b=h(v.width.val-f.w,y,p),w=b.biasDiff,S=b.biasComplementDiff,E=h(v.height.val-f.h,g,m),x=E.biasDiff,D=E.biasComplementDiff;o.autoPadding=d(f.w,f.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(f.w,v.width.val),c.x=(-w+f.x1+f.x2+S)/2,o.autoHeight=Math.max(f.h,v.height.val),c.y=(-x+f.y1+f.y2+D)/2}for(var a=0;ae.x2?n:e.x2,e.y1=ae.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},ut=function(e,t){return t==null?e:Dr(e,t.x1,t.y1,t.x2,t.y2)},jt=function(e,t,a){return kr(e,t,a)},Na=function(e,t,a){if(!t.cy().headless()){var n=t._private,i=n.rstyle,s=i.arrowWidth/2,o=t.pstyle(a+"-arrow-shape").value,l,u;if(o!=="none"){a==="source"?(l=i.srcX,u=i.srcY):a==="target"?(l=i.tgtX,u=i.tgtY):(l=i.midX,u=i.midY);var v=n.arrowBounds=n.arrowBounds||{},f=v[a]=v[a]||{};f.x1=l-s,f.y1=u-s,f.x2=l+s,f.y2=u+s,f.w=f.x2-f.x1,f.h=f.y2-f.y1,Ga(f,1),Dr(e,f.x1,f.y1,f.x2,f.y2)}}},Nn=function(e,t,a){if(!t.cy().headless()){var n;a?n=a+"-":n="";var i=t._private,s=i.rstyle,o=t.pstyle(n+"label").strValue;if(o){var l=t.pstyle("text-halign"),u=t.pstyle("text-valign"),v=jt(s,"labelWidth",a),f=jt(s,"labelHeight",a),c=jt(s,"labelX",a),h=jt(s,"labelY",a),d=t.pstyle(n+"text-margin-x").pfValue,y=t.pstyle(n+"text-margin-y").pfValue,p=t.isEdge(),g=t.pstyle(n+"text-rotation"),m=t.pstyle("text-outline-width").pfValue,b=t.pstyle("text-border-width").pfValue,w=b/2,S=t.pstyle("text-background-padding").pfValue,E=2,x=f,D=v,C=D/2,M=x/2,P,B,L,k;if(p)P=c-C,B=c+C,L=h-M,k=h+M;else{switch(l.value){case"left":P=c-D,B=c;break;case"center":P=c-C,B=c+C;break;case"right":P=c,B=c+D;break}switch(u.value){case"top":L=h-x,k=h;break;case"center":L=h-M,k=h+M;break;case"bottom":L=h,k=h+x;break}}var O=d-Math.max(m,w)-S-E,A=d+Math.max(m,w)+S+E,R=y-Math.max(m,w)-S-E,I=y+Math.max(m,w)+S+E;P+=O,B+=A,L+=R,k+=I;var V=a||"main",G=i.labelBounds,F=G[V]=G[V]||{};F.x1=P,F.y1=L,F.x2=B,F.y2=k,F.w=B-P,F.h=k-L,F.leftPad=O,F.rightPad=A,F.topPad=R,F.botPad=I;var q=p&&g.strValue==="autorotate",Y=g.pfValue!=null&&g.pfValue!==0;if(q||Y){var Q=q?jt(i.rstyle,"labelAngle",a):g.pfValue,J=Math.cos(Q),_=Math.sin(Q),j=(P+B)/2,W=(L+k)/2;if(!p){switch(l.value){case"left":j=B;break;case"right":j=P;break}switch(u.value){case"top":W=k;break;case"bottom":W=L;break}}var z=function(le,oe){return le=le-j,oe=oe-W,{x:le*J-oe*_+j,y:le*_+oe*J+W}},K=z(P,L),X=z(P,k),ae=z(B,L),he=z(B,k);P=Math.min(K.x,X.x,ae.x,he.x),B=Math.max(K.x,X.x,ae.x,he.x),L=Math.min(K.y,X.y,ae.y,he.y),k=Math.max(K.y,X.y,ae.y,he.y)}var te=V+"Rot",re=G[te]=G[te]||{};re.x1=P,re.y1=L,re.x2=B,re.y2=k,re.w=B-P,re.h=k-L,Dr(e,P,L,B,k),Dr(i.labelBounds.all,P,L,B,k)}return e}},gh=function(e,t){if(!t.cy().headless()){var a=t.pstyle("outline-opacity").value,n=t.pstyle("outline-width").value;if(a>0&&n>0){var i=t.pstyle("outline-offset").value,s=t.pstyle("shape").value,o=n+i,l=(e.w+o*2)/e.w,u=(e.h+o*2)/e.h,v=0,f=0;["diamond","pentagon","round-triangle"].includes(s)?(l=(e.w+o*2.4)/e.w,f=-o/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?l=(e.w+o*2.4)/e.w:s==="star"?(l=(e.w+o*2.8)/e.w,u=(e.h+o*2.6)/e.h,f=-o/3.8):s==="triangle"?(l=(e.w+o*2.8)/e.w,u=(e.h+o*2.4)/e.h,f=-o/1.4):s==="vee"&&(l=(e.w+o*4.4)/e.w,u=(e.h+o*3.8)/e.h,f=-o*.5);var c=e.h*u-e.h,h=e.w*l-e.w;if(Ka(e,[Math.ceil(c/2),Math.ceil(h/2)]),v!=0||f!==0){var d=Iv(e,v,f);po(e,d)}}}},ph=function(e,t){var a=e._private.cy,n=a.styleEnabled(),i=a.headless(),s=hr(),o=e._private,l=e.isNode(),u=e.isEdge(),v,f,c,h,d,y,p=o.rstyle,g=l&&n?e.pstyle("bounds-expansion").pfValue:[0],m=function(ve){return ve.pstyle("display").value!=="none"},b=!n||m(e)&&(!u||m(e.source())&&m(e.target()));if(b){var w=0,S=0;n&&t.includeOverlays&&(w=e.pstyle("overlay-opacity").value,w!==0&&(S=e.pstyle("overlay-padding").value));var E=0,x=0;n&&t.includeUnderlays&&(E=e.pstyle("underlay-opacity").value,E!==0&&(x=e.pstyle("underlay-padding").value));var D=Math.max(S,x),C=0,M=0;if(n&&(C=e.pstyle("width").pfValue,M=C/2),l&&t.includeNodes){var P=e.position();d=P.x,y=P.y;var B=e.outerWidth(),L=B/2,k=e.outerHeight(),O=k/2;v=d-L,f=d+L,c=y-O,h=y+O,Dr(s,v,c,f,h),n&&t.includeOutlines&&gh(s,e)}else if(u&&t.includeEdges)if(n&&!i){var A=e.pstyle("curve-style").strValue;if(v=Math.min(p.srcX,p.midX,p.tgtX),f=Math.max(p.srcX,p.midX,p.tgtX),c=Math.min(p.srcY,p.midY,p.tgtY),h=Math.max(p.srcY,p.midY,p.tgtY),v-=M,f+=M,c-=M,h+=M,Dr(s,v,c,f,h),A==="haystack"){var R=p.haystackPts;if(R&&R.length===2){if(v=R[0].x,c=R[0].y,f=R[1].x,h=R[1].y,v>f){var I=v;v=f,f=I}if(c>h){var V=c;c=h,h=V}Dr(s,v-M,c-M,f+M,h+M)}}else if(A==="bezier"||A==="unbundled-bezier"||A.endsWith("segments")||A.endsWith("taxi")){var G;switch(A){case"bezier":case"unbundled-bezier":G=p.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":G=p.linePts;break}if(G!=null)for(var F=0;Ff){var j=v;v=f,f=j}if(c>h){var W=c;c=h,h=W}v-=M,f+=M,c-=M,h+=M,Dr(s,v,c,f,h)}if(n&&t.includeEdges&&u&&(Na(s,e,"mid-source"),Na(s,e,"mid-target"),Na(s,e,"source"),Na(s,e,"target")),n){var z=e.pstyle("ghost").value==="yes";if(z){var K=e.pstyle("ghost-offset-x").pfValue,X=e.pstyle("ghost-offset-y").pfValue;Dr(s,s.x1+K,s.y1+X,s.x2+K,s.y2+X)}}var ae=o.bodyBounds=o.bodyBounds||{};Hi(ae,s),Ka(ae,g),Ga(ae,1),n&&(v=s.x1,f=s.x2,c=s.y1,h=s.y2,Dr(s,v-D,c-D,f+D,h+D));var he=o.overlayBounds=o.overlayBounds||{};Hi(he,s),Ka(he,g),Ga(he,1);var te=o.labelBounds=o.labelBounds||{};te.all!=null?Ov(te.all):te.all=hr(),n&&t.includeLabels&&(t.includeMainLabels&&Nn(s,e,null),u&&(t.includeSourceLabels&&Nn(s,e,"source"),t.includeTargetLabels&&Nn(s,e,"target")))}return s.x1=xr(s.x1),s.y1=xr(s.y1),s.x2=xr(s.x2),s.y2=xr(s.y2),s.w=xr(s.x2-s.x1),s.h=xr(s.y2-s.y1),s.w>0&&s.h>0&&b&&(Ka(s,g),Ga(s,1)),s},Go=function(e){var t=0,a=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:Lh,e=arguments.length>1?arguments[1]:void 0,t=0;t=0;o--)s(o);return this};at.removeAllListeners=function(){return this.removeListener("*")};at.emit=at.trigger=function(r,e,t){var a=this.listeners,n=a.length;return this.emitting++,Oe(e)||(e=[e]),Ah(this,function(i,s){t!=null&&(a=[{event:s.event,type:s.type,namespace:s.namespace,callback:t}],n=a.length);for(var o=function(v){var f=a[v];if(f.type===s.type&&(!f.namespace||f.namespace===s.namespace||f.namespace===Mh)&&i.eventMatches(i.context,f,s)){var c=[s];e!=null&&uv(c,e),i.beforeEmit(i.context,f,s),f.conf&&f.conf.one&&(i.listeners=i.listeners.filter(function(y){return y!==f}));var h=i.callbackContext(i.context,f,s),d=f.callback.apply(h,c);i.afterEmit(i.context,f,s),d===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,i.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,a=e._private.data.id,n=t.map,i=n.get(a);if(!i)return this;var s=i.index;return this.unmergeAt(s),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&ce(e)){var a=e;e=t.mutableElements().filter(a)}for(var n=0;n=0;t--){var a=this[t];e(a)&&this.unmergeAt(t)}return this},map:function(e,t){for(var a=[],n=this,i=0;ia&&(a=l,n=o)}return{value:a,ele:n}},min:function(e,t){for(var a=1/0,n,i=this,s=0;s=0&&i"u"?"undefined":Ue(Symbol))!=e&&Ue(Symbol.iterator)!=e;t&&(nn[Symbol.iterator]=function(){var a=this,n={value:void 0,done:!1},i=0,s=this.length;return Ys({next:function(){return i1&&arguments[1]!==void 0?arguments[1]:!0,a=this[0],n=a.cy();if(n.styleEnabled()&&a){this.cleanStyle();var i=a._private.style[e];return i??(t?n.style().getDefaultProperty(e):null)}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var a=t.pstyle(e);return a.pfValue!==void 0?a.pfValue:a.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var a=this[0];if(a)return t.style().getRenderedStyle(a,e)},style:function(e,t){var a=this.cy();if(!a.styleEnabled())return this;var n=!1,i=a.style();if(Te(e)){var s=e;i.applyBypass(this,s,n),this.emitAndNotify("style")}else if(ce(e))if(t===void 0){var o=this[0];return o?i.getStylePropertyValue(o,e):void 0}else i.applyBypass(this,e,t,n),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?i.getRawStyle(l):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var a=!1,n=t.style(),i=this;if(e===void 0)for(var s=0;s0&&e.push(v[0]),e.push(o[0])}return this.spawn(e,!0).filter(r)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});ir.neighbourhood=ir.neighborhood;ir.closedNeighbourhood=ir.closedNeighborhood;ir.openNeighbourhood=ir.openNeighborhood;pe(ir,{source:Er(function(e){var t=this[0],a;return t&&(a=t._private.source||t.cy().collection()),a&&e?a.filter(e):a},"source"),target:Er(function(e){var t=this[0],a;return t&&(a=t._private.target||t.cy().collection()),a&&e?a.filter(e):a},"target"),sources:ws({attr:"source"}),targets:ws({attr:"target"})});function ws(r){return function(t){for(var a=[],n=0;n0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});ir.componentsOf=ir.components;var er=function(e,t){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){$e("A collection must have a reference to the core");return}var i=new Ir,s=!1;if(!t)t=[];else if(t.length>0&&Te(t[0])&&!xa(t[0])){s=!0;for(var o=[],l=new Vt,u=0,v=t.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=this,a=t.cy(),n=a._private,i=[],s=[],o,l=0,u=t.length;l0){for(var V=o.length===t.length?t:new er(a,o),G=0;G0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=this,a=[],n={},i=t._private.cy;function s(k){for(var O=k._private.edges,A=0;A0&&(r?P.emitAndNotify("remove"):e&&P.emit("remove"));for(var B=0;B0?B=k:P=k;while(Math.abs(L)>s&&++O=i?m(M,O):A===0?O:w(M,P,P+u)}var E=!1;function x(){E=!0,(r!==e||t!==a)&&b()}var D=function(P){return E||x(),r===e&&t===a?P:P===0?0:P===1?1:p(S(P),e,a)};D.getControlPoints=function(){return[{x:r,y:e},{x:t,y:a}]};var C="generateBezier("+[r,e,t,a]+")";return D.toString=function(){return C},D}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var Gh=function(){function r(a){return-a.tension*a.x-a.friction*a.v}function e(a,n,i){var s={x:a.x+i.dx*n,v:a.v+i.dv*n,tension:a.tension,friction:a.friction};return{dx:s.v,dv:r(s)}}function t(a,n){var i={dx:a.v,dv:r(a)},s=e(a,n*.5,i),o=e(a,n*.5,s),l=e(a,n,o),u=1/6*(i.dx+2*(s.dx+o.dx)+l.dx),v=1/6*(i.dv+2*(s.dv+o.dv)+l.dv);return a.x=a.x+u*n,a.v=a.v+v*n,a}return function a(n,i,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,v=1/1e4,f=16/1e3,c,h,d;for(n=parseFloat(n)||500,i=parseFloat(i)||20,s=s||null,o.tension=n,o.friction=i,c=s!==null,c?(u=a(n,i),h=u/s*f):h=f;d=t(d||o,h),l.push(1+d.x),u+=16,Math.abs(d.x)>v&&Math.abs(d.v)>v;);return c?function(y){return l[y*(l.length-1)|0]}:u}}(),ze=function(e,t,a,n){var i=Hh(e,t,a,n);return function(s,o,l){return s+(o-s)*i(l)}},Ya={linear:function(e,t,a){return e+(t-e)*a},ease:ze(.25,.1,.25,1),"ease-in":ze(.42,0,1,1),"ease-out":ze(0,0,.58,1),"ease-in-out":ze(.42,0,.58,1),"ease-in-sine":ze(.47,0,.745,.715),"ease-out-sine":ze(.39,.575,.565,1),"ease-in-out-sine":ze(.445,.05,.55,.95),"ease-in-quad":ze(.55,.085,.68,.53),"ease-out-quad":ze(.25,.46,.45,.94),"ease-in-out-quad":ze(.455,.03,.515,.955),"ease-in-cubic":ze(.55,.055,.675,.19),"ease-out-cubic":ze(.215,.61,.355,1),"ease-in-out-cubic":ze(.645,.045,.355,1),"ease-in-quart":ze(.895,.03,.685,.22),"ease-out-quart":ze(.165,.84,.44,1),"ease-in-out-quart":ze(.77,0,.175,1),"ease-in-quint":ze(.755,.05,.855,.06),"ease-out-quint":ze(.23,1,.32,1),"ease-in-out-quint":ze(.86,0,.07,1),"ease-in-expo":ze(.95,.05,.795,.035),"ease-out-expo":ze(.19,1,.22,1),"ease-in-out-expo":ze(1,0,0,1),"ease-in-circ":ze(.6,.04,.98,.335),"ease-out-circ":ze(.075,.82,.165,1),"ease-in-out-circ":ze(.785,.135,.15,.86),spring:function(e,t,a){if(a===0)return Ya.linear;var n=Gh(e,t,a);return function(i,s,o){return i+(s-i)*n(o)}},"cubic-bezier":ze};function Cs(r,e,t,a,n){if(a===1||e===t)return t;var i=n(e,t,a);return r==null||((r.roundValue||r.color)&&(i=Math.round(i)),r.min!==void 0&&(i=Math.max(i,r.min)),r.max!==void 0&&(i=Math.min(i,r.max))),i}function Ss(r,e){return r.pfValue!=null||r.value!=null?r.pfValue!=null&&(e==null||e.type.units!=="%")?r.pfValue:r.value:r}function Ct(r,e,t,a,n){var i=n!=null?n.type:null;t<0?t=0:t>1&&(t=1);var s=Ss(r,n),o=Ss(e,n);if(ne(s)&&ne(o))return Cs(i,s,o,t,a);if(Oe(s)&&Oe(o)){for(var l=[],u=0;u0?(h==="spring"&&d.push(s.duration),s.easingImpl=Ya[h].apply(null,d)):s.easingImpl=Ya[h]}var y=s.easingImpl,p;if(s.duration===0?p=1:p=(t-l)/s.duration,s.applying&&(p=s.progress),p<0?p=0:p>1&&(p=1),s.delay==null){var g=s.startPosition,m=s.position;if(m&&n&&!r.locked()){var b={};ra(g.x,m.x)&&(b.x=Ct(g.x,m.x,p,y)),ra(g.y,m.y)&&(b.y=Ct(g.y,m.y,p,y)),r.position(b)}var w=s.startPan,S=s.pan,E=i.pan,x=S!=null&&a;x&&(ra(w.x,S.x)&&(E.x=Ct(w.x,S.x,p,y)),ra(w.y,S.y)&&(E.y=Ct(w.y,S.y,p,y)),r.emit("pan"));var D=s.startZoom,C=s.zoom,M=C!=null&&a;M&&(ra(D,C)&&(i.zoom=da(i.minZoom,Ct(D,C,p,y),i.maxZoom)),r.emit("zoom")),(x||M)&&r.emit("viewport");var P=s.style;if(P&&P.length>0&&n){for(var B=0;B=0;x--){var D=E[x];D()}E.splice(0,E.length)},m=h.length-1;m>=0;m--){var b=h[m],w=b._private;if(w.stopped){h.splice(m,1),w.hooked=!1,w.playing=!1,w.started=!1,g(w.frames);continue}!w.playing&&!w.applying||(w.playing&&w.applying&&(w.applying=!1),w.started||Wh(v,b,r),Kh(v,b,r,f),w.applying&&(w.applying=!1),g(w.frames),w.step!=null&&w.step(r),b.completed()&&(h.splice(m,1),w.hooked=!1,w.playing=!1,w.started=!1,g(w.completes)),y=!0)}return!f&&h.length===0&&d.length===0&&a.push(v),y}for(var i=!1,s=0;s0?e.notify("draw",t):e.notify("draw")),t.unmerge(a),e.emit("step")}var Uh={animate:Be.animate(),animation:Be.animation(),animated:Be.animated(),clearQueue:Be.clearQueue(),delay:Be.delay(),delayAnimation:Be.delayAnimation(),stop:Be.stop(),addToAnimationPool:function(e){var t=this;t.styleEnabled()&&t._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function t(){e._private.animationsRunning&&ja(function(i){Ts(i,e),t()})}var a=e.renderer();a&&a.beforeRender?a.beforeRender(function(i,s){Ts(s,e)},a.beforeRenderPriorities.animations):t()}},Yh={qualifierCompare:function(e,t){return e==null||t==null?e==null&&t==null:e.sameText(t)},eventMatches:function(e,t,a){var n=t.qualifier;return n!=null?e!==a.target&&xa(a.target)&&n.matches(a.target):!0},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,a){return t.qualifier!=null?a.target:e}},qa=function(e){return ce(e)?new rt(e):e},eu={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new wn(Yh,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,a){return this.emitter().on(e,qa(t),a),this},removeListener:function(e,t,a){return this.emitter().removeListener(e,qa(t),a),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,a){return this.emitter().one(e,qa(t),a),this},once:function(e,t,a){return this.emitter().one(e,qa(t),a),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};Be.eventAliasesOn(eu);var Zn={png:function(e){var t=this._private.renderer;return e=e||{},t.png(e)},jpg:function(e){var t=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",t.jpg(e)}};Zn.jpeg=Zn.jpg;var Xa={layout:function(e){var t=this;if(e==null){$e("Layout options must be specified to make a layout");return}if(e.name==null){$e("A `name` must be specified to make a layout");return}var a=e.name,n=t.extension("layout",a);if(n==null){$e("No such layout `"+a+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var i;ce(e.eles)?i=t.$(e.eles):i=e.eles!=null?e.eles:t.$();var s=new n(pe({},e,{cy:t,eles:i}));return s}};Xa.createLayout=Xa.makeLayout=Xa.layout;var Xh={notify:function(e,t){var a=this._private;if(this.batching()){a.batchNotifications=a.batchNotifications||{};var n=a.batchNotifications[e]=a.batchNotifications[e]||this.collection();t!=null&&n.merge(t);return}if(a.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(e,t)}},notifications:function(e){var t=this._private;return e===void 0?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach(function(a){var n=e.batchNotifications[a];n.empty()?t.notify(a):t.notify(a,n)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch(function(){for(var a=Object.keys(e),n=0;n0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(a){var n=a._private;n.rscratch={},n.rstyle={},n.animation.current=[],n.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Qn.invalidateDimensions=Qn.resize;var Za={collection:function(e,t){return ce(e)?this.$(e):yr(e)?e.collection():Oe(e)?(t||(t={}),new er(this,e,t.unique,t.removed)):new er(this)},nodes:function(e){var t=this.$(function(a){return a.isNode()});return e?t.filter(e):t},edges:function(e){var t=this.$(function(a){return a.isEdge()});return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};Za.elements=Za.filter=Za.$;var or={},oa="t",Qh="f";or.apply=function(r){for(var e=this,t=e._private,a=t.cy,n=a.collection(),i=0;i0;if(c||f&&h){var d=void 0;c&&h||c?d=u.properties:h&&(d=u.mappedProperties);for(var y=0;y1&&(w=1),o.color){var E=a.valueMin[0],x=a.valueMax[0],D=a.valueMin[1],C=a.valueMax[1],M=a.valueMin[2],P=a.valueMax[2],B=a.valueMin[3]==null?1:a.valueMin[3],L=a.valueMax[3]==null?1:a.valueMax[3],k=[Math.round(E+(x-E)*w),Math.round(D+(C-D)*w),Math.round(M+(P-M)*w),Math.round(B+(L-B)*w)];i={bypass:a.bypass,name:a.name,value:k,strValue:"rgb("+k[0]+", "+k[1]+", "+k[2]+")"}}else if(o.number){var O=a.valueMin+(a.valueMax-a.valueMin)*w;i=this.parse(a.name,O,a.bypass,c)}else return!1;if(!i)return y(),!1;i.mapping=a,a=i;break}case s.data:{for(var A=a.field.split("."),R=f.data,I=0;I0&&i>0){for(var o={},l=!1,u=0;u0?r.delayAnimation(s).play().promise().then(b):b()}).then(function(){return r.animation({style:o,duration:i,easing:r.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){t.removeBypasses(r,n),r.emitAndNotify("style"),a.transitioning=!1})}else a.transitioning&&(this.removeBypasses(r,n),r.emitAndNotify("style"),a.transitioning=!1)};or.checkTrigger=function(r,e,t,a,n,i){var s=this.properties[e],o=n(s);o!=null&&o(t,a)&&i(s)};or.checkZOrderTrigger=function(r,e,t,a){var n=this;this.checkTrigger(r,e,t,a,function(i){return i.triggersZOrder},function(){n._private.cy.notify("zorder",r)})};or.checkBoundsTrigger=function(r,e,t,a){this.checkTrigger(r,e,t,a,function(n){return n.triggersBounds},function(n){r.dirtyCompoundBoundsCache(),r.dirtyBoundingBoxCache(),n.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(t==="bezier"||a==="bezier")&&r.parallelEdges().forEach(function(i){i.dirtyBoundingBoxCache()}),n.triggersBoundsOfConnectedEdges&&e==="display"&&(t==="none"||a==="none")&&r.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})};or.checkTriggers=function(r,e,t,a){r.dirtyStyleCache(),this.checkZOrderTrigger(r,e,t,a),this.checkBoundsTrigger(r,e,t,a)};var Ta={};Ta.applyBypass=function(r,e,t,a){var n=this,i=[],s=!0;if(e==="*"||e==="**"){if(t!==void 0)for(var o=0;on.length?a=a.substr(n.length):a=""}function l(){i.length>s.length?i=i.substr(s.length):i=""}for(;;){var u=a.match(/^\s*$/);if(u)break;var v=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!v){Me("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}n=v[0];var f=v[1];if(f!=="core"){var c=new rt(f);if(c.invalid){Me("Skipping parsing of block: Invalid selector found in string stylesheet: "+f),o();continue}}var h=v[2],d=!1;i=h;for(var y=[];;){var p=i.match(/^\s*$/);if(p)break;var g=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!g){Me("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+h),d=!0;break}s=g[0];var m=g[1],b=g[2],w=e.properties[m];if(!w){Me("Skipping property: Invalid property name in: "+s),l();continue}var S=t.parse(m,b);if(!S){Me("Skipping property: Invalid property definition in: "+s),l();continue}y.push({name:m,val:b}),l()}if(d){o();break}t.selector(f);for(var E=0;E=7&&e[0]==="d"&&(v=new RegExp(o.data.regex).exec(e))){if(t)return!1;var c=o.data;return{name:r,value:v,strValue:""+e,mapped:c,field:v[1],bypass:t}}else if(e.length>=10&&e[0]==="m"&&(f=new RegExp(o.mapData.regex).exec(e))){if(t||u.multiple)return!1;var h=o.mapData;if(!(u.color||u.number))return!1;var d=this.parse(r,f[4]);if(!d||d.mapped)return!1;var y=this.parse(r,f[5]);if(!y||y.mapped)return!1;if(d.pfValue===y.pfValue||d.strValue===y.strValue)return Me("`"+r+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+r+": "+d.strValue+"`"),this.parse(r,d.strValue);if(u.color){var p=d.value,g=y.value,m=p[0]===g[0]&&p[1]===g[1]&&p[2]===g[2]&&(p[3]===g[3]||(p[3]==null||p[3]===1)&&(g[3]==null||g[3]===1));if(m)return!1}return{name:r,value:f,strValue:""+e,mapped:h,field:f[1],fieldMin:parseFloat(f[2]),fieldMax:parseFloat(f[3]),valueMin:d.value,valueMax:y.value,bypass:t}}}if(u.multiple&&a!=="multiple"){var b;if(l?b=e.split(/\s+/):Oe(e)?b=e:b=[e],u.evenMultiple&&b.length%2!==0)return null;for(var w=[],S=[],E=[],x="",D=!1,C=0;C0?" ":"")+M.strValue}return u.validate&&!u.validate(w,S)?null:u.singleEnum&&D?w.length===1&&ce(w[0])?{name:r,value:w[0],strValue:w[0],bypass:t}:null:{name:r,value:w,pfValue:E,strValue:x,bypass:t,units:S}}var P=function(){for(var z=0;zu.max||u.strictMax&&e===u.max))return null;var A={name:r,value:e,strValue:""+e+(B||""),units:B,bypass:t};return u.unitless||B!=="px"&&B!=="em"?A.pfValue=e:A.pfValue=B==="px"||!B?e:this.getEmSizeInPixels()*e,(B==="ms"||B==="s")&&(A.pfValue=B==="ms"?e:1e3*e),(B==="deg"||B==="rad")&&(A.pfValue=B==="rad"?e:Mv(e)),B==="%"&&(A.pfValue=e/100),A}else if(u.propList){var R=[],I=""+e;if(I!=="none"){for(var V=I.split(/\s*,\s*|\s+/),G=0;G0&&o>0&&!isNaN(a.w)&&!isNaN(a.h)&&a.w>0&&a.h>0){l=Math.min((s-2*t)/a.w,(o-2*t)/a.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=a.minZoom&&(a.maxZoom=t),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t=this._private,a=t.pan,n=t.zoom,i,s,o=!1;if(t.zoomingEnabled||(o=!0),ne(e)?s=e:Te(e)&&(s=e.level,e.position!=null?i=hn(e.position,n,a):e.renderedPosition!=null&&(i=e.renderedPosition),i!=null&&!t.panningEnabled&&(o=!0)),s=s>t.maxZoom?t.maxZoom:s,s=st.maxZoom||!t.zoomingEnabled?s=!0:(t.zoom=l,i.push("zoom"))}if(n&&(!s||!e.cancelOnFailedZoom)&&t.panningEnabled){var u=e.pan;ne(u.x)&&(t.pan.x=u.x,o=!1),ne(u.y)&&(t.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(ce(e)){var a=e;e=this.mutableElements().filter(a)}else yr(e)||(e=this.mutableElements());if(e.length!==0){var n=e.boundingBox(),i=this.width(),s=this.height();t=t===void 0?this._private.zoom:t;var o={x:(i-t*(n.x1+n.x2))/2,y:(s-t*(n.y1+n.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,t=e.container,a=this;return e.sizeCache=e.sizeCache||(t?function(){var n=a.window().getComputedStyle(t),i=function(o){return parseFloat(n.getPropertyValue(o))};return{width:t.clientWidth-i("padding-left")-i("padding-right"),height:t.clientHeight-i("padding-top")-i("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,a=this.renderedExtent(),n={x1:(a.x1-e.x)/t,x2:(a.x2-e.x)/t,y1:(a.y1-e.y)/t,y2:(a.y2-e.y)/t};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};yt.centre=yt.center;yt.autolockNodes=yt.autolock;yt.autoungrabifyNodes=yt.autoungrabify;var ma={data:Be.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Be.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Be.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Be.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};ma.attr=ma.data;ma.removeAttr=ma.removeData;var ba=function(e){var t=this;e=pe({},e);var a=e.container;a&&!_a(a)&&_a(a[0])&&(a=a[0]);var n=a?a._cyreg:null;n=n||{},n&&n.cy&&(n.cy.destroy(),n={});var i=n.readies=n.readies||[];a&&(a._cyreg=n),n.cy=t;var s=Ke!==void 0&&a!==void 0&&!e.headless,o=e;o.layout=pe({name:s?"grid":"null"},o.layout),o.renderer=pe({name:s?"canvas":"null"},o.renderer);var l=function(d,y,p){return y!==void 0?y:p!==void 0?p:d},u=this._private={container:a,ready:!1,options:o,elements:new er(this),listeners:[],aniEles:new er(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:ne(o.zoom)?o.zoom:1,pan:{x:Te(o.pan)&&ne(o.pan.x)?o.pan.x:0,y:Te(o.pan)&&ne(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var v=function(d,y){var p=d.some(el);if(p)return qt.all(d).then(y);y(d)};u.styleEnabled&&t.setStyle([]);var f=pe({},o,o.renderer);t.initRenderer(f);var c=function(d,y,p){t.notifications(!1);var g=t.mutableElements();g.length>0&&g.remove(),d!=null&&(Te(d)||Oe(d))&&t.add(d),t.one("layoutready",function(b){t.notifications(!0),t.emit(b),t.one("load",y),t.emitAndNotify("load")}).one("layoutstop",function(){t.one("done",p),t.emit("done")});var m=pe({},t._private.options.layout);m.eles=t.elements(),t.layout(m).run()};v([o.style,o.elements],function(h){var d=h[0],y=h[1];u.styleEnabled&&t.style().append(d),c(y,function(){t.startAnimationLoop(),u.ready=!0,qe(o.ready)&&t.on("ready",o.ready);for(var p=0;p0,l=hr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),u;if(yr(e.roots))u=e.roots;else if(Oe(e.roots)){for(var v=[],f=0;f0;){var O=k(),A=M(O,B);if(A)O.outgoers().filter(function(te){return te.isNode()&&a.has(te)}).forEach(L);else if(A===null){Me("Detected double maximal shift for node `"+O.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}C();var R=0;if(e.avoidOverlap)for(var I=0;I0&&g[0].length<=3?xe/2:0),Pe=2*Math.PI/g[le].length*oe;return le===0&&g[0].length===1&&(Ee=1),{x:X.x+Ee*Math.cos(Pe),y:X.y+Ee*Math.sin(Pe)}}else{var Ae={x:X.x+(oe+1-(de+1)/2)*Le,y:(le+1)*Ce};return Ae}};return a.nodes().layoutPositions(this,e,he),this};var rg={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function tu(r){this.options=pe({},rg,r)}tu.prototype.run=function(){var r=this.options,e=r,t=r.cy,a=e.eles,n=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=a.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));for(var s=hr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/i.length:e.sweep,u=l/Math.max(1,i.length-1),v,f=0,c=0;c1&&e.avoidOverlap){f*=1.75;var g=Math.cos(u)-Math.cos(0),m=Math.sin(u)-Math.sin(0),b=Math.sqrt(f*f/(g*g+m*m));v=Math.max(b,v)}var w=function(E,x){var D=e.startAngle+x*u*(n?1:-1),C=v*Math.cos(D),M=v*Math.sin(D),P={x:o.x+C,y:o.y+M};return P};return a.nodes().layoutPositions(this,e,w),this};var tg={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function au(r){this.options=pe({},tg,r)}au.prototype.run=function(){for(var r=this.options,e=r,t=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=r.cy,n=e.eles,i=n.nodes().not(":parent"),s=hr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,v=0;v0){var S=Math.abs(m[0].value-w.value);S>=p&&(m=[],g.push(m))}m.push(w)}var E=u+e.minNodeSpacing;if(!e.avoidOverlap){var x=g.length>0&&g[0].length>1,D=Math.min(s.w,s.h)/2-E,C=D/(g.length+x?1:0);E=Math.min(E,C)}for(var M=0,P=0;P1&&e.avoidOverlap){var O=Math.cos(k)-Math.cos(0),A=Math.sin(k)-Math.sin(0),R=Math.sqrt(E*E/(O*O+A*A));M=Math.max(R,M)}B.r=M,M+=E}if(e.equidistant){for(var I=0,V=0,G=0;G=r.numIter||(vg(a,r),a.temperature=a.temperature*r.coolingFactor,a.temperature=r.animationThreshold&&i(),ja(f)}};v()}else{for(;u;)u=s(l),l++;Ps(a,r),o()}return this};Tn.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};Tn.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var ng=function(e,t,a){for(var n=a.eles.edges(),i=a.eles.nodes(),s=hr(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:a.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=a.eles.components(),u={},v=0;v0){o.graphSet.push(D);for(var v=0;vn.count?0:n.graph},sg=function r(e,t,a,n){var i=n.graphSet[a];if(-10)var f=n.nodeOverlap*v,c=Math.sqrt(o*o+l*l),h=f*o/c,d=f*l/c;else var y=on(e,o,l),p=on(t,-1*o,-1*l),g=p.x-y.x,m=p.y-y.y,b=g*g+m*m,c=Math.sqrt(b),f=(e.nodeRepulsion+t.nodeRepulsion)/b,h=f*g/c,d=f*m/c;e.isLocked||(e.offsetX-=h,e.offsetY-=d),t.isLocked||(t.offsetX+=h,t.offsetY+=d)}},dg=function(e,t,a,n){if(a>0)var i=e.maxX-t.minX;else var i=t.maxX-e.minX;if(n>0)var s=e.maxY-t.minY;else var s=t.maxY-e.minY;return i>=0&&s>=0?Math.sqrt(i*i+s*s):0},on=function(e,t,a){var n=e.positionX,i=e.positionY,s=e.height||1,o=e.width||1,l=a/t,u=s/o,v={};return t===0&&0a?(v.x=n,v.y=i+s/2,v):0t&&-1*u<=l&&l<=u?(v.x=n-o/2,v.y=i-o*a/2/t,v):0=u)?(v.x=n+s*t/2/a,v.y=i+s/2,v):(0>a&&(l<=-1*u||l>=u)&&(v.x=n-s*t/2/a,v.y=i-s/2),v)},hg=function(e,t){for(var a=0;aa){var p=t.gravity*h/y,g=t.gravity*d/y;c.offsetX+=p,c.offsetY+=g}}}}},pg=function(e,t){var a=[],n=0,i=-1;for(a.push.apply(a,e.graphSet[0]),i+=e.graphSet[0].length;n<=i;){var s=a[n++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0a)var i={x:a*e/n,y:a*t/n};else var i={x:e,y:t};return i},bg=function r(e,t){var a=e.parentId;if(a!=null){var n=t.layoutNodes[t.idToIndex[a]],i=!1;if((n.maxX==null||e.maxX+n.padRight>n.maxX)&&(n.maxX=e.maxX+n.padRight,i=!0),(n.minX==null||e.minX-n.padLeftn.maxY)&&(n.maxY=e.maxY+n.padBottom,i=!0),(n.minY==null||e.minY-n.padTopg&&(d+=p+t.componentSpacing,h=0,y=0,p=0)}}},wg={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function iu(r){this.options=pe({},wg,r)}iu.prototype.run=function(){var r=this.options,e=r,t=r.cy,a=e.eles,n=a.nodes().not(":parent");e.sort&&(n=n.sort(e.sort));var i=hr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});if(i.h===0||i.w===0)a.nodes().layoutPositions(this,e,function(Y){return{x:i.x1,y:i.y1}});else{var s=n.size(),o=Math.sqrt(s*i.h/i.w),l=Math.round(o),u=Math.round(i.w/i.h*o),v=function(Q){if(Q==null)return Math.min(l,u);var J=Math.min(l,u);J==l?l=Q:u=Q},f=function(Q){if(Q==null)return Math.max(l,u);var J=Math.max(l,u);J==l?l=Q:u=Q},c=e.rows,h=e.cols!=null?e.cols:e.columns;if(c!=null&&h!=null)l=c,u=h;else if(c!=null&&h==null)l=c,u=Math.ceil(s/l);else if(c==null&&h!=null)u=h,l=Math.ceil(s/u);else if(u*l>s){var d=v(),y=f();(d-1)*y>=s?v(d-1):(y-1)*d>=s&&f(y-1)}else for(;u*l=s?f(g+1):v(p+1)}var m=i.w/u,b=i.h/l;if(e.condense&&(m=0,b=0),e.avoidOverlap)for(var w=0;w=u&&(O=0,k++)},R={},I=0;I(O=Gv(r,e,A[R],A[R+1],A[R+2],A[R+3])))return p(x,O),!0}else if(C.edgeType==="bezier"||C.edgeType==="multibezier"||C.edgeType==="self"||C.edgeType==="compound"){for(var A=C.allpts,R=0;R+5(O=Hv(r,e,A[R],A[R+1],A[R+2],A[R+3],A[R+4],A[R+5])))return p(x,O),!0}for(var I=I||D.source,V=V||D.target,G=n.getArrowWidth(M,P),F=[{name:"source",x:C.arrowStartX,y:C.arrowStartY,angle:C.srcArrowAngle},{name:"target",x:C.arrowEndX,y:C.arrowEndY,angle:C.tgtArrowAngle},{name:"mid-source",x:C.midX,y:C.midY,angle:C.midsrcArrowAngle},{name:"mid-target",x:C.midX,y:C.midY,angle:C.midtgtArrowAngle}],R=0;R0&&(g(I),g(V))}function b(x,D,C){return kr(x,D,C)}function w(x,D){var C=x._private,M=c,P;D?P=D+"-":P="",x.boundingBox();var B=C.labelBounds[D||"main"],L=x.pstyle(P+"label").value,k=x.pstyle("text-events").strValue==="yes";if(!(!k||!L)){var O=b(C.rscratch,"labelX",D),A=b(C.rscratch,"labelY",D),R=b(C.rscratch,"labelAngle",D),I=x.pstyle(P+"text-margin-x").pfValue,V=x.pstyle(P+"text-margin-y").pfValue,G=B.x1-M-I,F=B.x2+M-I,q=B.y1-M-V,Y=B.y2+M-V;if(R){var Q=Math.cos(R),J=Math.sin(R),_=function(he,te){return he=he-O,te=te-A,{x:he*Q-te*J+O,y:he*J+te*Q+A}},j=_(G,q),W=_(G,Y),z=_(F,q),K=_(F,Y),X=[j.x+I,j.y+V,z.x+I,z.y+V,K.x+I,K.y+V,W.x+I,W.y+V];if(dr(r,e,X))return p(x),!0}else if(It(B,r,e))return p(x),!0}}for(var S=s.length-1;S>=0;S--){var E=s[S];E.isNode()?g(E)||w(E):m(E)||w(E)||w(E,"source")||w(E,"target")}return o};bt.getAllInBox=function(r,e,t,a){var n=this.getCachedZSortedEles().interactive,i=[],s=Math.min(r,t),o=Math.max(r,t),l=Math.min(e,a),u=Math.max(e,a);r=s,t=o,e=l,a=u;for(var v=hr({x1:r,y1:e,x2:t,y2:a}),f=0;f0?-(Math.PI-e.ang):Math.PI+e.ang},Dg=function(e,t,a,n,i){if(e!==Rs?Os(t,e,Rr):Tg(wr,Rr),Os(t,a,wr),Ls=Rr.nx*wr.ny-Rr.ny*wr.nx,As=Rr.nx*wr.nx-Rr.ny*-wr.ny,$r=Math.asin(Math.max(-1,Math.min(1,Ls))),Math.abs($r)<1e-6){Jn=t.x,_n=t.y,lt=Tt=0;return}vt=1,Qa=!1,As<0?$r<0?$r=Math.PI+$r:($r=Math.PI-$r,vt=-1,Qa=!0):$r>0&&(vt=-1,Qa=!0),t.radius!==void 0?Tt=t.radius:Tt=n,st=$r/2,$a=Math.min(Rr.len/2,wr.len/2),i?(Ar=Math.abs(Math.cos(st)*Tt/Math.sin(st)),Ar>$a?(Ar=$a,lt=Math.abs(Ar*Math.sin(st)/Math.cos(st))):lt=Tt):(Ar=Math.min($a,Tt),lt=Math.abs(Ar*Math.sin(st)/Math.cos(st))),jn=t.x+wr.nx*Ar,ei=t.y+wr.ny*Ar,Jn=jn-wr.ny*lt*vt,_n=ei+wr.nx*lt*vt,lu=t.x+Rr.nx*Ar,vu=t.y+Rr.ny*Ar,Rs=t};function fu(r,e){e.radius===0?r.lineTo(e.cx,e.cy):r.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function Di(r,e,t,a){var n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return a===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(Dg(r,e,t,a,n),{cx:Jn,cy:_n,radius:lt,startX:lu,startY:vu,stopX:jn,stopY:ei,startAngle:Rr.ang+Math.PI/2*vt,endAngle:wr.ang-Math.PI/2*vt,counterClockwise:Qa})}var ur={};ur.findMidptPtsEtc=function(r,e){var t=e.posPts,a=e.intersectionPts,n=e.vectorNormInverse,i,s=r.pstyle("source-endpoint"),o=r.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(S,E,x,D){var C=D-E,M=x-S,P=Math.sqrt(M*M+C*C);return{x:-C/P,y:M/P}},v=r.pstyle("edge-distances").value;switch(v){case"node-position":i=t;break;case"intersection":i=a;break;case"endpoints":{if(l){var f=this.manualEndptToPx(r.source()[0],s),c=Tr(f,2),h=c[0],d=c[1],y=this.manualEndptToPx(r.target()[0],o),p=Tr(y,2),g=p[0],m=p[1],b={x1:h,y1:d,x2:g,y2:m};n=u(h,d,g,m),i=b}else Me("Edge ".concat(r.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),i=a;break}}return{midptPts:i,vectorNormInverse:n}};ur.findHaystackPoints=function(r){for(var e=0;e0?Math.max(Z-se,0):Math.min(Z+se,0)},L=B(M,D),k=B(P,C),O=!1;m===u?g=Math.abs(L)>Math.abs(k)?n:a:m===l||m===o?(g=a,O=!0):(m===i||m===s)&&(g=n,O=!0);var A=g===a,R=A?k:L,I=A?P:M,V=go(I),G=!1;!(O&&(w||E))&&(m===o&&I<0||m===l&&I>0||m===i&&I>0||m===s&&I<0)&&(V*=-1,R=V*Math.abs(R),G=!0);var F;if(w){var q=S<0?1+S:S;F=q*R}else{var Y=S<0?R:0;F=Y+S*V}var Q=function(Z){return Math.abs(Z)=Math.abs(R)},J=Q(F),_=Q(Math.abs(R)-Math.abs(F)),j=J||_;if(j&&!G)if(A){var W=Math.abs(I)<=c/2,z=Math.abs(M)<=h/2;if(W){var K=(v.x1+v.x2)/2,X=v.y1,ae=v.y2;t.segpts=[K,X,K,ae]}else if(z){var he=(v.y1+v.y2)/2,te=v.x1,re=v.x2;t.segpts=[te,he,re,he]}else t.segpts=[v.x1,v.y2]}else{var ve=Math.abs(I)<=f/2,le=Math.abs(P)<=d/2;if(ve){var oe=(v.y1+v.y2)/2,de=v.x1,Le=v.x2;t.segpts=[de,oe,Le,oe]}else if(le){var Ce=(v.x1+v.x2)/2,xe=v.y1,Ae=v.y2;t.segpts=[Ce,xe,Ce,Ae]}else t.segpts=[v.x2,v.y1]}else if(A){var Ee=v.y1+F+(p?c/2*V:0),Pe=v.x1,ee=v.x2;t.segpts=[Pe,Ee,ee,Ee]}else{var T=v.x1+F+(p?f/2*V:0),$=v.y1,U=v.y2;t.segpts=[T,$,T,U]}if(t.isRound){var N=r.pstyle("taxi-radius").value,H=r.pstyle("radius-type").value[0]==="arc-radius";t.radii=new Array(t.segpts.length/2).fill(N),t.isArcRadius=new Array(t.segpts.length/2).fill(H)}};ur.tryToCorrectInvalidPoints=function(r,e){var t=r._private.rscratch;if(t.edgeType==="bezier"){var a=e.srcPos,n=e.tgtPos,i=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,v=e.tgtShape,f=e.srcCornerRadius,c=e.tgtCornerRadius,h=e.srcRs,d=e.tgtRs,y=!ne(t.startX)||!ne(t.startY),p=!ne(t.arrowStartX)||!ne(t.arrowStartY),g=!ne(t.endX)||!ne(t.endY),m=!ne(t.arrowEndX)||!ne(t.arrowEndY),b=3,w=this.getArrowWidth(r.pstyle("width").pfValue,r.pstyle("arrow-scale").value)*this.arrowShapeWidth,S=b*w,E=ht({x:t.ctrlpts[0],y:t.ctrlpts[1]},{x:t.startX,y:t.startY}),x=Ek.poolIndex()){var O=L;L=k,k=O}var A=C.srcPos=L.position(),R=C.tgtPos=k.position(),I=C.srcW=L.outerWidth(),V=C.srcH=L.outerHeight(),G=C.tgtW=k.outerWidth(),F=C.tgtH=k.outerHeight(),q=C.srcShape=t.nodeShapes[e.getNodeShape(L)],Y=C.tgtShape=t.nodeShapes[e.getNodeShape(k)],Q=C.srcCornerRadius=L.pstyle("corner-radius").value==="auto"?"auto":L.pstyle("corner-radius").pfValue,J=C.tgtCornerRadius=k.pstyle("corner-radius").value==="auto"?"auto":k.pstyle("corner-radius").pfValue,_=C.tgtRs=k._private.rscratch,j=C.srcRs=L._private.rscratch;C.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var W=0;W0){var ae=i,he=ot(ae,Pt(t)),te=ot(ae,Pt(X)),re=he;if(te2){var ve=ot(ae,{x:X[2],y:X[3]});ve0){var U=s,N=ot(U,Pt(t)),H=ot(U,Pt($)),ie=N;if(H2){var Z=ot(U,{x:$[2],y:$[3]});Z=d||x){p={cp:w,segment:E};break}}if(p)break}var D=p.cp,C=p.segment,M=(d-g)/C.length,P=C.t1-C.t0,B=h?C.t0+P*M:C.t1-P*M;B=da(0,B,1),e=Mt(D.p0,D.p1,D.p2,B),c=Pg(D.p0,D.p1,D.p2,B);break}case"straight":case"segments":case"haystack":{for(var L=0,k,O,A,R,I=a.allpts.length,V=0;V+3=d));V+=2);var G=d-O,F=G/k;F=da(0,F,1),e=Av(A,R,F),c=hu(A,R);break}}s("labelX",f,e.x),s("labelY",f,e.y),s("labelAutoAngle",f,c)}};u("source"),u("target"),this.applyLabelDimensions(r)}};Nr.applyLabelDimensions=function(r){this.applyPrefixedLabelDimensions(r),r.isEdge()&&(this.applyPrefixedLabelDimensions(r,"source"),this.applyPrefixedLabelDimensions(r,"target"))};Nr.applyPrefixedLabelDimensions=function(r,e){var t=r._private,a=this.getLabelText(r,e),n=this.calculateLabelDimensions(r,a),i=r.pstyle("line-height").pfValue,s=r.pstyle("text-wrap").strValue,o=kr(t.rscratch,"labelWrapCachedLines",e)||[],l=s!=="wrap"?1:Math.max(o.length,1),u=n.height/l,v=u*i,f=n.width,c=n.height+(l-1)*(i-1)*u;Zr(t.rstyle,"labelWidth",e,f),Zr(t.rscratch,"labelWidth",e,f),Zr(t.rstyle,"labelHeight",e,c),Zr(t.rscratch,"labelHeight",e,c),Zr(t.rscratch,"labelLineHeight",e,v)};Nr.getLabelText=function(r,e){var t=r._private,a=e?e+"-":"",n=r.pstyle(a+"label").strValue,i=r.pstyle("text-transform").value,s=function(Y,Q){return Q?(Zr(t.rscratch,Y,e,Q),Q):kr(t.rscratch,Y,e)};if(!n)return"";i=="none"||(i=="uppercase"?n=n.toUpperCase():i=="lowercase"&&(n=n.toLowerCase()));var o=r.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",v=n.split(` +`),f=r.pstyle("text-max-width").pfValue,c=r.pstyle("text-overflow-wrap").value,h=c==="anywhere",d=[],y=/[\s\u200b]+|$/g,p=0;pf){var S=g.matchAll(y),E="",x=0,D=Zs(S),C;try{for(D.s();!(C=D.n()).done;){var M=C.value,P=M[0],B=g.substring(x,M.index);x=M.index+P.length;var L=E.length===0?B:E+B+P,k=this.calculateLabelDimensions(r,L),O=k.width;O<=f?E+=B+P:(E&&d.push(E),E=B+P)}}catch(q){D.e(q)}finally{D.f()}E.match(/^[\s\u200b]+$/)||d.push(E)}else d.push(g)}s("labelWrapCachedLines",d),n=s("labelWrapCachedText",d.join(` +`)),s("labelWrapKey",l)}else if(o==="ellipsis"){var A=r.pstyle("text-max-width").pfValue,R="",I="…",V=!1;if(this.calculateLabelDimensions(r,n).widthA)break;R+=n[G],G===n.length-1&&(V=!0)}return V||(R+=I),R}return n};Nr.getLabelJustification=function(r){var e=r.pstyle("text-justification").strValue,t=r.pstyle("text-halign").strValue;if(e==="auto")if(r.isNode())switch(t){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Nr.calculateLabelDimensions=function(r,e){var t=this,a=t.cy.window(),n=a.document,i=dt(e,r._private.labelDimsKey),s=t.labelDimCache||(t.labelDimCache=[]),o=s[i];if(o!=null)return o;var l=0,u=r.pstyle("font-style").strValue,v=r.pstyle("font-size").pfValue,f=r.pstyle("font-family").strValue,c=r.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=n.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var y=h.style;y.position="absolute",y.left="-9999px",y.top="-9999px",y.zIndex="-1",y.visibility="hidden",y.pointerEvents="none"}d.font="".concat(u," ").concat(c," ").concat(v,"px ").concat(f);for(var p=0,g=0,m=e.split(` +`),b=0;b1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=r.desktopTapThreshold2}var lr=i(T);Ve&&(r.hoverData.tapholdCancelled=!0);var vr=function(){var Lr=r.hoverData.dragDelta=r.hoverData.dragDelta||[];Lr.length===0?(Lr.push(ye[0]),Lr.push(ye[1])):(Lr[0]+=ye[0],Lr[1]+=ye[1])};U=!0,n(fe,["mousemove","vmousemove","tapdrag"],T,{x:Z[0],y:Z[1]});var Br=function(){r.data.bgActivePosistion=void 0,r.hoverData.selecting||N.emit({originalEvent:T,type:"boxstart",position:{x:Z[0],y:Z[1]}}),we[4]=1,r.hoverData.selecting=!0,r.redrawHint("select",!0),r.redraw()};if(r.hoverData.which===3){if(Ve){var br={originalEvent:T,type:"cxtdrag",position:{x:Z[0],y:Z[1]}};be?be.emit(br):N.emit(br),r.hoverData.cxtDragged=!0,(!r.hoverData.cxtOver||fe!==r.hoverData.cxtOver)&&(r.hoverData.cxtOver&&r.hoverData.cxtOver.emit({originalEvent:T,type:"cxtdragout",position:{x:Z[0],y:Z[1]}}),r.hoverData.cxtOver=fe,fe&&fe.emit({originalEvent:T,type:"cxtdragover",position:{x:Z[0],y:Z[1]}}))}}else if(r.hoverData.dragging){if(U=!0,N.panningEnabled()&&N.userPanningEnabled()){var Mr;if(r.hoverData.justStartedPan){var Vr=r.hoverData.mdownPos;Mr={x:(Z[0]-Vr[0])*H,y:(Z[1]-Vr[1])*H},r.hoverData.justStartedPan=!1}else Mr={x:ye[0]*H,y:ye[1]*H};N.panBy(Mr),N.emit("dragpan"),r.hoverData.dragged=!0}Z=r.projectIntoViewport(T.clientX,T.clientY)}else if(we[4]==1&&(be==null||be.pannable())){if(Ve){if(!r.hoverData.dragging&&N.boxSelectionEnabled()&&(lr||!N.panningEnabled()||!N.userPanningEnabled()))Br();else if(!r.hoverData.selecting&&N.panningEnabled()&&N.userPanningEnabled()){var qr=s(be,r.hoverData.downs);qr&&(r.hoverData.dragging=!0,r.hoverData.justStartedPan=!0,we[4]=0,r.data.bgActivePosistion=Pt(se),r.redrawHint("select",!0),r.redraw())}be&&be.pannable()&&be.active()&&be.unactivate()}}else{if(be&&be.pannable()&&be.active()&&be.unactivate(),(!be||!be.grabbed())&&fe!=me&&(me&&n(me,["mouseout","tapdragout"],T,{x:Z[0],y:Z[1]}),fe&&n(fe,["mouseover","tapdragover"],T,{x:Z[0],y:Z[1]}),r.hoverData.last=fe),be)if(Ve){if(N.boxSelectionEnabled()&&lr)be&&be.grabbed()&&(g(Ie),be.emit("freeon"),Ie.emit("free"),r.dragData.didDrag&&(be.emit("dragfreeon"),Ie.emit("dragfree"))),Br();else if(be&&be.grabbed()&&r.nodeIsDraggable(be)){var ar=!r.dragData.didDrag;ar&&r.redrawHint("eles",!0),r.dragData.didDrag=!0,r.hoverData.draggingEles||y(Ie,{inDragLayer:!0});var Qe={x:0,y:0};if(ne(ye[0])&&ne(ye[1])&&(Qe.x+=ye[0],Qe.y+=ye[1],ar)){var cr=r.hoverData.dragDelta;cr&&ne(cr[0])&&ne(cr[1])&&(Qe.x+=cr[0],Qe.y+=cr[1])}r.hoverData.draggingEles=!0,Ie.silentShift(Qe).emit("position drag"),r.redrawHint("drag",!0),r.redraw()}}else vr();U=!0}if(we[2]=Z[0],we[3]=Z[1],U)return T.stopPropagation&&T.stopPropagation(),T.preventDefault&&T.preventDefault(),!1}},!1);var B,L,k;r.registerBinding(e,"mouseup",function(T){if(!(r.hoverData.which===1&&T.which!==1&&r.hoverData.capture)){var $=r.hoverData.capture;if($){r.hoverData.capture=!1;var U=r.cy,N=r.projectIntoViewport(T.clientX,T.clientY),H=r.selection,ie=r.findNearestElement(N[0],N[1],!0,!1),Z=r.dragData.possibleDragElements,se=r.hoverData.down,ge=i(T);if(r.data.bgActivePosistion&&(r.redrawHint("select",!0),r.redraw()),r.hoverData.tapholdCancelled=!0,r.data.bgActivePosistion=void 0,se&&se.unactivate(),r.hoverData.which===3){var we={originalEvent:T,type:"cxttapend",position:{x:N[0],y:N[1]}};if(se?se.emit(we):U.emit(we),!r.hoverData.cxtDragged){var fe={originalEvent:T,type:"cxttap",position:{x:N[0],y:N[1]}};se?se.emit(fe):U.emit(fe)}r.hoverData.cxtDragged=!1,r.hoverData.which=null}else if(r.hoverData.which===1){if(n(ie,["mouseup","tapend","vmouseup"],T,{x:N[0],y:N[1]}),!r.dragData.didDrag&&!r.hoverData.dragged&&!r.hoverData.selecting&&!r.hoverData.isOverThresholdDrag&&(n(se,["click","tap","vclick"],T,{x:N[0],y:N[1]}),L=!1,T.timeStamp-k<=U.multiClickDebounceTime()?(B&&clearTimeout(B),L=!0,k=null,n(se,["dblclick","dbltap","vdblclick"],T,{x:N[0],y:N[1]})):(B=setTimeout(function(){L||n(se,["oneclick","onetap","voneclick"],T,{x:N[0],y:N[1]})},U.multiClickDebounceTime()),k=T.timeStamp)),se==null&&!r.dragData.didDrag&&!r.hoverData.selecting&&!r.hoverData.dragged&&!i(T)&&(U.$(t).unselect(["tapunselect"]),Z.length>0&&r.redrawHint("eles",!0),r.dragData.possibleDragElements=Z=U.collection()),ie==se&&!r.dragData.didDrag&&!r.hoverData.selecting&&ie!=null&&ie._private.selectable&&(r.hoverData.dragging||(U.selectionType()==="additive"||ge?ie.selected()?ie.unselect(["tapunselect"]):ie.select(["tapselect"]):ge||(U.$(t).unmerge(ie).unselect(["tapunselect"]),ie.select(["tapselect"]))),r.redrawHint("eles",!0)),r.hoverData.selecting){var me=U.collection(r.getAllInBox(H[0],H[1],H[2],H[3]));r.redrawHint("select",!0),me.length>0&&r.redrawHint("eles",!0),U.emit({type:"boxend",originalEvent:T,position:{x:N[0],y:N[1]}});var be=function(Ve){return Ve.selectable()&&!Ve.selected()};U.selectionType()==="additive"||ge||U.$(t).unmerge(me).unselect(),me.emit("box").stdFilter(be).select().emit("boxselect"),r.redraw()}if(r.hoverData.dragging&&(r.hoverData.dragging=!1,r.redrawHint("select",!0),r.redrawHint("eles",!0),r.redraw()),!H[4]){r.redrawHint("drag",!0),r.redrawHint("eles",!0);var ye=se&&se.grabbed();g(Z),ye&&(se.emit("freeon"),Z.emit("free"),r.dragData.didDrag&&(se.emit("dragfreeon"),Z.emit("dragfree")))}}H[4]=0,r.hoverData.down=null,r.hoverData.cxtStarted=!1,r.hoverData.draggingEles=!1,r.hoverData.selecting=!1,r.hoverData.isOverThresholdDrag=!1,r.dragData.didDrag=!1,r.hoverData.dragged=!1,r.hoverData.dragDelta=[],r.hoverData.mdownPos=null,r.hoverData.mdownGPos=null,r.hoverData.which=null}}},!1);var O=function(T){if(!r.scrollingPage){var $=r.cy,U=$.zoom(),N=$.pan(),H=r.projectIntoViewport(T.clientX,T.clientY),ie=[H[0]*U+N.x,H[1]*U+N.y];if(r.hoverData.draggingEles||r.hoverData.dragging||r.hoverData.cxtStarted||C()){T.preventDefault();return}if($.panningEnabled()&&$.userPanningEnabled()&&$.zoomingEnabled()&&$.userZoomingEnabled()){T.preventDefault(),r.data.wheelZooming=!0,clearTimeout(r.data.wheelTimeout),r.data.wheelTimeout=setTimeout(function(){r.data.wheelZooming=!1,r.redrawHint("eles",!0),r.redraw()},150);var Z;T.deltaY!=null?Z=T.deltaY/-250:T.wheelDeltaY!=null?Z=T.wheelDeltaY/1e3:Z=T.wheelDelta/1e3,Z=Z*r.wheelSensitivity;var se=T.deltaMode===1;se&&(Z*=33);var ge=$.zoom()*Math.pow(10,Z);T.type==="gesturechange"&&(ge=r.gestureStartZoom*T.scale),$.zoom({level:ge,renderedPosition:{x:ie[0],y:ie[1]}}),$.emit(T.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};r.registerBinding(r.container,"wheel",O,!0),r.registerBinding(e,"scroll",function(T){r.scrollingPage=!0,clearTimeout(r.scrollingPageTimeout),r.scrollingPageTimeout=setTimeout(function(){r.scrollingPage=!1},250)},!0),r.registerBinding(r.container,"gesturestart",function(T){r.gestureStartZoom=r.cy.zoom(),r.hasTouchStarted||T.preventDefault()},!0),r.registerBinding(r.container,"gesturechange",function(ee){r.hasTouchStarted||O(ee)},!0),r.registerBinding(r.container,"mouseout",function(T){var $=r.projectIntoViewport(T.clientX,T.clientY);r.cy.emit({originalEvent:T,type:"mouseout",position:{x:$[0],y:$[1]}})},!1),r.registerBinding(r.container,"mouseover",function(T){var $=r.projectIntoViewport(T.clientX,T.clientY);r.cy.emit({originalEvent:T,type:"mouseover",position:{x:$[0],y:$[1]}})},!1);var A,R,I,V,G,F,q,Y,Q,J,_,j,W,z=function(T,$,U,N){return Math.sqrt((U-T)*(U-T)+(N-$)*(N-$))},K=function(T,$,U,N){return(U-T)*(U-T)+(N-$)*(N-$)},X;r.registerBinding(r.container,"touchstart",X=function(T){if(r.hasTouchStarted=!0,!!M(T)){b(),r.touchData.capture=!0,r.data.bgActivePosistion=void 0;var $=r.cy,U=r.touchData.now,N=r.touchData.earlier;if(T.touches[0]){var H=r.projectIntoViewport(T.touches[0].clientX,T.touches[0].clientY);U[0]=H[0],U[1]=H[1]}if(T.touches[1]){var H=r.projectIntoViewport(T.touches[1].clientX,T.touches[1].clientY);U[2]=H[0],U[3]=H[1]}if(T.touches[2]){var H=r.projectIntoViewport(T.touches[2].clientX,T.touches[2].clientY);U[4]=H[0],U[5]=H[1]}if(T.touches[1]){r.touchData.singleTouchMoved=!0,g(r.dragData.touchDragEles);var ie=r.findContainerClientCoords();Q=ie[0],J=ie[1],_=ie[2],j=ie[3],A=T.touches[0].clientX-Q,R=T.touches[0].clientY-J,I=T.touches[1].clientX-Q,V=T.touches[1].clientY-J,W=0<=A&&A<=_&&0<=I&&I<=_&&0<=R&&R<=j&&0<=V&&V<=j;var Z=$.pan(),se=$.zoom();G=z(A,R,I,V),F=K(A,R,I,V),q=[(A+I)/2,(R+V)/2],Y=[(q[0]-Z.x)/se,(q[1]-Z.y)/se];var ge=200,we=ge*ge;if(F=1){for(var pr=r.touchData.startPosition=[null,null,null,null,null,null],Ge=0;Ge=r.touchTapThreshold2}if($&&r.touchData.cxt){T.preventDefault();var pr=T.touches[0].clientX-Q,Ge=T.touches[0].clientY-J,Xe=T.touches[1].clientX-Q,Ze=T.touches[1].clientY-J,lr=K(pr,Ge,Xe,Ze),vr=lr/F,Br=150,br=Br*Br,Mr=1.5,Vr=Mr*Mr;if(vr>=Vr||lr>=br){r.touchData.cxt=!1,r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);var qr={originalEvent:T,type:"cxttapend",position:{x:H[0],y:H[1]}};r.touchData.start?(r.touchData.start.unactivate().emit(qr),r.touchData.start=null):N.emit(qr)}}if($&&r.touchData.cxt){var qr={originalEvent:T,type:"cxtdrag",position:{x:H[0],y:H[1]}};r.data.bgActivePosistion=void 0,r.redrawHint("select",!0),r.touchData.start?r.touchData.start.emit(qr):N.emit(qr),r.touchData.start&&(r.touchData.start._private.grabbed=!1),r.touchData.cxtDragged=!0;var ar=r.findNearestElement(H[0],H[1],!0,!0);(!r.touchData.cxtOver||ar!==r.touchData.cxtOver)&&(r.touchData.cxtOver&&r.touchData.cxtOver.emit({originalEvent:T,type:"cxtdragout",position:{x:H[0],y:H[1]}}),r.touchData.cxtOver=ar,ar&&ar.emit({originalEvent:T,type:"cxtdragover",position:{x:H[0],y:H[1]}}))}else if($&&T.touches[2]&&N.boxSelectionEnabled())T.preventDefault(),r.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,r.touchData.selecting||N.emit({originalEvent:T,type:"boxstart",position:{x:H[0],y:H[1]}}),r.touchData.selecting=!0,r.touchData.didSelect=!0,U[4]=1,!U||U.length===0||U[0]===void 0?(U[0]=(H[0]+H[2]+H[4])/3,U[1]=(H[1]+H[3]+H[5])/3,U[2]=(H[0]+H[2]+H[4])/3+1,U[3]=(H[1]+H[3]+H[5])/3+1):(U[2]=(H[0]+H[2]+H[4])/3,U[3]=(H[1]+H[3]+H[5])/3),r.redrawHint("select",!0),r.redraw();else if($&&T.touches[1]&&!r.touchData.didSelect&&N.zoomingEnabled()&&N.panningEnabled()&&N.userZoomingEnabled()&&N.userPanningEnabled()){T.preventDefault(),r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);var Qe=r.dragData.touchDragEles;if(Qe){r.redrawHint("drag",!0);for(var cr=0;cr0&&!r.hoverData.draggingEles&&!r.swipePanning&&r.data.bgActivePosistion!=null&&(r.data.bgActivePosistion=void 0,r.redrawHint("select",!0),r.redraw())}},!1);var he;r.registerBinding(e,"touchcancel",he=function(T){var $=r.touchData.start;r.touchData.capture=!1,$&&$.unactivate()});var te,re,ve,le;if(r.registerBinding(e,"touchend",te=function(T){var $=r.touchData.start,U=r.touchData.capture;if(U)T.touches.length===0&&(r.touchData.capture=!1),T.preventDefault();else return;var N=r.selection;r.swipePanning=!1,r.hoverData.draggingEles=!1;var H=r.cy,ie=H.zoom(),Z=r.touchData.now,se=r.touchData.earlier;if(T.touches[0]){var ge=r.projectIntoViewport(T.touches[0].clientX,T.touches[0].clientY);Z[0]=ge[0],Z[1]=ge[1]}if(T.touches[1]){var ge=r.projectIntoViewport(T.touches[1].clientX,T.touches[1].clientY);Z[2]=ge[0],Z[3]=ge[1]}if(T.touches[2]){var ge=r.projectIntoViewport(T.touches[2].clientX,T.touches[2].clientY);Z[4]=ge[0],Z[5]=ge[1]}$&&$.unactivate();var we;if(r.touchData.cxt){if(we={originalEvent:T,type:"cxttapend",position:{x:Z[0],y:Z[1]}},$?$.emit(we):H.emit(we),!r.touchData.cxtDragged){var fe={originalEvent:T,type:"cxttap",position:{x:Z[0],y:Z[1]}};$?$.emit(fe):H.emit(fe)}r.touchData.start&&(r.touchData.start._private.grabbed=!1),r.touchData.cxt=!1,r.touchData.start=null,r.redraw();return}if(!T.touches[2]&&H.boxSelectionEnabled()&&r.touchData.selecting){r.touchData.selecting=!1;var me=H.collection(r.getAllInBox(N[0],N[1],N[2],N[3]));N[0]=void 0,N[1]=void 0,N[2]=void 0,N[3]=void 0,N[4]=0,r.redrawHint("select",!0),H.emit({type:"boxend",originalEvent:T,position:{x:Z[0],y:Z[1]}});var be=function(br){return br.selectable()&&!br.selected()};me.emit("box").stdFilter(be).select().emit("boxselect"),me.nonempty()&&r.redrawHint("eles",!0),r.redraw()}if($!=null&&$.unactivate(),T.touches[2])r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);else if(!T.touches[1]){if(!T.touches[0]){if(!T.touches[0]){r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);var ye=r.dragData.touchDragEles;if($!=null){var Ie=$._private.grabbed;g(ye),r.redrawHint("drag",!0),r.redrawHint("eles",!0),Ie&&($.emit("freeon"),ye.emit("free"),r.dragData.didDrag&&($.emit("dragfreeon"),ye.emit("dragfree"))),n($,["touchend","tapend","vmouseup","tapdragout"],T,{x:Z[0],y:Z[1]}),$.unactivate(),r.touchData.start=null}else{var Ve=r.findNearestElement(Z[0],Z[1],!0,!0);n(Ve,["touchend","tapend","vmouseup","tapdragout"],T,{x:Z[0],y:Z[1]})}var gr=r.touchData.startPosition[0]-Z[0],pr=gr*gr,Ge=r.touchData.startPosition[1]-Z[1],Xe=Ge*Ge,Ze=pr+Xe,lr=Ze*ie*ie;r.touchData.singleTouchMoved||($||H.$(":selected").unselect(["tapunselect"]),n($,["tap","vclick"],T,{x:Z[0],y:Z[1]}),re=!1,T.timeStamp-le<=H.multiClickDebounceTime()?(ve&&clearTimeout(ve),re=!0,le=null,n($,["dbltap","vdblclick"],T,{x:Z[0],y:Z[1]})):(ve=setTimeout(function(){re||n($,["onetap","voneclick"],T,{x:Z[0],y:Z[1]})},H.multiClickDebounceTime()),le=T.timeStamp)),$!=null&&!r.dragData.didDrag&&$._private.selectable&&lr"u"){var oe=[],de=function(T){return{clientX:T.clientX,clientY:T.clientY,force:1,identifier:T.pointerId,pageX:T.pageX,pageY:T.pageY,radiusX:T.width/2,radiusY:T.height/2,screenX:T.screenX,screenY:T.screenY,target:T.target}},Le=function(T){return{event:T,touch:de(T)}},Ce=function(T){oe.push(Le(T))},xe=function(T){for(var $=0;$0)return q[0]}return null},d=Object.keys(c),y=0;y0?h:mo(i,s,e,t,a,n,o,l)},checkPoint:function(e,t,a,n,i,s,o,l){l=l==="auto"?gt(n,i):l;var u=2*l;if(Gr(e,t,this.points,s,o,n,i-u,[0,-1],a)||Gr(e,t,this.points,s,o,n-u,i,[0,-1],a))return!0;var v=n/2+2*a,f=i/2+2*a,c=[s-v,o-f,s-v,o,s+v,o,s+v,o-f];return!!(dr(e,t,c)||ft(e,t,u,u,s+n/2-l,o+i/2-l,a)||ft(e,t,u,u,s-n/2+l,o+i/2-l,a))}}};Wr.registerNodeShapes=function(){var r=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",fr(3,0)),this.generateRoundPolygon("round-triangle",fr(3,0)),this.generatePolygon("rectangle",fr(4,0)),r.square=r.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var t=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",t),this.generateRoundPolygon("round-diamond",t)}this.generatePolygon("pentagon",fr(5,0)),this.generateRoundPolygon("round-pentagon",fr(5,0)),this.generatePolygon("hexagon",fr(6,0)),this.generateRoundPolygon("round-hexagon",fr(6,0)),this.generatePolygon("heptagon",fr(7,0)),this.generateRoundPolygon("round-heptagon",fr(7,0)),this.generatePolygon("octagon",fr(8,0)),this.generateRoundPolygon("round-octagon",fr(8,0));var a=new Array(20);{var n=Gn(5,0),i=Gn(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*w)break}else if(u){if(m>=e.deqCost*h||m>=e.deqAvgCost*c)break}else if(b>=e.deqNoDrawCost*qn)break;var S=e.deq(a,p,y);if(S.length>0)for(var E=0;E0&&(e.onDeqd(a,d),!u&&e.shouldRedraw(a,d,p,y)&&i())},o=e.priority||vi;n.beforeRender(s,o(a))}}}},Mg=function(){function r(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:en;ii(this,r),this.idsByKey=new Ir,this.keyForId=new Ir,this.cachesByLvl=new Ir,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=t}return si(r,[{key:"getIdsFor",value:function(t){t==null&&$e("Can not get id list for null key");var a=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new Vt,a.set(t,n)),n}},{key:"addIdForKey",value:function(t,a){t!=null&&this.getIdsFor(t).add(a)}},{key:"deleteIdForKey",value:function(t,a){t!=null&&this.getIdsFor(t).delete(a)}},{key:"getNumberOfIdsForKey",value:function(t){return t==null?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var a=t.id(),n=this.keyForId.get(a),i=this.getKey(t);this.deleteIdForKey(n,a),this.addIdForKey(i,a),this.keyForId.set(a,i)}},{key:"deleteKeyMappingFor",value:function(t){var a=t.id(),n=this.keyForId.get(a);this.deleteIdForKey(n,a),this.keyForId.delete(a)}},{key:"keyHasChangedFor",value:function(t){var a=t.id(),n=this.keyForId.get(a),i=this.getKey(t);return n!==i}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var a=this.cachesByLvl,n=this.lvls,i=a.get(t);return i||(i=new Ir,a.set(t,i),n.push(t)),i}},{key:"getCache",value:function(t,a){return this.getCachesAt(a).get(t)}},{key:"get",value:function(t,a){var n=this.getKey(t),i=this.getCache(n,a);return i!=null&&this.updateKeyMappingFor(t),i}},{key:"getForCachedKey",value:function(t,a){var n=this.keyForId.get(t.id()),i=this.getCache(n,a);return i}},{key:"hasCache",value:function(t,a){return this.getCachesAt(a).has(t)}},{key:"has",value:function(t,a){var n=this.getKey(t);return this.hasCache(n,a)}},{key:"setCache",value:function(t,a,n){n.key=t,this.getCachesAt(a).set(t,n)}},{key:"set",value:function(t,a,n){var i=this.getKey(t);this.setCache(i,a,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,a){this.getCachesAt(a).delete(t)}},{key:"delete",value:function(t,a){var n=this.getKey(t);this.deleteCache(n,a)}},{key:"invalidateKey",value:function(t){var a=this;this.lvls.forEach(function(n){return a.deleteCache(t,n)})}},{key:"invalidate",value:function(t){var a=t.id(),n=this.keyForId.get(a);this.deleteKeyMappingFor(t);var i=this.doesEleInvalidateKey(t);return i&&this.invalidateKey(n),i||this.getNumberOfIdsForKey(n)===0}}]),r}(),Fs=25,Ha=50,Ja=-4,ri=3,Lg=7.99,Ag=8,Rg=1024,Og=1024,Ig=1024,zg=.2,Ng=.8,Fg=10,Vg=.15,qg=.1,$g=.9,Hg=.9,Gg=100,Kg=1,Bt={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},Wg=rr({getKey:null,doesEleInvalidateKey:en,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:lo,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),sa=function(e,t){var a=this;a.renderer=e,a.onDequeues=[];var n=Wg(t);pe(a,n),a.lookup=new Mg(n.getKey,n.doesEleInvalidateKey),a.setupDequeueing()},Ye=sa.prototype;Ye.reasons=Bt;Ye.getTextureQueue=function(r){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[r]=e.eleImgCaches[r]||[]};Ye.getRetiredTextureQueue=function(r){var e=this,t=e.eleImgCaches.retired=e.eleImgCaches.retired||{},a=t[r]=t[r]||[];return a};Ye.getElementQueue=function(){var r=this,e=r.eleCacheQueue=r.eleCacheQueue||new Ca(function(t,a){return a.reqs-t.reqs});return e};Ye.getElementKeyToQueue=function(){var r=this,e=r.eleKeyToCacheQueue=r.eleKeyToCacheQueue||{};return e};Ye.getElement=function(r,e,t,a,n){var i=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!r.visible()||r.removed()||!i.allowEdgeTxrCaching&&r.isEdge()||!i.allowParentTxrCaching&&r.isParent())return null;if(a==null&&(a=Math.ceil(ci(o*t))),a=Lg||a>ri)return null;var u=Math.pow(2,a),v=e.h*u,f=e.w*u,c=s.eleTextBiggerThanMin(r,u);if(!this.isVisible(r,c))return null;var h=l.get(r,a);if(h&&h.invalidated&&(h.invalidated=!1,h.texture.invalidatedWidth-=h.width),h)return h;var d;if(v<=Fs?d=Fs:v<=Ha?d=Ha:d=Math.ceil(v/Ha)*Ha,v>Ig||f>Og)return null;var y=i.getTextureQueue(d),p=y[y.length-2],g=function(){return i.recycleTexture(d,f)||i.addTexture(d,f)};p||(p=y[y.length-1]),p||(p=g()),p.width-p.usedWidtha;P--)C=i.getElement(r,e,t,P,Bt.downscale);M()}else return i.queueElement(r,E.level-1),E;else{var B;if(!b&&!w&&!S)for(var L=a-1;L>=Ja;L--){var k=l.get(r,L);if(k){B=k;break}}if(m(B))return i.queueElement(r,a),B;p.context.translate(p.usedWidth,0),p.context.scale(u,u),this.drawElement(p.context,r,e,c,!1),p.context.scale(1/u,1/u),p.context.translate(-p.usedWidth,0)}return h={x:p.usedWidth,texture:p,level:a,scale:u,width:f,height:v,scaledLabelShown:c},p.usedWidth+=Math.ceil(f+Ag),p.eleCaches.push(h),l.set(r,a,h),i.checkTextureFullness(p),h};Ye.invalidateElements=function(r){for(var e=0;e=zg*r.width&&this.retireTexture(r)};Ye.checkTextureFullness=function(r){var e=this,t=e.getTextureQueue(r.height);r.usedWidth/r.width>Ng&&r.fullnessChecks>=Fg?et(t,r):r.fullnessChecks++};Ye.retireTexture=function(r){var e=this,t=r.height,a=e.getTextureQueue(t),n=this.lookup;et(a,r),r.retired=!0;for(var i=r.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,fi(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),et(n,s),a.push(s),s}};Ye.queueElement=function(r,e){var t=this,a=t.getElementQueue(),n=t.getElementKeyToQueue(),i=this.getKey(r),s=n[i];if(s)s.level=Math.max(s.level,e),s.eles.merge(r),s.reqs++,a.updateItem(s);else{var o={eles:r.spawn().merge(r),level:e,reqs:1,key:i};a.push(o),n[i]=o}};Ye.dequeue=function(r){for(var e=this,t=e.getElementQueue(),a=e.getElementKeyToQueue(),n=[],i=e.lookup,s=0;s0;s++){var o=t.pop(),l=o.key,u=o.eles[0],v=i.hasCache(u,o.level);if(a[l]=null,v)continue;n.push(o);var f=e.getBoundingBox(u);e.getElement(u,f,r,o.level,Bt.dequeue)}return n};Ye.removeFromQueue=function(r){var e=this,t=e.getElementQueue(),a=e.getElementKeyToQueue(),n=this.getKey(r),i=a[n];i!=null&&(i.eles.length===1?(i.reqs=li,t.updateItem(i),t.pop(),a[n]=null):i.eles.unmerge(r))};Ye.onDequeue=function(r){this.onDequeues.push(r)};Ye.offDequeue=function(r){et(this.onDequeues,r)};Ye.setupDequeueing=bu.setupDequeueing({deqRedrawThreshold:Gg,deqCost:Vg,deqAvgCost:qg,deqNoDrawCost:$g,deqFastCost:Hg,deq:function(e,t,a){return e.dequeue(t,a)},onDeqd:function(e,t){for(var a=0;a=Yg||t>ln)return null}a.validateLayersElesOrdering(t,r);var l=a.layersByLevel,u=Math.pow(2,t),v=l[t]=l[t]||[],f,c=a.levelIsComplete(t,r),h,d=function(){var M=function(O){if(a.validateLayersElesOrdering(O,r),a.levelIsComplete(O,r))return h=l[O],!0},P=function(O){if(!h)for(var A=t+O;ua<=A&&A<=ln&&!M(A);A+=O);};P(1),P(-1);for(var B=v.length-1;B>=0;B--){var L=v[B];L.invalid&&et(v,L)}};if(!c)d();else return v;var y=function(){if(!f){f=hr();for(var M=0;Mqs||L>qs)return null;var k=B*L;if(k>rp)return null;var O=a.makeLayer(f,t);if(P!=null){var A=v.indexOf(P)+1;v.splice(A,0,O)}else(M.insert===void 0||M.insert)&&v.unshift(O);return O};if(a.skipping&&!o)return null;for(var g=null,m=r.length/Ug,b=!o,w=0;w=m||!yo(g.bb,S.boundingBox()))&&(g=p({insert:!0,after:g}),!g))return null;h||b?a.queueLayer(g,S):a.drawEleInLayer(g,S,t,e),g.eles.push(S),x[t]=g}return h||(b?null:v)};tr.getEleLevelForLayerLevel=function(r,e){return r};tr.drawEleInLayer=function(r,e,t,a){var n=this,i=this.renderer,s=r.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(t=n.getEleLevelForLayerLevel(t,a),i.setImgSmoothing(s,!1),i.drawCachedElement(s,e,null,null,t,tp),i.setImgSmoothing(s,!0))};tr.levelIsComplete=function(r,e){var t=this,a=t.layersByLevel[r];if(!a||a.length===0)return!1;for(var n=0,i=0;i0||s.invalid)return!1;n+=s.eles.length}return n===e.length};tr.validateLayersElesOrdering=function(r,e){var t=this.layersByLevel[r];if(t)for(var a=0;a0){e=!0;break}}return e};tr.invalidateElements=function(r){var e=this;r.length!==0&&(e.lastInvalidationTime=Hr(),!(r.length===0||!e.haveLayers())&&e.updateElementsInLayers(r,function(a,n,i){e.invalidateLayer(a)}))};tr.invalidateLayer=function(r){if(this.lastInvalidationTime=Hr(),!r.invalid){var e=r.level,t=r.eles,a=this.layersByLevel[e];et(a,r),r.elesQueue=[],r.invalid=!0,r.replacement&&(r.replacement.invalid=!0);for(var n=0;n3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(i&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;t&&(l=t,r.translate(-l.x1,-l.y1));var u=i?e.pstyle("opacity").value:1,v=i?e.pstyle("line-opacity").value:1,f=e.pstyle("curve-style").value,c=e.pstyle("line-style").value,h=e.pstyle("width").pfValue,d=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,p=e.pstyle("line-outline-color").value,g=u*v,m=u*v,b=function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:g;f==="straight-triangle"?(s.eleStrokeStyle(r,e,O),s.drawEdgeTrianglePath(e,r,o.allpts)):(r.lineWidth=h,r.lineCap=d,s.eleStrokeStyle(r,e,O),s.drawEdgePath(e,r,o.allpts,c),r.lineCap="butt")},w=function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:g;if(r.lineWidth=h+y,r.lineCap=d,y>0)s.colorStrokeStyle(r,p[0],p[1],p[2],O);else{r.lineCap="butt";return}f==="straight-triangle"?s.drawEdgeTrianglePath(e,r,o.allpts):(s.drawEdgePath(e,r,o.allpts,c),r.lineCap="butt")},S=function(){n&&s.drawEdgeOverlay(r,e)},E=function(){n&&s.drawEdgeUnderlay(r,e)},x=function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:m;s.drawArrowheads(r,e,O)},D=function(){s.drawElementText(r,e,null,a)};r.lineJoin="round";var C=e.pstyle("ghost").value==="yes";if(C){var M=e.pstyle("ghost-offset-x").pfValue,P=e.pstyle("ghost-offset-y").pfValue,B=e.pstyle("ghost-opacity").value,L=g*B;r.translate(M,P),b(L),x(L),r.translate(-M,-P)}else w();E(),b(),x(),S(),D(),t&&r.translate(l.x1,l.y1)}};var Eu=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,a){if(a.visible()){var n=a.pstyle("".concat(e,"-opacity")).value;if(n!==0){var i=this,s=i.usePaths(),o=a._private.rscratch,l=a.pstyle("".concat(e,"-padding")).pfValue,u=2*l,v=a.pstyle("".concat(e,"-color")).value;t.lineWidth=u,o.edgeType==="self"&&!s?t.lineCap="butt":t.lineCap="round",i.colorStrokeStyle(t,v[0],v[1],v[2],n),i.drawEdgePath(a,t,o.allpts,"solid")}}}};Ur.drawEdgeOverlay=Eu("overlay");Ur.drawEdgeUnderlay=Eu("underlay");Ur.drawEdgePath=function(r,e,t,a){var n=r._private.rscratch,i=e,s,o=!1,l=this.usePaths(),u=r.pstyle("line-dash-pattern").pfValue,v=r.pstyle("line-dash-offset").pfValue;if(l){var f=t.join("$"),c=n.pathCacheKey&&n.pathCacheKey===f;c?(s=e=n.pathCache,o=!0):(s=e=new Path2D,n.pathCacheKey=f,n.pathCache=s)}if(i.setLineDash)switch(a){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(u),i.lineDashOffset=v;break;case"solid":i.setLineDash([]);break}if(!o&&!n.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(t[0],t[1]),n.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(a==null){if(i&&!s.eleTextBiggerThanMin(e))return}else if(a===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);r.textAlign=l,r.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,v=e.pstyle("label"),f=e.pstyle("source-label"),c=e.pstyle("target-label");if(u||(!v||!v.value)&&(!f||!f.value)&&(!c||!c.value))return;r.textAlign="center",r.textBaseline="bottom"}var h=!t,d;t&&(d=t,r.translate(-d.x1,-d.y1)),n==null?(s.drawText(r,e,null,h,i),e.isEdge()&&(s.drawText(r,e,"source",h,i),s.drawText(r,e,"target",h,i))):s.drawText(r,e,n,h,i),t&&r.translate(d.x1,d.y1)};wt.getFontCache=function(r){var e;this.fontCaches=this.fontCaches||[];for(var t=0;t2&&arguments[2]!==void 0?arguments[2]:!0,a=e.pstyle("font-style").strValue,n=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=t?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,v=e.pstyle("text-outline-color").value;r.font=a+" "+s+" "+n+" "+i,r.lineJoin="round",this.colorFillStyle(r,u[0],u[1],u[2],o),this.colorStrokeStyle(r,v[0],v[1],v[2],l)};function Hn(r,e,t,a,n){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;r.beginPath(),r.moveTo(e+i,t),r.lineTo(e+a-i,t),r.quadraticCurveTo(e+a,t,e+a,t+i),r.lineTo(e+a,t+n-i),r.quadraticCurveTo(e+a,t+n,e+a-i,t+n),r.lineTo(e+i,t+n),r.quadraticCurveTo(e,t+n,e,t+n-i),r.lineTo(e,t+i),r.quadraticCurveTo(e,t,e+i,t),r.closePath(),s?r.stroke():r.fill()}wt.getTextAngle=function(r,e){var t,a=r._private,n=a.rscratch,i=e?e+"-":"",s=r.pstyle(i+"text-rotation"),o=kr(n,"labelAngle",e);return s.strValue==="autorotate"?t=r.isEdge()?o:0:s.strValue==="none"?t=0:t=s.pfValue,t};wt.drawText=function(r,e,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,s=i.rscratch,o=n?e.effectiveOpacity():1;if(!(n&&(o===0||e.pstyle("text-opacity").value===0))){t==="main"&&(t=null);var l=kr(s,"labelX",t),u=kr(s,"labelY",t),v,f,c=this.getLabelText(e,t);if(c!=null&&c!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(r,e,n);var h=t?t+"-":"",d=kr(s,"labelWidth",t),y=kr(s,"labelHeight",t),p=e.pstyle(h+"text-margin-x").pfValue,g=e.pstyle(h+"text-margin-y").pfValue,m=e.isEdge(),b=e.pstyle("text-halign").value,w=e.pstyle("text-valign").value;m&&(b="center",w="center"),l+=p,u+=g;var S;switch(a?S=this.getTextAngle(e,t):S=0,S!==0&&(v=l,f=u,r.translate(v,f),r.rotate(S),l=0,u=0),w){case"top":break;case"center":u+=y/2;break;case"bottom":u+=y;break}var E=e.pstyle("text-background-opacity").value,x=e.pstyle("text-border-opacity").value,D=e.pstyle("text-border-width").pfValue,C=e.pstyle("text-background-padding").pfValue,M=e.pstyle("text-background-shape").strValue,P=M.indexOf("round")===0,B=2;if(E>0||D>0&&x>0){var L=l-C;switch(b){case"left":L-=d;break;case"center":L-=d/2;break}var k=u-y-C,O=d+2*C,A=y+2*C;if(E>0){var R=r.fillStyle,I=e.pstyle("text-background-color").value;r.fillStyle="rgba("+I[0]+","+I[1]+","+I[2]+","+E*o+")",P?Hn(r,L,k,O,A,B):r.fillRect(L,k,O,A),r.fillStyle=R}if(D>0&&x>0){var V=r.strokeStyle,G=r.lineWidth,F=e.pstyle("text-border-color").value,q=e.pstyle("text-border-style").value;if(r.strokeStyle="rgba("+F[0]+","+F[1]+","+F[2]+","+x*o+")",r.lineWidth=D,r.setLineDash)switch(q){case"dotted":r.setLineDash([1,1]);break;case"dashed":r.setLineDash([4,2]);break;case"double":r.lineWidth=D/4,r.setLineDash([]);break;case"solid":r.setLineDash([]);break}if(P?Hn(r,L,k,O,A,B,"stroke"):r.strokeRect(L,k,O,A),q==="double"){var Y=D/2;P?Hn(r,L+Y,k+Y,O-Y*2,A-Y*2,B,"stroke"):r.strokeRect(L+Y,k+Y,O-Y*2,A-Y*2)}r.setLineDash&&r.setLineDash([]),r.lineWidth=G,r.strokeStyle=V}}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(r.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var J=kr(s,"labelWrapCachedLines",t),_=kr(s,"labelLineHeight",t),j=d/2,W=this.getLabelJustification(e);switch(W==="auto"||(b==="left"?W==="left"?l+=-d:W==="center"&&(l+=-j):b==="center"?W==="left"?l+=-j:W==="right"&&(l+=j):b==="right"&&(W==="center"?l+=j:W==="right"&&(l+=d))),w){case"top":u-=(J.length-1)*_;break;case"center":case"bottom":u-=(J.length-1)*_;break}for(var z=0;z0&&r.strokeText(J[z],l,u),r.fillText(J[z],l,u),u+=_}else Q>0&&r.strokeText(c,l,u),r.fillText(c,l,u);S!==0&&(r.rotate(-S),r.translate(-v,-f))}}};var Xt={};Xt.drawNode=function(r,e,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,v=u.rscratch,f=e.position();if(!(!ne(f.x)||!ne(f.y))&&!(i&&!e.visible())){var c=i?e.effectiveOpacity():1,h=s.usePaths(),d,y=!1,p=e.padding();o=e.width()+2*p,l=e.height()+2*p;var g;t&&(g=t,r.translate(-g.x1,-g.y1));for(var m=e.pstyle("background-image"),b=m.value,w=new Array(b.length),S=new Array(b.length),E=0,x=0;x0&&arguments[0]!==void 0?arguments[0]:L;s.eleFillStyle(r,e,N)},z=function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:F;s.colorStrokeStyle(r,k[0],k[1],k[2],N)},K=function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:J;s.colorStrokeStyle(r,Y[0],Y[1],Y[2],N)},X=function(N,H,ie,Z){var se=s.nodePathCache=s.nodePathCache||[],ge=uo(ie==="polygon"?ie+","+Z.join(","):ie,""+H,""+N,""+j),we=se[ge],fe,me=!1;return we!=null?(fe=we,me=!0,v.pathCache=fe):(fe=new Path2D,se[ge]=v.pathCache=fe),{path:fe,cacheHit:me}},ae=e.pstyle("shape").strValue,he=e.pstyle("shape-polygon-points").pfValue;if(h){r.translate(f.x,f.y);var te=X(o,l,ae,he);d=te.path,y=te.cacheHit}var re=function(){if(!y){var N=f;h&&(N={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(d||r,N.x,N.y,o,l,j,v)}h?r.fill(d):r.fill()},ve=function(){for(var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:c,H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,ie=u.backgrounding,Z=0,se=0;se0&&arguments[0]!==void 0?arguments[0]:!1,H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c;s.hasPie(e)&&(s.drawPie(r,e,H),N&&(h||s.nodeShapes[s.getNodeShape(e)].draw(r,f.x,f.y,o,l,j,v)))},oe=function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:c,H=(P>0?P:-P)*N,ie=P>0?0:255;P!==0&&(s.colorFillStyle(r,ie,ie,ie,H),h?r.fill(d):r.fill())},de=function(){if(B>0){if(r.lineWidth=B,r.lineCap=R,r.lineJoin=A,r.setLineDash)switch(O){case"dotted":r.setLineDash([1,1]);break;case"dashed":r.setLineDash(V),r.lineDashOffset=G;break;case"solid":case"double":r.setLineDash([]);break}if(I!=="center"){if(r.save(),r.lineWidth*=2,I==="inside")h?r.clip(d):r.clip();else{var N=new Path2D;N.rect(-o/2-B,-l/2-B,o+2*B,l+2*B),N.addPath(d),r.clip(N,"evenodd")}h?r.stroke(d):r.stroke(),r.restore()}else h?r.stroke(d):r.stroke();if(O==="double"){r.lineWidth=B/3;var H=r.globalCompositeOperation;r.globalCompositeOperation="destination-out",h?r.stroke(d):r.stroke(),r.globalCompositeOperation=H}r.setLineDash&&r.setLineDash([])}},Le=function(){if(q>0){if(r.lineWidth=q,r.lineCap="butt",r.setLineDash)switch(Q){case"dotted":r.setLineDash([1,1]);break;case"dashed":r.setLineDash([4,2]);break;case"solid":case"double":r.setLineDash([]);break}var N=f;h&&(N={x:0,y:0});var H=s.getNodeShape(e),ie=B;I==="inside"&&(ie=0),I==="outside"&&(ie*=2);var Z=(o+ie+(q+_))/o,se=(l+ie+(q+_))/l,ge=o*Z,we=l*se,fe=s.nodeShapes[H].points,me;if(h){var be=X(ge,we,H,fe);me=be.path}if(H==="ellipse")s.drawEllipsePath(me||r,N.x,N.y,ge,we);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(H)){var ye=0,Ie=0,Ve=0;H==="round-diamond"?ye=(ie+_+q)*1.4:H==="round-heptagon"?(ye=(ie+_+q)*1.075,Ve=-(ie/2+_+q)/35):H==="round-hexagon"?ye=(ie+_+q)*1.12:H==="round-pentagon"?(ye=(ie+_+q)*1.13,Ve=-(ie/2+_+q)/15):H==="round-tag"?(ye=(ie+_+q)*1.12,Ie=(ie/2+q+_)*.07):H==="round-triangle"&&(ye=(ie+_+q)*(Math.PI/2),Ve=-(ie+_/2+q)/Math.PI),ye!==0&&(Z=(o+ye)/o,ge=o*Z,["round-hexagon","round-tag"].includes(H)||(se=(l+ye)/l,we=l*se)),j=j==="auto"?wo(ge,we):j;for(var gr=ge/2,pr=we/2,Ge=j+(ie+q+_)/2,Xe=new Array(fe.length/2),Ze=new Array(fe.length/2),lr=0;lr0){if(n=n||a.position(),i==null||s==null){var h=a.padding();i=a.width()+2*h,s=a.height()+2*h}o.colorFillStyle(t,v[0],v[1],v[2],u),o.nodeShapes[f].draw(t,n.x,n.y,i+l*2,s+l*2,c),t.fill()}}}};Xt.drawNodeOverlay=Cu("overlay");Xt.drawNodeUnderlay=Cu("underlay");Xt.hasPie=function(r){return r=r[0],r._private.hasPie};Xt.drawPie=function(r,e,t,a){e=e[0],a=a||e.position();var n=e.cy().style(),i=e.pstyle("pie-size"),s=a.x,o=a.y,l=e.width(),u=e.height(),v=Math.min(l,u)/2,f=0,c=this.usePaths();c&&(s=0,o=0),i.units==="%"?v=v*i.pfValue:i.pfValue!==void 0&&(v=i.pfValue/2);for(var h=1;h<=n.pieBackgroundN;h++){var d=e.pstyle("pie-"+h+"-background-size").value,y=e.pstyle("pie-"+h+"-background-color").value,p=e.pstyle("pie-"+h+"-background-opacity").value*t,g=d/100;g+f>1&&(g=1-f);var m=1.5*Math.PI+2*Math.PI*f,b=2*Math.PI*g,w=m+b;d===0||f>=1||f+g>1||(r.beginPath(),r.moveTo(s,o),r.arc(s,o,v,m,w),r.closePath(),this.colorFillStyle(r,y[0],y[1],y[2],p),r.fill(),f+=g)}};var mr={},dp=100;mr.getPixelRatio=function(){var r=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),t=r.backingStorePixelRatio||r.webkitBackingStorePixelRatio||r.mozBackingStorePixelRatio||r.msBackingStorePixelRatio||r.oBackingStorePixelRatio||r.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/t};mr.paintCache=function(r){for(var e=this.paintCaches=this.paintCaches||[],t=!0,a,n=0;ns.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!f&&(v[s.NODE]=!0,v[s.SELECT_BOX]=!0);var m=l.style(),b=l.zoom(),w=n!==void 0?n:b,S=l.pan(),E={x:S.x,y:S.y},x={zoom:b,pan:{x:S.x,y:S.y}},D=s.prevViewport,C=D===void 0||x.zoom!==D.zoom||x.pan.x!==D.pan.x||x.pan.y!==D.pan.y;!C&&!(y&&!d)&&(s.motionBlurPxRatio=1),i&&(E=i),w*=o,E.x*=o,E.y*=o;var M=s.getCachedZSortedEles();function P(te,re,ve,le,oe){var de=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",s.colorFillStyle(te,255,255,255,s.motionBlurTransparency),te.fillRect(re,ve,le,oe),te.globalCompositeOperation=de}function B(te,re){var ve,le,oe,de;!s.clearingMotionBlur&&(te===u.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])?(ve={x:S.x*h,y:S.y*h},le=b*h,oe=s.canvasWidth*h,de=s.canvasHeight*h):(ve=E,le=w,oe=s.canvasWidth,de=s.canvasHeight),te.setTransform(1,0,0,1,0,0),re==="motionBlur"?P(te,0,0,oe,de):!e&&(re===void 0||re)&&te.clearRect(0,0,oe,de),t||(te.translate(ve.x,ve.y),te.scale(le,le)),i&&te.translate(i.x,i.y),n&&te.scale(n,n)}if(f||(s.textureDrawLastFrame=!1),f){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=l.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var L=s.data.bufferContexts[s.TEXTURE_BUFFER];L.setTransform(1,0,0,1,0,0),L.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:L,drawOnlyNodeLayer:!0,forcedPxRatio:o*s.textureMult});var x=s.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:s.canvasWidth,height:s.canvasHeight};x.mpan={x:(0-x.pan.x)/x.zoom,y:(0-x.pan.y)/x.zoom}}v[s.DRAG]=!1,v[s.NODE]=!1;var k=u.contexts[s.NODE],O=s.textureCache.texture,x=s.textureCache.viewport;k.setTransform(1,0,0,1,0,0),c?P(k,0,0,x.width,x.height):k.clearRect(0,0,x.width,x.height);var A=m.core("outside-texture-bg-color").value,R=m.core("outside-texture-bg-opacity").value;s.colorFillStyle(k,A[0],A[1],A[2],R),k.fillRect(0,0,x.width,x.height);var b=l.zoom();B(k,!1),k.clearRect(x.mpan.x,x.mpan.y,x.width/x.zoom/o,x.height/x.zoom/o),k.drawImage(O,x.mpan.x,x.mpan.y,x.width/x.zoom/o,x.height/x.zoom/o)}else s.textureOnViewport&&!e&&(s.textureCache=null);var I=l.extent(),V=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles||s.cy.animated(),G=s.hideEdgesOnViewport&&V,F=[];if(F[s.NODE]=!v[s.NODE]&&c&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,F[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),F[s.DRAG]=!v[s.DRAG]&&c&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,F[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),v[s.NODE]||t||a||F[s.NODE]){var q=c&&!F[s.NODE]&&h!==1,k=e||(q?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:u.contexts[s.NODE]),Y=c&&!q?"motionBlur":void 0;B(k,Y),G?s.drawCachedNodes(k,M.nondrag,o,I):s.drawLayeredElements(k,M.nondrag,o,I),s.debug&&s.drawDebugPoints(k,M.nondrag),!t&&!c&&(v[s.NODE]=!1)}if(!a&&(v[s.DRAG]||t||F[s.DRAG])){var q=c&&!F[s.DRAG]&&h!==1,k=e||(q?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:u.contexts[s.DRAG]);B(k,c&&!q?"motionBlur":void 0),G?s.drawCachedNodes(k,M.drag,o,I):s.drawCachedElements(k,M.drag,o,I),s.debug&&s.drawDebugPoints(k,M.drag),!t&&!c&&(v[s.DRAG]=!1)}if(s.showFps||!a&&v[s.SELECT_BOX]&&!t){var k=e||u.contexts[s.SELECT_BOX];if(B(k),s.selection[4]==1&&(s.hoverData.selecting||s.touchData.selecting)){var b=s.cy.zoom(),Q=m.core("selection-box-border-width").value/b;k.lineWidth=Q,k.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",k.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),Q>0&&(k.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",k.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(u.bgActivePosistion&&!s.hoverData.selecting){var b=s.cy.zoom(),J=u.bgActivePosistion;k.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",k.beginPath(),k.arc(J.x,J.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),k.fill()}var _=s.lastRedrawTime;if(s.showFps&&_){_=Math.round(_);var j=Math.round(1e3/_);k.setTransform(1,0,0,1,0,0),k.fillStyle="rgba(255, 0, 0, 0.75)",k.strokeStyle="rgba(255, 0, 0, 0.75)",k.lineWidth=1,k.fillText("1 frame = "+_+" ms = "+j+" fps",0,20);var W=60;k.strokeRect(0,30,250,20),k.fillRect(0,30,250*Math.min(j/W,1),20)}t||(v[s.SELECT_BOX]=!1)}if(c&&h!==1){var z=u.contexts[s.NODE],K=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],X=u.contexts[s.DRAG],ae=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],he=function(re,ve,le){re.setTransform(1,0,0,1,0,0),le||!g?re.clearRect(0,0,s.canvasWidth,s.canvasHeight):P(re,0,0,s.canvasWidth,s.canvasHeight);var oe=h;re.drawImage(ve,0,0,s.canvasWidth*oe,s.canvasHeight*oe,0,0,s.canvasWidth,s.canvasHeight)};(v[s.NODE]||F[s.NODE])&&(he(z,K,F[s.NODE]),v[s.NODE]=!1),(v[s.DRAG]||F[s.DRAG])&&(he(X,ae,F[s.DRAG]),v[s.DRAG]=!1)}s.prevViewport=x,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),c&&(s.motionBlurTimeout=setTimeout(function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!f,s.mbFrames=0,v[s.NODE]=!0,v[s.DRAG]=!0,s.redraw()},dp)),e||l.emit("render")};var it={};it.drawPolygonPath=function(r,e,t,a,n,i){var s=a/2,o=n/2;r.beginPath&&r.beginPath(),r.moveTo(e+s*i[0],t+o*i[1]);for(var l=1;l0&&s>0){h.clearRect(0,0,i,s),h.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(r.full)h.translate(-a.x1*u,-a.y1*u),h.scale(u,u),this.drawElements(h,d),h.scale(1/u,1/u),h.translate(a.x1*u,a.y1*u);else{var y=e.pan(),p={x:y.x*u,y:y.y*u};u*=e.zoom(),h.translate(p.x,p.y),h.scale(u,u),this.drawElements(h,d),h.scale(1/u,1/u),h.translate(-p.x,-p.y)}r.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=r.bg,h.rect(0,0,i,s),h.fill())}return c};function hp(r,e){for(var t=atob(r),a=new ArrayBuffer(t.length),n=new Uint8Array(a),i=0;i"u"?"undefined":Ue(OffscreenCanvas))!=="undefined")t=new OffscreenCanvas(r,e);else{var a=this.cy.window(),n=a.document;t=n.createElement("canvas"),t.width=r,t.height=e}return t};[xu,Fr,Ur,Pi,wt,Xt,mr,it,Pa,Du].forEach(function(r){pe(De,r)});var yp=[{name:"null",impl:uu},{name:"base",impl:mu},{name:"canvas",impl:gp}],mp=[{type:"layout",extensions:Sg},{type:"renderer",extensions:yp}],Pu={},Bu={};function Mu(r,e,t){var a=t,n=function(D){Me("Can not register `"+e+"` for `"+r+"` since `"+D+"` already exists in the prototype and can not be overridden")};if(r==="core"){if(ba.prototype[e])return n(e);ba.prototype[e]=t}else if(r==="collection"){if(er.prototype[e])return n(e);er.prototype[e]=t}else if(r==="layout"){for(var i=function(D){this.options=D,t.call(this,D),Te(this._private)||(this._private={}),this._private.cy=D.cy,this._private.listeners=[],this.createEmitter()},s=i.prototype=Object.create(t.prototype),o=[],l=0;l{b.clear(),J.clear(),f.clear()},"clear"),O=X((e,t)=>{const n=b.get(t)||[];return i.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),se=X((e,t)=>{const n=b.get(t)||[];return i.info("Descendants of ",t," is ",n),i.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||O(e.v,t)||O(e.w,t)||n.includes(e.w):(i.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),G=X((e,t,n,o)=>{i.warn("Copying children of ",e,"root",o,"data",t.node(e),o);const c=t.children(e)||[];e!==o&&c.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",c),c.forEach(a=>{if(t.children(a).length>0)G(a,t,n,o);else{const r=t.node(a);i.info("cp ",a," to ",o," with parent ",e),n.setNode(a,r),o!==t.parent(a)&&(i.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==o&&a!==e?(i.debug("Setting parent",a,e),n.setParent(a,e)):(i.info("In copy ",e,"root",o,"data",t.node(e),o),i.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==o,"node!==clusterId",a!==e));const u=t.edges(a);i.debug("Copying Edges",u),u.forEach(l=>{i.info("Edge",l);const v=t.edge(l.v,l.w,l.name);i.info("Edge data",v,o);try{se(l,o)?(i.info("Copying as ",l.v,l.w,v,l.name),n.setEdge(l.v,l.w,v,l.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",o," clusterId:",e)}catch(C){i.error(C)}})}i.debug("Removing node",a),t.removeNode(a)})},"copy"),R=X((e,t)=>{const n=t.children(e);let o=[...n];for(const c of n)J.set(c,e),o=[...o,...R(c,t)];return o},"extractDescendants"),ie=X((e,t,n)=>{const o=e.edges().filter(l=>l.v===t||l.w===t),c=e.edges().filter(l=>l.v===n||l.w===n),a=o.map(l=>({v:l.v===t?n:l.v,w:l.w===t?t:l.w})),r=c.map(l=>({v:l.v,w:l.w}));return a.filter(l=>r.some(v=>l.v===v.v&&l.w===v.w))},"findCommonEdges"),D=X((e,t,n)=>{const o=t.children(e);if(i.trace("Searching children of id ",e,o),o.length<1)return e;let c;for(const a of o){const r=D(a,t,n),u=ie(t,n,r);if(r)if(u.length>0)c=r;else return r}return c},"findNonClusterChild"),k=X(e=>!f.has(e)||!f.get(e).externalConnections?e:f.has(e)?f.get(e).id:e,"getAnchorId"),re=X((e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",D(n,e,n)),b.set(n,R(n,e)),f.set(n,{id:D(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const o=e.children(n),c=e.edges();o.length>0?(i.debug("Cluster identified",n,b),c.forEach(a=>{const r=O(a.v,n),u=O(a.w,n);r^u&&(i.warn("Edge: ",a," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",b.get(n)),f.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,b)});for(let n of f.keys()){const o=f.get(n).id,c=e.parent(o);c!==n&&f.has(c)&&!f.get(c).externalConnections&&(f.get(n).id=c)}e.edges().forEach(function(n){const o=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let c=n.v,a=n.w;if(i.warn("Fix XXX",f,"ids:",n.v,n.w,"Translating: ",f.get(n.v)," --- ",f.get(n.w)),f.get(n.v)||f.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),c=k(n.v),a=k(n.w),e.removeEdge(n.v,n.w,n.name),c!==n.v){const r=e.parent(c);f.get(r).externalConnections=!0,o.fromCluster=n.v}if(a!==n.w){const r=e.parent(a);f.get(r).externalConnections=!0,o.toCluster=n.w}i.warn("Fix Replacing with XXX",c,a,n.name),e.setEdge(c,a,o,n.name)}}),i.warn("Adjusted Graph",E(e)),T(e,0),i.trace(f)},"adjustClustersAndEdges"),T=X((e,t)=>{var c,a;if(i.warn("extractor - ",t,E(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),o=!1;for(const r of n){const u=e.children(r);o=o||u.length>0}if(!o){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const r of n)if(i.debug("Extracting node",r,f,f.has(r)&&!f.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),!f.has(r))i.debug("Not a cluster",r,t);else if(!f.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){i.warn("Cluster without external connections, without a parent and with children",r,t);let l=e.graph().rankdir==="TB"?"LR":"TB";(a=(c=f.get(r))==null?void 0:c.clusterData)!=null&&a.dir&&(l=f.get(r).clusterData.dir,i.warn("Fixing dir",f.get(r).clusterData.dir,l));const v=new B({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",E(e)),G(r,e,v,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:f.get(r).clusterData,label:f.get(r).label,graph:v}),i.warn("New graph after copy node: (",r,")",E(v)),i.debug("Old graph after copy",E(e))}else i.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!f.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),i.debug(f);n=e.nodes(),i.warn("New list of nodes",n);for(const r of n){const u=e.node(r);i.warn(" Now next level",r,u),u!=null&&u.clusterNode&&T(u.graph,t+1)}},"extractor"),M=X((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(o=>{const c=e.children(o),a=M(e,c);n=[...n,...a]}),n},"sorter"),oe=X(e=>M(e,e.children()),"sortNodesByHierarchy"),j=X(async(e,t,n,o,c,a)=>{i.warn("Graph in recursive render:XAX",E(t),c);const r=t.graph().rankdir;i.trace("Dir in recursive render - dir:",r);const u=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.info("Recursive edges",t.edge(t.edges()[0]));const l=u.insert("g").attr("class","clusters"),v=u.insert("g").attr("class","edgePaths"),C=u.insert("g").attr("class","edgeLabels"),g=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(d){const s=t.node(d);if(c!==void 0){const m=JSON.parse(JSON.stringify(c.clusterData));i.trace(`Setting data for parent cluster XXX + Node.id = `,d,` + data=`,m.height,` +Parent cluster`,c.height),t.setNode(c.id,m),t.parent(d)||(i.trace("Setting parent",d,c.id),t.setParent(d,c.id,m))}if(i.info("(Insert) Node XXX"+d+": "+JSON.stringify(t.node(d))),s!=null&&s.clusterNode){i.info("Cluster identified XBX",d,s.width,t.node(d));const{ranksep:m,nodesep:h}=t.graph();s.graph.setGraph({...s.graph.graph(),ranksep:m+25,nodesep:h});const N=await j(g,s.graph,n,o,t.node(d),a),x=N.elem;z(s,x),s.diff=N.diff||0,i.info("New compound node after recursive render XAX",d,"width",s.width,"height",s.height),U(x,s)}else t.children(d).length>0?(i.trace("Cluster - the non recursive path XBX",d,s.id,s,s.width,"Graph:",t),i.trace(D(s.id,t)),f.set(s.id,{id:D(s.id,t),node:s})):(i.trace("Node - the non recursive path XAX",d,g,t.node(d),r),await $(g,t.node(d),{config:a,dir:r}))})),await X(async()=>{const d=t.edges().map(async function(s){const m=t.edge(s.v,s.w,s.name);i.info("Edge "+s.v+" -> "+s.w+": "+JSON.stringify(s)),i.info("Edge "+s.v+" -> "+s.w+": ",s," ",JSON.stringify(t.edge(s))),i.info("Fix",f,"ids:",s.v,s.w,"Translating: ",f.get(s.v),f.get(s.w)),await Z(C,m)});await Promise.all(d)},"processEdges")(),i.info("Graph before layout:",JSON.stringify(E(t))),i.info("############################################# XXX"),i.info("### Layout ### XXX"),i.info("############################################# XXX"),I(t),i.info("Graph after layout:",JSON.stringify(E(t)));let y=0,{subGraphTitleTotalMargin:p}=q(a);return await Promise.all(oe(t).map(async function(d){var m;const s=t.node(d);if(i.info("Position XBX => "+d+": ("+s.x,","+s.y,") width: ",s.width," height: ",s.height),s!=null&&s.clusterNode)s.y+=p,i.info("A tainted cluster node XBX1",d,s.id,s.width,s.height,s.x,s.y,t.parent(d)),f.get(s.id).node=s,P(s);else if(t.children(d).length>0){i.info("A pure cluster node XBX1",d,s.id,s.x,s.y,s.width,s.height,t.parent(d)),s.height+=p,t.node(s.parentId);const h=(s==null?void 0:s.padding)/2||0,N=((m=s==null?void 0:s.labelBBox)==null?void 0:m.height)||0,x=N-h||0;i.debug("OffsetY",x,"labelHeight",N,"halfPadding",h),await K(l,s),f.get(s.id).node=s}else{const h=t.node(s.parentId);s.y+=p/2,i.info("A regular node XBX1 - using the padding",s.id,"parent",s.parentId,s.width,s.height,s.x,s.y,"offsetY",s.offsetY,"parent",h,h==null?void 0:h.offsetY,s),P(s)}})),t.edges().forEach(function(d){const s=t.edge(d);i.info("Edge "+d.v+" -> "+d.w+": "+JSON.stringify(s),s),s.points.forEach(x=>x.y+=p/2);const m=t.node(d.v);var h=t.node(d.w);const N=Q(v,s,f,n,m,h,o);W(s,N)}),t.nodes().forEach(function(d){const s=t.node(d);i.info(d,s.type,s.diff),s.isGroup&&(y=s.diff)}),i.warn("Returning from recursive render XAX",u,y),{elem:u,diff:y}},"recursiveRender"),ve=X(async(e,t)=>{var a,r,u,l,v,C;const n=new B({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:((a=e.config)==null?void 0:a.nodeSpacing)||((u=(r=e.config)==null?void 0:r.flowchart)==null?void 0:u.nodeSpacing)||e.nodeSpacing,ranksep:((l=e.config)==null?void 0:l.rankSpacing)||((C=(v=e.config)==null?void 0:v.flowchart)==null?void 0:C.rankSpacing)||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),o=t.select("g");F(o,e.markers,e.type,e.diagramId),Y(),_(),H(),te(),e.nodes.forEach(g=>{n.setNode(g.id,{...g}),g.parentId&&n.setParent(g.id,g.parentId)}),i.debug("Edges:",e.edges),e.edges.forEach(g=>{if(g.start===g.end){const w=g.start,y=w+"---"+w+"---1",p=w+"---"+w+"---2",d=n.node(w);n.setNode(y,{domId:y,id:y,parentId:d.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(y,d.parentId),n.setNode(p,{domId:p,id:p,parentId:d.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(p,d.parentId);const s=structuredClone(g),m=structuredClone(g),h=structuredClone(g);s.label="",s.arrowTypeEnd="none",s.id=w+"-cyclic-special-1",m.arrowTypeEnd="none",m.id=w+"-cyclic-special-mid",h.label="",d.isGroup&&(s.fromCluster=w,h.toCluster=w),h.id=w+"-cyclic-special-2",n.setEdge(w,y,s,w+"-cyclic-special-0"),n.setEdge(y,p,m,w+"-cyclic-special-1"),n.setEdge(p,w,h,w+"-cycVt.sanitizeText(e,M1),"sanitizeText"),ae=l(function(e){for(const r of b1.values())if(r.id===e)return r.domId;return e},"lookUpDomId"),Rt=l(function(e,r,i,a,u,d,g={},D){var v,z;if(!e||e.trim().length===0)return;let c,o=b1.get(e);if(o===void 0&&(o={id:e,labelType:"text",domId:It+e+"-"+$e,styles:[],classes:[]},b1.set(e,o)),$e++,r!==void 0?(M1=U1(),c=ie(r.text.trim()),o.labelType=r.type,c.startsWith('"')&&c.endsWith('"')&&(c=c.substring(1,c.length-1)),o.text=c):o.text===void 0&&(o.text=e),i!==void 0&&(o.type=i),a!=null&&a.forEach(function(_){o.styles.push(_)}),u!=null&&u.forEach(function(_){o.classes.push(_)}),d!==void 0&&(o.dir=d),o.props===void 0?o.props=g:g!==void 0&&Object.assign(o.props,g),D!==void 0){let _;D.includes(` +`)?_=D+` +`:_=`{ +`+D+` +}`;const h=Ct(_,{schema:Tt});if(h.shape){if(h.shape!==h.shape.toLowerCase()||h.shape.includes("_"))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);if(!yt(h.shape))throw new Error(`No such shape: ${h.shape}.`);o.type=h==null?void 0:h.shape}h!=null&&h.label&&(o.text=h==null?void 0:h.label),h!=null&&h.icon&&(o.icon=h==null?void 0:h.icon,!((v=h.label)!=null&&v.trim())&&o.text===e&&(o.text="")),h!=null&&h.form&&(o.form=h==null?void 0:h.form),h!=null&&h.pos&&(o.pos=h==null?void 0:h.pos),h!=null&&h.img&&(o.img=h==null?void 0:h.img,!((z=h.label)!=null&&z.trim())&&o.text===e&&(o.text="")),h!=null&&h.constraint&&(o.constraint=h.constraint),h.w&&(o.assetWidth=Number(h.w)),h.h&&(o.assetHeight=Number(h.h))}},"addVertex"),Nt=l(function(e,r,i){const d={start:e,end:r,type:void 0,text:"",labelType:"text"};e1.info("abc78 Got edge...",d);const g=i.text;if(g!==void 0&&(d.text=ie(g.text.trim()),d.text.startsWith('"')&&d.text.endsWith('"')&&(d.text=d.text.substring(1,d.text.length-1)),d.labelType=g.type),i!==void 0&&(d.type=i.type,d.stroke=i.stroke,d.length=i.length>10?10:i.length),K.length<(M1.maxEdges??500))e1.info("Pushing edge..."),K.push(d);else throw new Error(`Edge limit exceeded. ${K.length} edges found, but the limit is ${M1.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)},"addSingleLink"),Pt=l(function(e,r,i){e1.info("addLink",e,r,i);for(const a of e)for(const u of r)Nt(a,u,i)},"addLink"),Ot=l(function(e,r){e.forEach(function(i){i==="default"?K.defaultInterpolate=r:K[i].interpolate=r})},"updateLinkInterpolate"),Gt=l(function(e,r){e.forEach(function(i){var a,u,d,g,D,c;if(typeof i=="number"&&i>=K.length)throw new Error(`The index ${i} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${K.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);i==="default"?K.defaultStyle=r:(K[i].style=r,(((u=(a=K[i])==null?void 0:a.style)==null?void 0:u.length)??0)>0&&!((g=(d=K[i])==null?void 0:d.style)!=null&&g.some(o=>o==null?void 0:o.startsWith("fill")))&&((c=(D=K[i])==null?void 0:D.style)==null||c.push("fill:none")))})},"updateLink"),Mt=l(function(e,r){e.split(",").forEach(function(i){let a=K1.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},K1.set(i,a)),r!=null&&r.forEach(function(u){if(/color/.exec(u)){const d=u.replace("fill","bgFill");a.textStyles.push(d)}a.styles.push(u)})})},"addClass"),Ut=l(function(e){J=e,/.*/.exec(J)&&(J="LR"),/.*v/.exec(J)&&(J="TB"),J==="TD"&&(J="TB")},"setDirection"),ke=l(function(e,r){for(const i of e.split(",")){const a=b1.get(i);a&&a.classes.push(r);const u=Ae.get(i);u&&u.classes.push(r)}},"setClass"),Wt=l(function(e,r){if(r!==void 0){r=ie(r);for(const i of e.split(","))be.set(se==="gen-1"?ae(i):i,r)}},"setTooltip"),zt=l(function(e,r,i){const a=ae(e);if(U1().securityLevel!=="loose"||r===void 0)return;let u=[];if(typeof i=="string"){u=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let g=0;g")),u.classed("hover",!0)}).on("mouseout",function(){r.transition().duration(500).style("opacity",0),C1(this).classed("hover",!1)})},"setupToolTips");re.push(it);var Ht=l(function(e="gen-1"){b1=new Map,K1=new Map,K=[],re=[it],p1=[],Ae=new Map,ee=0,be=new Map,pe=!0,se=e,M1=U1(),Ft()},"clear"),Xt=l(e=>{se=e||"gen-2"},"setGen"),Qt=l(function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},"defaultStyle"),Jt=l(function(e,r,i){let a=e.text.trim(),u=i.text;e===i&&/\s/.exec(i.text)&&(a=void 0);function d(o){const v={boolean:{},number:{},string:{}},z=[];let _;return{nodeList:o.filter(function(b){const x=typeof b;return b.stmt&&b.stmt==="dir"?(_=b.value,!1):b.trim()===""?!1:x in v?v[x].hasOwnProperty(b)?!1:v[x][b]=!0:z.includes(b)?!1:z.push(b)}),dir:_}}l(d,"uniq");const{nodeList:g,dir:D}=d(r.flat());if(se==="gen-1")for(let o=0;o2e3)return{result:!1,count:0};if(at[j1]=r,p1[r].id===e)return{result:!0,count:0};let a=0,u=1;for(;a=0){const g=nt(e,d);if(g.result)return{result:!0,count:u+g.count};u=u+g.count}a=a+1}return{result:!1,count:u}},"indexNodes2"),$t=l(function(e){return at[e]},"getDepthFirstPos"),es=l(function(){j1=-1,p1.length>0&&nt("none",p1.length-1)},"indexNodes"),ut=l(function(){return p1},"getSubGraphs"),ts=l(()=>pe?(pe=!1,!0):!1,"firstGraph"),ss=l(e=>{let r=e.trim(),i="arrow_open";switch(r[0]){case"<":i="arrow_point",r=r.slice(1);break;case"x":i="arrow_cross",r=r.slice(1);break;case"o":i="arrow_circle",r=r.slice(1);break}let a="normal";return r.includes("=")&&(a="thick"),r.includes(".")&&(a="dotted"),{type:i,stroke:a}},"destructStartLink"),rs=l((e,r)=>{const i=r.length;let a=0;for(let u=0;u{const r=e.trim();let i=r.slice(0,-1),a="arrow_open";switch(r.slice(-1)){case"x":a="arrow_cross",r.startsWith("x")&&(a="double_"+a,i=i.slice(1));break;case">":a="arrow_point",r.startsWith("<")&&(a="double_"+a,i=i.slice(1));break;case"o":a="arrow_circle",r.startsWith("o")&&(a="double_"+a,i=i.slice(1));break}let u="normal",d=i.length-1;i.startsWith("=")&&(u="thick"),i.startsWith("~")&&(u="invisible");const g=rs(".",i);return g&&(u="dotted",d=g),{type:a,stroke:u,length:d}},"destructEndLink"),as=l((e,r)=>{const i=is(e);let a;if(r){if(a=ss(r),a.stroke!==i.stroke)return{type:"INVALID",stroke:"INVALID"};if(a.type==="arrow_open")a.type=i.type;else{if(a.type!==i.type)return{type:"INVALID",stroke:"INVALID"};a.type="double_"+a.type}return a.type==="double_arrow"&&(a.type="double_arrow_point"),a.length=i.length,a}return i},"destructLink"),lt=l((e,r)=>{for(const i of e)if(i.nodes.includes(r))return!0;return!1},"exists"),ot=l((e,r)=>{const i=[];return e.nodes.forEach((a,u)=>{lt(r,a)||i.push(e.nodes[u])}),{nodes:i}},"makeUniq"),ns={firstGraph:ts},us=l(e=>{if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}},"getTypeFromVertex"),ls=l((e,r)=>e.find(i=>i.id===r),"findNode"),os=l(e=>{let r="none",i="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":i=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),i=r;break}return{arrowTypeStart:r,arrowTypeEnd:i}},"destructEdgeType"),cs=l((e,r,i,a,u,d)=>{var o;const g=i.get(e.id),D=a.get(e.id)??!1,c=ls(r,e.id);if(c)c.cssStyles=e.styles,c.cssCompiledStyles=te(e.classes),c.cssClasses=e.classes.join(" ");else{const v={id:e.id,label:e.text,labelStyle:"",parentId:g,padding:((o=u.flowchart)==null?void 0:o.padding)||8,cssStyles:e.styles,cssCompiledStyles:te(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:d,link:e.link,linkTarget:e.linkTarget,tooltip:et(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};D?r.push({...v,isGroup:!0,shape:"rect"}):r.push({...v,isGroup:!1,shape:us(e)})}},"addNodeFromVertex");function te(e){let r=[];for(const i of e){const a=K1.get(i);a!=null&&a.styles&&(r=[...r,...a.styles??[]].map(u=>u.trim())),a!=null&&a.textStyles&&(r=[...r,...a.textStyles??[]].map(u=>u.trim()))}return r}l(te,"getCompiledStyles");var hs=l(()=>{const e=U1(),r=[],i=[],a=ut(),u=new Map,d=new Map;for(let c=a.length-1;c>=0;c--){const o=a[c];o.nodes.length>0&&d.set(o.id,!0);for(const v of o.nodes)u.set(v,o.id)}for(let c=a.length-1;c>=0;c--){const o=a[c];r.push({id:o.id,label:o.title,labelStyle:"",parentId:u.get(o.id),padding:8,cssCompiledStyles:te(o.classes),cssClasses:o.classes.join(" "),shape:"rect",dir:o.dir,isGroup:!0,look:e.look})}st().forEach(c=>{cs(c,r,u,d,e,e.look||"classic")});const D=rt();return D.forEach((c,o)=>{const{arrowTypeStart:v,arrowTypeEnd:z}=os(c.type),_=[...D.defaultStyle??[]];c.style&&_.push(...c.style);const h={id:vt(c.start,c.end,{counter:o,prefix:"L"}),start:c.start,end:c.end,type:c.type??"normal",label:c.text,labelpos:"c",thickness:c.stroke,minlen:c.length,classes:(c==null?void 0:c.stroke)==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:(c==null?void 0:c.stroke)==="invisible"?"none":v,arrowTypeEnd:(c==null?void 0:c.stroke)==="invisible"?"none":z,arrowheadStyle:"fill: #333",labelStyle:_,style:_,pattern:c.stroke,look:e.look};i.push(h)}),{nodes:r,edges:i,other:{},config:e}},"getData"),de={defaultConfig:l(()=>bt.flowchart,"defaultConfig"),setAccTitle:kt,getAccTitle:mt,getAccDescription:Et,getData:hs,setAccDescription:St,addVertex:Rt,lookUpDomId:ae,addLink:Pt,updateLinkInterpolate:Ot,updateLink:Gt,addClass:Mt,setDirection:Ut,setClass:ke,setTooltip:Wt,getTooltip:et,setClickEvent:Kt,setLink:jt,bindFunctions:Yt,getDirection:tt,getVertices:st,getEdges:rt,getClasses:qt,clear:Ht,setGen:Xt,defaultStyle:Qt,addSubGraph:Jt,getDepthFirstPos:$t,indexNodes:es,getSubGraphs:ut,destructLink:as,lex:ns,exists:lt,makeUniq:ot,setDiagramTitle:Dt,getDiagramTitle:xt},ds=l(function(e,r){return r.db.getClasses()},"getClasses"),ps=l(async function(e,r,i,a){var h;e1.info("REF0:"),e1.info("Drawing state diagram (v2)",r);const{securityLevel:u,flowchart:d,layout:g}=U1();let D;u==="sandbox"&&(D=C1("#i"+r));const c=u==="sandbox"?D.nodes()[0].contentDocument:document;e1.debug("Before getData: ");const o=a.db.getData();e1.debug("Data: ",o);const v=gt(r,u),z=tt();o.type=a.type,o.layoutAlgorithm=_t(g),o.layoutAlgorithm==="dagre"&&g==="elk"&&e1.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),o.direction=z,o.nodeSpacing=(d==null?void 0:d.nodeSpacing)||50,o.rankSpacing=(d==null?void 0:d.rankSpacing)||50,o.markers=["point","circle","cross"],o.diagramId=r,e1.debug("REF1:",o),await Bt(o,v);const _=((h=o.config.flowchart)==null?void 0:h.diagramPadding)??8;ge.insertTitle(v,"flowchartTitleText",(d==null?void 0:d.titleTopMargin)||0,a.db.getDiagramTitle()),At(v,_,"flowchart",(d==null?void 0:d.useMaxWidth)||!1);for(const b of o.nodes){const x=C1(`#${r} [id="${b.id}"]`);if(!x||!b.link)continue;const Z=c.createElementNS("http://www.w3.org/2000/svg","a");Z.setAttributeNS("http://www.w3.org/2000/svg","class",b.cssClasses),Z.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),u==="sandbox"?Z.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):b.linkTarget&&Z.setAttributeNS("http://www.w3.org/2000/svg","target",b.linkTarget);const k1=x.insert(function(){return Z},":first-child"),m1=x.select(".label-container");m1&&k1.append(function(){return m1.node()});const E1=x.select(".label");E1&&k1.append(function(){return E1.node()})}},"draw"),fs={getClasses:ds,draw:ps},fe=function(){var e=l(function(A1,p,f,A){for(f=f||{},A=A1.length;A--;f[A1[A]]=p);return f},"o"),r=[1,4],i=[1,3],a=[1,5],u=[1,8,9,10,11,27,34,36,38,44,60,83,84,85,86,87,88,101,104,105,108,110,113,114,115,120,121,122,123],d=[2,2],g=[1,13],D=[1,14],c=[1,15],o=[1,16],v=[1,23],z=[1,25],_=[1,26],h=[1,27],b=[1,49],x=[1,48],Z=[1,29],k1=[1,30],m1=[1,31],E1=[1,32],Y1=[1,33],B=[1,44],V=[1,46],L=[1,42],w=[1,47],I=[1,43],R=[1,50],N=[1,45],P=[1,51],O=[1,52],q1=[1,34],H1=[1,35],X1=[1,36],Q1=[1,37],f1=[1,57],C=[1,8,9,10,11,27,32,34,36,38,44,60,83,84,85,86,87,88,101,104,105,108,110,113,114,115,120,121,122,123],t1=[1,61],s1=[1,60],r1=[1,62],T1=[8,9,11,75,77],me=[1,77],y1=[1,90],F1=[1,95],v1=[1,94],_1=[1,91],B1=[1,87],V1=[1,93],L1=[1,89],w1=[1,96],I1=[1,92],R1=[1,97],N1=[1,88],S1=[8,9,10,11,40,75,77],M=[8,9,10,11,40,46,75,77],Y=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,88,101,104,105,108,110,113,114,115],Ee=[8,9,11,44,60,75,77,88,101,104,105,108,110,113,114,115],W1=[44,60,88,101,104,105,108,110,113,114,115],Se=[1,123],De=[1,122],xe=[1,130],Ce=[1,144],Te=[1,145],ye=[1,146],Fe=[1,147],ve=[1,132],_e=[1,134],Be=[1,138],Ve=[1,139],Le=[1,140],we=[1,141],Ie=[1,142],Re=[1,143],Ne=[1,148],Pe=[1,149],Oe=[1,128],Ge=[1,129],Me=[1,136],Ue=[1,131],We=[1,135],ze=[1,133],ne=[8,9,10,11,27,32,34,36,38,44,60,83,84,85,86,87,88,101,104,105,108,110,113,114,115,120,121,122,123],je=[1,151],Ke=[1,153],F=[8,9,11],q=[8,9,10,11,14,44,60,88,104,105,108,110,113,114,115],k=[1,173],U=[1,169],W=[1,170],m=[1,174],E=[1,171],S=[1,172],P1=[77,115,118],T=[8,9,10,11,12,14,27,29,32,44,60,75,83,84,85,86,87,88,89,104,108,110,113,114,115],Ye=[10,105],g1=[31,49,51,53,55,57,62,64,66,67,69,71,115,116,117],i1=[1,242],a1=[1,240],n1=[1,244],u1=[1,238],l1=[1,239],o1=[1,241],c1=[1,243],h1=[1,245],O1=[1,263],qe=[8,9,11,105],$=[8,9,10,11,60,83,104,105,108,109,110,111],ue={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,edgeTextToken:78,STR:79,MD_STR:80,textToken:81,keywords:82,STYLE:83,LINKSTYLE:84,CLASSDEF:85,CLASS:86,CLICK:87,DOWN:88,UP:89,textNoTagsToken:90,stylesOpt:91,"idString[vertex]":92,"idString[class]":93,CALLBACKNAME:94,CALLBACKARGS:95,HREF:96,LINK_TARGET:97,"STR[link]":98,"STR[tooltip]":99,alphaNum:100,DEFAULT:101,numList:102,INTERPOLATE:103,NUM:104,COMMA:105,style:106,styleComponent:107,NODE_STRING:108,UNIT:109,BRKT:110,PCT:111,idStringToken:112,MINUS:113,MULT:114,UNICODE_TEXT:115,TEXT:116,TAGSTART:117,EDGE_TEXT:118,alphaNumToken:119,direction_tb:120,direction_bt:121,direction_rl:122,direction_lr:123,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",79:"STR",80:"MD_STR",83:"STYLE",84:"LINKSTYLE",85:"CLASSDEF",86:"CLASS",87:"CLICK",88:"DOWN",89:"UP",92:"idString[vertex]",93:"idString[class]",94:"CALLBACKNAME",95:"CALLBACKARGS",96:"HREF",97:"LINK_TARGET",98:"STR[link]",99:"STR[tooltip]",101:"DEFAULT",103:"INTERPOLATE",104:"NUM",105:"COMMA",108:"NODE_STRING",109:"UNIT",110:"BRKT",111:"PCT",113:"MINUS",114:"MULT",115:"UNICODE_TEXT",116:"TEXT",117:"TAGSTART",118:"EDGE_TEXT",120:"direction_tb",121:"direction_bt",122:"direction_rl",123:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[76,1],[76,2],[76,1],[76,1],[72,1],[73,3],[30,1],[30,2],[30,1],[30,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[102,1],[102,3],[91,1],[91,3],[106,1],[106,2],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[81,1],[81,1],[81,1],[81,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[78,1],[78,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[47,1],[47,2],[100,1],[100,2],[33,1],[33,1],[33,1],[33,1]],performAction:l(function(p,f,A,n,y,t,z1){var s=t.length-1;switch(y){case 2:this.$=[];break;case 3:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 181:this.$=t[s];break;case 11:n.setDirection("TB"),this.$="TB";break;case 12:n.setDirection(t[s-1]),this.$=t[s-1];break;case 27:this.$=t[s-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=n.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 34:this.$=n.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 35:this.$=n.addSubGraph(void 0,t[s-1],void 0);break;case 37:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 38:case 39:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 43:this.$=t[s-1]+t[s];break;case 44:this.$=t[s];break;case 45:n.addVertex(t[s-1][0],void 0,void 0,void 0,void 0,void 0,void 0,t[s]),n.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 46:n.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 47:n.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 48:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 49:n.addVertex(t[s-1][0],void 0,void 0,void 0,void 0,void 0,void 0,t[s]),this.$={stmt:t[s-1],nodes:t[s-1],shapeData:t[s]};break;case 50:this.$={stmt:t[s],nodes:t[s]};break;case 51:this.$=[t[s]];break;case 52:n.addVertex(t[s-5][0],void 0,void 0,void 0,void 0,void 0,void 0,t[s-4]),this.$=t[s-5].concat(t[s]);break;case 53:this.$=t[s-4].concat(t[s]);break;case 54:this.$=t[s];break;case 55:this.$=t[s-2],n.setClass(t[s-2],t[s]);break;case 56:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"square");break;case 57:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"doublecircle");break;case 58:this.$=t[s-5],n.addVertex(t[s-5],t[s-2],"circle");break;case 59:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"ellipse");break;case 60:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"stadium");break;case 61:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"subroutine");break;case 62:this.$=t[s-7],n.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 63:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"cylinder");break;case 64:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"round");break;case 65:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"diamond");break;case 66:this.$=t[s-5],n.addVertex(t[s-5],t[s-2],"hexagon");break;case 67:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"odd");break;case 68:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"trapezoid");break;case 69:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 70:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"lean_right");break;case 71:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"lean_left");break;case 72:this.$=t[s],n.addVertex(t[s]);break;case 73:t[s-1].text=t[s],this.$=t[s-1];break;case 74:case 75:t[s-2].text=t[s-1],this.$=t[s-2];break;case 76:this.$=t[s];break;case 77:var X=n.destructLink(t[s],t[s-2]);this.$={type:X.type,stroke:X.stroke,length:X.length,text:t[s-1]};break;case 78:this.$={text:t[s],type:"text"};break;case 79:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 80:this.$={text:t[s],type:"string"};break;case 81:this.$={text:t[s],type:"markdown"};break;case 82:var X=n.destructLink(t[s]);this.$={type:X.type,stroke:X.stroke,length:X.length};break;case 83:this.$=t[s-1];break;case 84:this.$={text:t[s],type:"text"};break;case 85:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 86:this.$={text:t[s],type:"string"};break;case 87:case 102:this.$={text:t[s],type:"markdown"};break;case 99:this.$={text:t[s],type:"text"};break;case 100:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 101:this.$={text:t[s],type:"text"};break;case 103:this.$=t[s-4],n.addClass(t[s-2],t[s]);break;case 104:this.$=t[s-4],n.setClass(t[s-2],t[s]);break;case 105:case 113:this.$=t[s-1],n.setClickEvent(t[s-1],t[s]);break;case 106:case 114:this.$=t[s-3],n.setClickEvent(t[s-3],t[s-2]),n.setTooltip(t[s-3],t[s]);break;case 107:this.$=t[s-2],n.setClickEvent(t[s-2],t[s-1],t[s]);break;case 108:this.$=t[s-4],n.setClickEvent(t[s-4],t[s-3],t[s-2]),n.setTooltip(t[s-4],t[s]);break;case 109:this.$=t[s-2],n.setLink(t[s-2],t[s]);break;case 110:this.$=t[s-4],n.setLink(t[s-4],t[s-2]),n.setTooltip(t[s-4],t[s]);break;case 111:this.$=t[s-4],n.setLink(t[s-4],t[s-2],t[s]);break;case 112:this.$=t[s-6],n.setLink(t[s-6],t[s-4],t[s]),n.setTooltip(t[s-6],t[s-2]);break;case 115:this.$=t[s-1],n.setLink(t[s-1],t[s]);break;case 116:this.$=t[s-3],n.setLink(t[s-3],t[s-2]),n.setTooltip(t[s-3],t[s]);break;case 117:this.$=t[s-3],n.setLink(t[s-3],t[s-2],t[s]);break;case 118:this.$=t[s-5],n.setLink(t[s-5],t[s-4],t[s]),n.setTooltip(t[s-5],t[s-2]);break;case 119:this.$=t[s-4],n.addVertex(t[s-2],void 0,void 0,t[s]);break;case 120:this.$=t[s-4],n.updateLink([t[s-2]],t[s]);break;case 121:this.$=t[s-4],n.updateLink(t[s-2],t[s]);break;case 122:this.$=t[s-8],n.updateLinkInterpolate([t[s-6]],t[s-2]),n.updateLink([t[s-6]],t[s]);break;case 123:this.$=t[s-8],n.updateLinkInterpolate(t[s-6],t[s-2]),n.updateLink(t[s-6],t[s]);break;case 124:this.$=t[s-6],n.updateLinkInterpolate([t[s-4]],t[s]);break;case 125:this.$=t[s-6],n.updateLinkInterpolate(t[s-4],t[s]);break;case 126:case 128:this.$=[t[s]];break;case 127:case 129:t[s-2].push(t[s]),this.$=t[s-2];break;case 131:this.$=t[s-1]+t[s];break;case 179:this.$=t[s];break;case 180:this.$=t[s-1]+""+t[s];break;case 182:this.$=t[s-1]+""+t[s];break;case 183:this.$={stmt:"dir",value:"TB"};break;case 184:this.$={stmt:"dir",value:"BT"};break;case 185:this.$={stmt:"dir",value:"RL"};break;case 186:this.$={stmt:"dir",value:"LR"};break}},"anonymous"),table:[{3:1,4:2,9:r,10:i,12:a},{1:[3]},e(u,d,{5:6}),{4:7,9:r,10:i,12:a},{4:8,9:r,10:i,12:a},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:g,9:D,10:c,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:v,33:24,34:z,36:_,38:h,42:28,43:38,44:b,45:39,47:40,60:x,83:Z,84:k1,85:m1,86:E1,87:Y1,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O,120:q1,121:H1,122:X1,123:Q1},e(u,[2,9]),e(u,[2,10]),e(u,[2,11]),{8:[1,54],9:[1,55],10:f1,15:53,18:56},e(C,[2,3]),e(C,[2,4]),e(C,[2,5]),e(C,[2,6]),e(C,[2,7]),e(C,[2,8]),{8:t1,9:s1,11:r1,21:58,41:59,72:63,75:[1,64],77:[1,65]},{8:t1,9:s1,11:r1,21:66},{8:t1,9:s1,11:r1,21:67},{8:t1,9:s1,11:r1,21:68},{8:t1,9:s1,11:r1,21:69},{8:t1,9:s1,11:r1,21:70},{8:t1,9:s1,10:[1,71],11:r1,21:72},e(C,[2,36]),{35:[1,73]},{37:[1,74]},e(C,[2,39]),e(T1,[2,50],{18:75,39:76,10:f1,40:me}),{10:[1,78]},{10:[1,79]},{10:[1,80]},{10:[1,81]},{14:y1,44:F1,60:v1,79:[1,85],88:_1,94:[1,82],96:[1,83],100:84,104:B1,105:V1,108:L1,110:w1,113:I1,114:R1,115:N1,119:86},e(C,[2,183]),e(C,[2,184]),e(C,[2,185]),e(C,[2,186]),e(S1,[2,51]),e(S1,[2,54],{46:[1,98]}),e(M,[2,72],{112:111,29:[1,99],44:b,48:[1,100],50:[1,101],52:[1,102],54:[1,103],56:[1,104],58:[1,105],60:x,63:[1,106],65:[1,107],67:[1,108],68:[1,109],70:[1,110],88:B,101:V,104:L,105:w,108:I,110:R,113:N,114:P,115:O}),e(Y,[2,179]),e(Y,[2,140]),e(Y,[2,141]),e(Y,[2,142]),e(Y,[2,143]),e(Y,[2,144]),e(Y,[2,145]),e(Y,[2,146]),e(Y,[2,147]),e(Y,[2,148]),e(Y,[2,149]),e(Y,[2,150]),e(u,[2,12]),e(u,[2,18]),e(u,[2,19]),{9:[1,112]},e(Ee,[2,26],{18:113,10:f1}),e(C,[2,27]),{42:114,43:38,44:b,45:39,47:40,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O},e(C,[2,40]),e(C,[2,41]),e(C,[2,42]),e(W1,[2,76],{73:115,62:[1,117],74:[1,116]}),{76:118,78:119,79:[1,120],80:[1,121],115:Se,118:De},e([44,60,62,74,88,101,104,105,108,110,113,114,115],[2,82]),e(C,[2,28]),e(C,[2,29]),e(C,[2,30]),e(C,[2,31]),e(C,[2,32]),{10:xe,12:Ce,14:Te,27:ye,28:124,32:Fe,44:ve,60:_e,75:Be,79:[1,126],80:[1,127],82:137,83:Ve,84:Le,85:we,86:Ie,87:Re,88:Ne,89:Pe,90:125,104:Oe,108:Ge,110:Me,113:Ue,114:We,115:ze},e(ne,d,{5:150}),e(C,[2,37]),e(C,[2,38]),e(T1,[2,48],{44:je}),e(T1,[2,49],{18:152,10:f1,40:Ke}),e(S1,[2,44]),{44:b,47:154,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O},{101:[1,155],102:156,104:[1,157]},{44:b,47:158,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O},{44:b,47:159,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O},e(F,[2,105],{10:[1,160],95:[1,161]}),{79:[1,162]},e(F,[2,113],{119:164,10:[1,163],14:y1,44:F1,60:v1,88:_1,104:B1,105:V1,108:L1,110:w1,113:I1,114:R1,115:N1}),e(F,[2,115],{10:[1,165]}),e(q,[2,181]),e(q,[2,168]),e(q,[2,169]),e(q,[2,170]),e(q,[2,171]),e(q,[2,172]),e(q,[2,173]),e(q,[2,174]),e(q,[2,175]),e(q,[2,176]),e(q,[2,177]),e(q,[2,178]),{44:b,47:166,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O},{30:167,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{30:175,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{30:177,50:[1,176],67:k,79:U,80:W,81:168,115:m,116:E,117:S},{30:178,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{30:179,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{30:180,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{108:[1,181]},{30:182,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{30:183,65:[1,184],67:k,79:U,80:W,81:168,115:m,116:E,117:S},{30:185,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{30:186,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{30:187,67:k,79:U,80:W,81:168,115:m,116:E,117:S},e(Y,[2,180]),e(u,[2,20]),e(Ee,[2,25]),e(T1,[2,46],{39:188,18:189,10:f1,40:me}),e(W1,[2,73],{10:[1,190]}),{10:[1,191]},{30:192,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{77:[1,193],78:194,115:Se,118:De},e(P1,[2,78]),e(P1,[2,80]),e(P1,[2,81]),e(P1,[2,166]),e(P1,[2,167]),{8:t1,9:s1,10:xe,11:r1,12:Ce,14:Te,21:196,27:ye,29:[1,195],32:Fe,44:ve,60:_e,75:Be,82:137,83:Ve,84:Le,85:we,86:Ie,87:Re,88:Ne,89:Pe,90:197,104:Oe,108:Ge,110:Me,113:Ue,114:We,115:ze},e(T,[2,99]),e(T,[2,101]),e(T,[2,102]),e(T,[2,155]),e(T,[2,156]),e(T,[2,157]),e(T,[2,158]),e(T,[2,159]),e(T,[2,160]),e(T,[2,161]),e(T,[2,162]),e(T,[2,163]),e(T,[2,164]),e(T,[2,165]),e(T,[2,88]),e(T,[2,89]),e(T,[2,90]),e(T,[2,91]),e(T,[2,92]),e(T,[2,93]),e(T,[2,94]),e(T,[2,95]),e(T,[2,96]),e(T,[2,97]),e(T,[2,98]),{6:11,7:12,8:g,9:D,10:c,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:v,32:[1,198],33:24,34:z,36:_,38:h,42:28,43:38,44:b,45:39,47:40,60:x,83:Z,84:k1,85:m1,86:E1,87:Y1,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O,120:q1,121:H1,122:X1,123:Q1},{10:f1,18:199},{44:[1,200]},e(S1,[2,43]),{10:[1,201],44:b,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:111,113:N,114:P,115:O},{10:[1,202]},{10:[1,203],105:[1,204]},e(Ye,[2,126]),{10:[1,205],44:b,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:111,113:N,114:P,115:O},{10:[1,206],44:b,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:111,113:N,114:P,115:O},{79:[1,207]},e(F,[2,107],{10:[1,208]}),e(F,[2,109],{10:[1,209]}),{79:[1,210]},e(q,[2,182]),{79:[1,211],97:[1,212]},e(S1,[2,55],{112:111,44:b,60:x,88:B,101:V,104:L,105:w,108:I,110:R,113:N,114:P,115:O}),{31:[1,213],67:k,81:214,115:m,116:E,117:S},e(g1,[2,84]),e(g1,[2,86]),e(g1,[2,87]),e(g1,[2,151]),e(g1,[2,152]),e(g1,[2,153]),e(g1,[2,154]),{49:[1,215],67:k,81:214,115:m,116:E,117:S},{30:216,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{51:[1,217],67:k,81:214,115:m,116:E,117:S},{53:[1,218],67:k,81:214,115:m,116:E,117:S},{55:[1,219],67:k,81:214,115:m,116:E,117:S},{57:[1,220],67:k,81:214,115:m,116:E,117:S},{60:[1,221]},{64:[1,222],67:k,81:214,115:m,116:E,117:S},{66:[1,223],67:k,81:214,115:m,116:E,117:S},{30:224,67:k,79:U,80:W,81:168,115:m,116:E,117:S},{31:[1,225],67:k,81:214,115:m,116:E,117:S},{67:k,69:[1,226],71:[1,227],81:214,115:m,116:E,117:S},{67:k,69:[1,229],71:[1,228],81:214,115:m,116:E,117:S},e(T1,[2,45],{18:152,10:f1,40:Ke}),e(T1,[2,47],{44:je}),e(W1,[2,75]),e(W1,[2,74]),{62:[1,230],67:k,81:214,115:m,116:E,117:S},e(W1,[2,77]),e(P1,[2,79]),{30:231,67:k,79:U,80:W,81:168,115:m,116:E,117:S},e(ne,d,{5:232}),e(T,[2,100]),e(C,[2,35]),{43:233,44:b,45:39,47:40,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O},{10:f1,18:234},{10:i1,60:a1,83:n1,91:235,104:u1,106:236,107:237,108:l1,109:o1,110:c1,111:h1},{10:i1,60:a1,83:n1,91:246,103:[1,247],104:u1,106:236,107:237,108:l1,109:o1,110:c1,111:h1},{10:i1,60:a1,83:n1,91:248,103:[1,249],104:u1,106:236,107:237,108:l1,109:o1,110:c1,111:h1},{104:[1,250]},{10:i1,60:a1,83:n1,91:251,104:u1,106:236,107:237,108:l1,109:o1,110:c1,111:h1},{44:b,47:252,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O},e(F,[2,106]),{79:[1,253]},{79:[1,254],97:[1,255]},e(F,[2,114]),e(F,[2,116],{10:[1,256]}),e(F,[2,117]),e(M,[2,56]),e(g1,[2,85]),e(M,[2,57]),{51:[1,257],67:k,81:214,115:m,116:E,117:S},e(M,[2,64]),e(M,[2,59]),e(M,[2,60]),e(M,[2,61]),{108:[1,258]},e(M,[2,63]),e(M,[2,65]),{66:[1,259],67:k,81:214,115:m,116:E,117:S},e(M,[2,67]),e(M,[2,68]),e(M,[2,70]),e(M,[2,69]),e(M,[2,71]),e([10,44,60,88,101,104,105,108,110,113,114,115],[2,83]),{31:[1,260],67:k,81:214,115:m,116:E,117:S},{6:11,7:12,8:g,9:D,10:c,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:v,32:[1,261],33:24,34:z,36:_,38:h,42:28,43:38,44:b,45:39,47:40,60:x,83:Z,84:k1,85:m1,86:E1,87:Y1,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O,120:q1,121:H1,122:X1,123:Q1},e(S1,[2,53]),{43:262,44:b,45:39,47:40,60:x,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O},e(F,[2,119],{105:O1}),e(qe,[2,128],{107:264,10:i1,60:a1,83:n1,104:u1,108:l1,109:o1,110:c1,111:h1}),e($,[2,130]),e($,[2,132]),e($,[2,133]),e($,[2,134]),e($,[2,135]),e($,[2,136]),e($,[2,137]),e($,[2,138]),e($,[2,139]),e(F,[2,120],{105:O1}),{10:[1,265]},e(F,[2,121],{105:O1}),{10:[1,266]},e(Ye,[2,127]),e(F,[2,103],{105:O1}),e(F,[2,104],{112:111,44:b,60:x,88:B,101:V,104:L,105:w,108:I,110:R,113:N,114:P,115:O}),e(F,[2,108]),e(F,[2,110],{10:[1,267]}),e(F,[2,111]),{97:[1,268]},{51:[1,269]},{62:[1,270]},{66:[1,271]},{8:t1,9:s1,11:r1,21:272},e(C,[2,34]),e(S1,[2,52]),{10:i1,60:a1,83:n1,104:u1,106:273,107:237,108:l1,109:o1,110:c1,111:h1},e($,[2,131]),{14:y1,44:F1,60:v1,88:_1,100:274,104:B1,105:V1,108:L1,110:w1,113:I1,114:R1,115:N1,119:86},{14:y1,44:F1,60:v1,88:_1,100:275,104:B1,105:V1,108:L1,110:w1,113:I1,114:R1,115:N1,119:86},{97:[1,276]},e(F,[2,118]),e(M,[2,58]),{30:277,67:k,79:U,80:W,81:168,115:m,116:E,117:S},e(M,[2,66]),e(ne,d,{5:278}),e(qe,[2,129],{107:264,10:i1,60:a1,83:n1,104:u1,108:l1,109:o1,110:c1,111:h1}),e(F,[2,124],{119:164,10:[1,279],14:y1,44:F1,60:v1,88:_1,104:B1,105:V1,108:L1,110:w1,113:I1,114:R1,115:N1}),e(F,[2,125],{119:164,10:[1,280],14:y1,44:F1,60:v1,88:_1,104:B1,105:V1,108:L1,110:w1,113:I1,114:R1,115:N1}),e(F,[2,112]),{31:[1,281],67:k,81:214,115:m,116:E,117:S},{6:11,7:12,8:g,9:D,10:c,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:v,32:[1,282],33:24,34:z,36:_,38:h,42:28,43:38,44:b,45:39,47:40,60:x,83:Z,84:k1,85:m1,86:E1,87:Y1,88:B,101:V,104:L,105:w,108:I,110:R,112:41,113:N,114:P,115:O,120:q1,121:H1,122:X1,123:Q1},{10:i1,60:a1,83:n1,91:283,104:u1,106:236,107:237,108:l1,109:o1,110:c1,111:h1},{10:i1,60:a1,83:n1,91:284,104:u1,106:236,107:237,108:l1,109:o1,110:c1,111:h1},e(M,[2,62]),e(C,[2,33]),e(F,[2,122],{105:O1}),e(F,[2,123],{105:O1})],defaultActions:{},parseError:l(function(p,f){if(f.recoverable)this.trace(p);else{var A=new Error(p);throw A.hash=f,A}},"parseError"),parse:l(function(p){var f=this,A=[0],n=[],y=[null],t=[],z1=this.table,s="",X=0,He=0,ht=2,Xe=1,dt=t.slice.call(arguments,1),G=Object.create(this.lexer),D1={yy:{}};for(var le in this.yy)Object.prototype.hasOwnProperty.call(this.yy,le)&&(D1.yy[le]=this.yy[le]);G.setInput(p,D1.yy),D1.yy.lexer=G,D1.yy.parser=this,typeof G.yylloc>"u"&&(G.yylloc={});var oe=G.yylloc;t.push(oe);var pt=G.options&&G.options.ranges;typeof D1.yy.parseError=="function"?this.parseError=D1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(H){A.length=A.length-2*H,y.length=y.length-H,t.length=t.length-H}l(ft,"popStack");function Qe(){var H;return H=n.pop()||G.lex()||Xe,typeof H!="number"&&(H instanceof Array&&(n=H,H=n.pop()),H=f.symbols_[H]||H),H}l(Qe,"lex");for(var j,x1,Q,ce,G1={},Z1,d1,Je,$1;;){if(x1=A[A.length-1],this.defaultActions[x1]?Q=this.defaultActions[x1]:((j===null||typeof j>"u")&&(j=Qe()),Q=z1[x1]&&z1[x1][j]),typeof Q>"u"||!Q.length||!Q[0]){var he="";$1=[];for(Z1 in z1[x1])this.terminals_[Z1]&&Z1>ht&&$1.push("'"+this.terminals_[Z1]+"'");G.showPosition?he="Parse error on line "+(X+1)+`: +`+G.showPosition()+` +Expecting `+$1.join(", ")+", got '"+(this.terminals_[j]||j)+"'":he="Parse error on line "+(X+1)+": Unexpected "+(j==Xe?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(he,{text:G.match,token:this.terminals_[j]||j,line:G.yylineno,loc:oe,expected:$1})}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x1+", token: "+j);switch(Q[0]){case 1:A.push(j),y.push(G.yytext),t.push(G.yylloc),A.push(Q[1]),j=null,He=G.yyleng,s=G.yytext,X=G.yylineno,oe=G.yylloc;break;case 2:if(d1=this.productions_[Q[1]][1],G1.$=y[y.length-d1],G1._$={first_line:t[t.length-(d1||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(d1||1)].first_column,last_column:t[t.length-1].last_column},pt&&(G1._$.range=[t[t.length-(d1||1)].range[0],t[t.length-1].range[1]]),ce=this.performAction.apply(G1,[s,He,X,D1.yy,Q[1],y,t].concat(dt)),typeof ce<"u")return ce;d1&&(A=A.slice(0,-1*d1*2),y=y.slice(0,-1*d1),t=t.slice(0,-1*d1)),A.push(this.productions_[Q[1]][0]),y.push(G1.$),t.push(G1._$),Je=z1[A[A.length-2]][A[A.length-1]],A.push(Je);break;case 3:return!0}}return!0},"parse")},ct=function(){var A1={EOF:1,parseError:l(function(f,A){if(this.yy.parser)this.yy.parser.parseError(f,A);else throw new Error(f)},"parseError"),setInput:l(function(p,f){return this.yy=f||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:l(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var f=p.match(/(?:\r\n?|\n).*/g);return f?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:l(function(p){var f=p.length,A=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-f),this.offset-=f;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),A.length-1&&(this.yylineno-=A.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:A?(A.length===n.length?this.yylloc.first_column:0)+n[n.length-A.length].length-A[0].length:this.yylloc.first_column-f},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-f]),this.yyleng=this.yytext.length,this},"unput"),more:l(function(){return this._more=!0,this},"more"),reject:l(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:l(function(p){this.unput(this.match.slice(p))},"less"),pastInput:l(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:l(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:l(function(){var p=this.pastInput(),f=new Array(p.length+1).join("-");return p+this.upcomingInput()+` +`+f+"^"},"showPosition"),test_match:l(function(p,f){var A,n,y;if(this.options.backtrack_lexer&&(y={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(y.yylloc.range=this.yylloc.range.slice(0))),n=p[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],A=this.performAction.call(this,this.yy,this,f,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var t in y)this[t]=y[t];return!1}return!1},"test_match"),next:l(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,f,A,n;this._more||(this.yytext="",this.match="");for(var y=this._currentRules(),t=0;tf[0].length)){if(f=A,n=t,this.options.backtrack_lexer){if(p=this.test_match(A,y[t]),p!==!1)return p;if(this._backtrack){f=!1;continue}else return!1}else if(!this.options.flex)break}return f?(p=this.test_match(f,y[n]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:l(function(){var f=this.next();return f||this.lex()},"lex"),begin:l(function(f){this.conditionStack.push(f)},"begin"),popState:l(function(){var f=this.conditionStack.length-1;return f>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:l(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:l(function(f){return f=this.conditionStack.length-1-Math.abs(f||0),f>=0?this.conditionStack[f]:"INITIAL"},"topState"),pushState:l(function(f){this.begin(f)},"pushState"),stateStackSize:l(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:l(function(f,A,n,y){switch(n){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),A.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const t=/\n\s*/g;return A.yytext=A.yytext.replace(t,"
    "),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 94;case 17:this.popState();break;case 18:return 95;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 83;case 26:return 101;case 27:return 84;case 28:return 103;case 29:return 85;case 30:return 86;case 31:return 96;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 87;case 35:return f.lex.firstGraph()&&this.begin("dir"),12;case 36:return f.lex.firstGraph()&&this.begin("dir"),12;case 37:return f.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:return 97;case 41:return 97;case 42:return 97;case 43:return 97;case 44:return this.popState(),13;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 120;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 104;case 60:return 110;case 61:return 46;case 62:return 60;case 63:return 44;case 64:return 8;case 65:return 105;case 66:return 114;case 67:return this.popState(),77;case 68:return this.pushState("edgeText"),75;case 69:return 118;case 70:return this.popState(),77;case 71:return this.pushState("thickEdgeText"),75;case 72:return 118;case 73:return this.popState(),77;case 74:return this.pushState("dottedEdgeText"),75;case 75:return 118;case 76:return 77;case 77:return this.popState(),53;case 78:return"TEXT";case 79:return this.pushState("ellipseText"),52;case 80:return this.popState(),55;case 81:return this.pushState("text"),54;case 82:return this.popState(),57;case 83:return this.pushState("text"),56;case 84:return 58;case 85:return this.pushState("text"),67;case 86:return this.popState(),64;case 87:return this.pushState("text"),63;case 88:return this.popState(),49;case 89:return this.pushState("text"),48;case 90:return this.popState(),69;case 91:return this.popState(),71;case 92:return 116;case 93:return this.pushState("trapText"),68;case 94:return this.pushState("trapText"),70;case 95:return 117;case 96:return 67;case 97:return 89;case 98:return"SEP";case 99:return 88;case 100:return 114;case 101:return 110;case 102:return 44;case 103:return 108;case 104:return 113;case 105:return 115;case 106:return this.popState(),62;case 107:return this.pushState("text"),62;case 108:return this.popState(),51;case 109:return this.pushState("text"),50;case 110:return this.popState(),31;case 111:return this.pushState("text"),29;case 112:return this.popState(),66;case 113:return this.pushState("text"),65;case 114:return"TEXT";case 115:return"QUOTE";case 116:return 9;case 117:return 10;case 118:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},shapeData:{rules:[8,11,12,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},callbackargs:{rules:[17,18,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},callbackname:{rules:[14,15,16,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},href:{rules:[21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},click:{rules:[21,24,33,34,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},dottedEdgeText:{rules:[21,24,73,75,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},thickEdgeText:{rules:[21,24,70,72,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},edgeText:{rules:[21,24,67,69,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},trapText:{rules:[21,24,76,79,81,83,87,89,90,91,92,93,94,107,109,111,113],inclusive:!1},ellipseText:{rules:[21,24,76,77,78,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},text:{rules:[21,24,76,79,80,81,82,83,86,87,88,89,93,94,106,107,108,109,110,111,112,113,114],inclusive:!1},vertex:{rules:[21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},acc_descr:{rules:[3,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},acc_title:{rules:[1,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},md_string:{rules:[19,20,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},string:{rules:[21,22,23,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,70,71,73,74,76,79,81,83,84,85,87,89,93,94,95,96,97,98,99,100,101,102,103,104,105,107,109,111,113,115,116,117,118],inclusive:!0}}};return A1}();ue.lexer=ct;function J1(){this.yy={}}return l(J1,"Parser"),J1.prototype=ue,ue.Parser=J1,new J1}();fe.parser=fe;var gs=fe,As=l((e,r)=>{const i=wt,a=i(e,"r"),u=i(e,"g"),d=i(e,"b");return Lt(a,u,d,r)},"fade"),bs=l(e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span { + color: ${e.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .rough-node .label,.node .label, .image-shape .label, .icon-shape .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + + .root .anchor path { + fill: ${e.lineColor} !important; + stroke-width: 0; + stroke: ${e.lineColor}; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + p { + background-color: ${e.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${As(e.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${e.clusterBkg}; + stroke: ${e.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } + + rect.text { + fill: none; + stroke-width: 0; + } + + .icon-shape, .image-shape { + background-color: ${e.edgeLabelBackground}; + p { + background-color: ${e.edgeLabelBackground}; + padding: 2px; + } + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } +`,"getStyles"),ks=bs,ys={parser:gs,db:de,renderer:fs,styles:ks,init:l(e=>{e.flowchart||(e.flowchart={}),e.layout&&Ze({layout:e.layout}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,Ze({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}}),de.clear(),de.setGen("gen-2")},"init")};export{ys as diagram}; diff --git a/_nuxt/NieGjnhU.js b/_nuxt/NieGjnhU.js new file mode 100644 index 000000000..3385b4cc1 --- /dev/null +++ b/_nuxt/NieGjnhU.js @@ -0,0 +1,261 @@ +class u0{constructor(e,t,a){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=a}static range(e,t){return t?!e||!e.loc||!t.loc||e.loc.lexer!==t.loc.lexer?null:new u0(e.loc.lexer,e.loc.start,t.loc.end):e&&e.loc}}class f0{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new f0(t,u0.range(this,e))}}class M{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var a="KaTeX parse error: "+e,n,s,o=t&&t.loc;if(o&&o.start<=o.end){var h=o.lexer.input;n=o.start,s=o.end,n===h.length?a+=" at end of input: ":a+=" at position "+(n+1)+": ";var c=h.slice(n,s).replace(/[^]/g,"$&̲"),p;n>15?p="…"+h.slice(n-15,n):p=h.slice(0,n);var g;s+15":">","<":"<",'"':""","'":"'"},ba=/[&><"']/g;function ya(r){return String(r).replace(ba,e=>ga[e])}var pr=function r(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?r(e.body[0]):e:e.type==="font"?r(e.body):e},xa=function(e){var t=pr(e);return t.type==="mathord"||t.type==="textord"||t.type==="atom"},wa=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},ka=function(e){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},q={contains:da,deflt:fa,escape:ya,hyphenate:va,getBaseElem:pr,isCharacterBox:xa,protocolFromUrl:ka},ze={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:r=>"#"+r},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(r,e)=>(e.push(r),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:r=>Math.max(0,r),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:r=>Math.max(0,r),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:r=>Math.max(0,r),cli:"-e, --max-expand ",cliProcessor:r=>r==="Infinity"?1/0:parseInt(r)},globalGroup:{type:"boolean",cli:!1}};function Sa(r){if(r.default)return r.default;var e=r.type,t=Array.isArray(e)?e[0]:e;if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class ct{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var t in ze)if(ze.hasOwnProperty(t)){var a=ze[t];this[t]=e[t]!==void 0?a.processor?a.processor(e[t]):e[t]:Sa(a)}}reportNonstrict(e,t,a){var n=this.strict;if(typeof n=="function"&&(n=n(e,t,a)),!(!n||n==="ignore")){if(n===!0||n==="error")throw new M("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),a);n==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,a){var n=this.strict;if(typeof n=="function")try{n=n(e,t,a)}catch{n="error"}return!n||n==="ignore"?!1:n===!0||n==="error"?!0:n==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var t=q.protocolFromUrl(e.url);if(t==null)return!1;e.protocol=t}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}}class O0{constructor(e,t,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=a}sup(){return y0[Ma[this.id]]}sub(){return y0[za[this.id]]}fracNum(){return y0[Aa[this.id]]}fracDen(){return y0[Ta[this.id]]}cramp(){return y0[Ba[this.id]]}text(){return y0[Da[this.id]]}isTight(){return this.size>=2}}var dt=0,Te=1,_0=2,T0=3,le=4,d0=5,ee=6,n0=7,y0=[new O0(dt,0,!1),new O0(Te,0,!0),new O0(_0,1,!1),new O0(T0,1,!0),new O0(le,2,!1),new O0(d0,2,!0),new O0(ee,3,!1),new O0(n0,3,!0)],Ma=[le,d0,le,d0,ee,n0,ee,n0],za=[d0,d0,d0,d0,n0,n0,n0,n0],Aa=[_0,T0,le,d0,ee,n0,ee,n0],Ta=[T0,T0,d0,d0,n0,n0,n0,n0],Ba=[Te,Te,T0,T0,d0,d0,n0,n0],Da=[dt,Te,_0,T0,_0,T0,_0,T0],R={DISPLAY:y0[dt],TEXT:y0[_0],SCRIPT:y0[le],SCRIPTSCRIPT:y0[ee]},at=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function Ca(r){for(var e=0;e=n[0]&&r<=n[1])return t.name}return null}var Ae=[];at.forEach(r=>r.blocks.forEach(e=>Ae.push(...e)));function vr(r){for(var e=0;e=Ae[e]&&r<=Ae[e+1])return!0;return!1}var Q0=80,Na=function(e,t){return"M95,"+(622+e+t)+` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+e/2.075+" -"+e+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+e)+`H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M`+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},qa=function(e,t){return"M263,"+(601+e+t)+`c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l`+e/2.084+" -"+e+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+e)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Ea=function(e,t){return"M983 "+(10+e+t)+` +l`+e/3.13+" -"+e+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Ra=function(e,t){return"M424,"+(2398+e+t)+` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+e)+`H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+t+` +h400000v`+(40+e)+"h-400000z"},Ia=function(e,t){return"M473,"+(2713+e+t)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM`+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"},Oa=function(e){var t=e/2;return"M400000 "+e+" H0 L"+t+" 0 l65 45 L145 "+(e-80)+" H400000z"},Fa=function(e,t,a){var n=a-54-t-e;return"M702 "+(e+t)+"H400000"+(40+e)+` +H742v`+n+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 `+t+"H400000v"+(40+e)+"H742z"},Ha=function(e,t,a){t=1e3*t;var n="";switch(e){case"sqrtMain":n=Na(t,Q0);break;case"sqrtSize1":n=qa(t,Q0);break;case"sqrtSize2":n=Ea(t,Q0);break;case"sqrtSize3":n=Ra(t,Q0);break;case"sqrtSize4":n=Ia(t,Q0);break;case"sqrtTall":n=Fa(t,Q0,a)}return n},La=function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z"+("M367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z");case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257z"+("M478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z");default:return""}},It={doubleleftarrow:`M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},Pa=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z +M367 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v602 h84z +M403 1759 V0 H319 V1759 v`+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v602 h84z +M347 1759 V0 h-84 V1759 v`+t+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(t+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(t+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(t+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class ue{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return q.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),t=0;tt.toText();return this.children.map(e).join("")}}var x0={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},ve={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Ot={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function Ga(r,e){x0[r]=e}function ft(r,e,t){if(!x0[e])throw new Error("Font metrics not found for font: "+e+".");var a=r.charCodeAt(0),n=x0[e][a];if(!n&&r[0]in Ot&&(a=Ot[r[0]].charCodeAt(0),n=x0[e][a]),!n&&t==="text"&&vr(a)&&(n=x0[e][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var Ue={};function Va(r){var e;if(r>=5?e=0:r>=3?e=1:e=2,!Ue[e]){var t=Ue[e]={cssEmPerMu:ve.quad[e]/18};for(var a in ve)ve.hasOwnProperty(a)&&(t[a]=ve[a][e])}return Ue[e]}var Ua=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Ft=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Ht=function(e,t){return t.size<2?e:Ua[e-1][t.size-1]};class A0{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||A0.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=Ft[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var a in e)e.hasOwnProperty(a)&&(t[a]=e[a]);return new A0(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:Ht(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:Ft[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=Ht(A0.BASESIZE,e);return this.size===t&&this.textSize===A0.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==A0.BASESIZE?["sizing","reset-size"+this.size,"size"+A0.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=Va(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}A0.BASESIZE=6;var nt={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},Ya={ex:!0,em:!0,mu:!0},gr=function(e){return typeof e!="string"&&(e=e.unit),e in nt||e in Ya||e==="ex"},K=function(e,t){var a;if(e.unit in nt)a=nt[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit==="mu")a=t.fontMetrics().cssEmPerMu;else{var n;if(t.style.isTight()?n=t.havingStyle(t.style.text()):n=t,e.unit==="ex")a=n.fontMetrics().xHeight;else if(e.unit==="em")a=n.fontMetrics().quad;else throw new M("Invalid unit: '"+e.unit+"'");n!==t&&(a*=n.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*a,t.maxSize)},A=function(e){return+e.toFixed(4)+"em"},L0=function(e){return e.filter(t=>t).join(" ")},br=function(e,t,a){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},t){t.style.isTight()&&this.classes.push("mtight");var n=t.getColor();n&&(this.style.color=n)}},yr=function(e){var t=document.createElement(e);t.className=L0(this.classes);for(var a in this.style)this.style.hasOwnProperty(a)&&(t.style[a]=this.style[a]);for(var n in this.attributes)this.attributes.hasOwnProperty(n)&&t.setAttribute(n,this.attributes[n]);for(var s=0;s",t};class he{constructor(e,t,a,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,br.call(this,e,a,n),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return q.contains(this.classes,e)}toNode(){return yr.call(this,"span")}toMarkup(){return xr.call(this,"span")}}class pt{constructor(e,t,a,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,br.call(this,t,n),this.children=a||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return q.contains(this.classes,e)}toNode(){return yr.call(this,"a")}toMarkup(){return xr.call(this,"a")}}class Xa{constructor(e,t,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=a}hasClass(e){return q.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){var e=''+q.escape(this.alt)+'0&&(t=document.createElement("span"),t.style.marginRight=A(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=L0(this.classes));for(var a in this.style)this.style.hasOwnProperty(a)&&(t=t||document.createElement("span"),t.style[a]=this.style[a]);return t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="0&&(a+="margin-right:"+this.italic+"em;");for(var n in this.style)this.style.hasOwnProperty(n)&&(a+=q.hyphenate(n)+":"+this.style[n]+";");a&&(e=!0,t+=' style="'+q.escape(a)+'"');var s=q.escape(this.text);return e?(t+=">",t+=s,t+="",t):s}}class D0{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);for(var n=0;n':''}}class it{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"line");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);return t}toMarkup(){var e=" but got "+String(r)+".")}var ja={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Za={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},$={math:{},text:{}};function i(r,e,t,a,n,s){$[r][n]={font:e,group:t,replace:a},s&&a&&($[r][a]=$[r][n])}var l="math",k="text",u="main",d="ams",W="accent-token",D="bin",i0="close",te="inner",E="mathord",_="op-token",h0="open",qe="punct",f="rel",q0="spacing",v="textord";i(l,u,f,"≡","\\equiv",!0);i(l,u,f,"≺","\\prec",!0);i(l,u,f,"≻","\\succ",!0);i(l,u,f,"∼","\\sim",!0);i(l,u,f,"⊥","\\perp");i(l,u,f,"⪯","\\preceq",!0);i(l,u,f,"⪰","\\succeq",!0);i(l,u,f,"≃","\\simeq",!0);i(l,u,f,"∣","\\mid",!0);i(l,u,f,"≪","\\ll",!0);i(l,u,f,"≫","\\gg",!0);i(l,u,f,"≍","\\asymp",!0);i(l,u,f,"∥","\\parallel");i(l,u,f,"⋈","\\bowtie",!0);i(l,u,f,"⌣","\\smile",!0);i(l,u,f,"⊑","\\sqsubseteq",!0);i(l,u,f,"⊒","\\sqsupseteq",!0);i(l,u,f,"≐","\\doteq",!0);i(l,u,f,"⌢","\\frown",!0);i(l,u,f,"∋","\\ni",!0);i(l,u,f,"∝","\\propto",!0);i(l,u,f,"⊢","\\vdash",!0);i(l,u,f,"⊣","\\dashv",!0);i(l,u,f,"∋","\\owns");i(l,u,qe,".","\\ldotp");i(l,u,qe,"⋅","\\cdotp");i(l,u,v,"#","\\#");i(k,u,v,"#","\\#");i(l,u,v,"&","\\&");i(k,u,v,"&","\\&");i(l,u,v,"ℵ","\\aleph",!0);i(l,u,v,"∀","\\forall",!0);i(l,u,v,"ℏ","\\hbar",!0);i(l,u,v,"∃","\\exists",!0);i(l,u,v,"∇","\\nabla",!0);i(l,u,v,"♭","\\flat",!0);i(l,u,v,"ℓ","\\ell",!0);i(l,u,v,"♮","\\natural",!0);i(l,u,v,"♣","\\clubsuit",!0);i(l,u,v,"℘","\\wp",!0);i(l,u,v,"♯","\\sharp",!0);i(l,u,v,"♢","\\diamondsuit",!0);i(l,u,v,"ℜ","\\Re",!0);i(l,u,v,"♡","\\heartsuit",!0);i(l,u,v,"ℑ","\\Im",!0);i(l,u,v,"♠","\\spadesuit",!0);i(l,u,v,"§","\\S",!0);i(k,u,v,"§","\\S");i(l,u,v,"¶","\\P",!0);i(k,u,v,"¶","\\P");i(l,u,v,"†","\\dag");i(k,u,v,"†","\\dag");i(k,u,v,"†","\\textdagger");i(l,u,v,"‡","\\ddag");i(k,u,v,"‡","\\ddag");i(k,u,v,"‡","\\textdaggerdbl");i(l,u,i0,"⎱","\\rmoustache",!0);i(l,u,h0,"⎰","\\lmoustache",!0);i(l,u,i0,"⟯","\\rgroup",!0);i(l,u,h0,"⟮","\\lgroup",!0);i(l,u,D,"∓","\\mp",!0);i(l,u,D,"⊖","\\ominus",!0);i(l,u,D,"⊎","\\uplus",!0);i(l,u,D,"⊓","\\sqcap",!0);i(l,u,D,"∗","\\ast");i(l,u,D,"⊔","\\sqcup",!0);i(l,u,D,"◯","\\bigcirc",!0);i(l,u,D,"∙","\\bullet",!0);i(l,u,D,"‡","\\ddagger");i(l,u,D,"≀","\\wr",!0);i(l,u,D,"⨿","\\amalg");i(l,u,D,"&","\\And");i(l,u,f,"⟵","\\longleftarrow",!0);i(l,u,f,"⇐","\\Leftarrow",!0);i(l,u,f,"⟸","\\Longleftarrow",!0);i(l,u,f,"⟶","\\longrightarrow",!0);i(l,u,f,"⇒","\\Rightarrow",!0);i(l,u,f,"⟹","\\Longrightarrow",!0);i(l,u,f,"↔","\\leftrightarrow",!0);i(l,u,f,"⟷","\\longleftrightarrow",!0);i(l,u,f,"⇔","\\Leftrightarrow",!0);i(l,u,f,"⟺","\\Longleftrightarrow",!0);i(l,u,f,"↦","\\mapsto",!0);i(l,u,f,"⟼","\\longmapsto",!0);i(l,u,f,"↗","\\nearrow",!0);i(l,u,f,"↩","\\hookleftarrow",!0);i(l,u,f,"↪","\\hookrightarrow",!0);i(l,u,f,"↘","\\searrow",!0);i(l,u,f,"↼","\\leftharpoonup",!0);i(l,u,f,"⇀","\\rightharpoonup",!0);i(l,u,f,"↙","\\swarrow",!0);i(l,u,f,"↽","\\leftharpoondown",!0);i(l,u,f,"⇁","\\rightharpoondown",!0);i(l,u,f,"↖","\\nwarrow",!0);i(l,u,f,"⇌","\\rightleftharpoons",!0);i(l,d,f,"≮","\\nless",!0);i(l,d,f,"","\\@nleqslant");i(l,d,f,"","\\@nleqq");i(l,d,f,"⪇","\\lneq",!0);i(l,d,f,"≨","\\lneqq",!0);i(l,d,f,"","\\@lvertneqq");i(l,d,f,"⋦","\\lnsim",!0);i(l,d,f,"⪉","\\lnapprox",!0);i(l,d,f,"⊀","\\nprec",!0);i(l,d,f,"⋠","\\npreceq",!0);i(l,d,f,"⋨","\\precnsim",!0);i(l,d,f,"⪹","\\precnapprox",!0);i(l,d,f,"≁","\\nsim",!0);i(l,d,f,"","\\@nshortmid");i(l,d,f,"∤","\\nmid",!0);i(l,d,f,"⊬","\\nvdash",!0);i(l,d,f,"⊭","\\nvDash",!0);i(l,d,f,"⋪","\\ntriangleleft");i(l,d,f,"⋬","\\ntrianglelefteq",!0);i(l,d,f,"⊊","\\subsetneq",!0);i(l,d,f,"","\\@varsubsetneq");i(l,d,f,"⫋","\\subsetneqq",!0);i(l,d,f,"","\\@varsubsetneqq");i(l,d,f,"≯","\\ngtr",!0);i(l,d,f,"","\\@ngeqslant");i(l,d,f,"","\\@ngeqq");i(l,d,f,"⪈","\\gneq",!0);i(l,d,f,"≩","\\gneqq",!0);i(l,d,f,"","\\@gvertneqq");i(l,d,f,"⋧","\\gnsim",!0);i(l,d,f,"⪊","\\gnapprox",!0);i(l,d,f,"⊁","\\nsucc",!0);i(l,d,f,"⋡","\\nsucceq",!0);i(l,d,f,"⋩","\\succnsim",!0);i(l,d,f,"⪺","\\succnapprox",!0);i(l,d,f,"≆","\\ncong",!0);i(l,d,f,"","\\@nshortparallel");i(l,d,f,"∦","\\nparallel",!0);i(l,d,f,"⊯","\\nVDash",!0);i(l,d,f,"⋫","\\ntriangleright");i(l,d,f,"⋭","\\ntrianglerighteq",!0);i(l,d,f,"","\\@nsupseteqq");i(l,d,f,"⊋","\\supsetneq",!0);i(l,d,f,"","\\@varsupsetneq");i(l,d,f,"⫌","\\supsetneqq",!0);i(l,d,f,"","\\@varsupsetneqq");i(l,d,f,"⊮","\\nVdash",!0);i(l,d,f,"⪵","\\precneqq",!0);i(l,d,f,"⪶","\\succneqq",!0);i(l,d,f,"","\\@nsubseteqq");i(l,d,D,"⊴","\\unlhd");i(l,d,D,"⊵","\\unrhd");i(l,d,f,"↚","\\nleftarrow",!0);i(l,d,f,"↛","\\nrightarrow",!0);i(l,d,f,"⇍","\\nLeftarrow",!0);i(l,d,f,"⇏","\\nRightarrow",!0);i(l,d,f,"↮","\\nleftrightarrow",!0);i(l,d,f,"⇎","\\nLeftrightarrow",!0);i(l,d,f,"△","\\vartriangle");i(l,d,v,"ℏ","\\hslash");i(l,d,v,"▽","\\triangledown");i(l,d,v,"◊","\\lozenge");i(l,d,v,"Ⓢ","\\circledS");i(l,d,v,"®","\\circledR");i(k,d,v,"®","\\circledR");i(l,d,v,"∡","\\measuredangle",!0);i(l,d,v,"∄","\\nexists");i(l,d,v,"℧","\\mho");i(l,d,v,"Ⅎ","\\Finv",!0);i(l,d,v,"⅁","\\Game",!0);i(l,d,v,"‵","\\backprime");i(l,d,v,"▲","\\blacktriangle");i(l,d,v,"▼","\\blacktriangledown");i(l,d,v,"■","\\blacksquare");i(l,d,v,"⧫","\\blacklozenge");i(l,d,v,"★","\\bigstar");i(l,d,v,"∢","\\sphericalangle",!0);i(l,d,v,"∁","\\complement",!0);i(l,d,v,"ð","\\eth",!0);i(k,u,v,"ð","ð");i(l,d,v,"╱","\\diagup");i(l,d,v,"╲","\\diagdown");i(l,d,v,"□","\\square");i(l,d,v,"□","\\Box");i(l,d,v,"◊","\\Diamond");i(l,d,v,"¥","\\yen",!0);i(k,d,v,"¥","\\yen",!0);i(l,d,v,"✓","\\checkmark",!0);i(k,d,v,"✓","\\checkmark");i(l,d,v,"ℶ","\\beth",!0);i(l,d,v,"ℸ","\\daleth",!0);i(l,d,v,"ℷ","\\gimel",!0);i(l,d,v,"ϝ","\\digamma",!0);i(l,d,v,"ϰ","\\varkappa");i(l,d,h0,"┌","\\@ulcorner",!0);i(l,d,i0,"┐","\\@urcorner",!0);i(l,d,h0,"└","\\@llcorner",!0);i(l,d,i0,"┘","\\@lrcorner",!0);i(l,d,f,"≦","\\leqq",!0);i(l,d,f,"⩽","\\leqslant",!0);i(l,d,f,"⪕","\\eqslantless",!0);i(l,d,f,"≲","\\lesssim",!0);i(l,d,f,"⪅","\\lessapprox",!0);i(l,d,f,"≊","\\approxeq",!0);i(l,d,D,"⋖","\\lessdot");i(l,d,f,"⋘","\\lll",!0);i(l,d,f,"≶","\\lessgtr",!0);i(l,d,f,"⋚","\\lesseqgtr",!0);i(l,d,f,"⪋","\\lesseqqgtr",!0);i(l,d,f,"≑","\\doteqdot");i(l,d,f,"≓","\\risingdotseq",!0);i(l,d,f,"≒","\\fallingdotseq",!0);i(l,d,f,"∽","\\backsim",!0);i(l,d,f,"⋍","\\backsimeq",!0);i(l,d,f,"⫅","\\subseteqq",!0);i(l,d,f,"⋐","\\Subset",!0);i(l,d,f,"⊏","\\sqsubset",!0);i(l,d,f,"≼","\\preccurlyeq",!0);i(l,d,f,"⋞","\\curlyeqprec",!0);i(l,d,f,"≾","\\precsim",!0);i(l,d,f,"⪷","\\precapprox",!0);i(l,d,f,"⊲","\\vartriangleleft");i(l,d,f,"⊴","\\trianglelefteq");i(l,d,f,"⊨","\\vDash",!0);i(l,d,f,"⊪","\\Vvdash",!0);i(l,d,f,"⌣","\\smallsmile");i(l,d,f,"⌢","\\smallfrown");i(l,d,f,"≏","\\bumpeq",!0);i(l,d,f,"≎","\\Bumpeq",!0);i(l,d,f,"≧","\\geqq",!0);i(l,d,f,"⩾","\\geqslant",!0);i(l,d,f,"⪖","\\eqslantgtr",!0);i(l,d,f,"≳","\\gtrsim",!0);i(l,d,f,"⪆","\\gtrapprox",!0);i(l,d,D,"⋗","\\gtrdot");i(l,d,f,"⋙","\\ggg",!0);i(l,d,f,"≷","\\gtrless",!0);i(l,d,f,"⋛","\\gtreqless",!0);i(l,d,f,"⪌","\\gtreqqless",!0);i(l,d,f,"≖","\\eqcirc",!0);i(l,d,f,"≗","\\circeq",!0);i(l,d,f,"≜","\\triangleq",!0);i(l,d,f,"∼","\\thicksim");i(l,d,f,"≈","\\thickapprox");i(l,d,f,"⫆","\\supseteqq",!0);i(l,d,f,"⋑","\\Supset",!0);i(l,d,f,"⊐","\\sqsupset",!0);i(l,d,f,"≽","\\succcurlyeq",!0);i(l,d,f,"⋟","\\curlyeqsucc",!0);i(l,d,f,"≿","\\succsim",!0);i(l,d,f,"⪸","\\succapprox",!0);i(l,d,f,"⊳","\\vartriangleright");i(l,d,f,"⊵","\\trianglerighteq");i(l,d,f,"⊩","\\Vdash",!0);i(l,d,f,"∣","\\shortmid");i(l,d,f,"∥","\\shortparallel");i(l,d,f,"≬","\\between",!0);i(l,d,f,"⋔","\\pitchfork",!0);i(l,d,f,"∝","\\varpropto");i(l,d,f,"◀","\\blacktriangleleft");i(l,d,f,"∴","\\therefore",!0);i(l,d,f,"∍","\\backepsilon");i(l,d,f,"▶","\\blacktriangleright");i(l,d,f,"∵","\\because",!0);i(l,d,f,"⋘","\\llless");i(l,d,f,"⋙","\\gggtr");i(l,d,D,"⊲","\\lhd");i(l,d,D,"⊳","\\rhd");i(l,d,f,"≂","\\eqsim",!0);i(l,u,f,"⋈","\\Join");i(l,d,f,"≑","\\Doteq",!0);i(l,d,D,"∔","\\dotplus",!0);i(l,d,D,"∖","\\smallsetminus");i(l,d,D,"⋒","\\Cap",!0);i(l,d,D,"⋓","\\Cup",!0);i(l,d,D,"⩞","\\doublebarwedge",!0);i(l,d,D,"⊟","\\boxminus",!0);i(l,d,D,"⊞","\\boxplus",!0);i(l,d,D,"⋇","\\divideontimes",!0);i(l,d,D,"⋉","\\ltimes",!0);i(l,d,D,"⋊","\\rtimes",!0);i(l,d,D,"⋋","\\leftthreetimes",!0);i(l,d,D,"⋌","\\rightthreetimes",!0);i(l,d,D,"⋏","\\curlywedge",!0);i(l,d,D,"⋎","\\curlyvee",!0);i(l,d,D,"⊝","\\circleddash",!0);i(l,d,D,"⊛","\\circledast",!0);i(l,d,D,"⋅","\\centerdot");i(l,d,D,"⊺","\\intercal",!0);i(l,d,D,"⋒","\\doublecap");i(l,d,D,"⋓","\\doublecup");i(l,d,D,"⊠","\\boxtimes",!0);i(l,d,f,"⇢","\\dashrightarrow",!0);i(l,d,f,"⇠","\\dashleftarrow",!0);i(l,d,f,"⇇","\\leftleftarrows",!0);i(l,d,f,"⇆","\\leftrightarrows",!0);i(l,d,f,"⇚","\\Lleftarrow",!0);i(l,d,f,"↞","\\twoheadleftarrow",!0);i(l,d,f,"↢","\\leftarrowtail",!0);i(l,d,f,"↫","\\looparrowleft",!0);i(l,d,f,"⇋","\\leftrightharpoons",!0);i(l,d,f,"↶","\\curvearrowleft",!0);i(l,d,f,"↺","\\circlearrowleft",!0);i(l,d,f,"↰","\\Lsh",!0);i(l,d,f,"⇈","\\upuparrows",!0);i(l,d,f,"↿","\\upharpoonleft",!0);i(l,d,f,"⇃","\\downharpoonleft",!0);i(l,u,f,"⊶","\\origof",!0);i(l,u,f,"⊷","\\imageof",!0);i(l,d,f,"⊸","\\multimap",!0);i(l,d,f,"↭","\\leftrightsquigarrow",!0);i(l,d,f,"⇉","\\rightrightarrows",!0);i(l,d,f,"⇄","\\rightleftarrows",!0);i(l,d,f,"↠","\\twoheadrightarrow",!0);i(l,d,f,"↣","\\rightarrowtail",!0);i(l,d,f,"↬","\\looparrowright",!0);i(l,d,f,"↷","\\curvearrowright",!0);i(l,d,f,"↻","\\circlearrowright",!0);i(l,d,f,"↱","\\Rsh",!0);i(l,d,f,"⇊","\\downdownarrows",!0);i(l,d,f,"↾","\\upharpoonright",!0);i(l,d,f,"⇂","\\downharpoonright",!0);i(l,d,f,"⇝","\\rightsquigarrow",!0);i(l,d,f,"⇝","\\leadsto");i(l,d,f,"⇛","\\Rrightarrow",!0);i(l,d,f,"↾","\\restriction");i(l,u,v,"‘","`");i(l,u,v,"$","\\$");i(k,u,v,"$","\\$");i(k,u,v,"$","\\textdollar");i(l,u,v,"%","\\%");i(k,u,v,"%","\\%");i(l,u,v,"_","\\_");i(k,u,v,"_","\\_");i(k,u,v,"_","\\textunderscore");i(l,u,v,"∠","\\angle",!0);i(l,u,v,"∞","\\infty",!0);i(l,u,v,"′","\\prime");i(l,u,v,"△","\\triangle");i(l,u,v,"Γ","\\Gamma",!0);i(l,u,v,"Δ","\\Delta",!0);i(l,u,v,"Θ","\\Theta",!0);i(l,u,v,"Λ","\\Lambda",!0);i(l,u,v,"Ξ","\\Xi",!0);i(l,u,v,"Π","\\Pi",!0);i(l,u,v,"Σ","\\Sigma",!0);i(l,u,v,"Υ","\\Upsilon",!0);i(l,u,v,"Φ","\\Phi",!0);i(l,u,v,"Ψ","\\Psi",!0);i(l,u,v,"Ω","\\Omega",!0);i(l,u,v,"A","Α");i(l,u,v,"B","Β");i(l,u,v,"E","Ε");i(l,u,v,"Z","Ζ");i(l,u,v,"H","Η");i(l,u,v,"I","Ι");i(l,u,v,"K","Κ");i(l,u,v,"M","Μ");i(l,u,v,"N","Ν");i(l,u,v,"O","Ο");i(l,u,v,"P","Ρ");i(l,u,v,"T","Τ");i(l,u,v,"X","Χ");i(l,u,v,"¬","\\neg",!0);i(l,u,v,"¬","\\lnot");i(l,u,v,"⊤","\\top");i(l,u,v,"⊥","\\bot");i(l,u,v,"∅","\\emptyset");i(l,d,v,"∅","\\varnothing");i(l,u,E,"α","\\alpha",!0);i(l,u,E,"β","\\beta",!0);i(l,u,E,"γ","\\gamma",!0);i(l,u,E,"δ","\\delta",!0);i(l,u,E,"ϵ","\\epsilon",!0);i(l,u,E,"ζ","\\zeta",!0);i(l,u,E,"η","\\eta",!0);i(l,u,E,"θ","\\theta",!0);i(l,u,E,"ι","\\iota",!0);i(l,u,E,"κ","\\kappa",!0);i(l,u,E,"λ","\\lambda",!0);i(l,u,E,"μ","\\mu",!0);i(l,u,E,"ν","\\nu",!0);i(l,u,E,"ξ","\\xi",!0);i(l,u,E,"ο","\\omicron",!0);i(l,u,E,"π","\\pi",!0);i(l,u,E,"ρ","\\rho",!0);i(l,u,E,"σ","\\sigma",!0);i(l,u,E,"τ","\\tau",!0);i(l,u,E,"υ","\\upsilon",!0);i(l,u,E,"ϕ","\\phi",!0);i(l,u,E,"χ","\\chi",!0);i(l,u,E,"ψ","\\psi",!0);i(l,u,E,"ω","\\omega",!0);i(l,u,E,"ε","\\varepsilon",!0);i(l,u,E,"ϑ","\\vartheta",!0);i(l,u,E,"ϖ","\\varpi",!0);i(l,u,E,"ϱ","\\varrho",!0);i(l,u,E,"ς","\\varsigma",!0);i(l,u,E,"φ","\\varphi",!0);i(l,u,D,"∗","*",!0);i(l,u,D,"+","+");i(l,u,D,"−","-",!0);i(l,u,D,"⋅","\\cdot",!0);i(l,u,D,"∘","\\circ",!0);i(l,u,D,"÷","\\div",!0);i(l,u,D,"±","\\pm",!0);i(l,u,D,"×","\\times",!0);i(l,u,D,"∩","\\cap",!0);i(l,u,D,"∪","\\cup",!0);i(l,u,D,"∖","\\setminus",!0);i(l,u,D,"∧","\\land");i(l,u,D,"∨","\\lor");i(l,u,D,"∧","\\wedge",!0);i(l,u,D,"∨","\\vee",!0);i(l,u,v,"√","\\surd");i(l,u,h0,"⟨","\\langle",!0);i(l,u,h0,"∣","\\lvert");i(l,u,h0,"∥","\\lVert");i(l,u,i0,"?","?");i(l,u,i0,"!","!");i(l,u,i0,"⟩","\\rangle",!0);i(l,u,i0,"∣","\\rvert");i(l,u,i0,"∥","\\rVert");i(l,u,f,"=","=");i(l,u,f,":",":");i(l,u,f,"≈","\\approx",!0);i(l,u,f,"≅","\\cong",!0);i(l,u,f,"≥","\\ge");i(l,u,f,"≥","\\geq",!0);i(l,u,f,"←","\\gets");i(l,u,f,">","\\gt",!0);i(l,u,f,"∈","\\in",!0);i(l,u,f,"","\\@not");i(l,u,f,"⊂","\\subset",!0);i(l,u,f,"⊃","\\supset",!0);i(l,u,f,"⊆","\\subseteq",!0);i(l,u,f,"⊇","\\supseteq",!0);i(l,d,f,"⊈","\\nsubseteq",!0);i(l,d,f,"⊉","\\nsupseteq",!0);i(l,u,f,"⊨","\\models");i(l,u,f,"←","\\leftarrow",!0);i(l,u,f,"≤","\\le");i(l,u,f,"≤","\\leq",!0);i(l,u,f,"<","\\lt",!0);i(l,u,f,"→","\\rightarrow",!0);i(l,u,f,"→","\\to");i(l,d,f,"≱","\\ngeq",!0);i(l,d,f,"≰","\\nleq",!0);i(l,u,q0," ","\\ ");i(l,u,q0," ","\\space");i(l,u,q0," ","\\nobreakspace");i(k,u,q0," ","\\ ");i(k,u,q0," "," ");i(k,u,q0," ","\\space");i(k,u,q0," ","\\nobreakspace");i(l,u,q0,null,"\\nobreak");i(l,u,q0,null,"\\allowbreak");i(l,u,qe,",",",");i(l,u,qe,";",";");i(l,d,D,"⊼","\\barwedge",!0);i(l,d,D,"⊻","\\veebar",!0);i(l,u,D,"⊙","\\odot",!0);i(l,u,D,"⊕","\\oplus",!0);i(l,u,D,"⊗","\\otimes",!0);i(l,u,v,"∂","\\partial",!0);i(l,u,D,"⊘","\\oslash",!0);i(l,d,D,"⊚","\\circledcirc",!0);i(l,d,D,"⊡","\\boxdot",!0);i(l,u,D,"△","\\bigtriangleup");i(l,u,D,"▽","\\bigtriangledown");i(l,u,D,"†","\\dagger");i(l,u,D,"⋄","\\diamond");i(l,u,D,"⋆","\\star");i(l,u,D,"◃","\\triangleleft");i(l,u,D,"▹","\\triangleright");i(l,u,h0,"{","\\{");i(k,u,v,"{","\\{");i(k,u,v,"{","\\textbraceleft");i(l,u,i0,"}","\\}");i(k,u,v,"}","\\}");i(k,u,v,"}","\\textbraceright");i(l,u,h0,"{","\\lbrace");i(l,u,i0,"}","\\rbrace");i(l,u,h0,"[","\\lbrack",!0);i(k,u,v,"[","\\lbrack",!0);i(l,u,i0,"]","\\rbrack",!0);i(k,u,v,"]","\\rbrack",!0);i(l,u,h0,"(","\\lparen",!0);i(l,u,i0,")","\\rparen",!0);i(k,u,v,"<","\\textless",!0);i(k,u,v,">","\\textgreater",!0);i(l,u,h0,"⌊","\\lfloor",!0);i(l,u,i0,"⌋","\\rfloor",!0);i(l,u,h0,"⌈","\\lceil",!0);i(l,u,i0,"⌉","\\rceil",!0);i(l,u,v,"\\","\\backslash");i(l,u,v,"∣","|");i(l,u,v,"∣","\\vert");i(k,u,v,"|","\\textbar",!0);i(l,u,v,"∥","\\|");i(l,u,v,"∥","\\Vert");i(k,u,v,"∥","\\textbardbl");i(k,u,v,"~","\\textasciitilde");i(k,u,v,"\\","\\textbackslash");i(k,u,v,"^","\\textasciicircum");i(l,u,f,"↑","\\uparrow",!0);i(l,u,f,"⇑","\\Uparrow",!0);i(l,u,f,"↓","\\downarrow",!0);i(l,u,f,"⇓","\\Downarrow",!0);i(l,u,f,"↕","\\updownarrow",!0);i(l,u,f,"⇕","\\Updownarrow",!0);i(l,u,_,"∐","\\coprod");i(l,u,_,"⋁","\\bigvee");i(l,u,_,"⋀","\\bigwedge");i(l,u,_,"⨄","\\biguplus");i(l,u,_,"⋂","\\bigcap");i(l,u,_,"⋃","\\bigcup");i(l,u,_,"∫","\\int");i(l,u,_,"∫","\\intop");i(l,u,_,"∬","\\iint");i(l,u,_,"∭","\\iiint");i(l,u,_,"∏","\\prod");i(l,u,_,"∑","\\sum");i(l,u,_,"⨂","\\bigotimes");i(l,u,_,"⨁","\\bigoplus");i(l,u,_,"⨀","\\bigodot");i(l,u,_,"∮","\\oint");i(l,u,_,"∯","\\oiint");i(l,u,_,"∰","\\oiiint");i(l,u,_,"⨆","\\bigsqcup");i(l,u,_,"∫","\\smallint");i(k,u,te,"…","\\textellipsis");i(l,u,te,"…","\\mathellipsis");i(k,u,te,"…","\\ldots",!0);i(l,u,te,"…","\\ldots",!0);i(l,u,te,"⋯","\\@cdots",!0);i(l,u,te,"⋱","\\ddots",!0);i(l,u,v,"⋮","\\varvdots");i(k,u,v,"⋮","\\varvdots");i(l,u,W,"ˊ","\\acute");i(l,u,W,"ˋ","\\grave");i(l,u,W,"¨","\\ddot");i(l,u,W,"~","\\tilde");i(l,u,W,"ˉ","\\bar");i(l,u,W,"˘","\\breve");i(l,u,W,"ˇ","\\check");i(l,u,W,"^","\\hat");i(l,u,W,"⃗","\\vec");i(l,u,W,"˙","\\dot");i(l,u,W,"˚","\\mathring");i(l,u,E,"","\\@imath");i(l,u,E,"","\\@jmath");i(l,u,v,"ı","ı");i(l,u,v,"ȷ","ȷ");i(k,u,v,"ı","\\i",!0);i(k,u,v,"ȷ","\\j",!0);i(k,u,v,"ß","\\ss",!0);i(k,u,v,"æ","\\ae",!0);i(k,u,v,"œ","\\oe",!0);i(k,u,v,"ø","\\o",!0);i(k,u,v,"Æ","\\AE",!0);i(k,u,v,"Œ","\\OE",!0);i(k,u,v,"Ø","\\O",!0);i(k,u,W,"ˊ","\\'");i(k,u,W,"ˋ","\\`");i(k,u,W,"ˆ","\\^");i(k,u,W,"˜","\\~");i(k,u,W,"ˉ","\\=");i(k,u,W,"˘","\\u");i(k,u,W,"˙","\\.");i(k,u,W,"¸","\\c");i(k,u,W,"˚","\\r");i(k,u,W,"ˇ","\\v");i(k,u,W,"¨",'\\"');i(k,u,W,"˝","\\H");i(k,u,W,"◯","\\textcircled");var wr={"--":!0,"---":!0,"``":!0,"''":!0};i(k,u,v,"–","--",!0);i(k,u,v,"–","\\textendash");i(k,u,v,"—","---",!0);i(k,u,v,"—","\\textemdash");i(k,u,v,"‘","`",!0);i(k,u,v,"‘","\\textquoteleft");i(k,u,v,"’","'",!0);i(k,u,v,"’","\\textquoteright");i(k,u,v,"“","``",!0);i(k,u,v,"“","\\textquotedblleft");i(k,u,v,"”","''",!0);i(k,u,v,"”","\\textquotedblright");i(l,u,v,"°","\\degree",!0);i(k,u,v,"°","\\degree");i(k,u,v,"°","\\textdegree",!0);i(l,u,v,"£","\\pounds");i(l,u,v,"£","\\mathsterling",!0);i(k,u,v,"£","\\pounds");i(k,u,v,"£","\\textsterling",!0);i(l,d,v,"✠","\\maltese");i(k,d,v,"✠","\\maltese");var Pt='0123456789/@."';for(var Ye=0;Ye0)return b0(s,p,n,t,o.concat(g));if(c){var y,w;if(c==="boldsymbol"){var x=Qa(s,n,t,o,a);y=x.fontName,w=[x.fontClass]}else h?(y=Mr[c].fontName,w=[c]):(y=xe(c,t.fontWeight,t.fontShape),w=[c,t.fontWeight,t.fontShape]);if(Ee(s,y,n).metrics)return b0(s,y,n,t,o.concat(w));if(wr.hasOwnProperty(s)&&y.slice(0,10)==="Typewriter"){for(var z=[],T=0;T{if(L0(r.classes)!==L0(e.classes)||r.skew!==e.skew||r.maxFontSize!==e.maxFontSize)return!1;if(r.classes.length===1){var t=r.classes[0];if(t==="mbin"||t==="mord")return!1}for(var a in r.style)if(r.style.hasOwnProperty(a)&&r.style[a]!==e.style[a])return!1;for(var n in e.style)if(e.style.hasOwnProperty(n)&&r.style[n]!==e.style[n])return!1;return!0},t1=r=>{for(var e=0;et&&(t=o.height),o.depth>a&&(a=o.depth),o.maxFontSize>n&&(n=o.maxFontSize)}e.height=t,e.depth=a,e.maxFontSize=n},l0=function(e,t,a,n){var s=new he(e,t,a,n);return vt(s),s},kr=(r,e,t,a)=>new he(r,e,t,a),r1=function(e,t,a){var n=l0([e],[],t);return n.height=Math.max(a||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=A(n.height),n.maxFontSize=1,n},a1=function(e,t,a,n){var s=new pt(e,t,a,n);return vt(s),s},Sr=function(e){var t=new ue(e);return vt(t),t},n1=function(e,t){return e instanceof ue?l0([],[e],t):e},i1=function(e){if(e.positionType==="individualShift"){for(var t=e.children,a=[t[0]],n=-t[0].shift-t[0].elem.depth,s=n,o=1;o{var t=l0(["mspace"],[],e),a=K(r,e);return t.style.marginRight=A(a),t},xe=function(e,t,a){var n="";switch(e){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=e}var s;return t==="textbf"&&a==="textit"?s="BoldItalic":t==="textbf"?s="Bold":t==="textit"?s="Italic":s="Regular",n+"-"+s},Mr={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},zr={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},o1=function(e,t){var[a,n,s]=zr[e],o=new P0(a),h=new D0([o],{width:A(n),height:A(s),style:"width:"+A(n),viewBox:"0 0 "+1e3*n+" "+1e3*s,preserveAspectRatio:"xMinYMin"}),c=kr(["overlay"],[h],t);return c.height=s,c.style.height=A(s),c.style.width=A(n),c},b={fontMap:Mr,makeSymbol:b0,mathsym:Ja,makeSpan:l0,makeSvgSpan:kr,makeLineSpan:r1,makeAnchor:a1,makeFragment:Sr,wrapFragment:n1,makeVList:s1,makeOrd:_a,makeGlue:l1,staticSvg:o1,svgData:zr,tryCombineChars:t1},Z={number:3,unit:"mu"},X0={number:4,unit:"mu"},z0={number:5,unit:"mu"},u1={mord:{mop:Z,mbin:X0,mrel:z0,minner:Z},mop:{mord:Z,mop:Z,mrel:z0,minner:Z},mbin:{mord:X0,mop:X0,mopen:X0,minner:X0},mrel:{mord:z0,mop:z0,mopen:z0,minner:z0},mopen:{},mclose:{mop:Z,mbin:X0,mrel:z0,minner:Z},mpunct:{mord:Z,mop:Z,mrel:z0,mopen:Z,mclose:Z,mpunct:Z,minner:Z},minner:{mord:Z,mop:Z,mbin:X0,mrel:z0,mopen:Z,mpunct:Z,minner:Z}},h1={mord:{mop:Z},mop:{mord:Z,mop:Z},mbin:{},mrel:{},mopen:{},mclose:{mop:Z},mpunct:{},minner:{mop:Z}},Ar={},De={},Ce={};function B(r){for(var{type:e,names:t,props:a,handler:n,htmlBuilder:s,mathmlBuilder:o}=r,h={type:e,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:a.allowedInMath===void 0?!0:a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:n},c=0;c{var C=T.classes[0],N=z.classes[0];C==="mbin"&&q.contains(c1,N)?T.classes[0]="mord":N==="mbin"&&q.contains(m1,C)&&(z.classes[0]="mord")},{node:y},w,x),Xt(s,(z,T)=>{var C=lt(T),N=lt(z),O=C&&N?z.hasClass("mtight")?h1[C][N]:u1[C][N]:null;if(O)return b.makeGlue(O,p)},{node:y},w,x),s},Xt=function r(e,t,a,n,s){n&&e.push(n);for(var o=0;ow=>{e.splice(y+1,0,w),o++})(o)}n&&e.pop()},Tr=function(e){return e instanceof ue||e instanceof pt||e instanceof he&&e.hasClass("enclosing")?e:null},p1=function r(e,t){var a=Tr(e);if(a){var n=a.children;if(n.length){if(t==="right")return r(n[n.length-1],"right");if(t==="left")return r(n[0],"left")}}return e},lt=function(e,t){return e?(t&&(e=p1(e,t)),f1[e.classes[0]]||null):null},oe=function(e,t){var a=["nulldelimiter"].concat(e.baseSizingClasses());return C0(t.concat(a))},P=function(e,t,a){if(!e)return C0();if(De[e.type]){var n=De[e.type](e,t);if(a&&t.size!==a.size){n=C0(t.sizingClasses(a),[n],t);var s=t.sizeMultiplier/a.sizeMultiplier;n.height*=s,n.depth*=s}return n}else throw new M("Got group of unknown type: '"+e.type+"'")};function we(r,e){var t=C0(["base"],r,e),a=C0(["strut"]);return a.style.height=A(t.height+t.depth),t.depth&&(a.style.verticalAlign=A(-t.depth)),t.children.unshift(a),t}function ot(r,e){var t=null;r.length===1&&r[0].type==="tag"&&(t=r[0].tag,r=r[0].body);var a=t0(r,e,"root"),n;a.length===2&&a[1].hasClass("tag")&&(n=a.pop());for(var s=[],o=[],h=0;h0&&(s.push(we(o,e)),o=[]),s.push(a[h]));o.length>0&&s.push(we(o,e));var p;t?(p=we(t0(t,e,!0)),p.classes=["tag"],s.push(p)):n&&s.push(n);var g=C0(["katex-html"],s);if(g.setAttribute("aria-hidden","true"),p){var y=p.children[0];y.style.height=A(g.height+g.depth),g.depth&&(y.style.verticalAlign=A(-g.depth))}return g}function Br(r){return new ue(r)}class c0{constructor(e,t,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=a||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=L0(this.classes));for(var a=0;a0&&(e+=' class ="'+q.escape(L0(this.classes))+'"'),e+=">";for(var a=0;a",e}toText(){return this.children.map(e=>e.toText()).join("")}}class ie{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return q.escape(this.toText())}toText(){return this.text}}class v1{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",A(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var S={MathNode:c0,TextNode:ie,SpaceNode:v1,newDocumentFragment:Br},v0=function(e,t,a){return $[t][e]&&$[t][e].replace&&e.charCodeAt(0)!==55349&&!(wr.hasOwnProperty(e)&&a&&(a.fontFamily&&a.fontFamily.slice(4,6)==="tt"||a.font&&a.font.slice(4,6)==="tt"))&&(e=$[t][e].replace),new S.TextNode(e)},gt=function(e){return e.length===1?e[0]:new S.MathNode("mrow",e)},bt=function(e,t){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold";var a=t.font;if(!a||a==="mathnormal")return null;var n=e.mode;if(a==="mathit")return"italic";if(a==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(a==="mathbf")return"bold";if(a==="mathbb")return"double-struck";if(a==="mathsfit")return"sans-serif-italic";if(a==="mathfrak")return"fraktur";if(a==="mathscr"||a==="mathcal")return"script";if(a==="mathsf")return"sans-serif";if(a==="mathtt")return"monospace";var s=e.text;if(q.contains(["\\imath","\\jmath"],s))return null;$[n][s]&&$[n][s].replace&&(s=$[n][s].replace);var o=b.fontMap[a].fontName;return ft(s,o,n)?b.fontMap[a].variant:null},o0=function(e,t,a){if(e.length===1){var n=X(e[0],t);return a&&n instanceof c0&&n.type==="mo"&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var s=[],o,h=0;h0&&(y.text=y.text.slice(0,1)+"̸"+y.text.slice(1),s.pop())}}}s.push(c),o=c}return s},G0=function(e,t,a){return gt(o0(e,t,a))},X=function(e,t){if(!e)return new S.MathNode("mrow");if(Ce[e.type]){var a=Ce[e.type](e,t);return a}else throw new M("Got group of unknown type: '"+e.type+"'")};function $t(r,e,t,a,n){var s=o0(r,t),o;s.length===1&&s[0]instanceof c0&&q.contains(["mrow","mtable"],s[0].type)?o=s[0]:o=new S.MathNode("mrow",s);var h=new S.MathNode("annotation",[new S.TextNode(e)]);h.setAttribute("encoding","application/x-tex");var c=new S.MathNode("semantics",[o,h]),p=new S.MathNode("math",[c]);p.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&p.setAttribute("display","block");var g=n?"katex":"katex-mathml";return b.makeSpan([g],[p])}var Dr=function(e){return new A0({style:e.displayMode?R.DISPLAY:R.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Cr=function(e,t){if(t.displayMode){var a=["katex-display"];t.leqno&&a.push("leqno"),t.fleqn&&a.push("fleqn"),e=b.makeSpan(a,[e])}return e},g1=function(e,t,a){var n=Dr(a),s;if(a.output==="mathml")return $t(e,t,n,a.displayMode,!0);if(a.output==="html"){var o=ot(e,n);s=b.makeSpan(["katex"],[o])}else{var h=$t(e,t,n,a.displayMode,!1),c=ot(e,n);s=b.makeSpan(["katex"],[h,c])}return Cr(s,a)},b1=function(e,t,a){var n=Dr(a),s=ot(e,n),o=b.makeSpan(["katex"],[s]);return Cr(o,a)},y1={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},x1=function(e){var t=new S.MathNode("mo",[new S.TextNode(y1[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},w1={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},k1=function(e){return e.type==="ordgroup"?e.body.length:1},S1=function(e,t){function a(){var h=4e5,c=e.label.slice(1);if(q.contains(["widehat","widecheck","widetilde","utilde"],c)){var p=e,g=k1(p.base),y,w,x;if(g>5)c==="widehat"||c==="widecheck"?(y=420,h=2364,x=.42,w=c+"4"):(y=312,h=2340,x=.34,w="tilde4");else{var z=[1,1,2,2,3,3][g];c==="widehat"||c==="widecheck"?(h=[0,1062,2364,2364,2364][z],y=[0,239,300,360,420][z],x=[0,.24,.3,.3,.36,.42][z],w=c+z):(h=[0,600,1033,2339,2340][z],y=[0,260,286,306,312][z],x=[0,.26,.286,.3,.306,.34][z],w="tilde"+z)}var T=new P0(w),C=new D0([T],{width:"100%",height:A(x),viewBox:"0 0 "+h+" "+y,preserveAspectRatio:"none"});return{span:b.makeSvgSpan([],[C],t),minWidth:0,height:x}}else{var N=[],O=w1[c],[F,V,L]=O,U=L/1e3,G=F.length,j,Y;if(G===1){var M0=O[3];j=["hide-tail"],Y=[M0]}else if(G===2)j=["halfarrow-left","halfarrow-right"],Y=["xMinYMin","xMaxYMin"];else if(G===3)j=["brace-left","brace-center","brace-right"],Y=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+G+" children.");for(var r0=0;r00&&(n.style.minWidth=A(s)),n},M1=function(e,t,a,n,s){var o,h=e.height+e.depth+a+n;if(/fbox|color|angl/.test(t)){if(o=b.makeSpan(["stretchy",t],[],s),t==="fbox"){var c=s.color&&s.getColor();c&&(o.style.borderColor=c)}}else{var p=[];/^[bx]cancel$/.test(t)&&p.push(new it({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&p.push(new it({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var g=new D0(p,{width:"100%",height:A(h)});o=b.makeSvgSpan([],[g],s)}return o.height=h,o.style.height=A(h),o},N0={encloseSpan:M1,mathMLnode:x1,svgSpan:S1};function H(r,e){if(!r||r.type!==e)throw new Error("Expected node of type "+e+", but got "+(r?"node of type "+r.type:String(r)));return r}function yt(r){var e=Re(r);if(!e)throw new Error("Expected node of symbol group type, but got "+(r?"node of type "+r.type:String(r)));return e}function Re(r){return r&&(r.type==="atom"||Za.hasOwnProperty(r.type))?r:null}var xt=(r,e)=>{var t,a,n;r&&r.type==="supsub"?(a=H(r.base,"accent"),t=a.base,r.base=t,n=Wa(P(r,e)),r.base=a):(a=H(r,"accent"),t=a.base);var s=P(t,e.havingCrampedStyle()),o=a.isShifty&&q.isCharacterBox(t),h=0;if(o){var c=q.getBaseElem(t),p=P(c,e.havingCrampedStyle());h=Lt(p).skew}var g=a.label==="\\c",y=g?s.height+s.depth:Math.min(s.height,e.fontMetrics().xHeight),w;if(a.isStretchy)w=N0.svgSpan(a,e),w=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:w,wrapperClasses:["svg-align"],wrapperStyle:h>0?{width:"calc(100% - "+A(2*h)+")",marginLeft:A(2*h)}:void 0}]},e);else{var x,z;a.label==="\\vec"?(x=b.staticSvg("vec",e),z=b.svgData.vec[1]):(x=b.makeOrd({mode:a.mode,text:a.label},e,"textord"),x=Lt(x),x.italic=0,z=x.width,g&&(y+=x.depth)),w=b.makeSpan(["accent-body"],[x]);var T=a.label==="\\textcircled";T&&(w.classes.push("accent-full"),y=s.height);var C=h;T||(C-=z/2),w.style.left=A(C),a.label==="\\textcircled"&&(w.style.top=".2em"),w=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-y},{type:"elem",elem:w}]},e)}var N=b.makeSpan(["mord","accent"],[w],e);return n?(n.children[0]=N,n.height=Math.max(N.height,n.height),n.classes[0]="mord",n):N},Nr=(r,e)=>{var t=r.isStretchy?N0.mathMLnode(r.label):new S.MathNode("mo",[v0(r.label,r.mode)]),a=new S.MathNode("mover",[X(r.base,e),t]);return a.setAttribute("accent","true"),a},z1=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(r=>"\\"+r).join("|"));B({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(r,e)=>{var t=Ne(e[0]),a=!z1.test(r.funcName),n=!a||r.funcName==="\\widehat"||r.funcName==="\\widetilde"||r.funcName==="\\widecheck";return{type:"accent",mode:r.parser.mode,label:r.funcName,isStretchy:a,isShifty:n,base:t}},htmlBuilder:xt,mathmlBuilder:Nr});B({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(r,e)=>{var t=e[0],a=r.parser.mode;return a==="math"&&(r.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+r.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:r.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:xt,mathmlBuilder:Nr});B({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0];return{type:"accentUnder",mode:t.mode,label:a,base:n}},htmlBuilder:(r,e)=>{var t=P(r.base,e),a=N0.svgSpan(r,e),n=r.label==="\\utilde"?.12:0,s=b.makeVList({positionType:"top",positionData:t.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:t}]},e);return b.makeSpan(["mord","accentunder"],[s],e)},mathmlBuilder:(r,e)=>{var t=N0.mathMLnode(r.label),a=new S.MathNode("munder",[X(r.base,e),t]);return a.setAttribute("accentunder","true"),a}});var ke=r=>{var e=new S.MathNode("mpadded",r?[r]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};B({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a,funcName:n}=r;return{type:"xArrow",mode:a.mode,label:n,body:e[0],below:t[0]}},htmlBuilder(r,e){var t=e.style,a=e.havingStyle(t.sup()),n=b.wrapFragment(P(r.body,a,e),e),s=r.label.slice(0,2)==="\\x"?"x":"cd";n.classes.push(s+"-arrow-pad");var o;r.below&&(a=e.havingStyle(t.sub()),o=b.wrapFragment(P(r.below,a,e),e),o.classes.push(s+"-arrow-pad"));var h=N0.svgSpan(r,e),c=-e.fontMetrics().axisHeight+.5*h.height,p=-e.fontMetrics().axisHeight-.5*h.height-.111;(n.depth>.25||r.label==="\\xleftequilibrium")&&(p-=n.depth);var g;if(o){var y=-e.fontMetrics().axisHeight+o.height+.5*h.height+.111;g=b.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:p},{type:"elem",elem:h,shift:c},{type:"elem",elem:o,shift:y}]},e)}else g=b.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:p},{type:"elem",elem:h,shift:c}]},e);return g.children[0].children[0].children[1].classes.push("svg-align"),b.makeSpan(["mrel","x-arrow"],[g],e)},mathmlBuilder(r,e){var t=N0.mathMLnode(r.label);t.setAttribute("minsize",r.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(r.body){var n=ke(X(r.body,e));if(r.below){var s=ke(X(r.below,e));a=new S.MathNode("munderover",[t,s,n])}else a=new S.MathNode("mover",[t,n])}else if(r.below){var o=ke(X(r.below,e));a=new S.MathNode("munder",[t,o])}else a=ke(),a=new S.MathNode("mover",[t,a]);return a}});var A1=b.makeSpan;function qr(r,e){var t=t0(r.body,e,!0);return A1([r.mclass],t,e)}function Er(r,e){var t,a=o0(r.body,e);return r.mclass==="minner"?t=new S.MathNode("mpadded",a):r.mclass==="mord"?r.isCharacterBox?(t=a[0],t.type="mi"):t=new S.MathNode("mi",a):(r.isCharacterBox?(t=a[0],t.type="mo"):t=new S.MathNode("mo",a),r.mclass==="mbin"?(t.attributes.lspace="0.22em",t.attributes.rspace="0.22em"):r.mclass==="mpunct"?(t.attributes.lspace="0em",t.attributes.rspace="0.17em"):r.mclass==="mopen"||r.mclass==="mclose"?(t.attributes.lspace="0em",t.attributes.rspace="0em"):r.mclass==="minner"&&(t.attributes.lspace="0.0556em",t.attributes.width="+0.1111em")),t}B({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];return{type:"mclass",mode:t.mode,mclass:"m"+a.slice(5),body:Q(n),isCharacterBox:q.isCharacterBox(n)}},htmlBuilder:qr,mathmlBuilder:Er});var Ie=r=>{var e=r.type==="ordgroup"&&r.body.length?r.body[0]:r;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};B({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(r,e){var{parser:t}=r;return{type:"mclass",mode:t.mode,mclass:Ie(e[0]),body:Q(e[1]),isCharacterBox:q.isCharacterBox(e[1])}}});B({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(r,e){var{parser:t,funcName:a}=r,n=e[1],s=e[0],o;a!=="\\stackrel"?o=Ie(n):o="mrel";var h={type:"op",mode:n.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:Q(n)},c={type:"supsub",mode:s.mode,base:h,sup:a==="\\underset"?null:s,sub:a==="\\underset"?s:null};return{type:"mclass",mode:t.mode,mclass:o,body:[c],isCharacterBox:q.isCharacterBox(c)}},htmlBuilder:qr,mathmlBuilder:Er});B({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"pmb",mode:t.mode,mclass:Ie(e[0]),body:Q(e[0])}},htmlBuilder(r,e){var t=t0(r.body,e,!0),a=b.makeSpan([r.mclass],t,e);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(r,e){var t=o0(r.body,e),a=new S.MathNode("mstyle",t);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var T1={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Wt=()=>({type:"styling",body:[],mode:"math",style:"display"}),jt=r=>r.type==="textord"&&r.text==="@",B1=(r,e)=>(r.type==="mathord"||r.type==="atom")&&r.text===e;function D1(r,e,t){var a=T1[r];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return t.callFunction(a,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var n=t.callFunction("\\\\cdleft",[e[0]],[]),s={type:"atom",text:a,mode:"math",family:"rel"},o=t.callFunction("\\Big",[s],[]),h=t.callFunction("\\\\cdright",[e[1]],[]),c={type:"ordgroup",mode:"math",body:[n,o,h]};return t.callFunction("\\\\cdparent",[c],[])}case"\\\\cdlongequal":return t.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var p={type:"textord",text:"\\Vert",mode:"math"};return t.callFunction("\\Big",[p],[])}default:return{type:"textord",text:" ",mode:"math"}}}function C1(r){var e=[];for(r.gullet.beginGroup(),r.gullet.macros.set("\\cr","\\\\\\relax"),r.gullet.beginGroup();;){e.push(r.parseExpression(!1,"\\\\")),r.gullet.endGroup(),r.gullet.beginGroup();var t=r.fetch().text;if(t==="&"||t==="\\\\")r.consume();else if(t==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new M("Expected \\\\ or \\cr or \\end",r.nextToken)}for(var a=[],n=[a],s=0;s-1))if("<>AV".indexOf(p)>-1)for(var y=0;y<2;y++){for(var w=!0,x=c+1;xAV=|." after @',o[c]);var z=D1(p,g,r),T={type:"styling",body:[z],mode:"math",style:"display"};a.push(T),h=Wt()}s%2===0?a.push(h):a.shift(),a=[],n.push(a)}r.gullet.endGroup(),r.gullet.endGroup();var C=new Array(n[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:n,arraystretch:1,addJot:!0,rowGaps:[null],cols:C,colSeparationType:"CD",hLinesBeforeRow:new Array(n.length+1).fill([])}}B({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"cdlabel",mode:t.mode,side:a.slice(4),label:e[0]}},htmlBuilder(r,e){var t=e.havingStyle(e.style.sup()),a=b.wrapFragment(P(r.label,t,e),e);return a.classes.push("cd-label-"+r.side),a.style.bottom=A(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(r,e){var t=new S.MathNode("mrow",[X(r.label,e)]);return t=new S.MathNode("mpadded",[t]),t.setAttribute("width","0"),r.side==="left"&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),t=new S.MathNode("mstyle",[t]),t.setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}});B({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(r,e){var{parser:t}=r;return{type:"cdlabelparent",mode:t.mode,fragment:e[0]}},htmlBuilder(r,e){var t=b.wrapFragment(P(r.fragment,e),e);return t.classes.push("cd-vert-arrow"),t},mathmlBuilder(r,e){return new S.MathNode("mrow",[X(r.fragment,e)])}});B({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(r,e){for(var{parser:t}=r,a=H(e[0],"ordgroup"),n=a.body,s="",o=0;o=1114111)throw new M("\\@char with invalid code point "+s);return c<=65535?p=String.fromCharCode(c):(c-=65536,p=String.fromCharCode((c>>10)+55296,(c&1023)+56320)),{type:"textord",mode:t.mode,text:p}}});var Rr=(r,e)=>{var t=t0(r.body,e.withColor(r.color),!1);return b.makeFragment(t)},Ir=(r,e)=>{var t=o0(r.body,e.withColor(r.color)),a=new S.MathNode("mstyle",t);return a.setAttribute("mathcolor",r.color),a};B({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(r,e){var{parser:t}=r,a=H(e[0],"color-token").color,n=e[1];return{type:"color",mode:t.mode,color:a,body:Q(n)}},htmlBuilder:Rr,mathmlBuilder:Ir});B({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(r,e){var{parser:t,breakOnTokenText:a}=r,n=H(e[0],"color-token").color;t.gullet.macros.set("\\current@color",n);var s=t.parseExpression(!0,a);return{type:"color",mode:t.mode,color:n,body:s}},htmlBuilder:Rr,mathmlBuilder:Ir});B({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(r,e,t){var{parser:a}=r,n=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,s=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:s,size:n&&H(n,"size").value}},htmlBuilder(r,e){var t=b.makeSpan(["mspace"],[],e);return r.newLine&&(t.classes.push("newline"),r.size&&(t.style.marginTop=A(K(r.size,e)))),t},mathmlBuilder(r,e){var t=new S.MathNode("mspace");return r.newLine&&(t.setAttribute("linebreak","newline"),r.size&&t.setAttribute("height",A(K(r.size,e)))),t}});var ut={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Or=r=>{var e=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new M("Expected a control sequence",r);return e},N1=r=>{var e=r.gullet.popToken();return e.text==="="&&(e=r.gullet.popToken(),e.text===" "&&(e=r.gullet.popToken())),e},Fr=(r,e,t,a)=>{var n=r.gullet.macros.get(t.text);n==null&&(t.noexpand=!0,n={tokens:[t],numArgs:0,unexpandable:!r.gullet.isExpandable(t.text)}),r.gullet.macros.set(e,n,a)};B({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e,funcName:t}=r;e.consumeSpaces();var a=e.fetch();if(ut[a.text])return(t==="\\global"||t==="\\\\globallong")&&(a.text=ut[a.text]),H(e.parseFunction(),"internal");throw new M("Invalid token after macro prefix",a)}});B({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=e.gullet.popToken(),n=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(n))throw new M("Expected a control sequence",a);for(var s=0,o,h=[[]];e.gullet.future().text!=="{";)if(a=e.gullet.popToken(),a.text==="#"){if(e.gullet.future().text==="{"){o=e.gullet.future(),h[s].push("{");break}if(a=e.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new M('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==s+1)throw new M('Argument number "'+a.text+'" out of order');s++,h.push([])}else{if(a.text==="EOF")throw new M("Expected a macro definition");h[s].push(a.text)}var{tokens:c}=e.gullet.consumeArg();return o&&c.unshift(o),(t==="\\edef"||t==="\\xdef")&&(c=e.gullet.expandTokens(c),c.reverse()),e.gullet.macros.set(n,{tokens:c,numArgs:s,delimiters:h},t===ut[t]),{type:"internal",mode:e.mode}}});B({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=Or(e.gullet.popToken());e.gullet.consumeSpaces();var n=N1(e);return Fr(e,a,n,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});B({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=Or(e.gullet.popToken()),n=e.gullet.popToken(),s=e.gullet.popToken();return Fr(e,a,s,t==="\\\\globalfuture"),e.gullet.pushToken(s),e.gullet.pushToken(n),{type:"internal",mode:e.mode}}});var ne=function(e,t,a){var n=$.math[e]&&$.math[e].replace,s=ft(n||e,t,a);if(!s)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return s},wt=function(e,t,a,n){var s=a.havingBaseStyle(t),o=b.makeSpan(n.concat(s.sizingClasses(a)),[e],a),h=s.sizeMultiplier/a.sizeMultiplier;return o.height*=h,o.depth*=h,o.maxFontSize=s.sizeMultiplier,o},Hr=function(e,t,a){var n=t.havingBaseStyle(a),s=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=A(s),e.height-=s,e.depth+=s},q1=function(e,t,a,n,s,o){var h=b.makeSymbol(e,"Main-Regular",s,n),c=wt(h,t,n,o);return a&&Hr(c,n,t),c},E1=function(e,t,a,n){return b.makeSymbol(e,"Size"+t+"-Regular",a,n)},Lr=function(e,t,a,n,s,o){var h=E1(e,t,s,n),c=wt(b.makeSpan(["delimsizing","size"+t],[h],n),R.TEXT,n,o);return a&&Hr(c,n,R.TEXT),c},je=function(e,t,a){var n;t==="Size1-Regular"?n="delim-size1":n="delim-size4";var s=b.makeSpan(["delimsizinginner",n],[b.makeSpan([],[b.makeSymbol(e,t,a)])]);return{type:"elem",elem:s}},Ze=function(e,t,a){var n=x0["Size4-Regular"][e.charCodeAt(0)]?x0["Size4-Regular"][e.charCodeAt(0)][4]:x0["Size1-Regular"][e.charCodeAt(0)][4],s=new P0("inner",La(e,Math.round(1e3*t))),o=new D0([s],{width:A(n),height:A(t),style:"width:"+A(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),h=b.makeSvgSpan([],[o],a);return h.height=t,h.style.height=A(t),h.style.width=A(n),{type:"elem",elem:h}},ht=.008,Se={type:"kern",size:-1*ht},R1=["|","\\lvert","\\rvert","\\vert"],I1=["\\|","\\lVert","\\rVert","\\Vert"],Pr=function(e,t,a,n,s,o){var h,c,p,g,y="",w=0;h=p=g=e,c=null;var x="Size1-Regular";e==="\\uparrow"?p=g="⏐":e==="\\Uparrow"?p=g="‖":e==="\\downarrow"?h=p="⏐":e==="\\Downarrow"?h=p="‖":e==="\\updownarrow"?(h="\\uparrow",p="⏐",g="\\downarrow"):e==="\\Updownarrow"?(h="\\Uparrow",p="‖",g="\\Downarrow"):q.contains(R1,e)?(p="∣",y="vert",w=333):q.contains(I1,e)?(p="∥",y="doublevert",w=556):e==="["||e==="\\lbrack"?(h="⎡",p="⎢",g="⎣",x="Size4-Regular",y="lbrack",w=667):e==="]"||e==="\\rbrack"?(h="⎤",p="⎥",g="⎦",x="Size4-Regular",y="rbrack",w=667):e==="\\lfloor"||e==="⌊"?(p=h="⎢",g="⎣",x="Size4-Regular",y="lfloor",w=667):e==="\\lceil"||e==="⌈"?(h="⎡",p=g="⎢",x="Size4-Regular",y="lceil",w=667):e==="\\rfloor"||e==="⌋"?(p=h="⎥",g="⎦",x="Size4-Regular",y="rfloor",w=667):e==="\\rceil"||e==="⌉"?(h="⎤",p=g="⎥",x="Size4-Regular",y="rceil",w=667):e==="("||e==="\\lparen"?(h="⎛",p="⎜",g="⎝",x="Size4-Regular",y="lparen",w=875):e===")"||e==="\\rparen"?(h="⎞",p="⎟",g="⎠",x="Size4-Regular",y="rparen",w=875):e==="\\{"||e==="\\lbrace"?(h="⎧",c="⎨",g="⎩",p="⎪",x="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(h="⎫",c="⎬",g="⎭",p="⎪",x="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(h="⎧",g="⎩",p="⎪",x="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(h="⎫",g="⎭",p="⎪",x="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(h="⎧",g="⎭",p="⎪",x="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(h="⎫",g="⎩",p="⎪",x="Size4-Regular");var z=ne(h,x,s),T=z.height+z.depth,C=ne(p,x,s),N=C.height+C.depth,O=ne(g,x,s),F=O.height+O.depth,V=0,L=1;if(c!==null){var U=ne(c,x,s);V=U.height+U.depth,L=2}var G=T+F+V,j=Math.max(0,Math.ceil((t-G)/(L*N))),Y=G+j*L*N,M0=n.fontMetrics().axisHeight;a&&(M0*=n.sizeMultiplier);var r0=Y/2-M0,e0=[];if(y.length>0){var U0=Y-T-F,s0=Math.round(Y*1e3),g0=Pa(y,Math.round(U0*1e3)),E0=new P0(y,g0),W0=(w/1e3).toFixed(3)+"em",j0=(s0/1e3).toFixed(3)+"em",Le=new D0([E0],{width:W0,height:j0,viewBox:"0 0 "+w+" "+s0}),R0=b.makeSvgSpan([],[Le],n);R0.height=s0/1e3,R0.style.width=W0,R0.style.height=j0,e0.push({type:"elem",elem:R0})}else{if(e0.push(je(g,x,s)),e0.push(Se),c===null){var I0=Y-T-F+2*ht;e0.push(Ze(p,I0,n))}else{var m0=(Y-T-F-V)/2+2*ht;e0.push(Ze(p,m0,n)),e0.push(Se),e0.push(je(c,x,s)),e0.push(Se),e0.push(Ze(p,m0,n))}e0.push(Se),e0.push(je(h,x,s))}var ae=n.havingBaseStyle(R.TEXT),Pe=b.makeVList({positionType:"bottom",positionData:r0,children:e0},ae);return wt(b.makeSpan(["delimsizing","mult"],[Pe],ae),R.TEXT,n,o)},Ke=80,Je=.08,Qe=function(e,t,a,n,s){var o=Ha(e,n,a),h=new P0(e,o),c=new D0([h],{width:"400em",height:A(t),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return b.makeSvgSpan(["hide-tail"],[c],s)},O1=function(e,t){var a=t.havingBaseSizing(),n=Yr("\\surd",e*a.sizeMultiplier,Ur,a),s=a.sizeMultiplier,o=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),h,c=0,p=0,g=0,y;return n.type==="small"?(g=1e3+1e3*o+Ke,e<1?s=1:e<1.4&&(s=.7),c=(1+o+Je)/s,p=(1+o)/s,h=Qe("sqrtMain",c,g,o,t),h.style.minWidth="0.853em",y=.833/s):n.type==="large"?(g=(1e3+Ke)*se[n.size],p=(se[n.size]+o)/s,c=(se[n.size]+o+Je)/s,h=Qe("sqrtSize"+n.size,c,g,o,t),h.style.minWidth="1.02em",y=1/s):(c=e+o+Je,p=e+o,g=Math.floor(1e3*e+o)+Ke,h=Qe("sqrtTall",c,g,o,t),h.style.minWidth="0.742em",y=1.056),h.height=p,h.style.height=A(c),{span:h,advanceWidth:y,ruleWidth:(t.fontMetrics().sqrtRuleThickness+o)*s}},Gr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],F1=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],Vr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],se=[0,1.2,1.8,2.4,3],H1=function(e,t,a,n,s){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),q.contains(Gr,e)||q.contains(Vr,e))return Lr(e,t,!1,a,n,s);if(q.contains(F1,e))return Pr(e,se[t],!1,a,n,s);throw new M("Illegal delimiter: '"+e+"'")},L1=[{type:"small",style:R.SCRIPTSCRIPT},{type:"small",style:R.SCRIPT},{type:"small",style:R.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],P1=[{type:"small",style:R.SCRIPTSCRIPT},{type:"small",style:R.SCRIPT},{type:"small",style:R.TEXT},{type:"stack"}],Ur=[{type:"small",style:R.SCRIPTSCRIPT},{type:"small",style:R.SCRIPT},{type:"small",style:R.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],G1=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Yr=function(e,t,a,n){for(var s=Math.min(2,3-n.style.size),o=s;ot)return a[o]}return a[a.length-1]},Xr=function(e,t,a,n,s,o){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var h;q.contains(Vr,e)?h=L1:q.contains(Gr,e)?h=Ur:h=P1;var c=Yr(e,t,h,n);return c.type==="small"?q1(e,c.style,a,n,s,o):c.type==="large"?Lr(e,c.size,a,n,s,o):Pr(e,t,a,n,s,o)},V1=function(e,t,a,n,s,o){var h=n.fontMetrics().axisHeight*n.sizeMultiplier,c=901,p=5/n.fontMetrics().ptPerEm,g=Math.max(t-h,a+h),y=Math.max(g/500*c,2*g-p);return Xr(e,y,!0,n,s,o)},B0={sqrtImage:O1,sizedDelim:H1,sizeToMaxHeight:se,customSizedDelim:Xr,leftRightDelim:V1},Zt={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},U1=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Oe(r,e){var t=Re(r);if(t&&q.contains(U1,t.text))return t;throw t?new M("Invalid delimiter '"+t.text+"' after '"+e.funcName+"'",r):new M("Invalid delimiter type '"+r.type+"'",r)}B({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(r,e)=>{var t=Oe(e[0],r);return{type:"delimsizing",mode:r.parser.mode,size:Zt[r.funcName].size,mclass:Zt[r.funcName].mclass,delim:t.text}},htmlBuilder:(r,e)=>r.delim==="."?b.makeSpan([r.mclass]):B0.sizedDelim(r.delim,r.size,e,r.mode,[r.mclass]),mathmlBuilder:r=>{var e=[];r.delim!=="."&&e.push(v0(r.delim,r.mode));var t=new S.MathNode("mo",e);r.mclass==="mopen"||r.mclass==="mclose"?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true");var a=A(B0.sizeToMaxHeight[r.size]);return t.setAttribute("minsize",a),t.setAttribute("maxsize",a),t}});function Kt(r){if(!r.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}B({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=r.parser.gullet.macros.get("\\current@color");if(t&&typeof t!="string")throw new M("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:r.parser.mode,delim:Oe(e[0],r).text,color:t}}});B({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Oe(e[0],r),a=r.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var s=H(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:t.text,right:s.delim,rightColor:s.color}},htmlBuilder:(r,e)=>{Kt(r);for(var t=t0(r.body,e,!0,["mopen","mclose"]),a=0,n=0,s=!1,o=0;o{Kt(r);var t=o0(r.body,e);if(r.left!=="."){var a=new S.MathNode("mo",[v0(r.left,r.mode)]);a.setAttribute("fence","true"),t.unshift(a)}if(r.right!=="."){var n=new S.MathNode("mo",[v0(r.right,r.mode)]);n.setAttribute("fence","true"),r.rightColor&&n.setAttribute("mathcolor",r.rightColor),t.push(n)}return gt(t)}});B({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Oe(e[0],r);if(!r.parser.leftrightDepth)throw new M("\\middle without preceding \\left",t);return{type:"middle",mode:r.parser.mode,delim:t.text}},htmlBuilder:(r,e)=>{var t;if(r.delim===".")t=oe(e,[]);else{t=B0.sizedDelim(r.delim,1,e,r.mode,[]);var a={delim:r.delim,options:e};t.isMiddle=a}return t},mathmlBuilder:(r,e)=>{var t=r.delim==="\\vert"||r.delim==="|"?v0("|","text"):v0(r.delim,r.mode),a=new S.MathNode("mo",[t]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var kt=(r,e)=>{var t=b.wrapFragment(P(r.body,e),e),a=r.label.slice(1),n=e.sizeMultiplier,s,o=0,h=q.isCharacterBox(r.body);if(a==="sout")s=b.makeSpan(["stretchy","sout"]),s.height=e.fontMetrics().defaultRuleThickness/n,o=-.5*e.fontMetrics().xHeight;else if(a==="phase"){var c=K({number:.6,unit:"pt"},e),p=K({number:.35,unit:"ex"},e),g=e.havingBaseSizing();n=n/g.sizeMultiplier;var y=t.height+t.depth+c+p;t.style.paddingLeft=A(y/2+c);var w=Math.floor(1e3*y*n),x=Oa(w),z=new D0([new P0("phase",x)],{width:"400em",height:A(w/1e3),viewBox:"0 0 400000 "+w,preserveAspectRatio:"xMinYMin slice"});s=b.makeSvgSpan(["hide-tail"],[z],e),s.style.height=A(y),o=t.depth+c+p}else{/cancel/.test(a)?h||t.classes.push("cancel-pad"):a==="angl"?t.classes.push("anglpad"):t.classes.push("boxpad");var T=0,C=0,N=0;/box/.test(a)?(N=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),T=e.fontMetrics().fboxsep+(a==="colorbox"?0:N),C=T):a==="angl"?(N=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),T=4*N,C=Math.max(0,.25-t.depth)):(T=h?.2:0,C=T),s=N0.encloseSpan(t,a,T,C,e),/fbox|boxed|fcolorbox/.test(a)?(s.style.borderStyle="solid",s.style.borderWidth=A(N)):a==="angl"&&N!==.049&&(s.style.borderTopWidth=A(N),s.style.borderRightWidth=A(N)),o=t.depth+C,r.backgroundColor&&(s.style.backgroundColor=r.backgroundColor,r.borderColor&&(s.style.borderColor=r.borderColor))}var O;if(r.backgroundColor)O=b.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:o},{type:"elem",elem:t,shift:0}]},e);else{var F=/cancel|phase/.test(a)?["svg-align"]:[];O=b.makeVList({positionType:"individualShift",children:[{type:"elem",elem:t,shift:0},{type:"elem",elem:s,shift:o,wrapperClasses:F}]},e)}return/cancel/.test(a)&&(O.height=t.height,O.depth=t.depth),/cancel/.test(a)&&!h?b.makeSpan(["mord","cancel-lap"],[O],e):b.makeSpan(["mord"],[O],e)},St=(r,e)=>{var t=0,a=new S.MathNode(r.label.indexOf("colorbox")>-1?"mpadded":"menclose",[X(r.body,e)]);switch(r.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(t=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*t+"pt"),a.setAttribute("height","+"+2*t+"pt"),a.setAttribute("lspace",t+"pt"),a.setAttribute("voffset",t+"pt"),r.label==="\\fcolorbox"){var n=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+n+"em solid "+String(r.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return r.backgroundColor&&a.setAttribute("mathbackground",r.backgroundColor),a};B({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(r,e,t){var{parser:a,funcName:n}=r,s=H(e[0],"color-token").color,o=e[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:s,body:o}},htmlBuilder:kt,mathmlBuilder:St});B({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(r,e,t){var{parser:a,funcName:n}=r,s=H(e[0],"color-token").color,o=H(e[1],"color-token").color,h=e[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:o,borderColor:s,body:h}},htmlBuilder:kt,mathmlBuilder:St});B({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\fbox",body:e[0]}}});B({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];return{type:"enclose",mode:t.mode,label:a,body:n}},htmlBuilder:kt,mathmlBuilder:St});B({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\angl",body:e[0]}}});var $r={};function w0(r){for(var{type:e,names:t,props:a,handler:n,htmlBuilder:s,mathmlBuilder:o}=r,h={type:e,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:n},c=0;c{var e=r.parser.settings;if(!e.displayMode)throw new M("{"+r.envName+"} can be used only in display mode.")};function Mt(r){if(r.indexOf("ed")===-1)return r.indexOf("*")===-1}function V0(r,e,t){var{hskipBeforeAndAfter:a,addJot:n,cols:s,arraystretch:o,colSeparationType:h,autoTag:c,singleRow:p,emptySingleRow:g,maxNumCols:y,leqno:w}=e;if(r.gullet.beginGroup(),p||r.gullet.macros.set("\\cr","\\\\\\relax"),!o){var x=r.gullet.expandMacroAsText("\\arraystretch");if(x==null)o=1;else if(o=parseFloat(x),!o||o<0)throw new M("Invalid \\arraystretch: "+x)}r.gullet.beginGroup();var z=[],T=[z],C=[],N=[],O=c!=null?[]:void 0;function F(){c&&r.gullet.macros.set("\\@eqnsw","1",!0)}function V(){O&&(r.gullet.macros.get("\\df@tag")?(O.push(r.subparse([new f0("\\df@tag")])),r.gullet.macros.set("\\df@tag",void 0,!0)):O.push(!!c&&r.gullet.macros.get("\\@eqnsw")==="1"))}for(F(),N.push(Jt(r));;){var L=r.parseExpression(!1,p?"\\end":"\\\\");r.gullet.endGroup(),r.gullet.beginGroup(),L={type:"ordgroup",mode:r.mode,body:L},t&&(L={type:"styling",mode:r.mode,style:t,body:[L]}),z.push(L);var U=r.fetch().text;if(U==="&"){if(y&&z.length===y){if(p||h)throw new M("Too many tab characters: &",r.nextToken);r.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}r.consume()}else if(U==="\\end"){V(),z.length===1&&L.type==="styling"&&L.body[0].body.length===0&&(T.length>1||!g)&&T.pop(),N.length0&&(F+=.25),p.push({pos:F,isDashed:fe[pe]})}for(V(o[0]),a=0;a0&&(r0+=O,Gfe))for(a=0;a=h)){var K0=void 0;(n>0||e.hskipBeforeAndAfter)&&(K0=q.deflt(m0.pregap,w),K0!==0&&(g0=b.makeSpan(["arraycolsep"],[]),g0.style.width=A(K0),s0.push(g0)));var J0=[];for(a=0;a0){for(var ma=b.makeLineSpan("hline",t,g),ca=b.makeLineSpan("hdashline",t,g),Ge=[{type:"elem",elem:c,shift:0}];p.length>0;){var Et=p.pop(),Rt=Et.pos-e0;Et.isDashed?Ge.push({type:"elem",elem:ca,shift:Rt}):Ge.push({type:"elem",elem:ma,shift:Rt})}c=b.makeVList({positionType:"individualShift",children:Ge},t)}if(W0.length===0)return b.makeSpan(["mord"],[c],t);var Ve=b.makeVList({positionType:"individualShift",children:W0},t);return Ve=b.makeSpan(["tag"],[Ve],t),b.makeFragment([c,Ve])},Y1={c:"center ",l:"left ",r:"right "},S0=function(e,t){for(var a=[],n=new S.MathNode("mtd",[],["mtr-glue"]),s=new S.MathNode("mtd",[],["mml-eqn-num"]),o=0;o0){var z=e.cols,T="",C=!1,N=0,O=z.length;z[0].type==="separator"&&(w+="top ",N=1),z[z.length-1].type==="separator"&&(w+="bottom ",O-=1);for(var F=N;F0?"left ":"",w+=j[j.length-1].length>0?"right ":"";for(var Y=1;Y-1?"alignat":"align",s=e.envName==="split",o=V0(e.parser,{cols:a,addJot:!0,autoTag:s?void 0:Mt(e.envName),emptySingleRow:!0,colSeparationType:n,maxNumCols:s?2:void 0,leqno:e.parser.settings.leqno},"display"),h,c=0,p={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&t[0].type==="ordgroup"){for(var g="",y=0;y0&&x&&(C=1),a[z]={type:"align",align:T,pregap:C,postgap:0}}return o.colSeparationType=x?"align":"alignat",o};w0({type:"array",names:["array","darray"],props:{numArgs:1},handler(r,e){var t=Re(e[0]),a=t?[e[0]]:H(e[0],"ordgroup").body,n=a.map(function(o){var h=yt(o),c=h.text;if("lcr".indexOf(c)!==-1)return{type:"align",align:c};if(c==="|")return{type:"separator",separator:"|"};if(c===":")return{type:"separator",separator:":"};throw new M("Unknown column alignment: "+c,o)}),s={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return V0(r.parser,s,zt(r.envName))},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(r){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[r.envName.replace("*","")],t="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:t}]};if(r.envName.charAt(r.envName.length-1)==="*"){var n=r.parser;if(n.consumeSpaces(),n.fetch().text==="["){if(n.consume(),n.consumeSpaces(),t=n.fetch().text,"lcr".indexOf(t)===-1)throw new M("Expected l or c or r",n.nextToken);n.consume(),n.consumeSpaces(),n.expect("]"),n.consume(),a.cols=[{type:"align",align:t}]}}var s=V0(r.parser,a,zt(r.envName)),o=Math.max(0,...s.body.map(h=>h.length));return s.cols=new Array(o).fill({type:"align",align:t}),e?{type:"leftright",mode:r.mode,body:[s],left:e[0],right:e[1],rightColor:void 0}:s},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(r){var e={arraystretch:.5},t=V0(r.parser,e,"script");return t.colSeparationType="small",t},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["subarray"],props:{numArgs:1},handler(r,e){var t=Re(e[0]),a=t?[e[0]]:H(e[0],"ordgroup").body,n=a.map(function(o){var h=yt(o),c=h.text;if("lc".indexOf(c)!==-1)return{type:"align",align:c};throw new M("Unknown column alignment: "+c,o)});if(n.length>1)throw new M("{subarray} can contain only one column");var s={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5};if(s=V0(r.parser,s,"script"),s.body.length>0&&s.body[0].length>1)throw new M("{subarray} can contain only one column");return s},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(r){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},t=V0(r.parser,e,zt(r.envName));return{type:"leftright",mode:r.mode,body:[t],left:r.envName.indexOf("r")>-1?".":"\\{",right:r.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:jr,htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(r){q.contains(["gather","gather*"],r.envName)&&Fe(r);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Mt(r.envName),emptySingleRow:!0,leqno:r.parser.settings.leqno};return V0(r.parser,e,"display")},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:jr,htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(r){Fe(r);var e={autoTag:Mt(r.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:r.parser.settings.leqno};return V0(r.parser,e,"display")},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["CD"],props:{numArgs:0},handler(r){return Fe(r),C1(r.parser)},htmlBuilder:k0,mathmlBuilder:S0});m("\\nonumber","\\gdef\\@eqnsw{0}");m("\\notag","\\nonumber");B({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(r,e){throw new M(r.funcName+" valid only within array environment")}});var Qt=$r;B({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];if(n.type!=="ordgroup")throw new M("Invalid environment name",n);for(var s="",o=0;o{var t=r.font,a=e.withFont(t);return P(r.body,a)},Kr=(r,e)=>{var t=r.font,a=e.withFont(t);return X(r.body,a)},_t={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};B({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=Ne(e[0]),s=a;return s in _t&&(s=_t[s]),{type:"font",mode:t.mode,font:s.slice(1),body:n}},htmlBuilder:Zr,mathmlBuilder:Kr});B({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(r,e)=>{var{parser:t}=r,a=e[0],n=q.isCharacterBox(a);return{type:"mclass",mode:t.mode,mclass:Ie(a),body:[{type:"font",mode:t.mode,font:"boldsymbol",body:a}],isCharacterBox:n}}});B({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a,breakOnTokenText:n}=r,{mode:s}=t,o=t.parseExpression(!0,n),h="math"+a.slice(1);return{type:"font",mode:s,font:h,body:{type:"ordgroup",mode:t.mode,body:o}}},htmlBuilder:Zr,mathmlBuilder:Kr});var Jr=(r,e)=>{var t=e;return r==="display"?t=t.id>=R.SCRIPT.id?t.text():R.DISPLAY:r==="text"&&t.size===R.DISPLAY.size?t=R.TEXT:r==="script"?t=R.SCRIPT:r==="scriptscript"&&(t=R.SCRIPTSCRIPT),t},At=(r,e)=>{var t=Jr(r.size,e.style),a=t.fracNum(),n=t.fracDen(),s;s=e.havingStyle(a);var o=P(r.numer,s,e);if(r.continued){var h=8.5/e.fontMetrics().ptPerEm,c=3.5/e.fontMetrics().ptPerEm;o.height=o.height0?z=3*w:z=7*w,T=e.fontMetrics().denom1):(y>0?(x=e.fontMetrics().num2,z=w):(x=e.fontMetrics().num3,z=3*w),T=e.fontMetrics().denom2);var C;if(g){var O=e.fontMetrics().axisHeight;x-o.depth-(O+.5*y){var t=new S.MathNode("mfrac",[X(r.numer,e),X(r.denom,e)]);if(!r.hasBarLine)t.setAttribute("linethickness","0px");else if(r.barSize){var a=K(r.barSize,e);t.setAttribute("linethickness",A(a))}var n=Jr(r.size,e.style);if(n.size!==e.style.size){t=new S.MathNode("mstyle",[t]);var s=n.size===R.DISPLAY.size?"true":"false";t.setAttribute("displaystyle",s),t.setAttribute("scriptlevel","0")}if(r.leftDelim!=null||r.rightDelim!=null){var o=[];if(r.leftDelim!=null){var h=new S.MathNode("mo",[new S.TextNode(r.leftDelim.replace("\\",""))]);h.setAttribute("fence","true"),o.push(h)}if(o.push(t),r.rightDelim!=null){var c=new S.MathNode("mo",[new S.TextNode(r.rightDelim.replace("\\",""))]);c.setAttribute("fence","true"),o.push(c)}return gt(o)}return t};B({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0],s=e[1],o,h=null,c=null,p="auto";switch(a){case"\\dfrac":case"\\frac":case"\\tfrac":o=!0;break;case"\\\\atopfrac":o=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":o=!1,h="(",c=")";break;case"\\\\bracefrac":o=!1,h="\\{",c="\\}";break;case"\\\\brackfrac":o=!1,h="[",c="]";break;default:throw new Error("Unrecognized genfrac command")}switch(a){case"\\dfrac":case"\\dbinom":p="display";break;case"\\tfrac":case"\\tbinom":p="text";break}return{type:"genfrac",mode:t.mode,continued:!1,numer:n,denom:s,hasBarLine:o,leftDelim:h,rightDelim:c,size:p,barSize:null}},htmlBuilder:At,mathmlBuilder:Tt});B({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0],s=e[1];return{type:"genfrac",mode:t.mode,continued:!0,numer:n,denom:s,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}});B({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(r){var{parser:e,funcName:t,token:a}=r,n;switch(t){case"\\over":n="\\frac";break;case"\\choose":n="\\binom";break;case"\\atop":n="\\\\atopfrac";break;case"\\brace":n="\\\\bracefrac";break;case"\\brack":n="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:n,token:a}}});var er=["display","text","script","scriptscript"],tr=function(e){var t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};B({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(r,e){var{parser:t}=r,a=e[4],n=e[5],s=Ne(e[0]),o=s.type==="atom"&&s.family==="open"?tr(s.text):null,h=Ne(e[1]),c=h.type==="atom"&&h.family==="close"?tr(h.text):null,p=H(e[2],"size"),g,y=null;p.isBlank?g=!0:(y=p.value,g=y.number>0);var w="auto",x=e[3];if(x.type==="ordgroup"){if(x.body.length>0){var z=H(x.body[0],"textord");w=er[Number(z.text)]}}else x=H(x,"textord"),w=er[Number(x.text)];return{type:"genfrac",mode:t.mode,numer:a,denom:n,continued:!1,hasBarLine:g,barSize:y,leftDelim:o,rightDelim:c,size:w}},htmlBuilder:At,mathmlBuilder:Tt});B({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(r,e){var{parser:t,funcName:a,token:n}=r;return{type:"infix",mode:t.mode,replaceWith:"\\\\abovefrac",size:H(e[0],"size").value,token:n}}});B({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0],s=wa(H(e[1],"infix").size),o=e[2],h=s.number>0;return{type:"genfrac",mode:t.mode,numer:n,denom:o,continued:!1,hasBarLine:h,barSize:s,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:At,mathmlBuilder:Tt});var Qr=(r,e)=>{var t=e.style,a,n;r.type==="supsub"?(a=r.sup?P(r.sup,e.havingStyle(t.sup()),e):P(r.sub,e.havingStyle(t.sub()),e),n=H(r.base,"horizBrace")):n=H(r,"horizBrace");var s=P(n.base,e.havingBaseStyle(R.DISPLAY)),o=N0.svgSpan(n,e),h;if(n.isOver?(h=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},e),h.children[0].children[0].children[1].classes.push("svg-align")):(h=b.makeVList({positionType:"bottom",positionData:s.depth+.1+o.height,children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},e),h.children[0].children[0].children[0].classes.push("svg-align")),a){var c=b.makeSpan(["mord",n.isOver?"mover":"munder"],[h],e);n.isOver?h=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:c},{type:"kern",size:.2},{type:"elem",elem:a}]},e):h=b.makeVList({positionType:"bottom",positionData:c.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:c}]},e)}return b.makeSpan(["mord",n.isOver?"mover":"munder"],[h],e)},X1=(r,e)=>{var t=N0.mathMLnode(r.label);return new S.MathNode(r.isOver?"mover":"munder",[X(r.base,e),t])};B({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"horizBrace",mode:t.mode,label:a,isOver:/^\\over/.test(a),base:e[0]}},htmlBuilder:Qr,mathmlBuilder:X1});B({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[1],n=H(e[0],"url").url;return t.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:t.mode,href:n,body:Q(a)}:t.formatUnsupportedCmd("\\href")},htmlBuilder:(r,e)=>{var t=t0(r.body,e,!1);return b.makeAnchor(r.href,[],t,e)},mathmlBuilder:(r,e)=>{var t=G0(r.body,e);return t instanceof c0||(t=new c0("mrow",[t])),t.setAttribute("href",r.href),t}});B({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=H(e[0],"url").url;if(!t.settings.isTrusted({command:"\\url",url:a}))return t.formatUnsupportedCmd("\\url");for(var n=[],s=0;s{var{parser:t,funcName:a,token:n}=r,s=H(e[0],"raw").string,o=e[1];t.settings.strict&&t.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var h,c={};switch(a){case"\\htmlClass":c.class=s,h={command:"\\htmlClass",class:s};break;case"\\htmlId":c.id=s,h={command:"\\htmlId",id:s};break;case"\\htmlStyle":c.style=s,h={command:"\\htmlStyle",style:s};break;case"\\htmlData":{for(var p=s.split(","),g=0;g{var t=t0(r.body,e,!1),a=["enclosing"];r.attributes.class&&a.push(...r.attributes.class.trim().split(/\s+/));var n=b.makeSpan(a,t,e);for(var s in r.attributes)s!=="class"&&r.attributes.hasOwnProperty(s)&&n.setAttribute(s,r.attributes[s]);return n},mathmlBuilder:(r,e)=>G0(r.body,e)});B({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"htmlmathml",mode:t.mode,html:Q(e[0]),mathml:Q(e[1])}},htmlBuilder:(r,e)=>{var t=t0(r.html,e,!1);return b.makeFragment(t)},mathmlBuilder:(r,e)=>G0(r.mathml,e)});var _e=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new M("Invalid size: '"+e+"' in \\includegraphics");var a={number:+(t[1]+t[2]),unit:t[3]};if(!gr(a))throw new M("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};B({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(r,e,t)=>{var{parser:a}=r,n={number:0,unit:"em"},s={number:.9,unit:"em"},o={number:0,unit:"em"},h="";if(t[0])for(var c=H(t[0],"raw").string,p=c.split(","),g=0;g{var t=K(r.height,e),a=0;r.totalheight.number>0&&(a=K(r.totalheight,e)-t);var n=0;r.width.number>0&&(n=K(r.width,e));var s={height:A(t+a)};n>0&&(s.width=A(n)),a>0&&(s.verticalAlign=A(-a));var o=new Xa(r.src,r.alt,s);return o.height=t,o.depth=a,o},mathmlBuilder:(r,e)=>{var t=new S.MathNode("mglyph",[]);t.setAttribute("alt",r.alt);var a=K(r.height,e),n=0;if(r.totalheight.number>0&&(n=K(r.totalheight,e)-a,t.setAttribute("valign",A(-n))),t.setAttribute("height",A(a+n)),r.width.number>0){var s=K(r.width,e);t.setAttribute("width",A(s))}return t.setAttribute("src",r.src),t}});B({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,n=H(e[0],"size");if(t.settings.strict){var s=a[1]==="m",o=n.value.unit==="mu";s?(o||t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+n.value.unit+" units")),t.mode!=="math"&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):o&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:t.mode,dimension:n.value}},htmlBuilder(r,e){return b.makeGlue(r.dimension,e)},mathmlBuilder(r,e){var t=K(r.dimension,e);return new S.SpaceNode(t)}});B({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0];return{type:"lap",mode:t.mode,alignment:a.slice(5),body:n}},htmlBuilder:(r,e)=>{var t;r.alignment==="clap"?(t=b.makeSpan([],[P(r.body,e)]),t=b.makeSpan(["inner"],[t],e)):t=b.makeSpan(["inner"],[P(r.body,e)]);var a=b.makeSpan(["fix"],[]),n=b.makeSpan([r.alignment],[t,a],e),s=b.makeSpan(["strut"]);return s.style.height=A(n.height+n.depth),n.depth&&(s.style.verticalAlign=A(-n.depth)),n.children.unshift(s),n=b.makeSpan(["thinbox"],[n],e),b.makeSpan(["mord","vbox"],[n],e)},mathmlBuilder:(r,e)=>{var t=new S.MathNode("mpadded",[X(r.body,e)]);if(r.alignment!=="rlap"){var a=r.alignment==="llap"?"-1":"-0.5";t.setAttribute("lspace",a+"width")}return t.setAttribute("width","0px"),t}});B({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){var{funcName:t,parser:a}=r,n=a.mode;a.switchMode("math");var s=t==="\\("?"\\)":"$",o=a.parseExpression(!1,s);return a.expect(s),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",body:o}}});B({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){throw new M("Mismatched "+r.funcName)}});var rr=(r,e)=>{switch(e.style.size){case R.DISPLAY.size:return r.display;case R.TEXT.size:return r.text;case R.SCRIPT.size:return r.script;case R.SCRIPTSCRIPT.size:return r.scriptscript;default:return r.text}};B({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"mathchoice",mode:t.mode,display:Q(e[0]),text:Q(e[1]),script:Q(e[2]),scriptscript:Q(e[3])}},htmlBuilder:(r,e)=>{var t=rr(r,e),a=t0(t,e,!1);return b.makeFragment(a)},mathmlBuilder:(r,e)=>{var t=rr(r,e);return G0(t,e)}});var _r=(r,e,t,a,n,s,o)=>{r=b.makeSpan([],[r]);var h=t&&q.isCharacterBox(t),c,p;if(e){var g=P(e,a.havingStyle(n.sup()),a);p={elem:g,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-g.depth)}}if(t){var y=P(t,a.havingStyle(n.sub()),a);c={elem:y,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-y.height)}}var w;if(p&&c){var x=a.fontMetrics().bigOpSpacing5+c.elem.height+c.elem.depth+c.kern+r.depth+o;w=b.makeVList({positionType:"bottom",positionData:x,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:c.elem,marginLeft:A(-s)},{type:"kern",size:c.kern},{type:"elem",elem:r},{type:"kern",size:p.kern},{type:"elem",elem:p.elem,marginLeft:A(s)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(c){var z=r.height-o;w=b.makeVList({positionType:"top",positionData:z,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:c.elem,marginLeft:A(-s)},{type:"kern",size:c.kern},{type:"elem",elem:r}]},a)}else if(p){var T=r.depth+o;w=b.makeVList({positionType:"bottom",positionData:T,children:[{type:"elem",elem:r},{type:"kern",size:p.kern},{type:"elem",elem:p.elem,marginLeft:A(s)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else return r;var C=[w];if(c&&s!==0&&!h){var N=b.makeSpan(["mspace"],[],a);N.style.marginRight=A(s),C.unshift(N)}return b.makeSpan(["mop","op-limits"],C,a)},ea=["\\smallint"],re=(r,e)=>{var t,a,n=!1,s;r.type==="supsub"?(t=r.sup,a=r.sub,s=H(r.base,"op"),n=!0):s=H(r,"op");var o=e.style,h=!1;o.size===R.DISPLAY.size&&s.symbol&&!q.contains(ea,s.name)&&(h=!0);var c;if(s.symbol){var p=h?"Size2-Regular":"Size1-Regular",g="";if((s.name==="\\oiint"||s.name==="\\oiiint")&&(g=s.name.slice(1),s.name=g==="oiint"?"\\iint":"\\iiint"),c=b.makeSymbol(s.name,p,"math",e,["mop","op-symbol",h?"large-op":"small-op"]),g.length>0){var y=c.italic,w=b.staticSvg(g+"Size"+(h?"2":"1"),e);c=b.makeVList({positionType:"individualShift",children:[{type:"elem",elem:c,shift:0},{type:"elem",elem:w,shift:h?.08:0}]},e),s.name="\\"+g,c.classes.unshift("mop"),c.italic=y}}else if(s.body){var x=t0(s.body,e,!0);x.length===1&&x[0]instanceof p0?(c=x[0],c.classes[0]="mop"):c=b.makeSpan(["mop"],x,e)}else{for(var z=[],T=1;T{var t;if(r.symbol)t=new c0("mo",[v0(r.name,r.mode)]),q.contains(ea,r.name)&&t.setAttribute("largeop","false");else if(r.body)t=new c0("mo",o0(r.body,e));else{t=new c0("mi",[new ie(r.name.slice(1))]);var a=new c0("mo",[v0("⁡","text")]);r.parentIsSupSub?t=new c0("mrow",[t,a]):t=Br([t,a])}return t},$1={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};B({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=a;return n.length===1&&(n=$1[n]),{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:re,mathmlBuilder:me});B({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Q(a)}},htmlBuilder:re,mathmlBuilder:me});var W1={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};B({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:re,mathmlBuilder:me});B({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:re,mathmlBuilder:me});B({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r,a=t;return a.length===1&&(a=W1[a]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:re,mathmlBuilder:me});var ta=(r,e)=>{var t,a,n=!1,s;r.type==="supsub"?(t=r.sup,a=r.sub,s=H(r.base,"operatorname"),n=!0):s=H(r,"operatorname");var o;if(s.body.length>0){for(var h=s.body.map(y=>{var w=y.text;return typeof w=="string"?{type:"textord",mode:y.mode,text:w}:y}),c=t0(h,e.withFont("mathrm"),!0),p=0;p{for(var t=o0(r.body,e.withFont("mathrm")),a=!0,n=0;ng.toText()).join("");t=[new S.TextNode(h)]}var c=new S.MathNode("mi",t);c.setAttribute("mathvariant","normal");var p=new S.MathNode("mo",[v0("⁡","text")]);return r.parentIsSupSub?new S.MathNode("mrow",[c,p]):S.newDocumentFragment([c,p])};B({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0];return{type:"operatorname",mode:t.mode,body:Q(n),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:ta,mathmlBuilder:j1});m("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");$0({type:"ordgroup",htmlBuilder(r,e){return r.semisimple?b.makeFragment(t0(r.body,e,!1)):b.makeSpan(["mord"],t0(r.body,e,!0),e)},mathmlBuilder(r,e){return G0(r.body,e,!0)}});B({type:"overline",names:["\\overline"],props:{numArgs:1},handler(r,e){var{parser:t}=r,a=e[0];return{type:"overline",mode:t.mode,body:a}},htmlBuilder(r,e){var t=P(r.body,e.havingCrampedStyle()),a=b.makeLineSpan("overline-line",e),n=e.fontMetrics().defaultRuleThickness,s=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t},{type:"kern",size:3*n},{type:"elem",elem:a},{type:"kern",size:n}]},e);return b.makeSpan(["mord","overline"],[s],e)},mathmlBuilder(r,e){var t=new S.MathNode("mo",[new S.TextNode("‾")]);t.setAttribute("stretchy","true");var a=new S.MathNode("mover",[X(r.body,e),t]);return a.setAttribute("accent","true"),a}});B({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"phantom",mode:t.mode,body:Q(a)}},htmlBuilder:(r,e)=>{var t=t0(r.body,e.withPhantom(),!1);return b.makeFragment(t)},mathmlBuilder:(r,e)=>{var t=o0(r.body,e);return new S.MathNode("mphantom",t)}});B({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"hphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=b.makeSpan([],[P(r.body,e.withPhantom())]);if(t.height=0,t.depth=0,t.children)for(var a=0;a{var t=o0(Q(r.body),e),a=new S.MathNode("mphantom",t),n=new S.MathNode("mpadded",[a]);return n.setAttribute("height","0px"),n.setAttribute("depth","0px"),n}});B({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"vphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=b.makeSpan(["inner"],[P(r.body,e.withPhantom())]),a=b.makeSpan(["fix"],[]);return b.makeSpan(["mord","rlap"],[t,a],e)},mathmlBuilder:(r,e)=>{var t=o0(Q(r.body),e),a=new S.MathNode("mphantom",t),n=new S.MathNode("mpadded",[a]);return n.setAttribute("width","0px"),n}});B({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r,a=H(e[0],"size").value,n=e[1];return{type:"raisebox",mode:t.mode,dy:a,body:n}},htmlBuilder(r,e){var t=P(r.body,e),a=K(r.dy,e);return b.makeVList({positionType:"shift",positionData:-a,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(r,e){var t=new S.MathNode("mpadded",[X(r.body,e)]),a=r.dy.number+r.dy.unit;return t.setAttribute("voffset",a),t}});B({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e}=r;return{type:"internal",mode:e.mode}}});B({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(r,e,t){var{parser:a}=r,n=t[0],s=H(e[0],"size"),o=H(e[1],"size");return{type:"rule",mode:a.mode,shift:n&&H(n,"size").value,width:s.value,height:o.value}},htmlBuilder(r,e){var t=b.makeSpan(["mord","rule"],[],e),a=K(r.width,e),n=K(r.height,e),s=r.shift?K(r.shift,e):0;return t.style.borderRightWidth=A(a),t.style.borderTopWidth=A(n),t.style.bottom=A(s),t.width=a,t.height=n+s,t.depth=-s,t.maxFontSize=n*1.125*e.sizeMultiplier,t},mathmlBuilder(r,e){var t=K(r.width,e),a=K(r.height,e),n=r.shift?K(r.shift,e):0,s=e.color&&e.getColor()||"black",o=new S.MathNode("mspace");o.setAttribute("mathbackground",s),o.setAttribute("width",A(t)),o.setAttribute("height",A(a));var h=new S.MathNode("mpadded",[o]);return n>=0?h.setAttribute("height",A(n)):(h.setAttribute("height",A(n)),h.setAttribute("depth",A(-n))),h.setAttribute("voffset",A(n)),h}});function ra(r,e,t){for(var a=t0(r,e,!1),n=e.sizeMultiplier/t.sizeMultiplier,s=0;s{var t=e.havingSize(r.size);return ra(r.body,t,e)};B({type:"sizing",names:ar,props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{breakOnTokenText:t,funcName:a,parser:n}=r,s=n.parseExpression(!1,t);return{type:"sizing",mode:n.mode,size:ar.indexOf(a)+1,body:s}},htmlBuilder:Z1,mathmlBuilder:(r,e)=>{var t=e.havingSize(r.size),a=o0(r.body,t),n=new S.MathNode("mstyle",a);return n.setAttribute("mathsize",A(t.sizeMultiplier)),n}});B({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(r,e,t)=>{var{parser:a}=r,n=!1,s=!1,o=t[0]&&H(t[0],"ordgroup");if(o)for(var h="",c=0;c{var t=b.makeSpan([],[P(r.body,e)]);if(!r.smashHeight&&!r.smashDepth)return t;if(r.smashHeight&&(t.height=0,t.children))for(var a=0;a{var t=new S.MathNode("mpadded",[X(r.body,e)]);return r.smashHeight&&t.setAttribute("height","0px"),r.smashDepth&&t.setAttribute("depth","0px"),t}});B({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a}=r,n=t[0],s=e[0];return{type:"sqrt",mode:a.mode,body:s,index:n}},htmlBuilder(r,e){var t=P(r.body,e.havingCrampedStyle());t.height===0&&(t.height=e.fontMetrics().xHeight),t=b.wrapFragment(t,e);var a=e.fontMetrics(),n=a.defaultRuleThickness,s=n;e.style.idt.height+t.depth+o&&(o=(o+y-t.height-t.depth)/2);var w=c.height-t.height-o-p;t.style.paddingLeft=A(g);var x=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t,wrapperClasses:["svg-align"]},{type:"kern",size:-(t.height+w)},{type:"elem",elem:c},{type:"kern",size:p}]},e);if(r.index){var z=e.havingStyle(R.SCRIPTSCRIPT),T=P(r.index,z,e),C=.6*(x.height-x.depth),N=b.makeVList({positionType:"shift",positionData:-C,children:[{type:"elem",elem:T}]},e),O=b.makeSpan(["root"],[N]);return b.makeSpan(["mord","sqrt"],[O,x],e)}else return b.makeSpan(["mord","sqrt"],[x],e)},mathmlBuilder(r,e){var{body:t,index:a}=r;return a?new S.MathNode("mroot",[X(t,e),X(a,e)]):new S.MathNode("msqrt",[X(t,e)])}});var nr={display:R.DISPLAY,text:R.TEXT,script:R.SCRIPT,scriptscript:R.SCRIPTSCRIPT};B({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r,e){var{breakOnTokenText:t,funcName:a,parser:n}=r,s=n.parseExpression(!0,t),o=a.slice(1,a.length-5);return{type:"styling",mode:n.mode,style:o,body:s}},htmlBuilder(r,e){var t=nr[r.style],a=e.havingStyle(t).withFont("");return ra(r.body,a,e)},mathmlBuilder(r,e){var t=nr[r.style],a=e.havingStyle(t),n=o0(r.body,a),s=new S.MathNode("mstyle",n),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},h=o[r.style];return s.setAttribute("scriptlevel",h[0]),s.setAttribute("displaystyle",h[1]),s}});var K1=function(e,t){var a=e.base;if(a)if(a.type==="op"){var n=a.limits&&(t.style.size===R.DISPLAY.size||a.alwaysHandleSupSub);return n?re:null}else if(a.type==="operatorname"){var s=a.alwaysHandleSupSub&&(t.style.size===R.DISPLAY.size||a.limits);return s?ta:null}else{if(a.type==="accent")return q.isCharacterBox(a.base)?xt:null;if(a.type==="horizBrace"){var o=!e.sub;return o===a.isOver?Qr:null}else return null}else return null};$0({type:"supsub",htmlBuilder(r,e){var t=K1(r,e);if(t)return t(r,e);var{base:a,sup:n,sub:s}=r,o=P(a,e),h,c,p=e.fontMetrics(),g=0,y=0,w=a&&q.isCharacterBox(a);if(n){var x=e.havingStyle(e.style.sup());h=P(n,x,e),w||(g=o.height-x.fontMetrics().supDrop*x.sizeMultiplier/e.sizeMultiplier)}if(s){var z=e.havingStyle(e.style.sub());c=P(s,z,e),w||(y=o.depth+z.fontMetrics().subDrop*z.sizeMultiplier/e.sizeMultiplier)}var T;e.style===R.DISPLAY?T=p.sup1:e.style.cramped?T=p.sup3:T=p.sup2;var C=e.sizeMultiplier,N=A(.5/p.ptPerEm/C),O=null;if(c){var F=r.base&&r.base.type==="op"&&r.base.name&&(r.base.name==="\\oiint"||r.base.name==="\\oiiint");(o instanceof p0||F)&&(O=A(-o.italic))}var V;if(h&&c){g=Math.max(g,T,h.depth+.25*p.xHeight),y=Math.max(y,p.sub2);var L=p.defaultRuleThickness,U=4*L;if(g-h.depth-(c.height-y)0&&(g+=G,y-=G)}var j=[{type:"elem",elem:c,shift:y,marginRight:N,marginLeft:O},{type:"elem",elem:h,shift:-g,marginRight:N}];V=b.makeVList({positionType:"individualShift",children:j},e)}else if(c){y=Math.max(y,p.sub1,c.height-.8*p.xHeight);var Y=[{type:"elem",elem:c,marginLeft:O,marginRight:N}];V=b.makeVList({positionType:"shift",positionData:y,children:Y},e)}else if(h)g=Math.max(g,T,h.depth+.25*p.xHeight),V=b.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:h,marginRight:N}]},e);else throw new Error("supsub must have either sup or sub.");var M0=lt(o,"right")||"mord";return b.makeSpan([M0],[o,b.makeSpan(["msupsub"],[V])],e)},mathmlBuilder(r,e){var t=!1,a,n;r.base&&r.base.type==="horizBrace"&&(n=!!r.sup,n===r.base.isOver&&(t=!0,a=r.base.isOver)),r.base&&(r.base.type==="op"||r.base.type==="operatorname")&&(r.base.parentIsSupSub=!0);var s=[X(r.base,e)];r.sub&&s.push(X(r.sub,e)),r.sup&&s.push(X(r.sup,e));var o;if(t)o=a?"mover":"munder";else if(r.sub)if(r.sup){var p=r.base;p&&p.type==="op"&&p.limits&&e.style===R.DISPLAY||p&&p.type==="operatorname"&&p.alwaysHandleSupSub&&(e.style===R.DISPLAY||p.limits)?o="munderover":o="msubsup"}else{var c=r.base;c&&c.type==="op"&&c.limits&&(e.style===R.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||e.style===R.DISPLAY)?o="munder":o="msub"}else{var h=r.base;h&&h.type==="op"&&h.limits&&(e.style===R.DISPLAY||h.alwaysHandleSupSub)||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(h.limits||e.style===R.DISPLAY)?o="mover":o="msup"}return new S.MathNode(o,s)}});$0({type:"atom",htmlBuilder(r,e){return b.mathsym(r.text,r.mode,e,["m"+r.family])},mathmlBuilder(r,e){var t=new S.MathNode("mo",[v0(r.text,r.mode)]);if(r.family==="bin"){var a=bt(r,e);a==="bold-italic"&&t.setAttribute("mathvariant",a)}else r.family==="punct"?t.setAttribute("separator","true"):(r.family==="open"||r.family==="close")&&t.setAttribute("stretchy","false");return t}});var aa={mi:"italic",mn:"normal",mtext:"normal"};$0({type:"mathord",htmlBuilder(r,e){return b.makeOrd(r,e,"mathord")},mathmlBuilder(r,e){var t=new S.MathNode("mi",[v0(r.text,r.mode,e)]),a=bt(r,e)||"italic";return a!==aa[t.type]&&t.setAttribute("mathvariant",a),t}});$0({type:"textord",htmlBuilder(r,e){return b.makeOrd(r,e,"textord")},mathmlBuilder(r,e){var t=v0(r.text,r.mode,e),a=bt(r,e)||"normal",n;return r.mode==="text"?n=new S.MathNode("mtext",[t]):/[0-9]/.test(r.text)?n=new S.MathNode("mn",[t]):r.text==="\\prime"?n=new S.MathNode("mo",[t]):n=new S.MathNode("mi",[t]),a!==aa[n.type]&&n.setAttribute("mathvariant",a),n}});var et={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},tt={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};$0({type:"spacing",htmlBuilder(r,e){if(tt.hasOwnProperty(r.text)){var t=tt[r.text].className||"";if(r.mode==="text"){var a=b.makeOrd(r,e,"textord");return a.classes.push(t),a}else return b.makeSpan(["mspace",t],[b.mathsym(r.text,r.mode,e)],e)}else{if(et.hasOwnProperty(r.text))return b.makeSpan(["mspace",et[r.text]],[],e);throw new M('Unknown type of space "'+r.text+'"')}},mathmlBuilder(r,e){var t;if(tt.hasOwnProperty(r.text))t=new S.MathNode("mtext",[new S.TextNode(" ")]);else{if(et.hasOwnProperty(r.text))return new S.MathNode("mspace");throw new M('Unknown type of space "'+r.text+'"')}return t}});var ir=()=>{var r=new S.MathNode("mtd",[]);return r.setAttribute("width","50%"),r};$0({type:"tag",mathmlBuilder(r,e){var t=new S.MathNode("mtable",[new S.MathNode("mtr",[ir(),new S.MathNode("mtd",[G0(r.body,e)]),ir(),new S.MathNode("mtd",[G0(r.tag,e)])])]);return t.setAttribute("width","100%"),t}});var sr={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},lr={"\\textbf":"textbf","\\textmd":"textmd"},J1={"\\textit":"textit","\\textup":"textup"},or=(r,e)=>{var t=r.font;if(t){if(sr[t])return e.withTextFontFamily(sr[t]);if(lr[t])return e.withTextFontWeight(lr[t]);if(t==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(J1[t])};B({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];return{type:"text",mode:t.mode,body:Q(n),font:a}},htmlBuilder(r,e){var t=or(r,e),a=t0(r.body,t,!0);return b.makeSpan(["mord","text"],a,t)},mathmlBuilder(r,e){var t=or(r,e);return G0(r.body,t)}});B({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"underline",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=P(r.body,e),a=b.makeLineSpan("underline-line",e),n=e.fontMetrics().defaultRuleThickness,s=b.makeVList({positionType:"top",positionData:t.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:t}]},e);return b.makeSpan(["mord","underline"],[s],e)},mathmlBuilder(r,e){var t=new S.MathNode("mo",[new S.TextNode("‾")]);t.setAttribute("stretchy","true");var a=new S.MathNode("munder",[X(r.body,e),t]);return a.setAttribute("accentunder","true"),a}});B({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"vcenter",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=P(r.body,e),a=e.fontMetrics().axisHeight,n=.5*(t.height-a-(t.depth+a));return b.makeVList({positionType:"shift",positionData:n,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(r,e){return new S.MathNode("mpadded",[X(r.body,e)],["vcenter"])}});B({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(r,e,t){throw new M("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(r,e){for(var t=ur(r),a=[],n=e.havingStyle(e.style.text()),s=0;sr.body.replace(/ /g,r.star?"␣":" "),H0=Ar,na=`[ \r + ]`,Q1="\\\\[a-zA-Z@]+",_1="\\\\[^\uD800-\uDFFF]",e4="("+Q1+")"+na+"*",t4=`\\\\( +|[ \r ]+ +?)[ \r ]*`,mt="[̀-ͯ]",r4=new RegExp(mt+"+$"),a4="("+na+"+)|"+(t4+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(mt+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(mt+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+e4)+("|"+_1+")");class hr{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(a4,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new f0("EOF",new u0(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new M("Unexpected character: '"+e[t]+"'",new f0(e[t],new u0(this,t,t+1)));var n=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[n]===14){var s=e.indexOf(` +`,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new f0(n,new u0(this,t,this.tokenRegex.lastIndex))}}class n4{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new M("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,a){if(a===void 0&&(a=!1),a){for(var n=0;n0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var s=this.undefStack[this.undefStack.length-1];s&&!s.hasOwnProperty(e)&&(s[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}}var i4=Wr;m("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});m("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}});m("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}});m("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}});m("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});m("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");m("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var mr={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};m("\\char",function(r){var e=r.popToken(),t,a="";if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new M("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=mr[e.text],a==null||a>=t)throw new M("Invalid base-"+t+" digit "+e.text);for(var n;(n=mr[r.future().text])!=null&&n{var a=r.consumeArg().tokens;if(a.length!==1)throw new M("\\newcommand's first argument must be a macro name");var n=a[0].text,s=r.isDefined(n);if(s&&!e)throw new M("\\newcommand{"+n+"} attempting to redefine "+(n+"; use \\renewcommand"));if(!s&&!t)throw new M("\\renewcommand{"+n+"} when command "+n+" does not yet exist; use \\newcommand");var o=0;if(a=r.consumeArg().tokens,a.length===1&&a[0].text==="["){for(var h="",c=r.expandNextToken();c.text!=="]"&&c.text!=="EOF";)h+=c.text,c=r.expandNextToken();if(!h.match(/^\s*[0-9]+\s*$/))throw new M("Invalid number of arguments: "+h);o=parseInt(h),a=r.consumeArg().tokens}return r.macros.set(n,{tokens:a,numArgs:o}),""};m("\\newcommand",r=>Bt(r,!1,!0));m("\\renewcommand",r=>Bt(r,!0,!1));m("\\providecommand",r=>Bt(r,!0,!0));m("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""});m("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""});m("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),H0[t],$.math[t],$.text[t]),""});m("\\bgroup","{");m("\\egroup","}");m("~","\\nobreakspace");m("\\lq","`");m("\\rq","'");m("\\aa","\\r a");m("\\AA","\\r A");m("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");m("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");m("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");m("ℬ","\\mathscr{B}");m("ℰ","\\mathscr{E}");m("ℱ","\\mathscr{F}");m("ℋ","\\mathscr{H}");m("ℐ","\\mathscr{I}");m("ℒ","\\mathscr{L}");m("ℳ","\\mathscr{M}");m("ℛ","\\mathscr{R}");m("ℭ","\\mathfrak{C}");m("ℌ","\\mathfrak{H}");m("ℨ","\\mathfrak{Z}");m("\\Bbbk","\\Bbb{k}");m("·","\\cdotp");m("\\llap","\\mathllap{\\textrm{#1}}");m("\\rlap","\\mathrlap{\\textrm{#1}}");m("\\clap","\\mathclap{\\textrm{#1}}");m("\\mathstrut","\\vphantom{(}");m("\\underbar","\\underline{\\text{#1}}");m("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');m("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");m("\\ne","\\neq");m("≠","\\neq");m("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");m("∉","\\notin");m("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");m("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");m("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");m("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");m("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");m("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");m("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");m("⟂","\\perp");m("‼","\\mathclose{!\\mkern-0.8mu!}");m("∌","\\notni");m("⌜","\\ulcorner");m("⌝","\\urcorner");m("⌞","\\llcorner");m("⌟","\\lrcorner");m("©","\\copyright");m("®","\\textregistered");m("️","\\textregistered");m("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');m("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');m("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');m("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');m("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");m("⋮","\\vdots");m("\\varGamma","\\mathit{\\Gamma}");m("\\varDelta","\\mathit{\\Delta}");m("\\varTheta","\\mathit{\\Theta}");m("\\varLambda","\\mathit{\\Lambda}");m("\\varXi","\\mathit{\\Xi}");m("\\varPi","\\mathit{\\Pi}");m("\\varSigma","\\mathit{\\Sigma}");m("\\varUpsilon","\\mathit{\\Upsilon}");m("\\varPhi","\\mathit{\\Phi}");m("\\varPsi","\\mathit{\\Psi}");m("\\varOmega","\\mathit{\\Omega}");m("\\substack","\\begin{subarray}{c}#1\\end{subarray}");m("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");m("\\boxed","\\fbox{$\\displaystyle{#1}$}");m("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");m("\\implies","\\DOTSB\\;\\Longrightarrow\\;");m("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");m("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");m("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var cr={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};m("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in cr?e=cr[t]:(t.slice(0,4)==="\\not"||t in $.math&&q.contains(["bin","rel"],$.math[t].group))&&(e="\\dotsb"),e});var Dt={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};m("\\dotso",function(r){var e=r.future().text;return e in Dt?"\\ldots\\,":"\\ldots"});m("\\dotsc",function(r){var e=r.future().text;return e in Dt&&e!==","?"\\ldots\\,":"\\ldots"});m("\\cdots",function(r){var e=r.future().text;return e in Dt?"\\@cdots\\,":"\\@cdots"});m("\\dotsb","\\cdots");m("\\dotsm","\\cdots");m("\\dotsi","\\!\\cdots");m("\\dotsx","\\ldots\\,");m("\\DOTSI","\\relax");m("\\DOTSB","\\relax");m("\\DOTSX","\\relax");m("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");m("\\,","\\tmspace+{3mu}{.1667em}");m("\\thinspace","\\,");m("\\>","\\mskip{4mu}");m("\\:","\\tmspace+{4mu}{.2222em}");m("\\medspace","\\:");m("\\;","\\tmspace+{5mu}{.2777em}");m("\\thickspace","\\;");m("\\!","\\tmspace-{3mu}{.1667em}");m("\\negthinspace","\\!");m("\\negmedspace","\\tmspace-{4mu}{.2222em}");m("\\negthickspace","\\tmspace-{5mu}{.277em}");m("\\enspace","\\kern.5em ");m("\\enskip","\\hskip.5em\\relax");m("\\quad","\\hskip1em\\relax");m("\\qquad","\\hskip2em\\relax");m("\\tag","\\@ifstar\\tag@literal\\tag@paren");m("\\tag@paren","\\tag@literal{({#1})}");m("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new M("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});m("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");m("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");m("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");m("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");m("\\newline","\\\\\\relax");m("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var ia=A(x0["Main-Regular"][84][1]-.7*x0["Main-Regular"][65][1]);m("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+ia+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");m("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+ia+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");m("\\hspace","\\@ifstar\\@hspacer\\@hspace");m("\\@hspace","\\hskip #1\\relax");m("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");m("\\ordinarycolon",":");m("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");m("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');m("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');m("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');m("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');m("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');m("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');m("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');m("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');m("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');m("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');m("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');m("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');m("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');m("∷","\\dblcolon");m("∹","\\eqcolon");m("≔","\\coloneqq");m("≕","\\eqqcolon");m("⩴","\\Coloneqq");m("\\ratio","\\vcentcolon");m("\\coloncolon","\\dblcolon");m("\\colonequals","\\coloneqq");m("\\coloncolonequals","\\Coloneqq");m("\\equalscolon","\\eqqcolon");m("\\equalscoloncolon","\\Eqqcolon");m("\\colonminus","\\coloneq");m("\\coloncolonminus","\\Coloneq");m("\\minuscolon","\\eqcolon");m("\\minuscoloncolon","\\Eqcolon");m("\\coloncolonapprox","\\Colonapprox");m("\\coloncolonsim","\\Colonsim");m("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");m("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");m("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");m("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");m("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");m("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");m("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");m("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");m("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");m("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");m("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");m("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");m("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");m("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");m("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");m("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");m("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");m("\\nleqq","\\html@mathml{\\@nleqq}{≰}");m("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");m("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");m("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");m("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");m("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");m("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");m("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");m("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");m("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");m("\\imath","\\html@mathml{\\@imath}{ı}");m("\\jmath","\\html@mathml{\\@jmath}{ȷ}");m("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");m("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");m("⟦","\\llbracket");m("⟧","\\rrbracket");m("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");m("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");m("⦃","\\lBrace");m("⦄","\\rBrace");m("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");m("⦵","\\minuso");m("\\darr","\\downarrow");m("\\dArr","\\Downarrow");m("\\Darr","\\Downarrow");m("\\lang","\\langle");m("\\rang","\\rangle");m("\\uarr","\\uparrow");m("\\uArr","\\Uparrow");m("\\Uarr","\\Uparrow");m("\\N","\\mathbb{N}");m("\\R","\\mathbb{R}");m("\\Z","\\mathbb{Z}");m("\\alef","\\aleph");m("\\alefsym","\\aleph");m("\\Alpha","\\mathrm{A}");m("\\Beta","\\mathrm{B}");m("\\bull","\\bullet");m("\\Chi","\\mathrm{X}");m("\\clubs","\\clubsuit");m("\\cnums","\\mathbb{C}");m("\\Complex","\\mathbb{C}");m("\\Dagger","\\ddagger");m("\\diamonds","\\diamondsuit");m("\\empty","\\emptyset");m("\\Epsilon","\\mathrm{E}");m("\\Eta","\\mathrm{H}");m("\\exist","\\exists");m("\\harr","\\leftrightarrow");m("\\hArr","\\Leftrightarrow");m("\\Harr","\\Leftrightarrow");m("\\hearts","\\heartsuit");m("\\image","\\Im");m("\\infin","\\infty");m("\\Iota","\\mathrm{I}");m("\\isin","\\in");m("\\Kappa","\\mathrm{K}");m("\\larr","\\leftarrow");m("\\lArr","\\Leftarrow");m("\\Larr","\\Leftarrow");m("\\lrarr","\\leftrightarrow");m("\\lrArr","\\Leftrightarrow");m("\\Lrarr","\\Leftrightarrow");m("\\Mu","\\mathrm{M}");m("\\natnums","\\mathbb{N}");m("\\Nu","\\mathrm{N}");m("\\Omicron","\\mathrm{O}");m("\\plusmn","\\pm");m("\\rarr","\\rightarrow");m("\\rArr","\\Rightarrow");m("\\Rarr","\\Rightarrow");m("\\real","\\Re");m("\\reals","\\mathbb{R}");m("\\Reals","\\mathbb{R}");m("\\Rho","\\mathrm{P}");m("\\sdot","\\cdot");m("\\sect","\\S");m("\\spades","\\spadesuit");m("\\sub","\\subset");m("\\sube","\\subseteq");m("\\supe","\\supseteq");m("\\Tau","\\mathrm{T}");m("\\thetasym","\\vartheta");m("\\weierp","\\wp");m("\\Zeta","\\mathrm{Z}");m("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");m("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");m("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");m("\\bra","\\mathinner{\\langle{#1}|}");m("\\ket","\\mathinner{|{#1}\\rangle}");m("\\braket","\\mathinner{\\langle{#1}\\rangle}");m("\\Bra","\\left\\langle#1\\right|");m("\\Ket","\\left|#1\\right\\rangle");var sa=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,n=e.consumeArg().tokens,s=e.consumeArg().tokens,o=e.macros.get("|"),h=e.macros.get("\\|");e.macros.beginGroup();var c=y=>w=>{r&&(w.macros.set("|",o),n.length&&w.macros.set("\\|",h));var x=y;if(!y&&n.length){var z=w.future();z.text==="|"&&(w.popToken(),x=!0)}return{tokens:x?n:a,numArgs:0}};e.macros.set("|",c(!1)),n.length&&e.macros.set("\\|",c(!0));var p=e.consumeArg().tokens,g=e.expandTokens([...s,...p,...t]);return e.macros.endGroup(),{tokens:g.reverse(),numArgs:0}};m("\\bra@ket",sa(!1));m("\\bra@set",sa(!0));m("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");m("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");m("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");m("\\angln","{\\angl n}");m("\\blue","\\textcolor{##6495ed}{#1}");m("\\orange","\\textcolor{##ffa500}{#1}");m("\\pink","\\textcolor{##ff00af}{#1}");m("\\red","\\textcolor{##df0030}{#1}");m("\\green","\\textcolor{##28ae7b}{#1}");m("\\gray","\\textcolor{gray}{#1}");m("\\purple","\\textcolor{##9d38bd}{#1}");m("\\blueA","\\textcolor{##ccfaff}{#1}");m("\\blueB","\\textcolor{##80f6ff}{#1}");m("\\blueC","\\textcolor{##63d9ea}{#1}");m("\\blueD","\\textcolor{##11accd}{#1}");m("\\blueE","\\textcolor{##0c7f99}{#1}");m("\\tealA","\\textcolor{##94fff5}{#1}");m("\\tealB","\\textcolor{##26edd5}{#1}");m("\\tealC","\\textcolor{##01d1c1}{#1}");m("\\tealD","\\textcolor{##01a995}{#1}");m("\\tealE","\\textcolor{##208170}{#1}");m("\\greenA","\\textcolor{##b6ffb0}{#1}");m("\\greenB","\\textcolor{##8af281}{#1}");m("\\greenC","\\textcolor{##74cf70}{#1}");m("\\greenD","\\textcolor{##1fab54}{#1}");m("\\greenE","\\textcolor{##0d923f}{#1}");m("\\goldA","\\textcolor{##ffd0a9}{#1}");m("\\goldB","\\textcolor{##ffbb71}{#1}");m("\\goldC","\\textcolor{##ff9c39}{#1}");m("\\goldD","\\textcolor{##e07d10}{#1}");m("\\goldE","\\textcolor{##a75a05}{#1}");m("\\redA","\\textcolor{##fca9a9}{#1}");m("\\redB","\\textcolor{##ff8482}{#1}");m("\\redC","\\textcolor{##f9685d}{#1}");m("\\redD","\\textcolor{##e84d39}{#1}");m("\\redE","\\textcolor{##bc2612}{#1}");m("\\maroonA","\\textcolor{##ffbde0}{#1}");m("\\maroonB","\\textcolor{##ff92c6}{#1}");m("\\maroonC","\\textcolor{##ed5fa6}{#1}");m("\\maroonD","\\textcolor{##ca337c}{#1}");m("\\maroonE","\\textcolor{##9e034e}{#1}");m("\\purpleA","\\textcolor{##ddd7ff}{#1}");m("\\purpleB","\\textcolor{##c6b9fc}{#1}");m("\\purpleC","\\textcolor{##aa87ff}{#1}");m("\\purpleD","\\textcolor{##7854ab}{#1}");m("\\purpleE","\\textcolor{##543b78}{#1}");m("\\mintA","\\textcolor{##f5f9e8}{#1}");m("\\mintB","\\textcolor{##edf2df}{#1}");m("\\mintC","\\textcolor{##e0e5cc}{#1}");m("\\grayA","\\textcolor{##f6f7f7}{#1}");m("\\grayB","\\textcolor{##f0f1f2}{#1}");m("\\grayC","\\textcolor{##e3e5e6}{#1}");m("\\grayD","\\textcolor{##d6d8da}{#1}");m("\\grayE","\\textcolor{##babec2}{#1}");m("\\grayF","\\textcolor{##888d93}{#1}");m("\\grayG","\\textcolor{##626569}{#1}");m("\\grayH","\\textcolor{##3b3e40}{#1}");m("\\grayI","\\textcolor{##21242c}{#1}");m("\\kaBlue","\\textcolor{##314453}{#1}");m("\\kaGreen","\\textcolor{##71B307}{#1}");var la={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class s4{constructor(e,t,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new n4(i4,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new hr(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,n;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:n,end:a}=this.consumeArg(["]"])}else({tokens:n,start:t,end:a}=this.consumeArg());return this.pushToken(new f0("EOF",a.loc)),this.pushTokens(n),t.range(a,"")}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var n=this.future(),s,o=0,h=0;do{if(s=this.popToken(),t.push(s),s.text==="{")++o;else if(s.text==="}"){if(--o,o===-1)throw new M("Extra }",s)}else if(s.text==="EOF")throw new M("Unexpected end of input in a macro argument, expected '"+(e&&a?e[h]:"}")+"'",s);if(e&&a)if((o===0||o===1&&e[h]==="{")&&s.text===e[h]){if(++h,h===e.length){t.splice(-h,h);break}}else h=0}while(o!==0||a);return n.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:n,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new M("The length of delimiters doesn't match the number of args!");for(var a=t[0],n=0;nthis.settings.maxExpand)throw new M("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,n=t.noexpand?null:this._getExpansion(a);if(n==null||e&&n.unexpandable){if(e&&n==null&&a[0]==="\\"&&!this.isDefined(a))throw new M("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var s=n.tokens,o=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs){s=s.slice();for(var h=s.length-1;h>=0;--h){var c=s[h];if(c.text==="#"){if(h===0)throw new M("Incomplete placeholder at end of macro body",c);if(c=s[--h],c.text==="#")s.splice(h+1,1);else if(/^[1-9]$/.test(c.text))s.splice(h,2,...o[+c.text-1]);else throw new M("Not a valid argument number",c)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new f0(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var n=typeof t=="function"?t(this):t;if(typeof n=="string"){var s=0;if(n.indexOf("#")!==-1)for(var o=n.replace(/##/g,"");o.indexOf("#"+(s+1))!==-1;)++s;for(var h=new hr(n,this.settings),c=[],p=h.lex();p.text!=="EOF";)c.push(p),p=h.lex();c.reverse();var g={tokens:c,numArgs:s};return g}return n}isDefined(e){return this.macros.has(e)||H0.hasOwnProperty(e)||$.math.hasOwnProperty(e)||$.text.hasOwnProperty(e)||la.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:H0.hasOwnProperty(e)&&!H0[e].primitive}}var dr=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Me=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),rt={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},fr={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class He{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new s4(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new M("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new f0("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var n=this.fetch();if(He.endOfExpression.indexOf(n.text)!==-1||t&&n.text===t||e&&H0[n.text]&&H0[n.text].infix)break;var s=this.parseAtom(t);if(s){if(s.type==="internal")continue}else break;a.push(s)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,n=0;n=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var h=$[this.mode][t].group,c=u0.range(e),p;if(ja.hasOwnProperty(h)){var g=h;p={type:"atom",mode:this.mode,family:g,loc:c,text:t}}else p={type:h,mode:this.mode,loc:c,text:t};o=p}else if(t.charCodeAt(0)>=128)this.settings.strict&&(vr(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),o={type:"textord",mode:"text",loc:u0.range(e),text:t};else return null;if(this.consume(),s)for(var y=0;y"u"&&(b.yylloc={});var q=b.yylloc;e.push(q);var de=b.options&&b.options.ranges;typeof T.yy.parseError=="function"?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){a.length=a.length-2*S,u.length=u.length-S,e.length=e.length-S}c(pe,"popStack");function ae(){var S;return S=o.pop()||b.lex()||re,typeof S!="number"&&(S instanceof Array&&(o=S,S=o.pop()),S=n.symbols_[S]||S),S}c(ae,"lex");for(var k,R,v,Q,F={},X,I,oe,K;;){if(R=a[a.length-1],this.defaultActions[R]?v=this.defaultActions[R]:((k===null||typeof k>"u")&&(k=ae()),v=B[R]&&B[R][k]),typeof v>"u"||!v.length||!v[0]){var Z="";K=[];for(X in B[R])this.terminals_[X]&&X>ue&&K.push("'"+this.terminals_[X]+"'");b.showPosition?Z="Parse error on line "+(z+1)+`: +`+b.showPosition()+` +Expecting `+K.join(", ")+", got '"+(this.terminals_[k]||k)+"'":Z="Parse error on line "+(z+1)+": Unexpected "+(k==re?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(Z,{text:b.match,token:this.terminals_[k]||k,line:b.yylineno,loc:q,expected:K})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+k);switch(v[0]){case 1:a.push(k),u.push(b.yytext),e.push(b.yylloc),a.push(v[1]),k=null,se=b.yyleng,l=b.yytext,z=b.yylineno,q=b.yylloc;break;case 2:if(I=this.productions_[v[1]][1],F.$=u[u.length-I],F._$={first_line:e[e.length-(I||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(I||1)].first_column,last_column:e[e.length-1].last_column},de&&(F._$.range=[e[e.length-(I||1)].range[0],e[e.length-1].range[1]]),Q=this.performAction.apply(F,[l,se,z,T.yy,v[1],u,e].concat(ge)),typeof Q<"u")return Q;I&&(a=a.slice(0,-1*I*2),u=u.slice(0,-1*I),e=e.slice(0,-1*I)),a.push(this.productions_[v[1]][0]),u.push(F.$),e.push(F._$),oe=B[a[a.length-2]][a[a.length-1]],a.push(oe);break;case 3:return!0}}return!0},"parse")},m=function(){var _={EOF:1,parseError:c(function(n,a){if(this.yy.parser)this.yy.parser.parseError(n,a);else throw new Error(n)},"parseError"),setInput:c(function(i,n){return this.yy=n||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:c(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:c(function(i){var n=i.length,a=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===o.length?this.yylloc.first_column:0)+o[o.length-a.length].length-a[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:c(function(){return this._more=!0,this},"more"),reject:c(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:c(function(i){this.unput(this.match.slice(i))},"less"),pastInput:c(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:c(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:c(function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+n+"^"},"showPosition"),test_match:c(function(i,n){var a,o,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),o=i[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],a=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack){for(var e in u)this[e]=u[e];return!1}return!1},"test_match"),next:c(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,n,a,o;this._more||(this.yytext="",this.match="");for(var u=this._currentRules(),e=0;en[0].length)){if(n=a,o=e,this.options.backtrack_lexer){if(i=this.test_match(a,u[e]),i!==!1)return i;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(i=this.test_match(n,u[o]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:c(function(){var n=this.next();return n||this.lex()},"lex"),begin:c(function(n){this.conditionStack.push(n)},"begin"),popState:c(function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:c(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:c(function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:c(function(n){this.begin(n)},"pushState"),stateStackSize:c(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:c(function(n,a,o,u){switch(o){case 0:return this.pushState("shapeData"),a.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const e=/\n\s*/g;return a.yytext=a.yytext.replace(e,"
    "),24;case 4:return 24;case 5:this.popState();break;case 6:return n.getLogger().trace("Found comment",a.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:n.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return n.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:n.getLogger().trace("end icon"),this.popState();break;case 16:return n.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return n.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return n.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return n.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:n.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return n.getLogger().trace("description:",a.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),n.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),n.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),n.getLogger().trace("node end ...",a.yytext),"NODE_DEND";case 36:return this.popState(),n.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),n.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),n.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),n.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),n.getLogger().trace("node end (("),"NODE_DEND";case 41:return n.getLogger().trace("Long description:",a.yytext),21;case 42:return n.getLogger().trace("Long description:",a.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return _}();V.lexer=m;function O(){this.yy={}}return c(O,"Parser"),O.prototype=V,V.Parser=O,new O}();$.parser=$;var Ne=$,D=[],ne=[],ee=0,ie={},xe=c(()=>{D=[],ne=[],ee=0,ie={}},"clear"),ve=c(t=>{if(D.length===0)return null;const g=D[0].level;let d=null;for(let r=D.length-1;r>=0;r--)if(D[r].level===g&&!d&&(d=D[r]),D[r].levelh.parentId===p.id);for(const h of f){const L={id:h.id,parentId:p.id,label:G(h.label??"",r),isGroup:!1,ticket:h==null?void 0:h.ticket,priority:h==null?void 0:h.priority,assigned:h==null?void 0:h.assigned,icon:h==null?void 0:h.icon,shape:"kanbanItem",level:h.level,rx:5,ry:5,cssStyles:["text-align: left"]};g.push(L)}}return{nodes:g,edges:t,other:{},config:W()}},"getData"),Le=c((t,g,d,r,p)=>{var C,w;const E=W();let f=((C=E.mindmap)==null?void 0:C.padding)??Y.mindmap.padding;switch(r){case y.ROUNDED_RECT:case y.RECT:case y.HEXAGON:f*=2}const h={id:G(g,E)||"kbn"+ee++,level:t,label:G(d,E),width:((w=E.mindmap)==null?void 0:w.maxNodeWidth)??Y.mindmap.maxNodeWidth,padding:f,isGroup:!1};if(p!==void 0){let N;p.includes(` +`)?N=p+` +`:N=`{ +`+p+` +}`;const s=Ee(N,{schema:ke});if(s.shape&&(s.shape!==s.shape.toLowerCase()||s.shape.includes("_")))throw new Error(`No such shape: ${s.shape}. Shape names should be lowercase.`);s!=null&&s.shape&&s.shape==="kanbanItem"&&(h.shape=s==null?void 0:s.shape),s!=null&&s.label&&(h.label=s==null?void 0:s.label),s!=null&&s.icon&&(h.icon=s==null?void 0:s.icon.toString()),s!=null&&s.assigned&&(h.assigned=s==null?void 0:s.assigned.toString()),s!=null&&s.ticket&&(h.ticket=s==null?void 0:s.ticket.toString()),s!=null&&s.priority&&(h.priority=s==null?void 0:s.priority)}const L=ve(t);L?h.parentId=L.id||"kbn"+ee++:ne.push(h),D.push(h)},"addNode"),y={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Oe=c((t,g)=>{switch(te.debug("In get type",t,g),t){case"[":return y.RECT;case"(":return g===")"?y.ROUNDED_RECT:y.CLOUD;case"((":return y.CIRCLE;case")":return y.CLOUD;case"))":return y.BANG;case"{{":return y.HEXAGON;default:return y.DEFAULT}},"getType"),Ie=c((t,g)=>{ie[t]=g},"setElementForId"),Ce=c(t=>{if(!t)return;const g=W(),d=D[D.length-1];t.icon&&(d.icon=G(t.icon,g)),t.class&&(d.cssClasses=G(t.class,g))},"decorateNode"),we=c(t=>{switch(t){case y.DEFAULT:return"no-border";case y.RECT:return"rect";case y.ROUNDED_RECT:return"rounded-rect";case y.CIRCLE:return"circle";case y.CLOUD:return"cloud";case y.BANG:return"bang";case y.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Ae=c(()=>te,"getLogger"),Te=c(t=>ie[t],"getElementById"),Re={clear:xe,addNode:Le,getSections:he,getData:De,nodeType:y,getType:Oe,setElementForId:Ie,decorateNode:Ce,type2Str:we,getLogger:Ae,getElementById:Te},Pe=Re,Ve=c(async(t,g,d,r)=>{var U,j,A,H,V;te.debug(`Rendering kanban diagram +`+t);const E=r.db.getData(),f=W();f.htmlLabels=!1;const h=fe(g),L=h.append("g");L.attr("class","sections");const C=h.append("g");C.attr("class","items");const w=E.nodes.filter(m=>m.isGroup);let N=0;const s=10,M=[];let x=25;for(const m of w){const O=((U=f==null?void 0:f.kanban)==null?void 0:U.sectionWidth)||200;N=N+1,m.x=O*N+(N-1)*s/2,m.width=O,m.y=0,m.height=O*3,m.rx=5,m.ry=5,m.cssClasses=m.cssClasses+" section-"+N;const _=await ye(L,m);x=Math.max(x,(j=_==null?void 0:_.labelBBox)==null?void 0:j.height),M.push(_)}let P=0;for(const m of w){const O=M[P];P=P+1;const _=((A=f==null?void 0:f.kanban)==null?void 0:A.sectionWidth)||200,i=-_*3/2+x;let n=i;const a=E.nodes.filter(e=>e.parentId===m.id);for(const e of a){if(e.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");e.x=m.x,e.width=_-1.5*s;const l=(await be(C,e,{config:f})).node().getBBox();e.y=n+l.height/2,await me(e),n=e.y+l.height/2+s/2}const o=O.cluster.select("rect"),u=Math.max(n-i+3*s,50)+(x-25);o.attr("height",u)}_e(void 0,h,((H=f.mindmap)==null?void 0:H.padding)??Y.kanban.padding,((V=f.mindmap)==null?void 0:V.useMaxWidth)??Y.kanban.useMaxWidth)},"draw"),Be={draw:Ve},Fe=c(t=>{let g="";for(let r=0;rt.darkMode?ce(r,p):le(r,p),"adjuster");for(let r=0;r` + .edge { + stroke-width: 3; + } + ${Fe(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .cluster-label, .label { + color: ${t.textColor}; + fill: ${t.textColor}; + } + .kanban-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`,"getStyles"),Me=Ge,Xe={db:Pe,renderer:Be,parser:Ne,styles:Me};export{Xe as diagram}; diff --git a/_nuxt/RYj3OKVH.js b/_nuxt/RYj3OKVH.js new file mode 100644 index 000000000..9330f7619 --- /dev/null +++ b/_nuxt/RYj3OKVH.js @@ -0,0 +1 @@ +import{d as i,a as c,c as p,o as s,b as n,q as u,r as t}from"./DzgF3Vew.js";const f=["id"],l=["href"],k=i({__name:"ProseH6",props:{id:{}},setup(r){const a=r,{headings:o}=c().public.mdc,d=p(()=>{var e;return a.id&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h6)});return(e,m)=>(s(),n("h6",{id:e.id},[e.id&&u(d)?(s(),n("a",{key:0,href:`#${e.id}`},[t(e.$slots,"default")],8,l)):t(e.$slots,"default",{key:1})],8,f))}});export{k as default}; diff --git a/_nuxt/ZNOPhsdt.js b/_nuxt/ZNOPhsdt.js deleted file mode 100644 index 3d0586242..000000000 --- a/_nuxt/ZNOPhsdt.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./CAJW8Aus.js";import"./ZI84DZB4.js";import"./C-v3KzvZ.js";import"./ny9-2f-j.js";import"./IShi1APO.js";export{o as default}; diff --git a/_nuxt/_id_.D334hZGB.css b/_nuxt/_id_.CpkGk6rS.css similarity index 67% rename from _nuxt/_id_.D334hZGB.css rename to _nuxt/_id_.CpkGk6rS.css index d82ed98f5..3a49669c5 100644 --- a/_nuxt/_id_.D334hZGB.css +++ b/_nuxt/_id_.CpkGk6rS.css @@ -1 +1 @@ -.form-select[data-v-9f80dc9e]{background-image:none}.author-link[data-v-f69547aa]{border-bottom:1px dotted;color:inherit;text-decoration:none}.author-link[data-v-f69547aa]:hover{border-bottom-style:solid}.loader[data-v-548273dd]{animation:spin-548273dd 2s linear infinite;border-radius:50%;height:240px;width:240px}@keyframes spin-548273dd{0%{transform:rotate(0)}to{transform:rotate(1turn)}} +.form-select[data-v-9f80dc9e]{background-image:none}.author-link[data-v-f69547aa]{border-bottom:1px dotted;color:inherit;text-decoration:none}.author-link[data-v-f69547aa]:hover{border-bottom-style:solid}.loader[data-v-bcfbdfc0]{animation:spin-bcfbdfc0 2s linear infinite;border-radius:50%;height:240px;width:240px}@keyframes spin-bcfbdfc0{0%{transform:rotate(0)}to{transform:rotate(1turn)}} diff --git a/_nuxt/a3ITFkyq.js b/_nuxt/a3ITFkyq.js deleted file mode 100644 index e1f31ee43..000000000 --- a/_nuxt/a3ITFkyq.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,o as r,c as n,r as c}from"./ZI84DZB4.js";const s={};function t(e,a){return r(),n("code",null,[c(e.$slots,"default")])}const _=o(s,[["render",t]]);export{_ as default}; diff --git a/_nuxt/builds/latest.json b/_nuxt/builds/latest.json index 9d51d283c..f917527b4 100644 --- a/_nuxt/builds/latest.json +++ b/_nuxt/builds/latest.json @@ -1 +1 @@ -{"id":"e6fddee0-45ce-473e-bd04-62f8e4312dcf","timestamp":1733764744211} \ No newline at end of file +{"id":"bf7af7fd-a799-49d4-95c2-1c60384f989a","timestamp":1733883914473} \ No newline at end of file diff --git a/_nuxt/builds/meta/bf7af7fd-a799-49d4-95c2-1c60384f989a.json b/_nuxt/builds/meta/bf7af7fd-a799-49d4-95c2-1c60384f989a.json new file mode 100644 index 000000000..e029f378b --- /dev/null +++ b/_nuxt/builds/meta/bf7af7fd-a799-49d4-95c2-1c60384f989a.json @@ -0,0 +1 @@ +{"id":"bf7af7fd-a799-49d4-95c2-1c60384f989a","timestamp":1733883914473,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":["/","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgene-based-pathogen-identification%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ftaxonomy-profiling-and-visualization-with-krona%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpolish-with-long-reads%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpathogen-detection-pathogfair-samples-aggregation-and-visualisation%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fquality-and-contamination-control%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial-genome-assembly%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fassembly-with-flye%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Famr_gene_detection%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial_genome_annotation%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fprotein-ligand-complex-parameterization%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-dctmd%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fallele-based-pathogen-identification%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-variation-reporting%2FCOVID-19-VARIATION-REPORTING","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffragment-based-docking-scoring%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-mmgbsa%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fnanopore-pre-processing%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-se-illumina-wgs-variant-calling%2FCOVID-19-SE-WGS-ILLUMINA","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-ivar-analysis%2FSARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-wgs-variant-calling%2FCOVID-19-PE-WGS-ILLUMINA","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-ont-artic-variant-calling%2FCOVID-19-ARTIC-ONT","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-consensus-from-variation%2FCOVID-19-CONSENSUS-CONSTRUCTION","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhaploid-variant-calling-wgs-pe%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-variant-calling%2FCOVID-19-PE-ARTIC-ILLUMINA","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgeneric-variant-calling-wgs-pe%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvariation-reporting%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fparallel-accession-download%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsra-manifest-to-concatenated-fastqs%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffluorescence-nuclei-segmentation-and-counting%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-1d-logNorm","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-2d-logNorm","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-from-bundled","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-filtered-barcodes","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-v3","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpseudobulk-worflow-decoupler-edger%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-cool-hicup-cooler","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-juicermediumtabix-to-cool-cooler","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-cellplex","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fchic-fastq-to-cool-hicup-cooler","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-pe","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-pairs-hicup","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-sr","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-atac-cutandrun","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-pe%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fcutandrun%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fatacseq%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-sr%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Faverage-bigwig-between-replicates%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fopenms-metaprosip%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-data-interpretation%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-quantitation%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-database-generation%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-discovery%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-verification%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbrew3r%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-de%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgoseq%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-pe%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fdada2%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-sr%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIa-import-multiplexed-se","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIb-import-multiplexed-pe","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIc-import-demultiplexed-se","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FId-import-demultiplexed-pe","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIb-denoising-pe","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIa-denoising-se","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-VI-diversity-metrics-and-estimations","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frepeatmasking%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgcms-metams%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Flcms-preprocessing%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpox-virus-amplicon%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPlot-Nx-Size%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicates-one-haplotype-VGP6b%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FMitogenome-assembly-VGP0%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicate-contigs-VGP6%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-decontamination-VGP9%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-only-VGP3%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-trio-VGP2%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-Bionano-VGP7%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-Trio-phasing-VGP5%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-VGP1%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-HiC-phasing-VGP4%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-HiC-VGP8%2Fmain"]} \ No newline at end of file diff --git a/_nuxt/builds/meta/e6fddee0-45ce-473e-bd04-62f8e4312dcf.json b/_nuxt/builds/meta/e6fddee0-45ce-473e-bd04-62f8e4312dcf.json deleted file mode 100644 index 9559b3d7b..000000000 --- a/_nuxt/builds/meta/e6fddee0-45ce-473e-bd04-62f8e4312dcf.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"e6fddee0-45ce-473e-bd04-62f8e4312dcf","timestamp":1733764744211,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":["/","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgene-based-pathogen-identification%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fquality-and-contamination-control%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ftaxonomy-profiling-and-visualization-with-krona%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpolish-with-long-reads%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fassembly-with-flye%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial_genome_annotation%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fprotein-ligand-complex-parameterization%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial-genome-assembly%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffragment-based-docking-scoring%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fallele-based-pathogen-identification%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-mmgbsa%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-variation-reporting%2FCOVID-19-VARIATION-REPORTING","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-dctmd%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Famr_gene_detection%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fnanopore-pre-processing%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpathogen-detection-pathogfair-samples-aggregation-and-visualisation%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-se-illumina-wgs-variant-calling%2FCOVID-19-SE-WGS-ILLUMINA","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-ivar-analysis%2FSARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-ont-artic-variant-calling%2FCOVID-19-ARTIC-ONT","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-wgs-variant-calling%2FCOVID-19-PE-WGS-ILLUMINA","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-consensus-from-variation%2FCOVID-19-CONSENSUS-CONSTRUCTION","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-variant-calling%2FCOVID-19-PE-ARTIC-ILLUMINA","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgeneric-variant-calling-wgs-pe%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhaploid-variant-calling-wgs-pe%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvariation-reporting%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsra-manifest-to-concatenated-fastqs%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffluorescence-nuclei-segmentation-and-counting%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fparallel-accession-download%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-1d-logNorm","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-2d-logNorm","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-from-bundled","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-filtered-barcodes","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-cellplex","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpseudobulk-worflow-decoupler-edger%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-v3","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-cool-hicup-cooler","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fchic-fastq-to-cool-hicup-cooler","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-juicermediumtabix-to-cool-cooler","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-pairs-hicup","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-sr","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-pe","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-atac-cutandrun","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-pe%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fcutandrun%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fatacseq%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-sr%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fopenms-metaprosip%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Faverage-bigwig-between-replicates%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-data-interpretation%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-database-generation%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-quantitation%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgoseq%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-discovery%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-de%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbrew3r%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-verification%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-sr%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-pe%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fdada2%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIa-import-multiplexed-se","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIb-import-multiplexed-pe","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIc-import-demultiplexed-se","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FId-import-demultiplexed-pe","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIa-denoising-se","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIb-denoising-pe","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-VI-diversity-metrics-and-estimations","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frepeatmasking%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Flcms-preprocessing%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgcms-metams%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpox-virus-amplicon%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPlot-Nx-Size%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicates-one-haplotype-VGP6b%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FMitogenome-assembly-VGP0%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicate-contigs-VGP6%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-decontamination-VGP9%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-only-VGP3%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-trio-VGP2%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-Bionano-VGP7%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-Trio-phasing-VGP5%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-HiC-phasing-VGP4%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-VGP1%2Fmain","/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-HiC-VGP8%2Fmain"]} \ No newline at end of file diff --git a/_nuxt/by_5UnZ2.js b/_nuxt/by_5UnZ2.js new file mode 100644 index 000000000..bc0cdc127 --- /dev/null +++ b/_nuxt/by_5UnZ2.js @@ -0,0 +1,2 @@ +const __vite__fileDeps=["./CYg2XdTk.js","./DzgF3Vew.js","./C-v3KzvZ.js","./Cpj98o6Y.js","./1XwWt0dk.js","./IShi1APO.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +import{W as x,G as _,X as T,N as L,Y as j,Z as q,w as I,I as C,$ as F,a0 as H,q as M,g as N,H as Q,a1 as K,a as g,B as U,C as z,a2 as A,y as G}from"./DzgF3Vew.js";import{h as b}from"./IShi1APO.js";import{u as O}from"./1XwWt0dk.js";const W=e=>e==="defer"||e===!1;function se(...e){var P;const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);let[r,i,n={}]=e;if(typeof r!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof i!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const s=F(),a=i,u=()=>null,l=()=>s.isHydrating?s.payload.data[r]:s.static.data[r];n.server=n.server??!0,n.default=n.default??u,n.getCachedData=n.getCachedData??l,n.lazy=n.lazy??!1,n.immediate=n.immediate??!0,n.deep=n.deep??x.deep,n.dedupe=n.dedupe??"cancel";const p=()=>n.getCachedData(r,s)!=null;if(!s._asyncData[r]||!n.immediate){(P=s.payload._errors)[r]??(P[r]=null);const f=n.deep?_:T;s._asyncData[r]={data:f(n.getCachedData(r,s)??n.default()),pending:_(!p()),error:L(s.payload._errors,r),status:_("idle")}}const o={...s._asyncData[r]};o.refresh=o.execute=(f={})=>{if(s._asyncDataPromises[r]){if(W(f.dedupe??n.dedupe))return s._asyncDataPromises[r];s._asyncDataPromises[r].cancelled=!0}if((f._initial||s.isHydrating&&f._initial!==!1)&&p())return Promise.resolve(n.getCachedData(r,s));o.pending.value=!0,o.status.value="pending";const y=new Promise((h,c)=>{try{h(a(s))}catch(w){c(w)}}).then(async h=>{if(y.cancelled)return s._asyncDataPromises[r];let c=h;n.transform&&(c=await n.transform(h)),n.pick&&(c=X(c,n.pick)),s.payload.data[r]=c,o.data.value=c,o.error.value=null,o.status.value="success"}).catch(h=>{if(y.cancelled)return s._asyncDataPromises[r];o.error.value=H(h),o.data.value=M(n.default()),o.status.value="error"}).finally(()=>{y.cancelled||(o.pending.value=!1,delete s._asyncDataPromises[r])});return s._asyncDataPromises[r]=y,s._asyncDataPromises[r]},o.clear=()=>k(s,r);const m=()=>o.refresh({_initial:!0}),R=n.server!==!1&&s.payload.serverRendered;{const f=N();if(f&&!f._nuxtOnBeforeMountCbs){f._nuxtOnBeforeMountCbs=[];const c=f._nuxtOnBeforeMountCbs;j(()=>{c.forEach(w=>{w()}),c.splice(0,c.length)}),q(()=>c.splice(0,c.length))}R&&s.isHydrating&&(o.error.value||p())?(o.pending.value=!1,o.status.value=o.error.value?"error":"success"):f&&(s.payload.serverRendered&&s.isHydrating||n.lazy)&&n.immediate?f._nuxtOnBeforeMountCbs.push(m):n.immediate&&m();const y=Q();if(n.watch){const c=I(n.watch,()=>o.refresh());y&&C(c)}const h=s.hook("app:data:refresh",async c=>{(!c||c.includes(r))&&await o.refresh()});y&&C(h)}const v=Promise.resolve(s._asyncDataPromises[r]).then(()=>o);return Object.assign(v,o),v}function k(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=null),e._asyncData[t]&&(e._asyncData[t].data.value=void 0,e._asyncData[t].error.value=null,e._asyncData[t].pending.value=!1,e._asyncData[t].status.value="idle"),t in e._asyncDataPromises&&(e._asyncDataPromises[t].cancelled=!0,e._asyncDataPromises[t]=void 0)}function X(e,t){const r={};for(const i of t)r[i]=e[i];return r}const $=(e,t)=>t.split(".").reduce((r,i)=>r&&r[i],e),D=(e,t)=>Object.keys(e).filter(t).reduce((r,i)=>Object.assign(r,{[i]:e[i]}),{}),ie=e=>t=>e&&e.length?D(t,r=>!e.includes(r)):t,oe=e=>t=>Array.isArray(t)?t.map(r=>e(r)):e(t),S=e=>{const t=[],r=[];for(const i of e)["$","_"].includes(i)?t.push(i):r.push(i);return{prefixes:t,properties:r}},ce=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:r,properties:i}=S(e);return D(t,n=>!i.includes(n)&&!r.includes(n[0]))},ue=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:r,properties:i}=S(e);return D(t,n=>i.includes(n)||r.includes(n[0]))},le=(e,t)=>{const r=new Intl.Collator(t.$locale,{numeric:t.$numeric,caseFirst:t.$caseFirst,sensitivity:t.$sensitivity}),i=Object.keys(t).filter(n=>!n.startsWith("$"));for(const n of i)e=e.sort((s,a)=>{const u=[$(s,n),$(a,n)].map(l=>{if(l!==null)return l instanceof Date?l.toISOString():l});return t[n]===-1&&u.reverse(),r.compare(u[0],u[1])});return e},fe=(e,t="Expected an array")=>{if(!Array.isArray(e))throw new TypeError(t)},d=e=>Array.isArray(e)?e:[void 0,null].includes(e)?[]:[e],Y=["sort","where","only","without"];function J(e,t={}){const r={};for(const a of Object.keys(t.initialParams||{}))r[a]=Y.includes(a)?d(t.initialParams[a]):t.initialParams[a];const i=(a,u=l=>l)=>(...l)=>(r[a]=u(...l),s),n=a=>{var u;return t.legacy?a!=null&&a.surround?a.surround:a&&(a!=null&&a.dirConfig&&(a.result={_path:(u=a.dirConfig)==null?void 0:u._path,...a.result,_dir:a.dirConfig}),a!=null&&a._path||Array.isArray(a)||!Object.prototype.hasOwnProperty.call(a,"result")?a:a==null?void 0:a.result):a},s={params:()=>({...r,...r.where?{where:[...d(r.where)]}:{},...r.sort?{sort:[...d(r.sort)]}:{}}),only:i("only",d),without:i("without",d),where:i("where",a=>[...d(r.where),...d(a)]),sort:i("sort",a=>[...d(r.sort),...d(a)]),limit:i("limit",a=>parseInt(String(a),10)),skip:i("skip",a=>parseInt(String(a),10)),find:()=>e(s).then(n),findOne:()=>e(i("first")(!0)).then(n),count:()=>e(i("count")(!0)).then(n),locale:a=>s.where({_locale:a}),withSurround:i("surround",(a,u)=>({query:a,...u})),withDirConfig:()=>i("dirConfig")(!0)};return t.legacy&&(s.findSurround=(a,u)=>s.withSurround(a,u).find().then(n)),s}function B(e){return JSON.stringify(e,V)}function V(e,t){return t instanceof RegExp?`--REGEX ${t.toString()}`:t}const Z=e=>{let t=B(e);return t=typeof Buffer<"u"?Buffer.from(t).toString("base64"):btoa(t),t=t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),(t.match(/.{1,100}/g)||[]).join("/")},E=e=>K(e,g().public.content.api.baseURL),de=()=>{throw console.warn("useContent is only accessible when you are using `documentDriven` mode."),console.warn("Learn more by visiting: https://content.nuxt.com/document-driven"),new Error("useContent is only accessible when you are using `documentDriven` mode.")},ee=()=>{const{experimental:e}=g().public.content;return e.clientDB?!0:O().isEnabled()},te=()=>async e=>{const{content:t}=g().public,r=e.params(),i=t.experimental.stripQueryParameters?E(`/query/${`${b(r)}.${t.integrity}`}/${Z(r)}.json`):E(`/query/${b(r)}.${t.integrity}.json`);if(ee())return(await G(()=>import("./CYg2XdTk.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url).then(a=>a.useContentDatabase())).fetch(e);const n=await $fetch(i,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:B(r),previewToken:O().getPreviewToken()}});if(typeof n=="string"&&n.startsWith(""))throw new Error("Not found");return n};function he(e,...t){const{content:r}=g().public,i=J(te(),{initialParams:typeof e!="string"?e:{},legacy:!0});let n;typeof e=="string"&&(n=U(z(e,...t)));const s=i.params;return i.params=()=>{var u,l,p;const a=s();return n&&(a.where=a.where||[],a.first&&(a.where||[]).length===0?a.where.push({_path:A(n)}):a.where.push({_path:new RegExp(`^${n.replace(/[-[\]{}()*+.,^$\s/]/g,"\\$&")}`)})),(u=a.sort)!=null&&u.length||(a.sort=[{_file:1,$numeric:!0}]),r.locales.length&&((p=(l=a.where)==null?void 0:l.find(m=>m._locale))!=null&&p._locale||(a.where=a.where||[],a.where.push({_locale:r.defaultLocale}))),a},i}export{de as a,fe as b,d as c,le as d,Z as e,oe as f,$ as g,ce as h,ue as i,B as j,J as k,ie as o,he as q,ee as s,se as u,E as w}; diff --git a/_nuxt/c29WzxQ5.js b/_nuxt/c29WzxQ5.js new file mode 100644 index 000000000..66ed18c7a --- /dev/null +++ b/_nuxt/c29WzxQ5.js @@ -0,0 +1 @@ +import{_ as r,o,b as t,r as s}from"./DzgF3Vew.js";const n={};function c(e,a){return o(),t("td",null,[s(e.$slots,"default")])}const _=r(n,[["render",c]]);export{_ as default}; diff --git a/_nuxt/csrLU7rk.js b/_nuxt/csrLU7rk.js new file mode 100644 index 000000000..9e2013976 --- /dev/null +++ b/_nuxt/csrLU7rk.js @@ -0,0 +1 @@ +import{aq as N,ar as j,as as f,at as b,au as E}from"./BN9GDn3H.js";import{a as v,c as P,k as _,f as g,d,i as l,v as p,r as D}from"./BH-Vtj6c.js";var w=N(function(o){return v(P(o,1,j,!0))}),F="\0",a="\0",O="";class L{constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=f(void 0),this._defaultEdgeLabelFn=f(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[a]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return b(e)||(e=f(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return _(this._nodes)}sources(){var e=this;return g(this.nodes(),function(t){return E(e._in[t])})}sinks(){var e=this;return g(this.nodes(),function(t){return E(e._out[t])})}setNodes(e,t){var s=arguments,i=this;return d(e,function(r){s.length>1?i.setNode(r,t):i.setNode(r)}),this}setNode(e,t){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=a,this._children[e]={},this._children[a][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var t=s=>this.removeEdge(this._edgeObjs[s]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],d(this.children(e),s=>{this.setParent(s)}),delete this._children[e]),d(_(this._in[e]),t),delete this._in[e],delete this._preds[e],d(_(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(l(t))t=a;else{t+="";for(var s=t;!l(s);s=this.parent(s))if(s===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==a)return t}}children(e){if(l(e)&&(e=a),this._isCompound){var t=this._children[e];if(t)return _(t)}else{if(e===a)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var t=this._preds[e];if(t)return _(t)}successors(e){var t=this._sucs[e];if(t)return _(t)}neighbors(e){var t=this.predecessors(e);if(t)return w(t,this.successors(e))}isLeaf(e){var t;return this.isDirected()?t=this.successors(e):t=this.neighbors(e),t.length===0}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var s=this;d(this._nodes,function(n,h){e(h)&&t.setNode(h,n)}),d(this._edgeObjs,function(n){t.hasNode(n.v)&&t.hasNode(n.w)&&t.setEdge(n,s.edge(n))});var i={};function r(n){var h=s.parent(n);return h===void 0||t.hasNode(h)?(i[n]=h,h):h in i?i[h]:r(h)}return this._isCompound&&d(t.nodes(),function(n){t.setParent(n,r(n))}),t}setDefaultEdgeLabel(e){return b(e)||(e=f(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return p(this._edgeObjs)}setPath(e,t){var s=this,i=arguments;return D(e,function(r,n){return i.length>1?s.setEdge(r,n,t):s.setEdge(r,n),n}),this}setEdge(){var e,t,s,i,r=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(e=n.v,t=n.w,s=n.name,arguments.length===2&&(i=arguments[1],r=!0)):(e=n,t=arguments[1],s=arguments[3],arguments.length>2&&(i=arguments[2],r=!0)),e=""+e,t=""+t,l(s)||(s=""+s);var h=c(this._isDirected,e,t,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return r&&(this._edgeLabels[h]=i),this;if(!l(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[h]=r?i:this._defaultEdgeLabelFn(e,t,s);var u=M(this._isDirected,e,t,s);return e=u.v,t=u.w,Object.freeze(u),this._edgeObjs[h]=u,y(this._preds[t],e),y(this._sucs[e],t),this._in[t][h]=u,this._out[e][h]=u,this._edgeCount++,this}edge(e,t,s){var i=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,e,t,s);return this._edgeLabels[i]}hasEdge(e,t,s){var i=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,e,t,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,t,s){var i=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,e,t,s),r=this._edgeObjs[i];return r&&(e=r.v,t=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],C(this._preds[t],e),C(this._sucs[e],t),delete this._in[t][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,t){var s=this._in[e];if(s){var i=p(s);return t?g(i,function(r){return r.v===t}):i}}outEdges(e,t){var s=this._out[e];if(s){var i=p(s);return t?g(i,function(r){return r.w===t}):i}}nodeEdges(e,t){var s=this.inEdges(e,t);if(s)return s.concat(this.outEdges(e,t))}}L.prototype._nodeCount=0;L.prototype._edgeCount=0;function y(o,e){o[e]?o[e]++:o[e]=1}function C(o,e){--o[e]||delete o[e]}function c(o,e,t,s){var i=""+e,r=""+t;if(!o&&i>r){var n=i;i=r,r=n}return i+O+r+O+(l(s)?F:s)}function M(o,e,t,s){var i=""+e,r=""+t;if(!o&&i>r){var n=i;i=r,r=n}var h={v:i,w:r};return s&&(h.name=s),h}function m(o,e){return c(o,e.v,e.w,e.name)}export{L as G}; diff --git a/_nuxt/f_LkCM04.js b/_nuxt/f_LkCM04.js deleted file mode 100644 index a6a168287..000000000 --- a/_nuxt/f_LkCM04.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,o,c as s,r as t}from"./ZI84DZB4.js";const c={};function n(e,a){return o(),s("em",null,[t(e.$slots,"default")])}const _=r(c,[["render",n]]);export{_ as default}; diff --git a/_nuxt/jm5Vvyv-.js b/_nuxt/jm5Vvyv-.js new file mode 100644 index 000000000..7bf19f0d0 --- /dev/null +++ b/_nuxt/jm5Vvyv-.js @@ -0,0 +1,7 @@ +import{_ as a,aE as ui,l as Ft,a1 as Bt,a0 as gi,F as At,E as Xt,D as xi,i as di,r as Nt,s as pi,g as fi,q as mi,b as yi,c as bi,x as Ai,I as wi,k as Ci}from"./BN9GDn3H.js";import{i as Si}from"./Gi6I4Gst.js";import{o as _i}from"./CmKTTxBW.js";import{l as Wt}from"./BXAbmjOT.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";function ki(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(T.yylloc={});var gt=T.yylloc;r.push(gt);var li=T.options&&T.options.ranges;typeof W.yy.parseError=="function"?this.parseError=W.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ci(L){g.length=g.length-2*L,A.length=A.length-L,r.length=r.length-L}a(ci,"popStack");function Mt(){var L;return L=x.pop()||T.lex()||It,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=c.symbols_[L]||L),L}a(Mt,"lex");for(var P,O,M,xt,z={},at,V,Vt,rt;;){if(O=g[g.length-1],this.defaultActions[O]?M=this.defaultActions[O]:((P===null||typeof P>"u")&&(P=Mt()),M=N[O]&&N[O][P]),typeof M>"u"||!M.length||!M[0]){var dt="";rt=[];for(at in N[O])this.terminals_[at]&&at>oi&&rt.push("'"+this.terminals_[at]+"'");T.showPosition?dt="Parse error on line "+(nt+1)+`: +`+T.showPosition()+` +Expecting `+rt.join(", ")+", got '"+(this.terminals_[P]||P)+"'":dt="Parse error on line "+(nt+1)+": Unexpected "+(P==It?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(dt,{text:T.match,token:this.terminals_[P]||P,line:T.yylineno,loc:gt,expected:rt})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+P);switch(M[0]){case 1:g.push(P),A.push(T.yytext),r.push(T.yylloc),g.push(M[1]),P=null,Et=T.yyleng,d=T.yytext,nt=T.yylineno,gt=T.yylloc;break;case 2:if(V=this.productions_[M[1]][1],z.$=A[A.length-V],z._$={first_line:r[r.length-(V||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(V||1)].first_column,last_column:r[r.length-1].last_column},li&&(z._$.range=[r[r.length-(V||1)].range[0],r[r.length-1].range[1]]),xt=this.performAction.apply(z,[d,Et,nt,W.yy,M[1],A,r].concat(hi)),typeof xt<"u")return xt;V&&(g=g.slice(0,-1*V*2),A=A.slice(0,-1*V),r=r.slice(0,-1*V)),g.push(this.productions_[M[1]][0]),A.push(z.$),r.push(z._$),Vt=N[g[g.length-2]][g[g.length-1]],g.push(Vt);break;case 3:return!0}}return!0},"parse")},ri=function(){var B={EOF:1,parseError:a(function(c,g){if(this.yy.parser)this.yy.parser.parseError(c,g);else throw new Error(c)},"parseError"),setInput:a(function(h,c){return this.yy=c||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var c=h.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:a(function(h){var c=h.length,g=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===x.length?this.yylloc.first_column:0)+x[x.length-g.length].length-g[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(h){this.unput(this.match.slice(h))},"less"),pastInput:a(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var h=this.pastInput(),c=new Array(h.length+1).join("-");return h+this.upcomingInput()+` +`+c+"^"},"showPosition"),test_match:a(function(h,c){var g,x,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),x=h[0].match(/(?:\r\n?|\n).*/g),x&&(this.yylineno+=x.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+h[0].length},this.yytext+=h[0],this.match+=h[0],this.matches=h,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(h[0].length),this.matched+=h[0],g=this.performAction.call(this,this.yy,this,c,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var r in A)this[r]=A[r];return!1}return!1},"test_match"),next:a(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var h,c,g,x;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),r=0;rc[0].length)){if(c=g,x=r,this.options.backtrack_lexer){if(h=this.test_match(g,A[r]),h!==!1)return h;if(this._backtrack){c=!1;continue}else return!1}else if(!this.options.flex)break}return c?(h=this.test_match(c,A[x]),h!==!1?h:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:a(function(){var c=this.next();return c||this.lex()},"lex"),begin:a(function(c){this.conditionStack.push(c)},"begin"),popState:a(function(){var c=this.conditionStack.length-1;return c>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:a(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:a(function(c){return c=this.conditionStack.length-1-Math.abs(c||0),c>=0?this.conditionStack[c]:"INITIAL"},"topState"),pushState:a(function(c){this.begin(c)},"pushState"),stateStackSize:a(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:a(function(c,g,x,A){switch(x){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return B}();ct.lexer=ri;function st(){this.yy={}}return a(st,"Parser"),st.prototype=ct,ct.Parser=st,new st}();ft.parser=ft;var Ri=ft;function mt(e){return e.type==="bar"}a(mt,"isBarPlot");function wt(e){return e.type==="band"}a(wt,"isBandAxisData");function F(e){return e.type==="linear"}a(F,"isLinearAxisData");var $,Yt=($=class{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((o,u)=>Math.max(u.length,o),0)*i,height:i};const s={width:0,height:0},n=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const o of t){const u=ui(n,1,o),f=u?u.width:o.length*i,p=u?u.height:i;s.width=Math.max(s.width,f),s.height=Math.max(s.height,p)}return n.remove(),s}},a($,"TextDimensionCalculatorWithFont"),$),Ot=.7,zt=.2,q,Ht=(q=class{constructor(t,i,s,n){this.axisConfig=t,this.title=i,this.textDimensionCalculator=s,this.axisThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Ot*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Ot*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=zt*t.width;this.outerPadding=Math.min(s.width/2,n);const o=s.height+this.axisConfig.labelPadding*2;this.labelTextHeight=s.height,o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=zt*t.height;this.outerPadding=Math.min(s.height/2,n);const o=s.width+this.axisConfig.labelPadding*2;o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${i},${this.getScaleValue(s)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(s)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i} L ${this.getScaleValue(s)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(s)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},a(q,"BaseAxis"),q),G,Ti=(G=class extends Ht{constructor(t,i,s,n,o){super(t,n,o,i),this.categories=s,this.scale=pt().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=pt().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Ft.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},a(G,"BandAxis"),G),j,Di=(j=class extends Ht{constructor(t,i,s,n,o){super(t,n,o,i),this.domain=s,this.scale=Wt().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=Wt().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}},a(j,"LinearAxis"),j);function yt(e,t,i,s){const n=new Yt(s);return wt(e)?new Ti(t,i,e.categories,e.title,n):new Di(t,i,[e.min,e.max],e.title,n)}a(yt,"getAxis");var Q,vi=(Q=class{constructor(t,i,s,n){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=s,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),s=Math.max(i.width,t.width),n=i.height+2*this.chartConfig.titlePadding;return i.width<=s&&i.height<=n&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=s,this.boundingRect.height=n,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}},a(Q,"ChartTitle"),Q);function Ut(e,t,i,s){const n=new Yt(s);return new vi(n,e,t,i)}a(Ut,"getChartTitleComponent");var K,Pi=(K=class{constructor(t,i,s,n,o){this.plotData=t,this.xAxis=i,this.yAxis=s,this.orientation=n,this.plotIndex=o}getDrawableElement(){const t=this.plotData.data.map(s=>[this.xAxis.getScaleValue(s[0]),this.yAxis.getScaleValue(s[1])]);let i;return this.orientation==="horizontal"?i=Bt().y(s=>s[0]).x(s=>s[1])(t):i=Bt().x(s=>s[0]).y(s=>s[1])(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},a(K,"LinePlot"),K),Z,Li=(Z=class{constructor(t,i,s,n,o,u){this.barData=t,this.boundingRect=i,this.xAxis=s,this.yAxis=n,this.orientation=o,this.plotIndex=u}getDrawableElement(){const t=this.barData.data.map(o=>[this.xAxis.getScaleValue(o[0]),this.yAxis.getScaleValue(o[1])]),s=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),n=s/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:this.boundingRect.x,y:o[0]-n,height:s,width:o[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:o[0]-n,y:o[1],width:s,height:this.boundingRect.y+this.boundingRect.height-o[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},a(Z,"BarPlot"),Z),J,Ei=(J=class{constructor(t,i,s){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const t=[];for(const[i,s]of this.chartData.plots.entries())switch(s.type){case"line":{const n=new Pi(s,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break;case"bar":{const n=new Li(s,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break}return t}},a(J,"BasePlot"),J);function $t(e,t,i){return new Ei(e,t,i)}a($t,"getPlotComponent");var tt,Ii=(tt=class{constructor(t,i,s,n){this.chartConfig=t,this.chartData=i,this.componentStore={title:Ut(t,i,s,n),plot:$t(t,i,s),xAxis:yt(i.xAxis,t.xAxis,{titleColor:s.xAxisTitleColor,labelColor:s.xAxisLabelColor,tickColor:s.xAxisTickColor,axisLineColor:s.xAxisLineColor},n),yAxis:yt(i.yAxis,t.yAxis,{titleColor:s.yAxisTitleColor,labelColor:s.yAxisLabelColor,tickColor:s.yAxisTickColor,axisLineColor:s.yAxisLineColor},n)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,o=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),u=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),f=this.componentStore.plot.calculateSpace({width:o,height:u});t-=f.width,i-=f.height,f=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),n=f.height,i-=f.height,this.componentStore.xAxis.setAxisPosition("bottom"),f=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=f.height,this.componentStore.yAxis.setAxisPosition("left"),f=this.componentStore.yAxis.calculateSpace({width:t,height:i}),s=f.width,t-=f.width,t>0&&(o+=t,t=0),i>0&&(u+=i,i=0),this.componentStore.plot.calculateSpace({width:o,height:u}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.xAxis.setRange([s,s+o]),this.componentStore.xAxis.setBoundingBoxXY({x:s,y:n+u}),this.componentStore.yAxis.setRange([n,n+u]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(p=>mt(p))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,o=0,u=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),f=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),p=this.componentStore.plot.calculateSpace({width:u,height:f});t-=p.width,i-=p.height,p=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=p.height,i-=p.height,this.componentStore.xAxis.setAxisPosition("left"),p=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=p.width,n=p.width,this.componentStore.yAxis.setAxisPosition("top"),p=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=p.height,o=s+p.height,t>0&&(u+=t,t=0),i>0&&(f+=i,i=0),this.componentStore.plot.calculateSpace({width:u,height:f}),this.componentStore.plot.setBoundingBoxXY({x:n,y:o}),this.componentStore.yAxis.setRange([n,n+u]),this.componentStore.yAxis.setBoundingBoxXY({x:n,y:s}),this.componentStore.xAxis.setRange([o,o+f]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:o}),this.chartData.plots.some(k=>mt(k))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}},a(tt,"Orchestrator"),tt),it,Mi=(it=class{static build(t,i,s,n){return new Ii(t,i,s,n).getDrawableElement()}},a(it,"XYChartBuilder"),it),Y=0,qt,H=_t(),U=St(),b=kt(),bt=U.plotColorPalette.split(",").map(e=>e.trim()),ot=!1,Ct=!1;function St(){const e=gi(),t=At();return Xt(e.xyChart,t.themeVariables.xyChart)}a(St,"getChartDefaultThemeConfig");function _t(){const e=At();return Xt(xi.xyChart,e.xyChart)}a(_t,"getChartDefaultConfig");function kt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}a(kt,"getChartDefaultData");function ht(e){const t=At();return di(e.trim(),t)}a(ht,"textSanitizer");function Gt(e){qt=e}a(Gt,"setTmpSVGG");function jt(e){e==="horizontal"?H.chartOrientation="horizontal":H.chartOrientation="vertical"}a(jt,"setOrientation");function Qt(e){b.xAxis.title=ht(e.text)}a(Qt,"setXAxisTitle");function Rt(e,t){b.xAxis={type:"linear",title:b.xAxis.title,min:e,max:t},ot=!0}a(Rt,"setXAxisRangeData");function Kt(e){b.xAxis={type:"band",title:b.xAxis.title,categories:e.map(t=>ht(t.text))},ot=!0}a(Kt,"setXAxisBand");function Zt(e){b.yAxis.title=ht(e.text)}a(Zt,"setYAxisTitle");function Jt(e,t){b.yAxis={type:"linear",title:b.yAxis.title,min:e,max:t},Ct=!0}a(Jt,"setYAxisRangeData");function ti(e){const t=Math.min(...e),i=Math.max(...e),s=F(b.yAxis)?b.yAxis.min:1/0,n=F(b.yAxis)?b.yAxis.max:-1/0;b.yAxis={type:"linear",title:b.yAxis.title,min:Math.min(s,t),max:Math.max(n,i)}}a(ti,"setYAxisRangeFromPlotData");function Tt(e){let t=[];if(e.length===0)return t;if(!ot){const i=F(b.xAxis)?b.xAxis.min:1/0,s=F(b.xAxis)?b.xAxis.max:-1/0;Rt(Math.min(i,1),Math.max(s,e.length))}if(Ct||ti(e),wt(b.xAxis)&&(t=b.xAxis.categories.map((i,s)=>[i,e[s]])),F(b.xAxis)){const i=b.xAxis.min,s=b.xAxis.max,n=(s-i)/(e.length-1),o=[];for(let u=i;u<=s;u+=n)o.push(`${u}`);t=o.map((u,f)=>[u,e[f]])}return t}a(Tt,"transformDataWithoutCategory");function Dt(e){return bt[e===0?0:e%bt.length]}a(Dt,"getPlotColorFromPalette");function ii(e,t){const i=Tt(t);b.plots.push({type:"line",strokeFill:Dt(Y),strokeWidth:2,data:i}),Y++}a(ii,"setLineData");function ei(e,t){const i=Tt(t);b.plots.push({type:"bar",fill:Dt(Y),data:i}),Y++}a(ei,"setBarData");function si(){if(b.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return b.title=Nt(),Mi.build(H,b,U,qt)}a(si,"getDrawableElem");function ni(){return U}a(ni,"getChartThemeConfig");function ai(){return H}a(ai,"getChartConfig");var Vi=a(function(){Ai(),Y=0,H=_t(),b=kt(),U=St(),bt=U.plotColorPalette.split(",").map(e=>e.trim()),ot=!1,Ct=!1},"clear"),Bi={getDrawableElem:si,clear:Vi,setAccTitle:pi,getAccTitle:fi,setDiagramTitle:mi,getDiagramTitle:Nt,getAccDescription:yi,setAccDescription:bi,setOrientation:jt,setXAxisTitle:Qt,setXAxisRangeData:Rt,setXAxisBand:Kt,setYAxisTitle:Zt,setYAxisRangeData:Jt,setLineData:ii,setBarData:ei,setTmpSVGG:Gt,getChartThemeConfig:ni,getChartConfig:ai},Wi=a((e,t,i,s)=>{const n=s.db,o=n.getChartThemeConfig(),u=n.getChartConfig();function f(m){return m==="top"?"text-before-edge":"middle"}a(f,"getDominantBaseLine");function p(m){return m==="left"?"start":m==="right"?"end":"middle"}a(p,"getTextAnchor");function k(m){return`translate(${m.x}, ${m.y}) rotate(${m.rotation||0})`}a(k,"getTextTransformation"),Ft.debug(`Rendering xychart chart +`+e);const R=wi(t),w=R.append("g").attr("class","main"),y=w.append("rect").attr("width",u.width).attr("height",u.height).attr("class","background");Ci(R,u.height,u.width,!0),R.attr("viewBox",`0 0 ${u.width} ${u.height}`),y.attr("fill",o.backgroundColor),n.setTmpSVGG(R.append("g").attr("class","mermaid-tmp-group"));const D=n.getDrawableElem(),S={};function v(m){let _=w,l="";for(const[E]of m.entries()){let X=w;E>0&&S[l]&&(X=S[l]),l+=m[E],_=S[l],_||(_=S[l]=X.append("g").attr("class",m[E]))}return _}a(v,"getGroup");for(const m of D){if(m.data.length===0)continue;const _=v(m.groupTexts);switch(m.type){case"rect":_.selectAll("rect").data(m.data).enter().append("rect").attr("x",l=>l.x).attr("y",l=>l.y).attr("width",l=>l.width).attr("height",l=>l.height).attr("fill",l=>l.fill).attr("stroke",l=>l.strokeFill).attr("stroke-width",l=>l.strokeWidth);break;case"text":_.selectAll("text").data(m.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",l=>l.fill).attr("font-size",l=>l.fontSize).attr("dominant-baseline",l=>f(l.verticalPos)).attr("text-anchor",l=>p(l.horizontalPos)).attr("transform",l=>k(l)).text(l=>l.text);break;case"path":_.selectAll("path").data(m.data).enter().append("path").attr("d",l=>l.path).attr("fill",l=>l.fill?l.fill:"none").attr("stroke",l=>l.strokeFill).attr("stroke-width",l=>l.strokeWidth);break}}},"draw"),Oi={draw:Wi},qi={parser:Ri,db:Bi,renderer:Oi};export{qi as diagram}; diff --git a/_nuxt/lwzoVff7.js b/_nuxt/lwzoVff7.js new file mode 100644 index 000000000..0b0d68835 --- /dev/null +++ b/_nuxt/lwzoVff7.js @@ -0,0 +1,127 @@ +var Dc=Object.defineProperty;var Fc=(n,e,t)=>e in n?Dc(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Je=(n,e,t)=>(Fc(n,typeof e!="symbol"?e+"":e,t),t);import{y as Vt}from"./DzgF3Vew.js";import{bw as Gc,bx as Uc,aN as so,bg as Bc,aR as Vc,aO as Z,aq as Wc,ar as Ji,b6 as jc,b9 as ao,ba as oo,bl as Qi,b7 as Hc,at as mt,au as D,aP as Zi,aJ as Kc}from"./BN9GDn3H.js";import{k as kt,j as Ti,g as Ot,S as zc,w as qc,x as Yc,c as lo,v as K,y as co,l as Xc,z as Jc,A as Qc,B as Zc,C as eu,a as uo,d as C,i as ze,r as oe,f as ve,D as q}from"./BH-Vtj6c.js";import{j as Ri,m as S,d as tu,f as Ne,g as St,i as Ai,h as _,l as It,e as nu}from"./7nLUnQzp.js";import{c as te}from"./DqIxQbFE.js";var ru=Object.prototype,iu=ru.hasOwnProperty,Ae=Gc(function(n,e){if(Uc(e)||so(e)){Bc(e,kt(e),n);return}for(var t in e)iu.call(e,t)&&Vc(n,t,e[t])});function fo(n,e,t){var r=-1,i=n.length;e<0&&(e=-e>i?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(i);++r=lu&&(s=Yc,a=!1,e=new zc(e));e:for(;++i-1:!!i&&co(n,e,t)>-1}function es(n,e,t){var r=n==null?0:n.length;if(!r)return-1;var i=0;return co(n,e,i)}var yu="[object RegExp]";function Tu(n){return ao(n)&&oo(n)==yu}var ts=Qi&&Qi.isRegExp,qe=ts?Hc(ts):Tu,Ru="Expected a function";function Au(n){if(typeof n!="function")throw new TypeError(Ru);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function Pe(n,e){if(n==null)return{};var t=Xc(Jc(n),function(r){return[r]});return e=Ot(e),tu(n,t,function(r,i){return e(r,i[0])})}function rr(n,e){var t=Z(n)?Qc:Zc;return t(n,Au(Ot(e)))}function vu(n,e){var t;return Ti(n,function(r,i,s){return t=e(r,i,s),!t}),!!t}function ho(n,e,t){var r=Z(n)?eu:vu;return r(n,Ot(e))}function vi(n){return n&&n.length?uo(n):[]}function Eu(n,e){return n&&n.length?uo(n,Ot(e)):[]}function ae(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}function Ge(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}function ku(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}function xn(n){return typeof n=="object"&&n!==null&&ae(n.container)&&Ge(n.reference)&&typeof n.message=="string"}class po{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return ae(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[t];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,t);return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function xt(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}function mo(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}function go(n){return xt(n)&&typeof n.fullText=="string"}class ie{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){const t=e[Symbol.iterator]();return new ie(()=>({first:this.startFn(),firstDone:!1}),r=>{let i;if(!r.firstDone){do if(i=this.nextFn(r.first),!i.done)return i;while(!i.done);r.firstDone=!0}do if(i=t.next(),!i.done)return i;while(!i.done);return xe})}join(e=","){const t=this.iterator();let r="",i,s=!1;do i=t.next(),i.done||(s&&(r+=e),r+=Su(i.value)),s=!0;while(!i.done);return r}indexOf(e,t=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=t&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new ie(this.startFn,t=>{const{done:r,value:i}=this.nextFn(t);return r?xe:{done:!1,value:e(i)}})}filter(e){return new ie(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return xe})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){const r=this.iterator();let i=t,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,t,r);return s===void 0?i.value:t(s,i.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new ie(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const s=t.iterator.next();if(s.done)t.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(t.this);if(!r){const s=e(i);if($n(s))t.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(t.iterator);return xe})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new ie(()=>({this:t.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=t.nextFn(r.this);if(!i)if($n(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return xe})}head(){const t=this.iterator().next();if(!t.done)return t.value}tail(e=1){return new ie(()=>{const t=this.startFn();for(let r=0;r({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?xe:this.nextFn(t.state)))}distinct(e){const t=new Set;return this.filter(r=>{const i=e?e(r):r;return t.has(i)?!1:(t.add(i),!0)})}exclude(e,t){const r=new Set;for(const i of e){const s=t?t(i):i;r.add(s)}return this.filter(i=>{const s=t?t(i):i;return!r.has(s)})}}function Su(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}function $n(n){return!!n&&typeof n[Symbol.iterator]=="function"}const Iu=new ie(()=>{},()=>xe),xe=Object.freeze({done:!0,value:void 0});function Q(...n){if(n.length===1){const e=n[0];if(e instanceof ie)return e;if($n(e))return new ie(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new ie(()=>({index:0}),t=>t.index1?new ie(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return xe})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var br;(function(n){function e(s){return s.reduce((a,o)=>a+o,0)}n.sum=e;function t(s){return s.reduce((a,o)=>a*o,0)}n.product=t;function r(s){return s.reduce((a,o)=>Math.min(a,o))}n.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}n.max=i})(br||(br={}));function Pr(n){return new Ei(n,e=>xt(e)?e.content:[],{includeRoot:!0})}function xu(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}function Mr(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}function On(n){if(!n)return;const{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}var Ze;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside"})(Ze||(Ze={}));function Nu(n,e){if(n.end.linee.end.line||n.start.line===e.end.line&&n.start.character>e.end.character)return Ze.After;const t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.lineZe.After}const _u=/^[\w\p{L}]$/u;function wu(n,e){if(n){const t=Lu(n,!0);if(t&&ns(t,e))return t;if(go(n)){const r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=n.content[i];if(ns(s,e))return s}}}}function ns(n,e){return mo(n)&&e.includes(n.tokenType.name)}function Lu(n,e=!0){for(;n.container;){const t=n.container;let r=t.content.indexOf(n);for(;r>0;){r--;const i=t.content[r];if(e||!i.hidden)return i}n=t}}class yo extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function ir(n){throw new Error("Error! The input value was not handled.")}const Ar="AbstractRule",vr="AbstractType",rs="Condition",$u="TypeDefinition",is="ValueLiteral",To="AbstractElement";function Ou(n){return M.isInstance(n,To)}const bu="ArrayLiteral",Pu="ArrayType",Ro="BooleanLiteral";function Mu(n){return M.isInstance(n,Ro)}const Ao="Conjunction";function Du(n){return M.isInstance(n,Ao)}const vo="Disjunction";function Fu(n){return M.isInstance(n,vo)}const Gu="Grammar",Eo="InferredType";function ko(n){return M.isInstance(n,Eo)}const So="Interface";function Io(n){return M.isInstance(n,So)}const xo="Negation";function Uu(n){return M.isInstance(n,xo)}const Bu="NumberLiteral",Vu="Parameter",No="ParameterReference";function Wu(n){return M.isInstance(n,No)}const Co="ParserRule";function Ce(n){return M.isInstance(n,Co)}const ju="ReferenceType",Hu="ReturnType";function Ku(n){return M.isInstance(n,Hu)}const _o="SimpleType";function zu(n){return M.isInstance(n,_o)}const qu="StringLiteral",Dr="TerminalRule";function gt(n){return M.isInstance(n,Dr)}const wo="Type";function Lo(n){return M.isInstance(n,wo)}const Yu="UnionType",$o="Action";function sr(n){return M.isInstance(n,$o)}const Oo="Alternatives";function bo(n){return M.isInstance(n,Oo)}const Po="Assignment";function ut(n){return M.isInstance(n,Po)}const Mo="CharacterRange";function Xu(n){return M.isInstance(n,Mo)}const Do="CrossReference";function ki(n){return M.isInstance(n,Do)}const Fo="EndOfFile";function Ju(n){return M.isInstance(n,Fo)}const Go="Group";function Si(n){return M.isInstance(n,Go)}const Uo="Keyword";function dt(n){return M.isInstance(n,Uo)}const Bo="NegatedToken";function Qu(n){return M.isInstance(n,Bo)}const Vo="RegexToken";function Zu(n){return M.isInstance(n,Vo)}const Wo="RuleCall";function ft(n){return M.isInstance(n,Wo)}const jo="TerminalAlternatives";function ed(n){return M.isInstance(n,jo)}const Ho="TerminalGroup";function td(n){return M.isInstance(n,Ho)}const Ko="TerminalRuleCall";function nd(n){return M.isInstance(n,Ko)}const zo="UnorderedGroup";function qo(n){return M.isInstance(n,zo)}const Yo="UntilToken";function rd(n){return M.isInstance(n,Yo)}const Xo="Wildcard";function id(n){return M.isInstance(n,Xo)}class Jo extends po{getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,t){switch(e){case $o:case Oo:case Po:case Mo:case Do:case Fo:case Go:case Uo:case Bo:case Vo:case Wo:case jo:case Ho:case Ko:case zo:case Yo:case Xo:return this.isSubtype(To,t);case bu:case Bu:case qu:return this.isSubtype(is,t);case Pu:case ju:case _o:case Yu:return this.isSubtype($u,t);case Ro:return this.isSubtype(rs,t)||this.isSubtype(is,t);case Ao:case vo:case xo:case No:return this.isSubtype(rs,t);case Eo:case So:case wo:return this.isSubtype(vr,t);case Co:return this.isSubtype(Ar,t)||this.isSubtype(vr,t);case Dr:return this.isSubtype(Ar,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return vr;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Ar;case"Grammar:usedGrammars":return Gu;case"NamedArgument:parameter":case"ParameterReference:parameter":return Vu;case"TerminalRuleCall:rule":return Dr;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const M=new Jo;function sd(n){for(const[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{ae(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):ae(t)&&(t.$container=n,t.$containerProperty=e))}function ar(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}function Ue(n){const t=ad(n).$document;if(!t)throw new Error("AST node has no document.");return t}function ad(n){for(;n.$container;)n=n.$container;return n}function Ii(n,e){if(!n)throw new Error("Node must be an AstNode.");const t=e==null?void 0:e.range;return new ie(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndexIi(t,e))}function vt(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Ei(n,t=>Ii(t,e),{includeRoot:!0})}function ss(n,e){var t;if(!e)return!0;const r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?Cu(r,e):!1}function Qo(n){return new ie(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class or{visitChildren(e){for(const t in e){const r=e[t];e.hasOwnProperty(t)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const dd=/\r?\n/gm,fd=new el;class hd extends or{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const t=String.fromCharCode(e.value);if(!this.multiline&&t===` +`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=lr(t);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const t=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(t);this.multiline=!!` +`.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const kr=new hd;function pd(n){try{return typeof n=="string"&&(n=new RegExp(n)),n=n.toString(),kr.reset(n),kr.visit(fd.pattern(n)),kr.multiline}catch{return!1}}function ls(n){return(typeof n=="string"?new RegExp(n):n).test(" ")}function lr(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function md(n){return Array.prototype.map.call(n,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:lr(e)).join("")}function gd(n,e){const t=yd(n),r=e.match(t);return!!r&&r[0].length>0}function yd(n){typeof n=="string"&&(n=new RegExp(n));const e=n,t=n.source;let r=0;function i(){let s="",a;function o(c){s+=t.substr(r,c),r+=c}function l(c){s+="(?:"+t.substr(r,c)+"|$)",r+=c}for(;r",r)-r+1);break;default:l(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(t)||[],l(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(t),a?o(a[0].length):l(1);break;case"(":if(t[r+1]==="?")switch(t[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":a=r,r+=3,i(),s+=t.substr(a,r-a);break;case"<":switch(t[r+3]){case"=":case"!":a=r,r+=4,i(),s+=t.substr(a,r-a);break;default:o(t.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:l(1);break}return s}return new RegExp(i(),n.flags)}function Td(n){return n.rules.find(e=>Ce(e)&&e.entry)}function Rd(n){return n.rules.filter(e=>gt(e)&&e.hidden)}function tl(n,e){const t=new Set,r=Td(n);if(!r)return new Set(n.rules);const i=[r].concat(Rd(n));for(const a of i)nl(a,t,e);const s=new Set;for(const a of n.rules)(t.has(a.name)||gt(a)&&a.hidden)&&s.add(a);return s}function nl(n,e,t){e.add(n.name),pn(n).forEach(r=>{if(ft(r)||t){const i=r.rule.ref;i&&!e.has(i.name)&&nl(i,e,t)}})}function Ad(n){if(n.terminal)return n.terminal;if(n.type.ref){const e=il(n.type.ref);return e==null?void 0:e.terminal}}function vd(n){return n.hidden&&!Ci(n).test(" ")}function Ed(n,e){return!n||!e?[]:xi(n,e,n.astNode,!0)}function rl(n,e,t){if(!n||!e)return;const r=xi(n,e,n.astNode,!0);if(r.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,r.length-1)):t=0,r[t]}function xi(n,e,t,r){if(!r){const i=ar(n.grammarSource,ut);if(i&&i.feature===e)return[n]}return xt(n)&&n.astNode===t?n.content.flatMap(i=>xi(i,e,t,!1)):[]}function kd(n,e,t){if(!n)return;const r=Sd(n,e,n==null?void 0:n.astNode);if(r.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,r.length-1)):t=0,r[t]}function Sd(n,e,t){if(n.astNode!==t)return[];if(dt(n.grammarSource)&&n.grammarSource.value===e)return[n];const r=Pr(n).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===t?dt(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Id(n){var e;const t=n.astNode;for(;t===((e=n.container)===null||e===void 0?void 0:e.astNode);){const r=ar(n.grammarSource,ut);if(r)return r;n=n.container}}function il(n){let e=n;return ko(e)&&(sr(e.$container)?e=e.$container.$container:Ce(e.$container)?e=e.$container:ir(e.$container)),sl(n,e,new Map)}function sl(n,e,t){var r;function i(s,a){let o;return ar(s,ut)||(o=sl(a,a,t)),t.set(n,o),o}if(t.has(n))return t.get(n);t.set(n,void 0);for(const s of pn(e)){if(ut(s)&&s.feature.toLowerCase()==="name")return t.set(n,s),s;if(ft(s)&&Ce(s.rule.ref))return i(s,s.rule.ref);if(zu(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function Ni(n){return al(n,new Set)}function al(n,e){if(e.has(n))return!0;e.add(n);for(const t of pn(n))if(ft(t)){if(!t.rule.ref||Ce(t.rule.ref)&&!al(t.rule.ref,e))return!1}else{if(ut(t))return!1;if(sr(t))return!1}return!!n.definition}function ol(n){if(n.inferredType)return n.inferredType.name;if(n.dataType)return n.dataType;if(n.returnType){const e=n.returnType.ref;if(e){if(Ce(e))return e.name;if(Io(e)||Lo(e))return e.name}}}function cr(n){var e;if(Ce(n))return Ni(n)?n.name:(e=ol(n))!==null&&e!==void 0?e:n.name;if(Io(n)||Lo(n)||Ku(n))return n.name;if(sr(n)){const t=xd(n);if(t)return t}else if(ko(n))return n.name;throw new Error("Cannot get name of Unknown Type")}function xd(n){var e;if(n.inferredType)return n.inferredType.name;if(!((e=n.type)===null||e===void 0)&&e.ref)return cr(n.type.ref)}function Nd(n){var e,t,r;return gt(n)?(t=(e=n.type)===null||e===void 0?void 0:e.name)!==null&&t!==void 0?t:"string":Ni(n)?n.name:(r=ol(n))!==null&&r!==void 0?r:n.name}function Ci(n){const e={s:!1,i:!1,u:!1},t=bt(n.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(t,r)}const _i=/[\s\S]/.source;function bt(n,e){if(ed(n))return Cd(n);if(td(n))return _d(n);if(Xu(n))return $d(n);if(nd(n)){const t=n.rule.ref;if(!t)throw new Error("Missing rule reference.");return Ke(bt(t.definition),{cardinality:n.cardinality,lookahead:n.lookahead})}else{if(Qu(n))return Ld(n);if(rd(n))return wd(n);if(Zu(n)){const t=n.regex.lastIndexOf("/"),r=n.regex.substring(1,t),i=n.regex.substring(t+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Ke(r,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1})}else{if(id(n))return Ke(_i,{cardinality:n.cardinality,lookahead:n.lookahead});throw new Error(`Invalid terminal element: ${n==null?void 0:n.$type}`)}}}function Cd(n){return Ke(n.elements.map(e=>bt(e)).join("|"),{cardinality:n.cardinality,lookahead:n.lookahead})}function _d(n){return Ke(n.elements.map(e=>bt(e)).join(""),{cardinality:n.cardinality,lookahead:n.lookahead})}function wd(n){return Ke(`${_i}*?${bt(n.terminal)}`,{cardinality:n.cardinality,lookahead:n.lookahead})}function Ld(n){return Ke(`(?!${bt(n.terminal)})${_i}*?`,{cardinality:n.cardinality,lookahead:n.lookahead})}function $d(n){return n.right?Ke(`[${Sr(n.left)}-${Sr(n.right)}]`,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1}):Ke(Sr(n.left),{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1})}function Sr(n){return lr(n.value)}function Ke(n,e){var t;return(e.wrap!==!1||e.lookahead)&&(n=`(${(t=e.lookahead)!==null&&t!==void 0?t:""}${n})`),e.cardinality?`${n}${e.cardinality}`:n}function Od(n){const e=[],t=n.Grammar;for(const r of t.rules)gt(r)&&vd(r)&&pd(Ci(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:_u}}function Fr(n){console&&console.error&&console.error(`Error: ${n}`)}function ll(n){console&&console.warn&&console.warn(`Warning: ${n}`)}function cl(n){const e=new Date().getTime(),t=n();return{time:new Date().getTime()-e,value:t}}function ul(n){function e(){}e.prototype=n;const t=new e;function r(){return typeof t.bar}return r(),r(),n}function bd(n){return Pd(n)?n.LABEL:n.name}function Pd(n){return fe(n.LABEL)&&n.LABEL!==""}class Be{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),C(this.definition,t=>{t.accept(e)})}}class le extends Be{constructor(e){super([]),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Pt extends Be{constructor(e){super(e.definition),this.orgText="",Ae(this,Pe(e,t=>t!==void 0))}}class he extends Be{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Ae(this,Pe(e,t=>t!==void 0))}}class ee extends Be{constructor(e){super(e.definition),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}}class Ee extends Be{constructor(e){super(e.definition),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}}class ke extends Be{constructor(e){super(e.definition),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}}class W extends Be{constructor(e){super(e.definition),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}}class pe extends Be{constructor(e){super(e.definition),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}}class me extends Be{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Ae(this,Pe(e,t=>t!==void 0))}}class G{constructor(e){this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}accept(e){e.visit(this)}}function Md(n){return S(n,Nn)}function Nn(n){function e(t){return S(t,Nn)}if(n instanceof le){const t={type:"NonTerminal",name:n.nonTerminalName,idx:n.idx};return fe(n.label)&&(t.label=n.label),t}else{if(n instanceof he)return{type:"Alternative",definition:e(n.definition)};if(n instanceof ee)return{type:"Option",idx:n.idx,definition:e(n.definition)};if(n instanceof Ee)return{type:"RepetitionMandatory",idx:n.idx,definition:e(n.definition)};if(n instanceof ke)return{type:"RepetitionMandatoryWithSeparator",idx:n.idx,separator:Nn(new G({terminalType:n.separator})),definition:e(n.definition)};if(n instanceof pe)return{type:"RepetitionWithSeparator",idx:n.idx,separator:Nn(new G({terminalType:n.separator})),definition:e(n.definition)};if(n instanceof W)return{type:"Repetition",idx:n.idx,definition:e(n.definition)};if(n instanceof me)return{type:"Alternation",idx:n.idx,definition:e(n.definition)};if(n instanceof G){const t={type:"Terminal",name:n.terminalType.name,label:bd(n.terminalType),idx:n.idx};fe(n.label)&&(t.terminalLabel=n.label);const r=n.terminalType.PATTERN;return n.terminalType.PATTERN&&(t.pattern=qe(r)?r.source:r),t}else{if(n instanceof Pt)return{type:"Rule",name:n.name,orgText:n.orgText,definition:e(n.definition)};throw Error("non exhaustive match")}}}class Mt{visit(e){const t=e;switch(t.constructor){case le:return this.visitNonTerminal(t);case he:return this.visitAlternative(t);case ee:return this.visitOption(t);case Ee:return this.visitRepetitionMandatory(t);case ke:return this.visitRepetitionMandatoryWithSeparator(t);case pe:return this.visitRepetitionWithSeparator(t);case W:return this.visitRepetition(t);case me:return this.visitAlternation(t);case G:return this.visitTerminal(t);case Pt:return this.visitRule(t);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function Dd(n){return n instanceof he||n instanceof ee||n instanceof W||n instanceof Ee||n instanceof ke||n instanceof pe||n instanceof G||n instanceof Pt}function Mn(n,e=[]){return n instanceof ee||n instanceof W||n instanceof pe?!0:n instanceof me?ho(n.definition,r=>Mn(r,e)):n instanceof le&&ue(e,n)?!1:n instanceof Be?(n instanceof le&&e.push(n),$e(n.definition,r=>Mn(r,e))):!1}function Fd(n){return n instanceof me}function Fe(n){if(n instanceof le)return"SUBRULE";if(n instanceof ee)return"OPTION";if(n instanceof me)return"OR";if(n instanceof Ee)return"AT_LEAST_ONE";if(n instanceof ke)return"AT_LEAST_ONE_SEP";if(n instanceof pe)return"MANY_SEP";if(n instanceof W)return"MANY";if(n instanceof G)return"CONSUME";throw Error("non exhaustive match")}class ur{walk(e,t=[]){C(e.definition,(r,i)=>{const s=J(e.definition,i+1);if(r instanceof le)this.walkProdRef(r,s,t);else if(r instanceof G)this.walkTerminal(r,s,t);else if(r instanceof he)this.walkFlat(r,s,t);else if(r instanceof ee)this.walkOption(r,s,t);else if(r instanceof Ee)this.walkAtLeastOne(r,s,t);else if(r instanceof ke)this.walkAtLeastOneSep(r,s,t);else if(r instanceof pe)this.walkManySep(r,s,t);else if(r instanceof W)this.walkMany(r,s,t);else if(r instanceof me)this.walkOr(r,s,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){const i=t.concat(r);this.walk(e,i)}walkOption(e,t,r){const i=t.concat(r);this.walk(e,i)}walkAtLeastOne(e,t,r){const i=[new ee({definition:e.definition})].concat(t,r);this.walk(e,i)}walkAtLeastOneSep(e,t,r){const i=cs(e,t,r);this.walk(e,i)}walkMany(e,t,r){const i=[new ee({definition:e.definition})].concat(t,r);this.walk(e,i)}walkManySep(e,t,r){const i=cs(e,t,r);this.walk(e,i)}walkOr(e,t,r){const i=t.concat(r);C(e.definition,s=>{const a=new he({definition:[s]});this.walk(a,i)})}}function cs(n,e,t){return[new ee({definition:[new G({terminalType:n.separator})].concat(n.definition)})].concat(e,t)}function mn(n){if(n instanceof le)return mn(n.referencedRule);if(n instanceof G)return Bd(n);if(Dd(n))return Gd(n);if(Fd(n))return Ud(n);throw Error("non exhaustive match")}function Gd(n){let e=[];const t=n.definition;let r=0,i=t.length>r,s,a=!0;for(;i&&a;)s=t[r],a=Mn(s),e=e.concat(mn(s)),r=r+1,i=t.length>r;return vi(e)}function Ud(n){const e=S(n.definition,t=>mn(t));return vi(Ne(e))}function Bd(n){return[n.terminalType]}const dl="_~IN~_";class Vd extends ur{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){const i=jd(e.referencedRule,e.idx)+this.topProd.name,s=t.concat(r),a=new he({definition:s}),o=mn(a);this.follows[i]=o}}function Wd(n){const e={};return C(n,t=>{const r=new Vd(t).startWalking();Ae(e,r)}),e}function jd(n,e){return n.name+e+dl}let Cn={};const Hd=new el;function dr(n){const e=n.toString();if(Cn.hasOwnProperty(e))return Cn[e];{const t=Hd.pattern(e);return Cn[e]=t,t}}function Kd(){Cn={}}const fl="Complement Sets are not supported for first char optimization",Dn=`Unable to use "first char" lexer optimizations: +`;function zd(n,e=!1){try{const t=dr(n);return Gr(t.value,{},t.flags.ignoreCase)}catch(t){if(t.message===fl)e&&ll(`${Dn} Unable to optimize: < ${n.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Fr(`${Dn} + Failed parsing: < ${n.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function Gr(n,e,t){switch(n.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")kn(l,e,t);else{const c=l;if(t===!0)for(let u=c.from;u<=c.to;u++)kn(u,e,t);else{for(let u=c.from;u<=c.to&&u=zt){const u=c.from>=zt?c.from:zt,d=c.to,f=et(u),h=et(d);for(let m=f;m<=h;m++)e[m]=m}}}});break;case"Group":Gr(a.value,e,t);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&Ur(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return K(e)}function kn(n,e,t){const r=et(n);e[r]=r,t===!0&&qd(n,e)}function qd(n,e){const t=String.fromCharCode(n),r=t.toUpperCase();if(r!==t){const i=et(r.charCodeAt(0));e[i]=i}else{const i=t.toLowerCase();if(i!==t){const s=et(i.charCodeAt(0));e[s]=s}}}function us(n,e){return St(n.value,t=>{if(typeof t=="number")return ue(e,t);{const r=t;return St(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function Ur(n){const e=n.quantifier;return e&&e.atLeast===0?!0:n.value?Z(n.value)?$e(n.value,Ur):Ur(n.value):!1}class Yd extends or{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){ue(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?us(e,this.targetCharCodes)===void 0&&(this.found=!0):us(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function wi(n,e){if(e instanceof RegExp){const t=dr(e),r=new Yd(n);return r.visit(t),r.found}else return St(e,t=>ue(n,t.charCodeAt(0)))!==void 0}const ht="PATTERN",Kt="defaultMode",Sn="modes";let hl=typeof new RegExp("(?:)").sticky=="boolean";function Xd(n,e){e=Ai(e,{useSticky:hl,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:(v,R)=>R()});const t=e.tracer;t("initCharCodeToOptimizedIndexMap",()=>{Af()});let r;t("Reject Lexer.NA",()=>{r=rr(n,v=>v[ht]===de.NA)});let i=!1,s;t("Transform Patterns",()=>{i=!1,s=S(r,v=>{const R=v[ht];if(qe(R)){const N=R.source;return N.length===1&&N!=="^"&&N!=="$"&&N!=="."&&!R.ignoreCase?N:N.length===2&&N[0]==="\\"&&!ue(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],N[1])?N[1]:e.useSticky?fs(R):ds(R)}else{if(mt(R))return i=!0,{exec:R};if(typeof R=="object")return i=!0,R;if(typeof R=="string"){if(R.length===1)return R;{const N=R.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),F=new RegExp(N);return e.useSticky?fs(F):ds(F)}}else throw Error("non exhaustive match")}})});let a,o,l,c,u;t("misc mapping",()=>{a=S(r,v=>v.tokenTypeIdx),o=S(r,v=>{const R=v.GROUP;if(R!==de.SKIPPED){if(fe(R))return R;if(ze(R))return!1;throw Error("non exhaustive match")}}),l=S(r,v=>{const R=v.LONGER_ALT;if(R)return Z(R)?S(R,F=>es(r,F)):[es(r,R)]}),c=S(r,v=>v.PUSH_MODE),u=S(r,v=>_(v,"POP_MODE"))});let d;t("Line Terminator Handling",()=>{const v=gl(e.lineTerminatorCharacters);d=S(r,R=>!1),e.positionTracking!=="onlyOffset"&&(d=S(r,R=>_(R,"LINE_BREAKS")?!!R.LINE_BREAKS:ml(R,v)===!1&&wi(v,R.PATTERN)))});let f,h,m,g;t("Misc Mapping #2",()=>{f=S(r,pl),h=S(s,yf),m=oe(r,(v,R)=>{const N=R.GROUP;return fe(N)&&N!==de.SKIPPED&&(v[N]=[]),v},{}),g=S(s,(v,R)=>({pattern:s[R],longerAlt:l[R],canLineTerminator:d[R],isCustom:f[R],short:h[R],group:o[R],push:c[R],pop:u[R],tokenTypeIdx:a[R],tokenType:r[R]}))});let A=!0,y=[];return e.safeMode||t("First Char Optimization",()=>{y=oe(r,(v,R,N)=>{if(typeof R.PATTERN=="string"){const F=R.PATTERN.charCodeAt(0),ne=et(F);Ir(v,ne,g[N])}else if(Z(R.START_CHARS_HINT)){let F;C(R.START_CHARS_HINT,ne=>{const we=typeof ne=="string"?ne.charCodeAt(0):ne,ge=et(we);F!==ge&&(F=ge,Ir(v,ge,g[N]))})}else if(qe(R.PATTERN))if(R.PATTERN.unicode)A=!1,e.ensureOptimizations&&Fr(`${Dn} Unable to analyze < ${R.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const F=zd(R.PATTERN,e.ensureOptimizations);D(F)&&(A=!1),C(F,ne=>{Ir(v,ne,g[N])})}else e.ensureOptimizations&&Fr(`${Dn} TokenType: <${R.name}> is using a custom token pattern without providing parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),A=!1;return v},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:y,hasCustom:i,canBeOptimized:A}}function Jd(n,e){let t=[];const r=Zd(n);t=t.concat(r.errors);const i=ef(r.valid),s=i.valid;return t=t.concat(i.errors),t=t.concat(Qd(s)),t=t.concat(cf(s)),t=t.concat(uf(s,e)),t=t.concat(df(s)),t}function Qd(n){let e=[];const t=ve(n,r=>qe(r[ht]));return e=e.concat(nf(t)),e=e.concat(af(t)),e=e.concat(of(t)),e=e.concat(lf(t)),e=e.concat(rf(t)),e}function Zd(n){const e=ve(n,i=>!_(i,ht)),t=S(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:j.MISSING_PATTERN,tokenTypes:[i]})),r=nr(n,e);return{errors:t,valid:r}}function ef(n){const e=ve(n,i=>{const s=i[ht];return!qe(s)&&!mt(s)&&!_(s,"exec")&&!fe(s)}),t=S(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:j.INVALID_PATTERN,tokenTypes:[i]})),r=nr(n,e);return{errors:t,valid:r}}const tf=/[^\\][$]/;function nf(n){class e extends or{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const t=ve(n,i=>{const s=i.PATTERN;try{const a=dr(s),o=new e;return o.visit(a),o.found}catch{return tf.test(s.source)}});return S(t,i=>({message:`Unexpected RegExp Anchor Error: + Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:j.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function rf(n){const e=ve(n,r=>r.PATTERN.test(""));return S(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:j.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const sf=/[^\\[][\^]|^\^/;function af(n){class e extends or{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const t=ve(n,i=>{const s=i.PATTERN;try{const a=dr(s),o=new e;return o.visit(a),o.found}catch{return sf.test(s.source)}});return S(t,i=>({message:`Unexpected RegExp Anchor Error: + Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:j.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function of(n){const e=ve(n,r=>{const i=r[ht];return i instanceof RegExp&&(i.multiline||i.global)});return S(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:j.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function lf(n){const e=[];let t=S(n,s=>oe(n,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!ue(e,o)&&o.PATTERN!==de.NA&&(e.push(o),a.push(o)),a),[]));t=hn(t);const r=ve(t,s=>s.length>1);return S(r,s=>{const a=S(s,l=>l.name);return{message:`The same RegExp pattern ->${be(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:j.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function cf(n){const e=ve(n,r=>{if(!_(r,"GROUP"))return!1;const i=r.GROUP;return i!==de.SKIPPED&&i!==de.NA&&!fe(i)});return S(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:j.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function uf(n,e){const t=ve(n,i=>i.PUSH_MODE!==void 0&&!ue(e,i.PUSH_MODE));return S(t,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:j.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function df(n){const e=[],t=oe(n,(r,i,s)=>{const a=i.PATTERN;return a===de.NA||(fe(a)?r.push({str:a,idx:s,tokenType:i}):qe(a)&&hf(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return C(n,(r,i)=>{C(t,({str:s,idx:a,tokenType:o})=>{if(i${o.name}<- can never be matched. +Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:j.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function ff(n,e){if(qe(e)){const t=e.exec(n);return t!==null&&t.index===0}else{if(mt(e))return e(n,0,[],{});if(_(e,"exec"))return e.exec(n,0,[],{});if(typeof e=="string")return e===n;throw Error("non exhaustive match")}}function hf(n){return St([".","\\","[","]","|","^","$","(",")","?","*","+","{"],t=>n.source.indexOf(t)!==-1)===void 0}function ds(n){const e=n.ignoreCase?"i":"";return new RegExp(`^(?:${n.source})`,e)}function fs(n){const e=n.ignoreCase?"iy":"y";return new RegExp(`${n.source}`,e)}function pf(n,e,t){const r=[];return _(n,Kt)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Kt+`> property in its definition +`,type:j.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),_(n,Sn)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Sn+`> property in its definition +`,type:j.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),_(n,Sn)&&_(n,Kt)&&!_(n.modes,n.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Kt}: <${n.defaultMode}>which does not exist +`,type:j.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),_(n,Sn)&&C(n.modes,(i,s)=>{C(i,(a,o)=>{if(ze(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}> +`,type:j.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(_(a,"LONGER_ALT")){const l=Z(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];C(l,c=>{!ze(c)&&!ue(i,c)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${a.name}> outside of mode <${s}> +`,type:j.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function mf(n,e,t){const r=[];let i=!1;const s=hn(Ne(K(n.modes))),a=rr(s,l=>l[ht]===de.NA),o=gl(t);return e&&C(a,l=>{const c=ml(l,o);if(c!==!1){const d={message:Rf(l,c),type:c.issue,tokenType:l};r.push(d)}else _(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):wi(o,l.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:j.NO_LINE_BREAKS_FLAGS}),r}function gf(n){const e={},t=kt(n);return C(t,r=>{const i=n[r];if(Z(i))e[r]=[];else throw Error("non exhaustive match")}),e}function pl(n){const e=n.PATTERN;if(qe(e))return!1;if(mt(e))return!0;if(_(e,"exec"))return!0;if(fe(e))return!1;throw Error("non exhaustive match")}function yf(n){return fe(n)&&n.length===1?n.charCodeAt(0):!1}const Tf={test:function(n){const e=n.length;for(let t=this.lastIndex;t Token Type + Root cause: ${e.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===j.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. + The problem is in the <${n.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function gl(n){return S(n,t=>fe(t)?t.charCodeAt(0):t)}function Ir(n,e,t){n[e]===void 0?n[e]=[t]:n[e].push(t)}const zt=256;let _n=[];function et(n){return n255?255+~~(n/255):n}}function gn(n,e){const t=n.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}function Fn(n,e){return n.tokenTypeIdx===e.tokenTypeIdx}let hs=1;const yl={};function yn(n){const e=vf(n);Ef(e),Sf(e),kf(e),C(e,t=>{t.isParent=t.categoryMatches.length>0})}function vf(n){let e=te(n),t=n,r=!0;for(;r;){t=hn(Ne(S(t,s=>s.CATEGORIES)));const i=nr(t,e);e=e.concat(i),D(i)?r=!1:t=i}return e}function Ef(n){C(n,e=>{Rl(e)||(yl[hs]=e,e.tokenTypeIdx=hs++),ps(e)&&!Z(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),ps(e)||(e.CATEGORIES=[]),If(e)||(e.categoryMatches=[]),xf(e)||(e.categoryMatchesMap={})})}function kf(n){C(n,e=>{e.categoryMatches=[],C(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(yl[r].tokenTypeIdx)})})}function Sf(n){C(n,e=>{Tl([],e)})}function Tl(n,e){C(n,t=>{e.categoryMatchesMap[t.tokenTypeIdx]=!0}),C(e.CATEGORIES,t=>{const r=n.concat(e);ue(r,t)||Tl(r,t)})}function Rl(n){return _(n,"tokenTypeIdx")}function ps(n){return _(n,"CATEGORIES")}function If(n){return _(n,"categoryMatches")}function xf(n){return _(n,"categoryMatchesMap")}function Nf(n){return _(n,"tokenTypeIdx")}const Cf={buildUnableToPopLexerModeMessage(n){return`Unable to pop Lexer Mode after encountering Token ->${n.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(n,e,t,r,i){return`unexpected character: ->${n.charAt(e)}<- at offset: ${e}, skipped ${t} characters.`}};var j;(function(n){n[n.MISSING_PATTERN=0]="MISSING_PATTERN",n[n.INVALID_PATTERN=1]="INVALID_PATTERN",n[n.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",n[n.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",n[n.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",n[n.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",n[n.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",n[n.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",n[n.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",n[n.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",n[n.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",n[n.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",n[n.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",n[n.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",n[n.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",n[n.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",n[n.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",n[n.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(j||(j={}));const qt={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Cf,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(qt);class de{constructor(e,t=qt){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);const{time:o,value:l}=cl(s),c=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return s()},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=Ae({},qt,t);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===qt.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Tf;else if(this.config.lineTerminatorCharacters===qt.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Z(e)?i={modes:{defaultMode:te(e)},defaultMode:Kt}:(s=!1,i=te(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(pf(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(mf(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},C(i.modes,(o,l)=>{i.modes[l]=rr(o,c=>ze(c))});const a=kt(i.modes);if(C(i.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Jd(o,a))}),D(this.lexerDefinitionErrors)){yn(o);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=Xd(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=c.charCodeToPatternIdxToConfig,this.emptyGroups=Ae({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,!D(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const l=S(this.lexerDefinitionErrors,c=>c.message).join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+l)}C(this.lexerDefinitionWarning,o=>{ll(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(hl?(this.chopInput=Zi,this.match=this.matchWithTest):(this.updateLastIndex=q,this.match=this.matchWithExec),s&&(this.handleModes=q),this.trackStartLines===!1&&(this.computeNewColumn=Zi),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=q),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=oe(this.canModeBeOptimized,(l,c,u)=>(c===!1&&l.push(u),l),[]);if(t.ensureOptimizations&&!D(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Kd()}),this.TRACE_INIT("toFastProperties",()=>{ul(this)})})}tokenize(e,t=this.defaultMode){if(!D(this.lexerDefinitionErrors)){const i=S(this.lexerDefinitionErrors,s=>s.message).join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+i)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,i,s,a,o,l,c,u,d,f,h,m,g,A,y;const v=e,R=v.length;let N=0,F=0;const ne=this.hasCustom?0:Math.floor(e.length/10),we=new Array(ne),ge=[];let De=this.trackStartLines?1:void 0,Se=this.trackStartLines?1:void 0;const k=gf(this.emptyGroups),T=this.trackStartLines,E=this.config.lineTerminatorsPattern;let I=0,O=[],$=[];const L=[],ye=[];Object.freeze(ye);let z;function V(){return O}function at(re){const Ie=et(re),Tt=$[Ie];return Tt===void 0?ye:Tt}const Mc=re=>{if(L.length===1&&re.tokenType.PUSH_MODE===void 0){const Ie=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(re);ge.push({offset:re.startOffset,line:re.startLine,column:re.startColumn,length:re.image.length,message:Ie})}else{L.pop();const Ie=It(L);O=this.patternIdxToConfig[Ie],$=this.charCodeToPatternIdxToConfig[Ie],I=O.length;const Tt=this.canModeBeOptimized[Ie]&&this.config.safeMode===!1;$&&Tt?z=at:z=V}};function qi(re){L.push(re),$=this.charCodeToPatternIdxToConfig[re],O=this.patternIdxToConfig[re],I=O.length,I=O.length;const Ie=this.canModeBeOptimized[re]&&this.config.safeMode===!1;$&&Ie?z=at:z=V}qi.call(this,t);let Le;const Yi=this.config.recoveryEnabled;for(;Nl.length){l=a,c=u,Le=We;break}}}break}}if(l!==null){if(d=l.length,f=Le.group,f!==void 0&&(h=Le.tokenTypeIdx,m=this.createTokenInstance(l,N,h,Le.tokenType,De,Se,d),this.handlePayload(m,c),f===!1?F=this.addToken(we,F,m):k[f].push(m)),e=this.chopInput(e,d),N=N+d,Se=this.computeNewColumn(Se,d),T===!0&&Le.canLineTerminator===!0){let Te=0,Ve,Xe;E.lastIndex=0;do Ve=E.test(l),Ve===!0&&(Xe=E.lastIndex-1,Te++);while(Ve===!0);Te!==0&&(De=De+Te,Se=d-Xe,this.updateTokenEndLineColumnLocation(m,f,Xe,Te,De,Se,d))}this.handleModes(Le,Mc,qi,m)}else{const Te=N,Ve=De,Xe=Se;let We=Yi===!1;for(;We===!1&&N ${Et(n)} <--`:`token of type --> ${n.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:n,ruleName:e}){return"Redundant input, expecting EOF but found: "+n.image},buildNoViableAltMessage({expectedPathsPerAlt:n,actual:e,previous:t,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=` +but found: '`+be(e).image+"'";if(r)return s+r+o;{const l=oe(n,(f,h)=>f.concat(h),[]),c=S(l,f=>`[${S(f,h=>Et(h)).join(", ")}]`),d=`one of these possible Token sequences: +${S(c,(f,h)=>` ${h+1}. ${f}`).join(` +`)}`;return s+d+o}},buildEarlyExitMessage({expectedIterationPaths:n,actual:e,customUserDescription:t,ruleName:r}){const i="Expecting: ",a=` +but found: '`+be(e).image+"'";if(t)return i+t+a;{const l=`expecting at least one iteration which starts with one of these possible Token sequences:: + <${S(n,c=>`[${S(c,u=>Et(u)).join(",")}]`).join(" ,")}>`;return i+l+a}}};Object.freeze(At);const Lf={buildRuleNotFoundError(n,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+n.name+"<-"}},ct={buildDuplicateFoundError(n,e){function t(u){return u instanceof G?u.terminalType.name:u instanceof le?u.nonTerminalName:""}const r=n.name,i=be(e),s=i.idx,a=Fe(i),o=t(i),l=s>0;let c=`->${a}${l?s:""}<- ${o?`with argument: ->${o}<-`:""} + appears more than once (${e.length} times) in the top level rule: ->${r}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError(n){return`Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${n.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(n){const e=S(n.prefixPath,i=>Et(i)).join(", "),t=n.alternation.idx===0?"":n.alternation.idx;return`Ambiguous alternatives: <${n.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in inside <${n.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`},buildAlternationAmbiguityError(n){const e=S(n.prefixPath,i=>Et(i)).join(", "),t=n.alternation.idx===0?"":n.alternation.idx;let r=`Ambiguous Alternatives Detected: <${n.ambiguityIndices.join(" ,")}> in inside <${n.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,r},buildEmptyRepetitionError(n){let e=Fe(n.repetition);return n.repetition.idx!==0&&(e+=n.repetition.idx),`The repetition <${e}> within Rule <${n.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.`},buildTokenNameError(n){return"deprecated"},buildEmptyAlternationError(n){return`Ambiguous empty alternative: <${n.emptyChoiceIdx+1}> in inside <${n.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(n){return`An Alternation cannot have more than 256 alternatives: + inside <${n.topLevelRule.name}> Rule. + has ${n.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(n){const e=n.topLevelRule.name,t=S(n.leftRecursionPath,s=>s.name),r=`${e} --> ${t.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. +rule: <${e}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${r} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(n){return"deprecated"},buildDuplicateRuleNameError(n){let e;return n.topLevelRule instanceof Pt?e=n.topLevelRule.name:e=n.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${n.grammarName}<-`}};function $f(n,e){const t=new Of(n,e);return t.resolveRefs(),t.errors}class Of extends Mt{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){C(K(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:ce.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class bf extends ur{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=te(this.path.ruleStack).reverse(),this.occurrenceStack=te(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){D(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Pf extends bf{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=t.concat(r),s=new he({definition:i});this.possibleTokTypes=mn(s),this.found=!0}}}class fr extends ur{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class Mf extends fr{walkMany(e,t,r){if(e.idx===this.occurrence){const i=be(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof G&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,t,r)}}class ks extends fr{walkManySep(e,t,r){if(e.idx===this.occurrence){const i=be(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof G&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,t,r)}}class Df extends fr{walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){const i=be(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof G&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,t,r)}}class Ss extends fr{walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){const i=be(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof G&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,t,r)}}function Br(n,e,t=[]){t=te(t);let r=[],i=0;function s(o){return o.concat(J(n,i+1))}function a(o){const l=Br(s(o),e,t);return r.concat(l)}for(;t.length{D(l.definition)===!1&&(r=a(l.definition))}),r;if(o instanceof G)t.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:t,suffixDef:J(n,i)}),r}function kl(n,e,t,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const l=e.length,c=l-r-1,u=[],d=[];for(d.push({idx:-1,def:n,ruleStack:[],occurrenceStack:[]});!D(d);){const f=d.pop();if(f===a){o&&It(d).idx<=c&&d.pop();continue}const h=f.def,m=f.idx,g=f.ruleStack,A=f.occurrenceStack;if(D(h))continue;const y=h[0];if(y===i){const v={idx:m,def:J(h),ruleStack:Yt(g),occurrenceStack:Yt(A)};d.push(v)}else if(y instanceof G)if(m=0;v--){const R=y.definition[v],N={idx:m,def:R.definition.concat(J(h)),ruleStack:g,occurrenceStack:A};d.push(N),d.push(a)}else if(y instanceof he)d.push({idx:m,def:y.definition.concat(J(h)),ruleStack:g,occurrenceStack:A});else if(y instanceof Pt)d.push(Ff(y,m,g,A));else throw Error("non exhaustive match")}return u}function Ff(n,e,t,r){const i=te(t);i.push(n.name);const s=te(r);return s.push(1),{idx:e,def:n.definition,ruleStack:i,occurrenceStack:s}}var B;(function(n){n[n.OPTION=0]="OPTION",n[n.REPETITION=1]="REPETITION",n[n.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",n[n.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",n[n.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",n[n.ALTERNATION=5]="ALTERNATION"})(B||(B={}));function $i(n){if(n instanceof ee||n==="Option")return B.OPTION;if(n instanceof W||n==="Repetition")return B.REPETITION;if(n instanceof Ee||n==="RepetitionMandatory")return B.REPETITION_MANDATORY;if(n instanceof ke||n==="RepetitionMandatoryWithSeparator")return B.REPETITION_MANDATORY_WITH_SEPARATOR;if(n instanceof pe||n==="RepetitionWithSeparator")return B.REPETITION_WITH_SEPARATOR;if(n instanceof me||n==="Alternation")return B.ALTERNATION;throw Error("non exhaustive match")}function Is(n){const{occurrence:e,rule:t,prodType:r,maxLookahead:i}=n,s=$i(r);return s===B.ALTERNATION?hr(e,t,i):pr(e,t,s,i)}function Gf(n,e,t,r,i,s){const a=hr(n,e,t),o=xl(a)?Fn:gn;return s(a,r,o,i)}function Uf(n,e,t,r,i,s){const a=pr(n,e,i,t),o=xl(a)?Fn:gn;return s(a[0],o,r)}function Bf(n,e,t,r){const i=n.length,s=$e(n,a=>$e(a,o=>o.length===1));if(e)return function(a){const o=S(a,l=>l.GATE);for(let l=0;lNe(l)),o=oe(a,(l,c,u)=>(C(c,d=>{_(l,d.tokenTypeIdx)||(l[d.tokenTypeIdx]=u),C(d.categoryMatches,f=>{_(l,f)||(l[f]=u)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let a=0;as.length===1),i=n.length;if(r&&!t){const s=Ne(n);if(s.length===1&&D(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=oe(s,(o,l,c)=>(o[l.tokenTypeIdx]=!0,C(l.categoryMatches,u=>{o[u]=!0}),o),[]);return function(){const o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;sBr([a],1)),r=xs(t.length),i=S(t,a=>{const o={};return C(a,l=>{const c=xr(l.partialPath);C(c,u=>{o[u]=!0})}),o});let s=t;for(let a=1;a<=e;a++){const o=s;s=xs(o.length);for(let l=0;l{const y=xr(A.partialPath);C(y,v=>{i[l][v]=!0})})}}}}return r}function hr(n,e,t,r){const i=new Sl(n,B.ALTERNATION,r);return e.accept(i),Il(i.result,t)}function pr(n,e,t,r){const i=new Sl(n,t);e.accept(i);const s=i.result,o=new Wf(e,n,t).startWalking(),l=new he({definition:s}),c=new he({definition:o});return Il([l,c],r)}function Vr(n,e){e:for(let t=0;t{const i=e[r];return t===i||i.categoryMatchesMap[t.tokenTypeIdx]})}function xl(n){return $e(n,e=>$e(e,t=>$e(t,r=>D(r.categoryMatches))))}function Kf(n){const e=n.lookaheadStrategy.validate({rules:n.rules,tokenTypes:n.tokenTypes,grammarName:n.grammarName});return S(e,t=>Object.assign({type:ce.CUSTOM_LOOKAHEAD_VALIDATION},t))}function zf(n,e,t,r){const i=Re(n,l=>qf(l,t)),s=ah(n,e,t),a=Re(n,l=>nh(l,t)),o=Re(n,l=>Jf(l,n,r,t));return i.concat(s,a,o)}function qf(n,e){const t=new Xf;n.accept(t);const r=t.allProductions,i=pu(r,Yf),s=Pe(i,o=>o.length>1);return S(K(s),o=>{const l=be(o),c=e.buildDuplicateFoundError(n,o),u=Fe(l),d={message:c,type:ce.DUPLICATE_PRODUCTIONS,ruleName:n.name,dslName:u,occurrence:l.idx},f=Nl(l);return f&&(d.parameter=f),d})}function Yf(n){return`${Fe(n)}_#_${n.idx}_#_${Nl(n)}`}function Nl(n){return n instanceof G?n.terminalType.name:n instanceof le?n.nonTerminalName:""}class Xf extends Mt{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Jf(n,e,t,r){const i=[];if(oe(e,(a,o)=>o.name===n.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:n,grammarName:t});i.push({message:a,type:ce.DUPLICATE_RULE_NAME,ruleName:n.name})}return i}function Qf(n,e,t){const r=[];let i;return ue(e,n)||(i=`Invalid rule override, rule: ->${n}<- cannot be overridden in the grammar: ->${t}<-as it is not defined in any of the super grammars `,r.push({message:i,type:ce.INVALID_RULE_OVERRIDE,ruleName:n})),r}function Cl(n,e,t,r=[]){const i=[],s=wn(e.definition);if(D(s))return[];{const a=n.name;ue(s,n)&&i.push({message:t.buildLeftRecursionError({topLevelRule:n,leftRecursionPath:r}),type:ce.LEFT_RECURSION,ruleName:a});const l=nr(s,r.concat([n])),c=Re(l,u=>{const d=te(r);return d.push(u),Cl(n,u,t,d)});return i.concat(c)}}function wn(n){let e=[];if(D(n))return e;const t=be(n);if(t instanceof le)e.push(t.referencedRule);else if(t instanceof he||t instanceof ee||t instanceof Ee||t instanceof ke||t instanceof pe||t instanceof W)e=e.concat(wn(t.definition));else if(t instanceof me)e=Ne(S(t.definition,s=>wn(s.definition)));else if(!(t instanceof G))throw Error("non exhaustive match");const r=Mn(t),i=n.length>1;if(r&&i){const s=J(n);return e.concat(wn(s))}else return e}class Oi extends Mt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Zf(n,e){const t=new Oi;n.accept(t);const r=t.alternations;return Re(r,s=>{const a=Yt(s.definition);return Re(a,(o,l)=>{const c=kl([o],[],gn,1);return D(c)?[{message:e.buildEmptyAlternationError({topLevelRule:n,alternation:s,emptyChoiceIdx:l}),type:ce.NONE_LAST_EMPTY_ALT,ruleName:n.name,occurrence:s.idx,alternative:l+1}]:[]})})}function eh(n,e,t){const r=new Oi;n.accept(r);let i=r.alternations;return i=rr(i,a=>a.ignoreAmbiguities===!0),Re(i,a=>{const o=a.idx,l=a.maxLookahead||e,c=hr(o,n,l,a),u=ih(c,a,n,t),d=sh(c,a,n,t);return u.concat(d)})}class th extends Mt{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function nh(n,e){const t=new Oi;n.accept(t);const r=t.alternations;return Re(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:n,alternation:s}),type:ce.TOO_MANY_ALTS,ruleName:n.name,occurrence:s.idx}]:[])}function rh(n,e,t){const r=[];return C(n,i=>{const s=new th;i.accept(s);const a=s.allProductions;C(a,o=>{const l=$i(o),c=o.maxLookahead||e,u=o.idx,f=pr(u,i,l,c)[0];if(D(Ne(f))){const h=t.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:h,type:ce.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function ih(n,e,t,r){const i=[],s=oe(n,(o,l,c)=>(e.definition[c].ignoreAmbiguities===!0||C(l,u=>{const d=[c];C(n,(f,h)=>{c!==h&&Vr(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&d.push(h)}),d.length>1&&!Vr(i,u)&&(i.push(u),o.push({alts:d,path:u}))}),o),[]);return S(s,o=>{const l=S(o.alts,u=>u+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ce.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:o.alts}})}function sh(n,e,t,r){const i=oe(n,(a,o,l)=>{const c=S(o,u=>({idx:l,path:u}));return a.concat(c)},[]);return hn(Re(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const l=a.idx,c=a.path,u=ve(i,f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{const h=[f.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:h,prefixPath:f.path}),type:ce.AMBIGUOUS_PREFIX_ALTS,ruleName:t.name,occurrence:m,alternatives:h}})}))}function ah(n,e,t){const r=[],i=S(e,s=>s.name);return C(n,s=>{const a=s.name;if(ue(i,a)){const o=t.buildNamespaceConflictError(s);r.push({message:o,type:ce.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function oh(n){const e=Ai(n,{errMsgProvider:Lf}),t={};return C(n.rules,r=>{t[r.name]=r}),$f(t,e.errMsgProvider)}function lh(n){return n=Ai(n,{errMsgProvider:ct}),zf(n.rules,n.tokenTypes,n.errMsgProvider,n.grammarName)}const _l="MismatchedTokenException",wl="NoViableAltException",Ll="EarlyExitException",$l="NotAllInputParsedException",Ol=[_l,wl,Ll,$l];Object.freeze(Ol);function Gn(n){return ue(Ol,n.name)}class mr extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class bl extends mr{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=_l}}class ch extends mr{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=wl}}class uh extends mr{constructor(e,t){super(e,t),this.name=$l}}class dh extends mr{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Ll}}const Nr={},Pl="InRuleRecoveryException";class fh extends Error{constructor(e){super(e),this.name=Pl}}class hh{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=_(e,"recoveryEnabled")?e.recoveryEnabled:Ye.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=ph)}getTokenToInsert(e){const t=Li(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let l=!1;const c=this.LA(1);let u=this.LA(1);const d=()=>{const f=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:c,previous:f,ruleName:this.getCurrRuleFullName()}),m=new bl(h,c,this.LA(0));m.resyncedTokens=Yt(o),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(u,i)){d();return}else if(r.call(this)){d(),e.apply(this,t);return}else this.tokenMatcher(u,s)?l=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){const r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new fh("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||D(t))return!1;const r=this.LA(1);return St(t,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const t=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(t);return ue(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let t=this.LA(1),r=2;for(;;){const i=St(e,s=>El(t,s));if(i!==void 0)return i;t=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Nr;const e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return S(e,(r,i)=>i===0?Nr:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=S(this.buildFullFollowKeyStack(),t=>this.getFollowSetFromFollowKey(t));return Ne(e)}getFollowSetFromFollowKey(e){if(e===Nr)return[tt];const t=e.ruleName+e.idxInCallingRule+dl+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,tt)||t.push(e),t}reSyncTo(e){const t=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return Yt(t)}attemptInRepetitionRecovery(e,t,r,i,s,a,o){}getCurrentGrammarPath(e,t){const r=this.getHumanReadableRuleStack(),i=te(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return S(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function ph(n,e,t,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let l=this.firstAfterRepMap[o];if(l===void 0){const f=this.getCurrRuleFullName(),h=this.getGAstProductions()[f];l=new s(h,i).startWalking(),this.firstAfterRepMap[o]=l}let c=l.token,u=l.occurrence;const d=l.isEndOfRule;this.RULE_STACK.length===1&&d&&c===void 0&&(c=tt,u=1),!(c===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,u,a)&&this.tryInRepetitionRecovery(n,e,t,c)}const mh=4,it=8,Ml=1<Cl(t,t,ct))}validateEmptyOrAlternatives(e){return Re(e,t=>Zf(t,ct))}validateAmbiguousAlternationAlternatives(e,t){return Re(e,r=>eh(r,t,ct))}validateSomeNonEmptyLookaheadPath(e,t){return rh(e,t,ct)}buildLookaheadForAlternation(e){return Gf(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Bf)}buildLookaheadForOptional(e){return Uf(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,$i(e.prodType),Vf)}}class gh{initLooksAhead(e){this.dynamicTokensEnabled=_(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Ye.dynamicTokensEnabled,this.maxLookahead=_(e,"maxLookahead")?e.maxLookahead:Ye.maxLookahead,this.lookaheadStrategy=_(e,"lookaheadStrategy")?e.lookaheadStrategy:new bi({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){C(e,t=>{this.TRACE_INIT(`${t.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=Th(t);C(r,c=>{const u=c.idx===0?"":c.idx;this.TRACE_INIT(`${Fe(c)}${u}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:t,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=Cr(this.fullRuleNameToShort[t.name],Ml,c.idx);this.setLaFuncCache(f,d)})}),C(i,c=>{this.computeLookaheadFunc(t,c.idx,Wr,"Repetition",c.maxLookahead,Fe(c))}),C(s,c=>{this.computeLookaheadFunc(t,c.idx,Dl,"Option",c.maxLookahead,Fe(c))}),C(a,c=>{this.computeLookaheadFunc(t,c.idx,jr,"RepetitionMandatory",c.maxLookahead,Fe(c))}),C(o,c=>{this.computeLookaheadFunc(t,c.idx,Ln,"RepetitionMandatoryWithSeparator",c.maxLookahead,Fe(c))}),C(l,c=>{this.computeLookaheadFunc(t,c.idx,Hr,"RepetitionWithSeparator",c.maxLookahead,Fe(c))})})})}computeLookaheadFunc(e,t,r,i,s,a){this.TRACE_INIT(`${a}${t===0?"":t}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=Cr(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,t){const r=this.getLastExplicitRuleShortName();return Cr(r,e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}}class yh extends Mt{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const In=new yh;function Th(n){In.reset(),n.accept(In);const e=In.dslMethods;return In.reset(),e}function Ns(n,e){isNaN(n.startOffset)===!0?(n.startOffset=e.startOffset,n.endOffset=e.endOffset):n.endOffseta.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${s.join(` + +`).replace(/\n/g,` + `)}`)}}};return t.prototype=r,t.prototype.constructor=t,t._RULE_NAMES=e,t}function Sh(n,e,t){const r=function(){};Fl(r,n+"BaseSemanticsWithDefaults");const i=Object.create(t.prototype);return C(e,s=>{i[s]=Eh}),r.prototype=i,r.prototype.constructor=r,r}var Kr;(function(n){n[n.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",n[n.MISSING_METHOD=1]="MISSING_METHOD"})(Kr||(Kr={}));function Ih(n,e){return xh(n,e)}function xh(n,e){const t=ve(e,i=>mt(n[i])===!1),r=S(t,i=>({msg:`Missing visitor method: <${i}> on ${n.constructor.name} CST Visitor.`,type:Kr.MISSING_METHOD,methodName:i}));return hn(r)}class Nh{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=_(e,"nodeLocationTracking")?e.nodeLocationTracking:Ye.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=q,this.cstFinallyStateUpdate=q,this.cstPostTerminal=q,this.cstPostNonTerminal=q,this.cstPostRule=q;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Cs,this.setNodeLocationFromNode=Cs,this.cstPostRule=q,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=q,this.setNodeLocationFromNode=q,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Ns,this.setNodeLocationFromNode=Ns,this.cstPostRule=q,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=q,this.setNodeLocationFromNode=q,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=q,this.setNodeLocationFromNode=q,this.cstPostRule=q,this.setInitialNodeLocation=q;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){const r=this.CST_STACK[this.CST_STACK.length-1];Rh(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){const r=this.CST_STACK[this.CST_STACK.length-1];Ah(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(ze(this.baseCstVisitorConstructor)){const e=kh(this.className,kt(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(ze(this.baseCstVisitorWithDefaultsConstructor)){const e=Sh(this.className,kt(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class Ch{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Bn}LA(e){const t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Bn:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class _h{ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=Vn){if(ue(this.definedRulesNames,e)){const a={message:ct.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ce.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,t,r);return this[e]=i,i}OVERRIDE_RULE(e,t,r=Vn){const i=Qf(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,t,r);return this[e]=s,s}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,t),!0}catch(i){if(Gn(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Md(K(this.gastProductionsCache))}}class wh{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Fn,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},_(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if(Z(e)){if(D(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if(Z(e))this.tokensMap=oe(e,(s,a)=>(s[a.name]=a,s),{});else if(_(e,"modes")&&$e(Ne(K(e.modes)),Nf)){const s=Ne(K(e.modes)),a=vi(s);this.tokensMap=oe(a,(o,l)=>(o[l.name]=l,o),{})}else if(Kc(e))this.tokensMap=te(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=tt;const r=_(e,"modes")?Ne(K(e.modes)):K(e),i=$e(r,s=>D(s.categoryMatches));this.tokenMatcher=i?Fn:gn,yn(K(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=_(r,"resyncEnabled")?r.resyncEnabled:Vn.resyncEnabled,s=_(r,"recoveryValueFunc")?r.recoveryValueFunc:Vn.recoveryValueFunc,a=this.ruleShortNameIdx<a.call(this)&&o.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,t){const r=this.getKeyForAutomaticLookahead(jr,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let i=this.getLaFuncFromCache(r),s;if(typeof t!="function"){s=t.DEF;const a=t.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=t;if(i.call(this)===!0){let a=this.doSingleRepetition(s);for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,B.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,jr,e,Df)}atLeastOneSepFirstInternal(e,t){const r=this.getKeyForAutomaticLookahead(Ln,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){const i=t.DEF,s=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Ss],o,Ln,e,Ss)}else throw this.raiseEarlyExitException(e,B.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){const r=this.getKeyForAutomaticLookahead(Wr,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let i=this.getLaFuncFromCache(r),s;if(typeof t!="function"){s=t.DEF;const o=t.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else s=t;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,Wr,e,Mf,a)}manySepFirstInternal(e,t){const r=this.getKeyForAutomaticLookahead(Hr,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){const i=t.DEF,s=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,ks],o,Hr,e,ks)}}repetitionSepSecondInternal(e,t,r,i,s){for(;r();)this.CONSUME(t),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,i,s],r,Ln,e,s)}doSingleRepetition(e){const t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){const r=this.getKeyForAutomaticLookahead(Ml,t),i=Z(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new uh(t,e))}}subruleInternal(e,t,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=t,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,t,r){throw Gn(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,t,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,t,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new bl(i,t,s))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===Pl?r:s}}else throw r}saveRecogState(){const e=this.errors,t=te(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),tt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class Lh{initErrorHandler(e){this._errors=[],this.errorMessageProvider=_(e,"errorMessageProvider")?e.errorMessageProvider:Ye.errorMessageProvider}SAVE_ERROR(e){if(Gn(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:te(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return te(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=pr(e,s,t,this.maxLookahead)[0],l=[];for(let u=1;u<=this.maxLookahead;u++)l.push(this.LA(u));const c=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new dh(c,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=hr(e,i,this.maxLookahead),a=[];for(let c=1;c<=this.maxLookahead;c++)a.push(this.LA(c));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ch(l,this.LA(1),o))}}class $h{initContentAssist(){}computeContentAssist(e,t){const r=this.gastProductionsCache[e];if(ze(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return kl([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const t=be(e.ruleStack),i=this.getGAstProductions()[t];return new Pf(i,e).startWalking()}}const gr={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(gr);const _s=!0,ws=Math.pow(2,it)-1,Gl=vl({name:"RECORDING_PHASE_TOKEN",pattern:de.NA});yn([Gl]);const Ul=Li(Gl,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Ul);const Oh={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class bh{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const t=e>0?e:"";this[`CONSUME${t}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${t}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${t}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${t}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${t}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${t}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${t}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${t}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let t=0;t<10;t++){const r=t>0?t:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return Bn}topLevelRuleRecord(e,t){try{const r=new Pt({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,t){return jt.call(this,ee,e,t)}atLeastOneInternalRecord(e,t){jt.call(this,Ee,t,e)}atLeastOneSepFirstInternalRecord(e,t){jt.call(this,ke,t,e,_s)}manyInternalRecord(e,t){jt.call(this,W,t,e)}manySepFirstInternalRecord(e,t){jt.call(this,pe,t,e,_s)}orInternalRecord(e,t){return Ph.call(this,e,t)}subruleInternalRecord(e,t,r){if(Un(t),!e||_(e,"ruleName")===!1){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=It(this.recordingProdStack),s=e.ruleName,a=new le({idx:t,nonTerminalName:s,label:r==null?void 0:r.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?Oh:gr}consumeInternalRecord(e,t,r){if(Un(t),!Rl(e)){const a=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=It(this.recordingProdStack),s=new G({idx:t,terminalType:e,label:r==null?void 0:r.LABEL});return i.definition.push(s),Ul}}function jt(n,e,t,r=!1){Un(t);const i=It(this.recordingProdStack),s=mt(e)?e:e.DEF,a=new n({definition:[],idx:t});return r&&(a.separator=e.SEP),_(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),gr}function Ph(n,e){Un(e);const t=It(this.recordingProdStack),r=Z(n)===!1,i=r===!1?n:n.DEF,s=new me({definition:[],idx:e,ignoreAmbiguities:r&&n.IGNORE_AMBIGUITIES===!0});_(n,"MAX_LOOKAHEAD")&&(s.maxLookahead=n.MAX_LOOKAHEAD);const a=ho(i,o=>mt(o.GATE));return s.hasPredicates=a,t.definition.push(s),C(i,o=>{const l=new he({definition:[]});s.definition.push(l),_(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:_(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),gr}function Ls(n){return n===0?"":`${n}`}function Un(n){if(n<0||n>ws){const e=new Error(`Invalid DSL Method idx value: <${n}> + Idx value must be a none negative value smaller than ${ws+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Mh{initPerformanceTracer(e){if(_(e,"traceInitPerf")){const t=e.traceInitPerf,r=typeof t=="number";this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Ye.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:i,value:s}=cl(t),a=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,s}else return t()}}function Dh(n,e){e.forEach(t=>{const r=t.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(n.prototype,i,s):n.prototype[i]=t.prototype[i]})})}const Bn=Li(tt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Bn);const Ye=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:At,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Vn=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ce;(function(n){n[n.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",n[n.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",n[n.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",n[n.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",n[n.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",n[n.LEFT_RECURSION=5]="LEFT_RECURSION",n[n.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",n[n.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",n[n.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",n[n.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",n[n.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",n[n.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",n[n.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",n[n.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ce||(ce={}));function $s(n=void 0){return function(){return n}}class Tn{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const t=this.className;this.TRACE_INIT("toFastProps",()=>{ul(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),C(this.definedRulesNames,i=>{const a=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=oh({rules:K(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(D(r)&&this.skipValidations===!1){const i=lh({rules:K(this.gastProductionsCache),tokenTypes:K(this.tokensMap),errMsgProvider:ct,grammarName:t}),s=Kf({lookaheadStrategy:this.lookaheadStrategy,rules:K(this.gastProductionsCache),tokenTypes:K(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(i,s)}}),D(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Wd(K(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:K(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(K(this.gastProductionsCache))})),!Tn.DEFER_DEFINITION_ERRORS_HANDLING&&!D(this.definitionErrors))throw e=S(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: + ${e.join(` +------------------------------- +`)}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(t),r.initLexerAdapter(),r.initLooksAhead(t),r.initRecognizerEngine(e,t),r.initRecoverable(t),r.initTreeBuilder(t),r.initContentAssist(),r.initGastRecorder(t),r.initPerformanceTracer(t),_(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=_(t,"skipValidations")?t.skipValidations:Ye.skipValidations}}Tn.DEFER_DEFINITION_ERRORS_HANDLING=!1;Dh(Tn,[hh,gh,Nh,Ch,wh,_h,Lh,$h,bh,Mh]);class Fh extends Tn{constructor(e,t=Ye){const r=te(t);r.outputCst=!1,super(e,r)}}function Nt(n,e,t){return`${n.name}_${e}_${t}`}const nt=1,Gh=2,Bl=4,Vl=5,Rn=7,Uh=8,Bh=9,Vh=10,Wh=11,Wl=12;class Pi{constructor(e){this.target=e}isEpsilon(){return!1}}class Mi extends Pi{constructor(e,t){super(e),this.tokenType=t}}class jl extends Pi{constructor(e){super(e)}isEpsilon(){return!0}}class Di extends Pi{constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}}function jh(n){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Hh(e,n);const t=n.length;for(let r=0;rHl(n,e,a));return Dt(n,e,r,t,...i)}function Jh(n,e,t){const r=Y(n,e,t,{type:nt});st(n,r);const i=Dt(n,e,r,t,yt(n,e,t));return Qh(n,e,t,i)}function yt(n,e,t){const r=ve(S(t.definition,i=>Hl(n,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:ep(n,r)}function Kl(n,e,t,r,i){const s=r.left,a=r.right,o=Y(n,e,t,{type:Wh});st(n,o);const l=Y(n,e,t,{type:Wl});return s.loopback=o,l.loopback=o,n.decisionMap[Nt(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",t.idx)]=o,H(a,o),i===void 0?(H(o,s),H(o,l)):(H(o,l),H(o,i.left),H(i.right,s)),{left:s,right:l}}function zl(n,e,t,r,i){const s=r.left,a=r.right,o=Y(n,e,t,{type:Vh});st(n,o);const l=Y(n,e,t,{type:Wl}),c=Y(n,e,t,{type:Bh});return o.loopback=c,l.loopback=c,H(o,s),H(o,l),H(a,c),i!==void 0?(H(c,l),H(c,i.left),H(i.right,s)):H(c,o),n.decisionMap[Nt(e,i?"RepetitionWithSeparator":"Repetition",t.idx)]=o,{left:o,right:l}}function Qh(n,e,t,r){const i=r.left,s=r.right;return H(i,s),n.decisionMap[Nt(e,"Option",t.idx)]=i,r}function st(n,e){return n.decisionStates.push(e),e.decision=n.decisionStates.length-1,e.decision}function Dt(n,e,t,r,...i){const s=Y(n,e,r,{type:Uh,start:t});t.end=s;for(const o of i)o!==void 0?(H(t,o.left),H(o.right,s)):H(t,s);const a={left:t,right:s};return n.decisionMap[Nt(e,Zh(r),r.idx)]=t,a}function Zh(n){if(n instanceof me)return"Alternation";if(n instanceof ee)return"Option";if(n instanceof W)return"Repetition";if(n instanceof pe)return"RepetitionWithSeparator";if(n instanceof Ee)return"RepetitionMandatory";if(n instanceof ke)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function ep(n,e){const t=e.length;for(let s=0;se.alt)}get key(){let e="";for(const t in this.map)e+=t+":";return e}}function ql(n,e=!0){return`${e?`a${n.alt}`:""}s${n.state.stateNumber}:${n.stack.map(t=>t.stateNumber.toString()).join("_")}`}function ip(n,e){const t={};return r=>{const i=r.toString();let s=t[i];return s!==void 0||(s={atnStartState:n,decision:e,states:{}},t[i]=s),s}}class Yl{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="";const t=this.predicates.length;for(let r=0;rconsole.log(r)}initialize(e){this.atn=jh(e.rules),this.dfas=ap(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:t,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=Nt(r,"Alternation",t),u=this.atn.decisionMap[l].decision,d=S(Is({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),f=>S(f,h=>h[0]));if(bs(d,!1)&&!s){const f=oe(d,(h,m,g)=>(C(m,A=>{A&&(h[A.tokenTypeIdx]=g,C(A.categoryMatches,y=>{h[y]=g}))}),h),{});return i?function(h){var m;const g=this.LA(1),A=f[g.tokenTypeIdx];if(h!==void 0&&A!==void 0){const y=(m=h[A])===null||m===void 0?void 0:m.GATE;if(y!==void 0&&y.call(this)===!1)return}return A}:function(){const h=this.LA(1);return f[h.tokenTypeIdx]}}else return i?function(f){const h=new Yl,m=f===void 0?0:f.length;for(let A=0;AS(f,h=>h[0]));if(bs(d)&&d[0][0]&&!s){const f=d[0],h=Ne(f);if(h.length===1&&D(h[0].categoryMatches)){const g=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===g}}else{const m=oe(h,(g,A)=>(A!==void 0&&(g[A.tokenTypeIdx]=!0,C(A.categoryMatches,y=>{g[y]=!0})),g),{});return function(){const g=this.LA(1);return m[g.tokenTypeIdx]===!0}}}return function(){const f=_r.call(this,a,u,Os,o);return typeof f=="object"?!1:f===0}}}function bs(n,e=!0){const t=new Set;for(const r of n){const i=new Set;for(const s of r){if(s===void 0){if(e)break;return!1}const a=[s.tokenTypeIdx].concat(s.categoryMatches);for(const o of a)if(t.has(o)){if(!i.has(o))return!1}else t.add(o),i.add(o)}}return!0}function ap(n){const e=n.decisionStates.length,t=Array(e);for(let r=0;rEt(i)).join(", "),t=n.production.idx===0?"":n.production.idx;let r=`Ambiguous Alternatives Detected: <${n.ambiguityIndices.join(", ")}> in <${dp(n.production)}${t}> inside <${n.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,r}function dp(n){if(n instanceof le)return"SUBRULE";if(n instanceof ee)return"OPTION";if(n instanceof me)return"OR";if(n instanceof Ee)return"AT_LEAST_ONE";if(n instanceof ke)return"AT_LEAST_ONE_SEP";if(n instanceof pe)return"MANY_SEP";if(n instanceof W)return"MANY";if(n instanceof G)return"CONSUME";throw Error("non exhaustive match")}function fp(n,e,t){const r=Re(e.configs.elements,s=>s.state.transitions),i=Eu(r.filter(s=>s instanceof Mi).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:t,possibleTokenTypes:i,tokenPath:n}}function hp(n,e){return n.edges[e.tokenTypeIdx]}function pp(n,e,t){const r=new zr,i=[];for(const a of n.elements){if(t.is(a.alt)===!1)continue;if(a.state.type===Rn){i.push(a);continue}const o=a.state.transitions.length;for(let l=0;l0&&!Rp(s))for(const a of i)s.add(a);return s}function mp(n,e){if(n instanceof Mi&&El(e,n.tokenType))return n.target}function gp(n,e){let t;for(const r of n.elements)if(e.is(r.alt)===!0){if(t===void 0)t=r.alt;else if(t!==r.alt)return}return t}function Xl(n){return{configs:n,edges:{},isAcceptState:!1,prediction:-1}}function Ps(n,e,t,r){return r=Jl(n,r),e.edges[t.tokenTypeIdx]=r,r}function Jl(n,e){if(e===Wn)return e;const t=e.configs.key,r=n.states[t];return r!==void 0?r:(e.configs.finalize(),n.states[t]=e,e)}function yp(n){const e=new zr,t=n.transitions.length;for(let r=0;r0){const i=[...n.stack],a={state:i.pop(),alt:n.alt,stack:i};jn(a,e)}else e.add(n);return}t.epsilonOnlyTransitions||e.add(n);const r=t.transitions.length;for(let i=0;i1)return!0;return!1}function Sp(n){for(const e of Array.from(n.values()))if(Object.keys(e).length===1)return!0;return!1}var Ms;(function(n){function e(t){return typeof t=="string"}n.is=e})(Ms||(Ms={}));var qr;(function(n){function e(t){return typeof t=="string"}n.is=e})(qr||(qr={}));var Ds;(function(n){n.MIN_VALUE=-2147483648,n.MAX_VALUE=2147483647;function e(t){return typeof t=="number"&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}n.is=e})(Ds||(Ds={}));var Hn;(function(n){n.MIN_VALUE=0,n.MAX_VALUE=2147483647;function e(t){return typeof t=="number"&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}n.is=e})(Hn||(Hn={}));var P;(function(n){function e(r,i){return r===Number.MAX_VALUE&&(r=Hn.MAX_VALUE),i===Number.MAX_VALUE&&(i=Hn.MAX_VALUE),{line:r,character:i}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&p.uinteger(i.line)&&p.uinteger(i.character)}n.is=t})(P||(P={}));var b;(function(n){function e(r,i,s,a){if(p.uinteger(r)&&p.uinteger(i)&&p.uinteger(s)&&p.uinteger(a))return{start:P.create(r,i),end:P.create(s,a)};if(P.is(r)&&P.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&P.is(i.start)&&P.is(i.end)}n.is=t})(b||(b={}));var Kn;(function(n){function e(r,i){return{uri:r,range:i}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&b.is(i.range)&&(p.string(i.uri)||p.undefined(i.uri))}n.is=t})(Kn||(Kn={}));var Fs;(function(n){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&b.is(i.targetRange)&&p.string(i.targetUri)&&b.is(i.targetSelectionRange)&&(b.is(i.originSelectionRange)||p.undefined(i.originSelectionRange))}n.is=t})(Fs||(Fs={}));var Yr;(function(n){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&p.numberRange(i.red,0,1)&&p.numberRange(i.green,0,1)&&p.numberRange(i.blue,0,1)&&p.numberRange(i.alpha,0,1)}n.is=t})(Yr||(Yr={}));var Gs;(function(n){function e(r,i){return{range:r,color:i}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&b.is(i.range)&&Yr.is(i.color)}n.is=t})(Gs||(Gs={}));var Us;(function(n){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.undefined(i.textEdit)||_t.is(i))&&(p.undefined(i.additionalTextEdits)||p.typedArray(i.additionalTextEdits,_t.is))}n.is=t})(Us||(Us={}));var Bs;(function(n){n.Comment="comment",n.Imports="imports",n.Region="region"})(Bs||(Bs={}));var Vs;(function(n){function e(r,i,s,a,o,l){const c={startLine:r,endLine:i};return p.defined(s)&&(c.startCharacter=s),p.defined(a)&&(c.endCharacter=a),p.defined(o)&&(c.kind=o),p.defined(l)&&(c.collapsedText=l),c}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&p.uinteger(i.startLine)&&p.uinteger(i.startLine)&&(p.undefined(i.startCharacter)||p.uinteger(i.startCharacter))&&(p.undefined(i.endCharacter)||p.uinteger(i.endCharacter))&&(p.undefined(i.kind)||p.string(i.kind))}n.is=t})(Vs||(Vs={}));var Xr;(function(n){function e(r,i){return{location:r,message:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&Kn.is(i.location)&&p.string(i.message)}n.is=t})(Xr||(Xr={}));var Ws;(function(n){n.Error=1,n.Warning=2,n.Information=3,n.Hint=4})(Ws||(Ws={}));var js;(function(n){n.Unnecessary=1,n.Deprecated=2})(js||(js={}));var Hs;(function(n){function e(t){const r=t;return p.objectLiteral(r)&&p.string(r.href)}n.is=e})(Hs||(Hs={}));var zn;(function(n){function e(r,i,s,a,o,l){let c={range:r,message:i};return p.defined(s)&&(c.severity=s),p.defined(a)&&(c.code=a),p.defined(o)&&(c.source=o),p.defined(l)&&(c.relatedInformation=l),c}n.create=e;function t(r){var i;let s=r;return p.defined(s)&&b.is(s.range)&&p.string(s.message)&&(p.number(s.severity)||p.undefined(s.severity))&&(p.integer(s.code)||p.string(s.code)||p.undefined(s.code))&&(p.undefined(s.codeDescription)||p.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(p.string(s.source)||p.undefined(s.source))&&(p.undefined(s.relatedInformation)||p.typedArray(s.relatedInformation,Xr.is))}n.is=t})(zn||(zn={}));var Ct;(function(n){function e(r,i,...s){let a={title:r,command:i};return p.defined(s)&&s.length>0&&(a.arguments=s),a}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.title)&&p.string(i.command)}n.is=t})(Ct||(Ct={}));var _t;(function(n){function e(s,a){return{range:s,newText:a}}n.replace=e;function t(s,a){return{range:{start:s,end:s},newText:a}}n.insert=t;function r(s){return{range:s,newText:""}}n.del=r;function i(s){const a=s;return p.objectLiteral(a)&&p.string(a.newText)&&b.is(a.range)}n.is=i})(_t||(_t={}));var Jr;(function(n){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(p.string(i.description)||i.description===void 0)}n.is=t})(Jr||(Jr={}));var wt;(function(n){function e(t){const r=t;return p.string(r)}n.is=e})(wt||(wt={}));var Ks;(function(n){function e(s,a,o){return{range:s,newText:a,annotationId:o}}n.replace=e;function t(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}n.insert=t;function r(s,a){return{range:s,newText:"",annotationId:a}}n.del=r;function i(s){const a=s;return _t.is(a)&&(Jr.is(a.annotationId)||wt.is(a.annotationId))}n.is=i})(Ks||(Ks={}));var Qr;(function(n){function e(r,i){return{textDocument:r,edits:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&ri.is(i.textDocument)&&Array.isArray(i.edits)}n.is=t})(Qr||(Qr={}));var Zr;(function(n){function e(r,i,s){let a={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}n.create=e;function t(r){let i=r;return i&&i.kind==="create"&&p.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||wt.is(i.annotationId))}n.is=t})(Zr||(Zr={}));var ei;(function(n){function e(r,i,s,a){let o={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(o.options=s),a!==void 0&&(o.annotationId=a),o}n.create=e;function t(r){let i=r;return i&&i.kind==="rename"&&p.string(i.oldUri)&&p.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||wt.is(i.annotationId))}n.is=t})(ei||(ei={}));var ti;(function(n){function e(r,i,s){let a={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}n.create=e;function t(r){let i=r;return i&&i.kind==="delete"&&p.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||p.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||p.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||wt.is(i.annotationId))}n.is=t})(ti||(ti={}));var ni;(function(n){function e(t){let r=t;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>p.string(i.kind)?Zr.is(i)||ei.is(i)||ti.is(i):Qr.is(i)))}n.is=e})(ni||(ni={}));var zs;(function(n){function e(r){return{uri:r}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)}n.is=t})(zs||(zs={}));var qs;(function(n){function e(r,i){return{uri:r,version:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.integer(i.version)}n.is=t})(qs||(qs={}));var ri;(function(n){function e(r,i){return{uri:r,version:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)&&(i.version===null||p.integer(i.version))}n.is=t})(ri||(ri={}));var Ys;(function(n){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.string(i.languageId)&&p.integer(i.version)&&p.string(i.text)}n.is=t})(Ys||(Ys={}));var ii;(function(n){n.PlainText="plaintext",n.Markdown="markdown";function e(t){const r=t;return r===n.PlainText||r===n.Markdown}n.is=e})(ii||(ii={}));var Xt;(function(n){function e(t){const r=t;return p.objectLiteral(t)&&ii.is(r.kind)&&p.string(r.value)}n.is=e})(Xt||(Xt={}));var Xs;(function(n){n.Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25})(Xs||(Xs={}));var Js;(function(n){n.PlainText=1,n.Snippet=2})(Js||(Js={}));var Qs;(function(n){n.Deprecated=1})(Qs||(Qs={}));var Zs;(function(n){function e(r,i,s){return{newText:r,insert:i,replace:s}}n.create=e;function t(r){const i=r;return i&&p.string(i.newText)&&b.is(i.insert)&&b.is(i.replace)}n.is=t})(Zs||(Zs={}));var ea;(function(n){n.asIs=1,n.adjustIndentation=2})(ea||(ea={}));var ta;(function(n){function e(t){const r=t;return r&&(p.string(r.detail)||r.detail===void 0)&&(p.string(r.description)||r.description===void 0)}n.is=e})(ta||(ta={}));var na;(function(n){function e(t){return{label:t}}n.create=e})(na||(na={}));var ra;(function(n){function e(t,r){return{items:t||[],isIncomplete:!!r}}n.create=e})(ra||(ra={}));var qn;(function(n){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}n.fromPlainText=e;function t(r){const i=r;return p.string(i)||p.objectLiteral(i)&&p.string(i.language)&&p.string(i.value)}n.is=t})(qn||(qn={}));var ia;(function(n){function e(t){let r=t;return!!r&&p.objectLiteral(r)&&(Xt.is(r.contents)||qn.is(r.contents)||p.typedArray(r.contents,qn.is))&&(t.range===void 0||b.is(t.range))}n.is=e})(ia||(ia={}));var sa;(function(n){function e(t,r){return r?{label:t,documentation:r}:{label:t}}n.create=e})(sa||(sa={}));var aa;(function(n){function e(t,r,...i){let s={label:t};return p.defined(r)&&(s.documentation=r),p.defined(i)?s.parameters=i:s.parameters=[],s}n.create=e})(aa||(aa={}));var oa;(function(n){n.Text=1,n.Read=2,n.Write=3})(oa||(oa={}));var la;(function(n){function e(t,r){let i={range:t};return p.number(r)&&(i.kind=r),i}n.create=e})(la||(la={}));var ca;(function(n){n.File=1,n.Module=2,n.Namespace=3,n.Package=4,n.Class=5,n.Method=6,n.Property=7,n.Field=8,n.Constructor=9,n.Enum=10,n.Interface=11,n.Function=12,n.Variable=13,n.Constant=14,n.String=15,n.Number=16,n.Boolean=17,n.Array=18,n.Object=19,n.Key=20,n.Null=21,n.EnumMember=22,n.Struct=23,n.Event=24,n.Operator=25,n.TypeParameter=26})(ca||(ca={}));var ua;(function(n){n.Deprecated=1})(ua||(ua={}));var da;(function(n){function e(t,r,i,s,a){let o={name:t,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}n.create=e})(da||(da={}));var fa;(function(n){function e(t,r,i,s){return s!==void 0?{name:t,kind:r,location:{uri:i,range:s}}:{name:t,kind:r,location:{uri:i}}}n.create=e})(fa||(fa={}));var ha;(function(n){function e(r,i,s,a,o,l){let c={name:r,detail:i,kind:s,range:a,selectionRange:o};return l!==void 0&&(c.children=l),c}n.create=e;function t(r){let i=r;return i&&p.string(i.name)&&p.number(i.kind)&&b.is(i.range)&&b.is(i.selectionRange)&&(i.detail===void 0||p.string(i.detail))&&(i.deprecated===void 0||p.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}n.is=t})(ha||(ha={}));var pa;(function(n){n.Empty="",n.QuickFix="quickfix",n.Refactor="refactor",n.RefactorExtract="refactor.extract",n.RefactorInline="refactor.inline",n.RefactorRewrite="refactor.rewrite",n.Source="source",n.SourceOrganizeImports="source.organizeImports",n.SourceFixAll="source.fixAll"})(pa||(pa={}));var Yn;(function(n){n.Invoked=1,n.Automatic=2})(Yn||(Yn={}));var ma;(function(n){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}n.create=e;function t(r){let i=r;return p.defined(i)&&p.typedArray(i.diagnostics,zn.is)&&(i.only===void 0||p.typedArray(i.only,p.string))&&(i.triggerKind===void 0||i.triggerKind===Yn.Invoked||i.triggerKind===Yn.Automatic)}n.is=t})(ma||(ma={}));var ga;(function(n){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Ct.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}n.create=e;function t(r){let i=r;return i&&p.string(i.title)&&(i.diagnostics===void 0||p.typedArray(i.diagnostics,zn.is))&&(i.kind===void 0||p.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Ct.is(i.command))&&(i.isPreferred===void 0||p.boolean(i.isPreferred))&&(i.edit===void 0||ni.is(i.edit))}n.is=t})(ga||(ga={}));var ya;(function(n){function e(r,i){let s={range:r};return p.defined(i)&&(s.data=i),s}n.create=e;function t(r){let i=r;return p.defined(i)&&b.is(i.range)&&(p.undefined(i.command)||Ct.is(i.command))}n.is=t})(ya||(ya={}));var Ta;(function(n){function e(r,i){return{tabSize:r,insertSpaces:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.uinteger(i.tabSize)&&p.boolean(i.insertSpaces)}n.is=t})(Ta||(Ta={}));var Ra;(function(n){function e(r,i,s){return{range:r,target:i,data:s}}n.create=e;function t(r){let i=r;return p.defined(i)&&b.is(i.range)&&(p.undefined(i.target)||p.string(i.target))}n.is=t})(Ra||(Ra={}));var Aa;(function(n){function e(r,i){return{range:r,parent:i}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&b.is(i.range)&&(i.parent===void 0||n.is(i.parent))}n.is=t})(Aa||(Aa={}));var va;(function(n){n.namespace="namespace",n.type="type",n.class="class",n.enum="enum",n.interface="interface",n.struct="struct",n.typeParameter="typeParameter",n.parameter="parameter",n.variable="variable",n.property="property",n.enumMember="enumMember",n.event="event",n.function="function",n.method="method",n.macro="macro",n.keyword="keyword",n.modifier="modifier",n.comment="comment",n.string="string",n.number="number",n.regexp="regexp",n.operator="operator",n.decorator="decorator"})(va||(va={}));var Ea;(function(n){n.declaration="declaration",n.definition="definition",n.readonly="readonly",n.static="static",n.deprecated="deprecated",n.abstract="abstract",n.async="async",n.modification="modification",n.documentation="documentation",n.defaultLibrary="defaultLibrary"})(Ea||(Ea={}));var ka;(function(n){function e(t){const r=t;return p.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}n.is=e})(ka||(ka={}));var Sa;(function(n){function e(r,i){return{range:r,text:i}}n.create=e;function t(r){const i=r;return i!=null&&b.is(i.range)&&p.string(i.text)}n.is=t})(Sa||(Sa={}));var Ia;(function(n){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}n.create=e;function t(r){const i=r;return i!=null&&b.is(i.range)&&p.boolean(i.caseSensitiveLookup)&&(p.string(i.variableName)||i.variableName===void 0)}n.is=t})(Ia||(Ia={}));var xa;(function(n){function e(r,i){return{range:r,expression:i}}n.create=e;function t(r){const i=r;return i!=null&&b.is(i.range)&&(p.string(i.expression)||i.expression===void 0)}n.is=t})(xa||(xa={}));var Na;(function(n){function e(r,i){return{frameId:r,stoppedLocation:i}}n.create=e;function t(r){const i=r;return p.defined(i)&&b.is(r.stoppedLocation)}n.is=t})(Na||(Na={}));var si;(function(n){n.Type=1,n.Parameter=2;function e(t){return t===1||t===2}n.is=e})(si||(si={}));var ai;(function(n){function e(r){return{value:r}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&(i.tooltip===void 0||p.string(i.tooltip)||Xt.is(i.tooltip))&&(i.location===void 0||Kn.is(i.location))&&(i.command===void 0||Ct.is(i.command))}n.is=t})(ai||(ai={}));var Ca;(function(n){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&P.is(i.position)&&(p.string(i.label)||p.typedArray(i.label,ai.is))&&(i.kind===void 0||si.is(i.kind))&&i.textEdits===void 0||p.typedArray(i.textEdits,_t.is)&&(i.tooltip===void 0||p.string(i.tooltip)||Xt.is(i.tooltip))&&(i.paddingLeft===void 0||p.boolean(i.paddingLeft))&&(i.paddingRight===void 0||p.boolean(i.paddingRight))}n.is=t})(Ca||(Ca={}));var _a;(function(n){function e(t){return{kind:"snippet",value:t}}n.createSnippet=e})(_a||(_a={}));var wa;(function(n){function e(t,r,i,s){return{insertText:t,filterText:r,range:i,command:s}}n.create=e})(wa||(wa={}));var La;(function(n){function e(t){return{items:t}}n.create=e})(La||(La={}));var $a;(function(n){n.Invoked=0,n.Automatic=1})($a||($a={}));var Oa;(function(n){function e(t,r){return{range:t,text:r}}n.create=e})(Oa||(Oa={}));var ba;(function(n){function e(t,r){return{triggerKind:t,selectedCompletionInfo:r}}n.create=e})(ba||(ba={}));var Pa;(function(n){function e(t){const r=t;return p.objectLiteral(r)&&qr.is(r.uri)&&p.string(r.name)}n.is=e})(Pa||(Pa={}));var Ma;(function(n){function e(s,a,o,l){return new Ip(s,a,o,l)}n.create=e;function t(s){let a=s;return!!(p.defined(a)&&p.string(a.uri)&&(p.undefined(a.languageId)||p.string(a.languageId))&&p.uinteger(a.lineCount)&&p.func(a.getText)&&p.func(a.positionAt)&&p.func(a.offsetAt))}n.is=t;function r(s,a){let o=s.getText(),l=i(a,(u,d)=>{let f=u.range.start.line-d.range.start.line;return f===0?u.range.start.character-d.range.start.character:f}),c=o.length;for(let u=l.length-1;u>=0;u--){let d=l[u],f=s.offsetAt(d.range.start),h=s.offsetAt(d.range.end);if(h<=c)o=o.substring(0,f)+d.newText+o.substring(h,o.length);else throw new Error("Overlapping edit");c=f}return o}n.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,l=s.slice(0,o),c=s.slice(o);i(l,a),i(c,a);let u=0,d=0,f=0;for(;u0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,i=t.length;if(i===0)return P.create(0,e);for(;re?i=a:r=a+1}let s=r-1;return P.create(s,e-t[s])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],i=e.line+1"u"}n.undefined=r;function i(h){return h===!0||h===!1}n.boolean=i;function s(h){return e.call(h)==="[object String]"}n.string=s;function a(h){return e.call(h)==="[object Number]"}n.number=a;function o(h,m,g){return e.call(h)==="[object Number]"&&m<=h&&h<=g}n.numberRange=o;function l(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}n.integer=l;function c(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}n.uinteger=c;function u(h){return e.call(h)==="[object Function]"}n.func=u;function d(h){return h!==null&&typeof h=="object"}n.objectLiteral=d;function f(h,m){return Array.isArray(h)&&h.every(m)}n.typedArray=f})(p||(p={}));class xp{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new Zl(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const t=new Ui;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){const r=new oi(e.startOffset,e.image.length,Mr(e),e.tokenType,!1);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const t=e.container;if(t){const r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}construct(e){const t=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=t;const r=this.nodeStack.pop();(r==null?void 0:r.content.length)===0&&this.removeNode(r)}addHiddenTokens(e){for(const t of e){const r=new oi(t.startOffset,t.image.length,Mr(t),t.tokenType,!0);r.root=this.rootNode,this.addHiddenToken(this.rootNode,r)}}addHiddenToken(e,t){const{offset:r,end:i}=t;for(let s=0;so&&i=0;e--){const t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}}class Bi extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Bi.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(const t of e)t.container=this.parent}}class Zl extends Ui{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const li=Symbol("Datatype");function wr(n){return n.$type===li}const Da="​",ec=n=>n.endsWith(Da)?n:n+Da;class tc{constructor(e){this._unorderedGroups=new Map,this.lexer=e.parser.Lexer;const t=this.lexer.definition;this.wrapper=new Lp(t,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class Np extends tc{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new xp,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){const r=e.fragment?void 0:Ni(e)?li:cr(e),i=this.wrapper.DEFINE_RULE(ec(e.name),this.startImplementation(r,t).bind(this));return e.entry&&(this.mainRule=i),i}parse(e){this.nodeBuilder.buildRootNode(e);const t=this.lexer.tokenize(e);this.wrapper.input=t.tokens;const r=this.mainRule.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(t.hidden),this.unorderedGroups.clear(),{value:r,lexerErrors:t.errors,parserErrors:this.wrapper.errors}}startImplementation(e,t){return r=>{if(!this.isRecording()){const s={$type:e};this.stack.push(s),e===li&&(s.value="")}let i;try{i=t(r)}catch{i=void 0}return!this.isRecording()&&i===void 0&&(i=this.construct()),i}}consume(e,t,r){const i=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(i)){const s=this.nodeBuilder.buildLeafNode(i,r),{assignment:a,isCrossRef:o}=this.getAssignment(r),l=this.current;if(a){const c=dt(r)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,c,s,o)}else if(wr(l)){let c=i.image;dt(r)||(c=this.converter.convert(c,s).toString()),l.value+=c}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,t,r,i){let s;this.isRecording()||(s=this.nodeBuilder.buildCompositeNode(r));const a=this.wrapper.wrapSubrule(e,t,i);!this.isRecording()&&s&&s.length>0&&this.performSubruleAssignment(a,r,s)}performSubruleAssignment(e,t,r){const{assignment:i,isCrossRef:s}=this.getAssignment(t);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(wr(a))a.value+=e.toString();else if(typeof e=="object"&&e){const o=e.$type,l=this.assignWithoutOverride(e,a);o&&(l.$type=o);const c=l;this.stack.pop(),this.stack.push(c)}}}action(e,t){if(!this.isRecording()){let r=this.current;if(!r.$cstNode&&t.feature&&t.operator){r=this.construct(!1);const s=r.$cstNode.feature;this.nodeBuilder.buildCompositeNode(s)}const i={$type:e};this.stack.pop(),this.stack.push(i),t.feature&&t.operator&&this.assign(t.operator,t.feature,r,r.$cstNode,!1)}}construct(e=!0){if(this.isRecording())return;const t=this.current;return sd(t),this.nodeBuilder.construct(t),e&&this.stack.pop(),wr(t)?this.converter.convert(t.value,t.$cstNode):(od(this.astReflection,t),t)}getAssignment(e){if(!this.assignmentMap.has(e)){const t=ar(e,ut);this.assignmentMap.set(e,{assignment:t,isCrossRef:t?ki(t.terminal):!1})}return this.assignmentMap.get(e)}assign(e,t,r,i,s){const a=this.current;let o;switch(s&&typeof r=="string"?o=this.linker.buildReference(a,t,i,r):o=r,e){case"=":{a[t]=o;break}case"?=":{a[t]=!0;break}case"+=":Array.isArray(a[t])||(a[t]=[]),a[t].push(o)}}assignWithoutOverride(e,t){for(const[r,i]of Object.entries(t)){const s=e[r];s===void 0?e[r]=i:Array.isArray(s)&&Array.isArray(i)&&(i.push(...s),e[r]=i)}return e}get definitionErrors(){return this.wrapper.definitionErrors}}class Cp{buildMismatchTokenMessage(e){return At.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return At.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return At.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return At.buildEarlyExitMessage(e)}}class nc extends Cp{buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class _p extends tc{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const t=this.lexer.tokenize(e);return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){const r=this.wrapper.DEFINE_RULE(ec(e.name),this.startImplementation(t).bind(this));return e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{const r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,i){this.before(r),this.wrapper.wrapSubrule(e,t,i),this.after(r)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}}const wp={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new nc};class Lp extends Fh{constructor(e,t){const r=t&&"maxLookahead"in t;super(e,Object.assign(Object.assign(Object.assign({},wp),{lookaheadStrategy:r?new bi({maxLookahead:t.maxLookahead}):new sp}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}}function rc(n,e,t){return $p({parser:e,tokens:t,rules:new Map,ruleNames:new Map},n),e}function $p(n,e){const t=tl(e,!1),r=Q(e.rules).filter(Ce).filter(i=>t.has(i));for(const i of r){const s=Object.assign(Object.assign({},n),{consume:1,optional:1,subrule:1,many:1,or:1});s.rules.set(i.name,n.parser.rule(i,pt(s,i.definition)))}}function pt(n,e,t=!1){let r;if(dt(e))r=Gp(n,e);else if(sr(e))r=Op(n,e);else if(ut(e))r=pt(n,e.terminal);else if(ki(e))r=ic(n,e);else if(ft(e))r=bp(n,e);else if(bo(e))r=Mp(n,e);else if(qo(e))r=Dp(n,e);else if(Si(e))r=Fp(n,e);else if(Ju(e)){const i=n.consume++;r=()=>n.parser.consume(i,tt,e)}else throw new yo(e.$cstNode,`Unexpected element type: ${e.$type}`);return sc(n,t?void 0:Xn(e),r,e.cardinality)}function Op(n,e){const t=cr(e);return()=>n.parser.action(t,e)}function bp(n,e){const t=e.rule.ref;if(Ce(t)){const r=n.subrule++,i=e.arguments.length>0?Pp(t,e.arguments):()=>({});return s=>n.parser.subrule(r,ac(n,t),e,i(s))}else if(gt(t)){const r=n.consume++,i=ci(n,t.name);return()=>n.parser.consume(r,i,e)}else if(t)ir();else throw new yo(e.$cstNode,`Undefined rule type: ${e.$type}`)}function Pp(n,e){const t=e.map(r=>He(r.value));return r=>{const i={};for(let s=0;se(r)||t(r)}else if(Du(n)){const e=He(n.left),t=He(n.right);return r=>e(r)&&t(r)}else if(Uu(n)){const e=He(n.value);return t=>!e(t)}else if(Wu(n)){const e=n.parameter.ref.name;return t=>t!==void 0&&t[e]===!0}else if(Mu(n)){const e=!!n.true;return()=>e}ir()}function Mp(n,e){if(e.elements.length===1)return pt(n,e.elements[0]);{const t=[];for(const i of e.elements){const s={ALT:pt(n,i,!0)},a=Xn(i);a&&(s.GATE=He(a)),t.push(s)}const r=n.or++;return i=>n.parser.alternatives(r,t.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function Dp(n,e){if(e.elements.length===1)return pt(n,e.elements[0]);const t=[];for(const o of e.elements){const l={ALT:pt(n,o,!0)},c=Xn(o);c&&(l.GATE=He(c)),t.push(l)}const r=n.or++,i=(o,l)=>{const c=l.getRuleStack().join("-");return`uGroup_${o}_${c}`},s=o=>n.parser.alternatives(r,t.map((l,c)=>{const u={ALT:()=>!0},d=n.parser;u.ALT=()=>{if(l.ALT(o),!d.isRecording()){const h=i(r,d);d.unorderedGroups.get(h)||d.unorderedGroups.set(h,[]);const m=d.unorderedGroups.get(h);typeof(m==null?void 0:m[c])>"u"&&(m[c]=!0)}};const f=l.GATE;return f?u.GATE=()=>f(o):u.GATE=()=>{const h=d.unorderedGroups.get(i(r,d));return!(h!=null&&h[c])},u})),a=sc(n,Xn(e),s,"*");return o=>{a(o),n.parser.isRecording()||n.parser.unorderedGroups.delete(i(r,n.parser))}}function Fp(n,e){const t=e.elements.map(r=>pt(n,r));return r=>t.forEach(i=>i(r))}function Xn(n){if(Si(n))return n.guardCondition}function ic(n,e,t=e.terminal){if(t)if(ft(t)&&Ce(t.rule.ref)){const r=n.subrule++;return i=>n.parser.subrule(r,ac(n,t.rule.ref),e,i)}else if(ft(t)&>(t.rule.ref)){const r=n.consume++,i=ci(n,t.rule.ref.name);return()=>n.parser.consume(r,i,e)}else if(dt(t)){const r=n.consume++,i=ci(n,t.value);return()=>n.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const r=il(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+cr(e.type.ref));return ic(n,e,i)}}function Gp(n,e){const t=n.consume++,r=n.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>n.parser.consume(t,r,e)}function sc(n,e,t,r){const i=e&&He(e);if(!r)if(i){const s=n.or++;return a=>n.parser.alternatives(s,[{ALT:()=>t(a),GATE:()=>i(a)},{ALT:$s(),GATE:()=>!i(a)}])}else return t;if(r==="*"){const s=n.many++;return a=>n.parser.many(s,{DEF:()=>t(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=n.many++;if(i){const a=n.or++;return o=>n.parser.alternatives(a,[{ALT:()=>n.parser.atLeastOne(s,{DEF:()=>t(o)}),GATE:()=>i(o)},{ALT:$s(),GATE:()=>!i(o)}])}else return a=>n.parser.atLeastOne(s,{DEF:()=>t(a)})}else if(r==="?"){const s=n.optional++;return a=>n.parser.optional(s,{DEF:()=>t(a),GATE:i?()=>i(a):void 0})}else ir()}function ac(n,e){const t=Up(n,e),r=n.rules.get(t);if(!r)throw new Error(`Rule "${t}" not found."`);return r}function Up(n,e){if(Ce(e))return e.name;if(n.ruleNames.has(e))return n.ruleNames.get(e);{let t=e,r=t.$container,i=e.$type;for(;!Ce(r);)(Si(r)||bo(r)||qo(r))&&(i=r.elements.indexOf(t).toString()+":"+i),t=r,r=r.$container;return i=r.name+":"+i,n.ruleNames.set(e,i),i}}function ci(n,e){const t=n.tokens[e];if(!t)throw new Error(`Token "${e}" not found."`);return t}function Bp(n){const e=n.Grammar,t=n.parser.Lexer,r=new _p(n);return rc(e,r,t.definition),r.finalize(),r}function Vp(n){const e=Wp(n);return e.finalize(),e}function Wp(n){const e=n.Grammar,t=n.parser.Lexer,r=new Np(n);return rc(e,r,t.definition)}class oc{buildTokens(e,t){const r=Q(tl(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,t);return i.forEach(a=>{const o=a.PATTERN;typeof o=="object"&&o&&"test"in o&&ls(o)?s.unshift(a):s.push(a)}),s}buildTerminalTokens(e){return e.filter(gt).filter(t=>!t.fragment).map(t=>this.buildTerminalToken(t)).toArray()}buildTerminalToken(e){const t=Ci(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,i={name:e.name,PATTERN:r,LINE_BREAKS:!0};return e.hidden&&(i.GROUP=ls(t)?de.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")?!0:!!(e.source.includes("?<=")||e.source.includes("?(t.lastIndex=i,t.exec(r))}buildKeywordTokens(e,t,r){return e.filter(Ce).flatMap(i=>pn(i).filter(dt)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,t,!!(r!=null&&r.caseInsensitive)))}buildKeywordToken(e,t,r){return{name:e.value,PATTERN:this.buildKeywordPattern(e,r),LONGER_ALT:this.findLongerAlt(e,t)}}buildKeywordPattern(e,t){return t?new RegExp(md(e.value)):e.value}findLongerAlt(e,t){return t.reduce((r,i)=>{const s=i==null?void 0:i.PATTERN;return s!=null&&s.source&&gd("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class lc{convert(e,t){let r=t.grammarSource;if(ki(r)&&(r=Ad(r)),ft(r)){const i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,t)}return e}runConverter(e,t,r){var i;switch(e.name.toUpperCase()){case"INT":return je.convertInt(t);case"STRING":return je.convertString(t);case"ID":return je.convertID(t)}switch((i=Nd(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return je.convertNumber(t);case"boolean":return je.convertBoolean(t);case"bigint":return je.convertBigint(t);case"date":return je.convertDate(t);default:return t}}}var je;(function(n){function e(c){let u="";for(let d=1;dcc(e))}se.stringArray=qp;var Lt={};Object.defineProperty(Lt,"__esModule",{value:!0});Lt.Emitter=Lt.Event=void 0;const Yp=yr;var Fa;(function(n){const e={dispose(){}};n.None=function(){return e}})(Fa||(Lt.Event=Fa={}));class Xp{add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i{this._callbacks||(this._callbacks=new Xp),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=Tr._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}Lt.Emitter=Tr;Tr._noop=function(){};var X;Object.defineProperty(Jt,"__esModule",{value:!0});var fi=Jt.CancellationTokenSource=X=Jt.CancellationToken=void 0;const Jp=yr,Qp=se,hi=Lt;var Jn;(function(n){n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:hi.Event.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:hi.Event.None});function e(t){const r=t;return r&&(r===n.None||r===n.Cancelled||Qp.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}n.is=e})(Jn||(X=Jt.CancellationToken=Jn={}));const Zp=Object.freeze(function(n,e){const t=(0,Jp.default)().timer.setTimeout(n.bind(e),0);return{dispose(){t.dispose()}}});class Ga{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Zp:(this._emitter||(this._emitter=new hi.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class em{get token(){return this._token||(this._token=new Ga),this._token}cancel(){this._token?this._token.cancel():this._token=Jn.Cancelled}dispose(){this._token?this._token instanceof Ga&&this._token.dispose():this._token=Jn.None}}fi=Jt.CancellationTokenSource=em;function tm(){return new Promise(n=>{typeof setImmediate>"u"?setTimeout(n,0):setImmediate(n)})}let Ua=0,nm=10;const Qn=Symbol("OperationCancelled");function Vi(n){return n===Qn}async function Oe(n){if(n===X.None)return;const e=Date.now();if(e-Ua>=nm&&(Ua=e,await tm()),n.isCancellationRequested)throw Qn}class Wi{constructor(){this.promise=new Promise((e,t)=>{this.resolve=r=>(e(r),this),this.reject=r=>(t(r),this)})}}class Qt{constructor(e,t,r,i){this._uri=e,this._languageId=t,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(let r of e)if(Qt.isIncremental(r)){const i=dc(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let c=this._lineOffsets;const u=Ba(r.text,!1,s);if(l-o===u.length)for(let f=0,h=u.length;fe?i=a:r=a+1}let s=r-1;return{line:s,character:e-t[s]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],i=e.line+1{let f=u.range.start.line-d.range.start.line;return f===0?u.range.start.character-d.range.start.character:f}),l=0;const c=[];for(const u of o){let d=i.offsetAt(u.range.start);if(dl&&c.push(a.substring(l,d)),u.newText.length&&c.push(u.newText),l=i.offsetAt(u.range.end)}return c.push(a.substr(l)),c.join("")}n.applyEdits=r})(pi||(pi={}));function mi(n,e){if(n.length<=1)return n;const t=n.length/2|0,r=n.slice(0,t),i=n.slice(t);mi(r,e),mi(i,e);let s=0,a=0,o=0;for(;st.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:n}function rm(n){const e=dc(n.range);return e!==n.range?{newText:n.newText,range:e}:n}var fc;(()=>{var n={470:i=>{function s(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function a(l,c){for(var u,d="",f=0,h=-1,m=0,g=0;g<=l.length;++g){if(g2){var A=d.lastIndexOf("/");if(A!==d.length-1){A===-1?(d="",f=0):f=(d=d.slice(0,A)).length-1-d.lastIndexOf("/"),h=g,m=0;continue}}else if(d.length===2||d.length===1){d="",f=0,h=g,m=0;continue}}c&&(d.length>0?d+="/..":d="..",f=2)}else d.length>0?d+="/"+l.slice(h+1,g):d=l.slice(h+1,g),f=g-h-1;h=g,m=0}else u===46&&m!==-1?++m:m=-1}return d}var o={resolve:function(){for(var l,c="",u=!1,d=arguments.length-1;d>=-1&&!u;d--){var f;d>=0?f=arguments[d]:(l===void 0&&(l=process.cwd()),f=l),s(f),f.length!==0&&(c=f+"/"+c,u=f.charCodeAt(0)===47)}return c=a(c,!u),u?c.length>0?"/"+c:"/":c.length>0?c:"."},normalize:function(l){if(s(l),l.length===0)return".";var c=l.charCodeAt(0)===47,u=l.charCodeAt(l.length-1)===47;return(l=a(l,!c)).length!==0||c||(l="."),l.length>0&&u&&(l+="/"),c?"/"+l:l},isAbsolute:function(l){return s(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,c=0;c0&&(l===void 0?l=u:l+="/"+u)}return l===void 0?".":o.normalize(l)},relative:function(l,c){if(s(l),s(c),l===c||(l=o.resolve(l))===(c=o.resolve(c)))return"";for(var u=1;ug){if(c.charCodeAt(h+y)===47)return c.slice(h+y+1);if(y===0)return c.slice(h+y)}else f>g&&(l.charCodeAt(u+y)===47?A=y:y===0&&(A=0));break}var v=l.charCodeAt(u+y);if(v!==c.charCodeAt(h+y))break;v===47&&(A=y)}var R="";for(y=u+A+1;y<=d;++y)y!==d&&l.charCodeAt(y)!==47||(R.length===0?R+="..":R+="/..");return R.length>0?R+c.slice(h+A):(h+=A,c.charCodeAt(h)===47&&++h,c.slice(h))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return".";for(var c=l.charCodeAt(0),u=c===47,d=-1,f=!0,h=l.length-1;h>=1;--h)if((c=l.charCodeAt(h))===47){if(!f){d=h;break}}else f=!1;return d===-1?u?"/":".":u&&d===1?"//":l.slice(0,d)},basename:function(l,c){if(c!==void 0&&typeof c!="string")throw new TypeError('"ext" argument must be a string');s(l);var u,d=0,f=-1,h=!0;if(c!==void 0&&c.length>0&&c.length<=l.length){if(c.length===l.length&&c===l)return"";var m=c.length-1,g=-1;for(u=l.length-1;u>=0;--u){var A=l.charCodeAt(u);if(A===47){if(!h){d=u+1;break}}else g===-1&&(h=!1,g=u+1),m>=0&&(A===c.charCodeAt(m)?--m==-1&&(f=u):(m=-1,f=g))}return d===f?f=g:f===-1&&(f=l.length),l.slice(d,f)}for(u=l.length-1;u>=0;--u)if(l.charCodeAt(u)===47){if(!h){d=u+1;break}}else f===-1&&(h=!1,f=u+1);return f===-1?"":l.slice(d,f)},extname:function(l){s(l);for(var c=-1,u=0,d=-1,f=!0,h=0,m=l.length-1;m>=0;--m){var g=l.charCodeAt(m);if(g!==47)d===-1&&(f=!1,d=m+1),g===46?c===-1?c=m:h!==1&&(h=1):c!==-1&&(h=-1);else if(!f){u=m+1;break}}return c===-1||d===-1||h===0||h===1&&c===d-1&&c===u+1?"":l.slice(c,d)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(c,u){var d=u.dir||u.root,f=u.base||(u.name||"")+(u.ext||"");return d?d===u.root?d+f:d+"/"+f:f}(0,l)},parse:function(l){s(l);var c={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return c;var u,d=l.charCodeAt(0),f=d===47;f?(c.root="/",u=1):u=0;for(var h=-1,m=0,g=-1,A=!0,y=l.length-1,v=0;y>=u;--y)if((d=l.charCodeAt(y))!==47)g===-1&&(A=!1,g=y+1),d===46?h===-1?h=y:v!==1&&(v=1):h!==-1&&(v=-1);else if(!A){m=y+1;break}return h===-1||g===-1||v===0||v===1&&h===g-1&&h===m+1?g!==-1&&(c.base=c.name=m===0&&f?l.slice(1,g):l.slice(m,g)):(m===0&&f?(c.name=l.slice(1,h),c.base=l.slice(1,g)):(c.name=l.slice(m,h),c.base=l.slice(m,g)),c.ext=l.slice(h,g)),m>0?c.dir=l.slice(0,m-1):f&&(c.dir="/"),c},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,i.exports=o}},e={};function t(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return n[i](a,a.exports,t),a.exports}t.d=(i,s)=>{for(var a in s)t.o(s,a)&&!t.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},t.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),t.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;t.r(r),t.d(r,{URI:()=>f,Utils:()=>Se}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function l(k,T){if(!k.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${k.authority}", path: "${k.path}", query: "${k.query}", fragment: "${k.fragment}"}`);if(k.scheme&&!s.test(k.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(k.path){if(k.authority){if(!a.test(k.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(k.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const c="",u="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{constructor(T,E,I,O,$,L=!1){Je(this,"scheme");Je(this,"authority");Je(this,"path");Je(this,"query");Je(this,"fragment");typeof T=="object"?(this.scheme=T.scheme||c,this.authority=T.authority||c,this.path=T.path||c,this.query=T.query||c,this.fragment=T.fragment||c):(this.scheme=function(ye,z){return ye||z?ye:"file"}(T,L),this.authority=E||c,this.path=function(ye,z){switch(ye){case"https":case"http":case"file":z?z[0]!==u&&(z=u+z):z=u}return z}(this.scheme,I||c),this.query=O||c,this.fragment=$||c,l(this,L))}static isUri(T){return T instanceof f||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}get fsPath(){return v(this)}with(T){if(!T)return this;let{scheme:E,authority:I,path:O,query:$,fragment:L}=T;return E===void 0?E=this.scheme:E===null&&(E=c),I===void 0?I=this.authority:I===null&&(I=c),O===void 0?O=this.path:O===null&&(O=c),$===void 0?$=this.query:$===null&&($=c),L===void 0?L=this.fragment:L===null&&(L=c),E===this.scheme&&I===this.authority&&O===this.path&&$===this.query&&L===this.fragment?this:new m(E,I,O,$,L)}static parse(T,E=!1){const I=d.exec(T);return I?new m(I[2]||c,ne(I[4]||c),ne(I[5]||c),ne(I[7]||c),ne(I[9]||c),E):new m(c,c,c,c,c)}static file(T){let E=c;if(i&&(T=T.replace(/\\/g,u)),T[0]===u&&T[1]===u){const I=T.indexOf(u,2);I===-1?(E=T.substring(2),T=u):(E=T.substring(2,I),T=T.substring(I)||u)}return new m("file",E,T,c,c)}static from(T){const E=new m(T.scheme,T.authority,T.path,T.query,T.fragment);return l(E,!0),E}toString(T=!1){return R(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof f)return T;{const E=new m(T);return E._formatted=T.external,E._fsPath=T._sep===h?T.fsPath:null,E}}return T}}const h=i?1:void 0;class m extends f{constructor(){super(...arguments);Je(this,"_formatted",null);Je(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=v(this)),this._fsPath}toString(E=!1){return E?R(this,!0):(this._formatted||(this._formatted=R(this,!1)),this._formatted)}toJSON(){const E={$mid:1};return this._fsPath&&(E.fsPath=this._fsPath,E._sep=h),this._formatted&&(E.external=this._formatted),this.path&&(E.path=this.path),this.scheme&&(E.scheme=this.scheme),this.authority&&(E.authority=this.authority),this.query&&(E.query=this.query),this.fragment&&(E.fragment=this.fragment),E}}const g={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function A(k,T,E){let I,O=-1;for(let $=0;$=97&&L<=122||L>=65&&L<=90||L>=48&&L<=57||L===45||L===46||L===95||L===126||T&&L===47||E&&L===91||E&&L===93||E&&L===58)O!==-1&&(I+=encodeURIComponent(k.substring(O,$)),O=-1),I!==void 0&&(I+=k.charAt($));else{I===void 0&&(I=k.substr(0,$));const ye=g[L];ye!==void 0?(O!==-1&&(I+=encodeURIComponent(k.substring(O,$)),O=-1),I+=ye):O===-1&&(O=$)}}return O!==-1&&(I+=encodeURIComponent(k.substring(O))),I!==void 0?I:k}function y(k){let T;for(let E=0;E1&&k.scheme==="file"?`//${k.authority}${k.path}`:k.path.charCodeAt(0)===47&&(k.path.charCodeAt(1)>=65&&k.path.charCodeAt(1)<=90||k.path.charCodeAt(1)>=97&&k.path.charCodeAt(1)<=122)&&k.path.charCodeAt(2)===58?k.path[1].toLowerCase()+k.path.substr(2):k.path,i&&(E=E.replace(/\//g,"\\")),E}function R(k,T){const E=T?y:A;let I="",{scheme:O,authority:$,path:L,query:ye,fragment:z}=k;if(O&&(I+=O,I+=":"),($||O==="file")&&(I+=u,I+=u),$){let V=$.indexOf("@");if(V!==-1){const at=$.substr(0,V);$=$.substr(V+1),V=at.lastIndexOf(":"),V===-1?I+=E(at,!1,!1):(I+=E(at.substr(0,V),!1,!1),I+=":",I+=E(at.substr(V+1),!1,!0)),I+="@"}$=$.toLowerCase(),V=$.lastIndexOf(":"),V===-1?I+=E($,!1,!0):(I+=E($.substr(0,V),!1,!0),I+=$.substr(V))}if(L){if(L.length>=3&&L.charCodeAt(0)===47&&L.charCodeAt(2)===58){const V=L.charCodeAt(1);V>=65&&V<=90&&(L=`/${String.fromCharCode(V+32)}:${L.substr(3)}`)}else if(L.length>=2&&L.charCodeAt(1)===58){const V=L.charCodeAt(0);V>=65&&V<=90&&(L=`${String.fromCharCode(V+32)}:${L.substr(2)}`)}I+=E(L,!0,!1)}return ye&&(I+="?",I+=E(ye,!1,!1)),z&&(I+="#",I+=T?z:A(z,!1,!1)),I}function N(k){try{return decodeURIComponent(k)}catch{return k.length>3?k.substr(0,3)+N(k.substr(3)):k}}const F=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ne(k){return k.match(F)?k.replace(F,T=>N(T)):k}var we=t(470);const ge=we.posix||we,De="/";var Se;(function(k){k.joinPath=function(T,...E){return T.with({path:ge.join(T.path,...E)})},k.resolvePath=function(T,...E){let I=T.path,O=!1;I[0]!==De&&(I=De+I,O=!0);let $=ge.resolve(I,...E);return O&&$[0]===De&&!T.authority&&($=$.substring(1)),T.with({path:$})},k.dirname=function(T){if(T.path.length===0||T.path===De)return T;let E=ge.dirname(T.path);return E.length===1&&E.charCodeAt(0)===46&&(E=""),T.with({path:E})},k.basename=function(T){return ge.basename(T.path)},k.extname=function(T){return ge.extname(T.path)}})(Se||(Se={}))})(),fc=r})();const{URI:$t,Utils:Ht}=fc;var rt;(function(n){n.basename=Ht.basename,n.dirname=Ht.dirname,n.extname=Ht.extname,n.joinPath=Ht.joinPath,n.resolvePath=Ht.resolvePath;function e(r,i){return(r==null?void 0:r.toString())===(i==null?void 0:i.toString())}n.equals=e;function t(r,i){const s=typeof r=="string"?r:r.path,a=typeof i=="string"?i:i.path,o=s.split("/").filter(f=>f.length>0),l=a.split("/").filter(f=>f.length>0);let c=0;for(;ci??(i=pi.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,t??""))}}class sm{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory}get all(){return Q(this.documentMap.values())}addDocument(e){const t=e.uri.toString();if(this.documentMap.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){const t=e.toString();return this.documentMap.get(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r),r)}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const t=e.toString(),r=this.documentMap.get(t);return r&&(r.state=U.Changed,r.precomputedScopes=void 0,r.references=[],r.diagnostics=void 0),r}deleteDocument(e){const t=e.toString(),r=this.documentMap.get(t);return r&&(r.state=U.Changed,this.documentMap.delete(t)),r}}class am{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,t=X.None){for(const r of vt(e.parseResult.value))await Oe(t),Qo(r).forEach(i=>this.doLink(i,e))}doLink(e,t){const r=e.reference;if(r._ref===void 0)try{const i=this.getCandidate(e);if(xn(i))r._ref=i;else if(r._nodeDescription=i,this.langiumDocuments().hasDocument(i.documentUri)){const s=this.loadAstNode(i);r._ref=s??this.createLinkingError(e,i)}}catch(i){r._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${r.$refText}': ${i}`})}t.references.push(r)}unlink(e){for(const t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){const r=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return r??this.createLinkingError(e)}buildReference(e,t,r,i){const s=this,a={$refNode:r,$refText:i,get ref(){var o;if(ae(this._ref))return this._ref;if(ku(this._nodeDescription)){const l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){const l=s.getLinkedNode({reference:a,container:e,property:t});if(l.error&&Ue(e).state=e.end)return s.ref}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||xu(e,i)))return r}}}findDeclarationNode(e){const t=this.findDeclaration(e);if(t!=null&&t.$cstNode){const r=this.nameProvider.getNameNode(t);return r??t.$cstNode}}findReferences(e,t){const r=[];if(t.includeDeclaration){const s=this.getReferenceToSelf(e);s&&r.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(i=i.filter(s=>rt.equals(s.sourceUri,t.documentUri))),r.push(...i),Q(r)}getReferenceToSelf(e){const t=this.nameProvider.getNameNode(e);if(t){const r=Ue(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:On(t),local:!0}}}}class ji{constructor(e){if(this.map=new Map,e)for(const[t,r]of e)this.add(t,r)}get size(){return br.sum(Q(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(t===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(t);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var t;return(t=this.map.get(e))!==null&&t!==void 0?t:[]}has(e,t){if(t===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(t)>=0:!1}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Q(this.map.entries()).flatMap(([e,t])=>t.map(r=>[e,r]))}keys(){return Q(this.map.keys())}values(){return Q(this.map.values()).flat()}entriesGroupedByKey(){return Q(this.map.entries())}}class Va{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const t=this.map.get(e);return t!==void 0?(this.map.delete(e),this.inverse.delete(t),!0):!1}}class um{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=X.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,r=Ii,i=X.None){const s=[];this.exportNode(e,s,t);for(const a of r(e))await Oe(i),this.exportNode(a,s,t);return s}exportNode(e,t,r){const i=this.nameProvider.getName(e);i&&t.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,t=X.None){const r=e.parseResult.value,i=new ji;for(const s of pn(r))await Oe(t),this.processNode(s,e,i);return i}processNode(e,t,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,t))}}}class Wa{constructor(e,t,r){var i;this.elements=e,this.outerScope=t,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const t=this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e);if(t)return t;if(this.outerScope)return this.outerScope.getElement(e)}}class dm{constructor(e,t,r){var i;this.elements=new Map,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0?i:!1;for(const s of e){const a=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(a,s)}this.outerScope=t}getElement(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=Q(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class hc{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class fm extends hc{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){const r=t();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class hm extends hc{constructor(e){super(),this.cache=new Map,this.converter=e??(t=>t)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(t))return i.get(t);if(r){const s=r();return i.set(t,s),s}else return}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){const t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){const t=this.converter(e);let r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}}class pm extends fm{constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class mm{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new pm(e.shared)}getScope(e){const t=[],r=this.reflection.getReferenceType(e),i=Ue(e.container).precomputedScopes;if(i){let a=e.container;do{const o=i.get(a);o.length>0&&t.push(Q(o).filter(l=>this.reflection.isSubtype(l.type,r))),a=a.$container}while(a)}let s=this.getGlobalScope(r,e);for(let a=t.length-1;a>=0;a--)s=this.createScope(t[a],s);return s}createScope(e,t,r){return new Wa(Q(e),t,r)}createScopeForNodes(e,t,r){const i=Q(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new Wa(i,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new dm(this.indexManager.allElements(e)))}}function gm(n){return typeof n.$comment=="string"}function ja(n){return typeof n=="object"&&!!n&&("$ref"in n||"$error"in n)}class ym{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t={}){const r=t==null?void 0:t.replacer,i=(a,o)=>this.replacer(a,o,t),s=r?(a,o)=>r(a,o,i):i;try{return this.currentDocument=Ue(e),JSON.stringify(e,s,t==null?void 0:t.space)}finally{this.currentDocument=void 0}}deserialize(e,t={}){const r=JSON.parse(e);return this.linkNode(r,r,t),r}replacer(e,t,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var l,c,u,d;if(!this.ignoreProperties.has(e))if(Ge(t)){const f=t.ref,h=r?t.$refText:void 0;if(f){const m=Ue(f);let g="";this.currentDocument&&this.currentDocument!==m&&(o?g=o(m.uri,t):g=m.uri.toString());const A=this.astNodeLocator.getAstNodePath(f);return{$ref:`${g}#${A}`,$refText:h}}else return{$error:(c=(l=t.error)===null||l===void 0?void 0:l.message)!==null&&c!==void 0?c:"Could not resolve reference",$refText:h}}else if(ae(t)){let f;if(s&&(f=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),(!e||t.$document)&&(f!=null&&f.$textRegion)&&(f.$textRegion.documentURI=(u=this.currentDocument)===null||u===void 0?void 0:u.uri.toString())),i&&!e&&(f??(f=Object.assign({},t)),f.$sourceText=(d=t.$cstNode)===null||d===void 0?void 0:d.text),a){f??(f=Object.assign({},t));const h=this.commentProvider.getComment(t);h&&(f.$comment=h.replace(/\r/g,""))}return f??t}else return t}addAstNodeRegionWithAssignmentsTo(e){const t=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=t(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=Ed(e.$cstNode,s).map(t);a.length!==0&&(i[s]=a)}),e}}linkNode(e,t,r,i,s,a){for(const[l,c]of Object.entries(e))if(Array.isArray(c))for(let u=0;u{try{await e.call(t,r,i,s)}catch(a){if(Vi(a))throw a;console.error("An error occurred during validation:",a);const o=a instanceof Error?a.message:String(a);a instanceof Error&&a.stack&&console.error(a.stack),i("error","An error occurred during validation: "+o,{node:r})}}}addEntry(e,t){if(e==="AstNode"){this.entries.add("AstNode",t);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=Q(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(i=>t.includes(i.category))),r.map(i=>i.check)}}class Am{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},r=X.None){const i=e.parseResult,s=[];if(await Oe(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(i,s,t),t.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Qe.LexingError})||(this.processParsingErrors(i,s,t),t.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Qe.ParsingError}))||(this.processLinkingErrors(e,s,t),t.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Qe.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,t,r))}catch(a){if(Vi(a))throw a;console.error("An error occurred during validation:",a)}return await Oe(r),s}processLexingErrors(e,t,r){for(const i of e.lexerErrors){const s={severity:Lr("error"),range:{start:{line:i.line-1,character:i.column-1},end:{line:i.line-1,character:i.column+i.length-1}},message:i.message,data:Ha(Qe.LexingError),source:this.getSource()};t.push(s)}}processParsingErrors(e,t,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const a=i.previousToken;if(isNaN(a.startOffset)){const o={line:0,character:0};s={start:o,end:o}}else{const o={line:a.endLine-1,character:a.endColumn};s={start:o,end:o}}}}else s=Mr(i.token);if(s){const a={severity:Lr("error"),range:s,message:i.message,data:Ha(Qe.ParsingError),source:this.getSource()};t.push(a)}}}processLinkingErrors(e,t,r){for(const i of e.references){const s=i.error;if(s){const a={node:s.container,property:s.property,index:s.index,data:{code:Qe.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};t.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,t,r=X.None){const i=[],s=(a,o,l)=>{i.push(this.toDiagnostic(a,o,l))};return await Promise.all(vt(e).map(async a=>{await Oe(r);const o=this.validationRegistry.getChecks(a.$type,t.categories);for(const l of o)await l(a,s,r)})),i}toDiagnostic(e,t,r){return{message:t,range:vm(r),severity:Lr(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function vm(n){if(n.range)return n.range;let e;return typeof n.property=="string"?e=rl(n.node.$cstNode,n.property,n.index):typeof n.keyword=="string"&&(e=kd(n.node.$cstNode,n.keyword,n.index)),e??(e=n.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Lr(n){switch(n){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+n)}}var Qe;(function(n){n.LexingError="lexing-error",n.ParsingError="parsing-error",n.LinkingError="linking-error"})(Qe||(Qe={}));class Em{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r=Ue(e)){t??(t=this.nameProvider.getName(e));const i=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${i} has no name.`);let s;const a=()=>{var o;return s??(s=On((o=this.nameProvider.getNameNode(e))!==null&&o!==void 0?o:e.$cstNode))};return{node:e,name:t,get nameSegment(){return a()},selectionSegment:On(e.$cstNode),type:e.$type,documentUri:r.uri,path:i}}}class km{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=X.None){const r=[],i=e.parseResult.value;for(const s of vt(i))await Oe(t),Qo(s).filter(a=>!xn(a)).forEach(a=>{const o=this.createDescription(a);o&&r.push(o)});return r}createDescription(e){const t=e.reference.$nodeDescription,r=e.reference.$refNode;if(!t||!r)return;const i=Ue(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:On(r),local:rt.equals(t.documentUri,i)}}}class Sm{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return t!==void 0?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;const a=s.indexOf(this.indexSeparator);if(a>0){const o=s.substring(0,a),l=parseInt(s.substring(a+1)),c=i[o];return c==null?void 0:c[l]}return i[s]},e)}}class Im{constructor(e){this._ready=new Wi,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t,r;this.workspaceConfig=(r=(t=e.capabilities.workspace)===null||t===void 0?void 0:t.configuration)!==null&&r!==void 0?r:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const t=this.serviceRegistry.all;e.register({section:t.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const t=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(t=>{this.updateSectionConfiguration(t,e.settings[t])})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}}var er;(function(n){function e(t){return{dispose:async()=>await t()}}n.create=e})(er||(er={}));class xm{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new ji,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=U.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=X.None){var i,s;for(const a of e){const o=a.uri.toString();if(a.state===U.Validated){if(typeof t.validation=="boolean"&&t.validation)a.state=U.IndexedReferences,a.diagnostics=void 0,this.buildState.delete(o);else if(typeof t.validation=="object"){const l=this.buildState.get(o),c=(i=l==null?void 0:l.result)===null||i===void 0?void 0:i.validationChecks;if(c){const d=((s=t.validation.categories)!==null&&s!==void 0?s:Zn.all).filter(f=>!c.includes(f));d.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:d})},result:l.result}),a.state=U.IndexedReferences)}}}else this.buildState.delete(o)}this.currentState=U.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=X.None){this.currentState=U.Changed;for(const a of t)this.langiumDocuments.deleteDocument(a),this.buildState.delete(a.toString()),this.indexManager.remove(a);for(const a of e){if(!this.langiumDocuments.invalidateDocument(a)){const l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},a);l.state=U.Changed,this.langiumDocuments.addDocument(l)}this.buildState.delete(a.toString())}const i=Q(e).concat(t).map(a=>a.toString()).toSet();this.langiumDocuments.all.filter(a=>!i.has(a.uri.toString())&&this.shouldRelink(a,i)).forEach(a=>{this.serviceRegistry.getServices(a.uri).references.Linker.unlink(a),a.state=Math.min(a.state,U.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(e,t),await Oe(r);const s=this.langiumDocuments.all.filter(a=>{var o;return a.stater(e,t)))}shouldRelink(e,t){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),er.create(()=>{const t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,U.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,U.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,U.ComputedScopes,r,async s=>{const a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await a.computeLocalScopes(s,r)}),await this.runCancelable(e,U.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,U.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,U.Validated,r,s=>this.validate(s,r));for(const s of e){const a=this.buildState.get(s.uri.toString());a&&(a.completed=!0)}}prepareBuild(e,t){for(const r of e){const i=r.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:t,result:s==null?void 0:s.result})}}async runCancelable(e,t,r,i){const s=e.filter(a=>a.state{this.buildPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let i;if(t&&"path"in t?i=t:r=t,r??(r=X.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(Qn):new Promise((s,a)=>{const o=this.onBuildPhase(e,()=>{if(o.dispose(),l.dispose(),i){const c=this.langiumDocuments.getDocument(i);s(c==null?void 0:c.uri)}else s(void 0)}),l=r.onCancellationRequested(()=>{o.dispose(),l.dispose(),a(Qn)})})}async notifyBuildPhase(e,t,r){if(e.length===0)return;const i=this.buildPhaseListeners.get(t);for(const s of i)await Oe(r),await s(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){var r,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,o=typeof a=="object"?a:void 0,l=await s.validateDocument(e,o,t);e.diagnostics?e.diagnostics.push(...l):e.diagnostics=l;const c=this.buildState.get(e.uri.toString());if(c){(r=c.result)!==null&&r!==void 0||(c.result={});const u=(i=o==null?void 0:o.categories)!==null&&i!==void 0?i:Zn.all;c.result.validationChecks?c.result.validationChecks.push(...u):c.result.validationChecks=[...u]}}getBuildOptions(e){var t,r;return(r=(t=this.buildState.get(e.uri.toString()))===null||t===void 0?void 0:t.options)!==null&&r!==void 0?r:{}}}class Nm{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new hm,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){const r=Ue(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{rt.equals(a.targetUri,r)&&a.targetPath===t&&i.push(a)})}),Q(i)}allElements(e,t){let r=Q(this.symbolIndex.keys());return t&&(r=r.filter(i=>!t||t.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,t){var r;return t?this.symbolByTypeIndex.get(e,t,()=>{var s;return((s=this.symbolIndex.get(e))!==null&&s!==void 0?s:[]).filter(o=>this.astReflection.isSubtype(o.type,t))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){const t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=X.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,t),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,t=X.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,t){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&t.has(i.targetUri.toString())):!1}}class Cm{constructor(e){this.initialBuildOptions={},this._ready=new Wi,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}initialize(e){var t;this.folders=(t=e.workspaceFolders)!==null&&t!==void 0?t:void 0}initialized(e){return this.mutex.write(t=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],t)})}async initializeWorkspace(e,t=X.None){const r=await this.performStartup(e);await Oe(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){const t=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),r=[],i=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,t,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return $t.parse(e.uri)}async traverseFolder(e,t,r,i){const s=await this.fileSystemProvider.readDirectory(t);await Promise.all(s.map(async a=>{if(this.includeEntry(e,a,r)){if(a.isDirectory)await this.traverseFolder(e,a.uri,r,i);else if(a.isFile){const o=await this.langiumDocuments.getOrCreateDocument(a.uri);i(o)}}}))}includeEntry(e,t,r){const i=rt.basename(t.uri);if(i.startsWith("."))return!1;if(t.isDirectory)return i!=="node_modules"&&i!=="out";if(t.isFile){const s=rt.extname(t.uri);return r.includes(s)}return!1}}class _m{constructor(e){const t=e.parser.TokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);const r=Ka(t)?Object.values(t):t;this.chevrotainLexer=new de(r,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e){var t;const r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:(t=r.groups.hidden)!==null&&t!==void 0?t:[]}}toTokenTypeDictionary(e){if(Ka(e))return e;const t=pc(e)?Object.values(e.modes).flat():e,r={};return t.forEach(i=>r[i.name]=i),r}}function wm(n){return Array.isArray(n)&&(n.length===0||"name"in n[0])}function pc(n){return n&&"modes"in n&&"defaultMode"in n}function Ka(n){return!wm(n)&&!pc(n)}function Lm(n,e,t){let r,i;typeof n=="string"?(i=e,r=t):(i=n.range.start,r=e),i||(i=P.create(0,0));const s=mc(n),a=Hi(r),o=bm({lines:s,position:i,options:a});return Gm({index:0,tokens:o,position:i})}function $m(n,e){const t=Hi(e),r=mc(n);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=t.start,o=t.end;return!!(a!=null&&a.exec(i))&&!!(o!=null&&o.exec(s))}function mc(n){let e="";return typeof n=="string"?e=n:e=n.text,e.split(dd)}const za=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Om=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function bm(n){var e,t,r;const i=[];let s=n.position.line,a=n.position.character;for(let o=0;o=u.length){if(i.length>0){const h=P.create(s,a);i.push({type:"break",content:"",range:b.create(h,h)})}}else{za.lastIndex=d;const h=za.exec(u);if(h){const m=h[0],g=h[1],A=P.create(s,a+d),y=P.create(s,a+d+m.length);i.push({type:"tag",content:g,range:b.create(A,y)}),d+=m.length,d=gi(u,d)}if(d0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function Pm(n,e,t,r){const i=[];if(n.length===0){const s=P.create(t,r),a=P.create(t,r+e.length);i.push({type:"text",content:e,range:b.create(s,a)})}else{let s=0;for(const o of n){const l=o.index,c=e.substring(s,l);c.length>0&&i.push({type:"text",content:e.substring(s,l),range:b.create(P.create(t,s+r),P.create(t,l+r))});let u=c.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:b.create(P.create(t,s+u+r),P.create(t,s+u+d.length+r))}),u+=d.length,o.length===4){u+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:b.create(P.create(t,s+u+r),P.create(t,s+u+f.length+r))})}else i.push({type:"text",content:"",range:b.create(P.create(t,s+u+r),P.create(t,s+u+r))});s=l+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:b.create(P.create(t,s+r),P.create(t,s+r+a.length))})}return i}const Mm=/\S/,Dm=/\s*$/;function gi(n,e){const t=n.substring(e).match(Mm);return t?e+t.index:n.length}function Fm(n){const e=n.match(Dm);if(e&&typeof e.index=="number")return e.index}function Gm(n){var e,t,r,i;const s=P.create(n.position.line,n.position.character);if(n.tokens.length===0)return new qa([],b.create(s,s));const a=[];for(;n.indext.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const t of this.elements)if(e.length===0)e=t.toString();else{const r=t.toString();e+=Ya(e)+r}return e.trim()}toMarkdown(e){let t="";for(const r of this.elements)if(t.length===0)t=r.toMarkdown(e);else{const i=r.toMarkdown(e);t+=Ya(t)+i}return t.trim()}}class Or{constructor(e,t,r,i){this.name=e,this.content=t,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const t=this.content.toString();return this.content.inlines.length===1?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e} +${t}`),this.inline?`{${e}}`:e}toMarkdown(e){var t,r;return(r=(t=e==null?void 0:e.renderTag)===null||t===void 0?void 0:t.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){const t=this.content.toMarkdown(e);if(this.inline){const s=Wm(this.name,t,e??{});if(typeof s=="string")return s}let r="";(e==null?void 0:e.tag)==="italic"||(e==null?void 0:e.tag)===void 0?r="*":(e==null?void 0:e.tag)==="bold"?r="**":(e==null?void 0:e.tag)==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${t}`:this.content.inlines.length>1&&(i=`${i} +${t}`),this.inline?`{${i}}`:i}}function Wm(n,e,t){var r,i;if(n==="linkplain"||n==="linkcode"||n==="link"){const s=e.indexOf(" ");let a=e;if(s>0){const l=gi(e,s);a=e.substring(l),e=e.substring(0,s)}return(n==="linkcode"||n==="link"&&t.link==="code")&&(a=`\`${a}\``),(i=(r=t.renderLink)===null||r===void 0?void 0:r.call(t,e,a))!==null&&i!==void 0?i:jm(e,a)}}function jm(n,e){try{return $t.parse(n,!0),`[${e}](${n})`}catch{return n}}class yi{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;tr.range.start.line&&(e+=` +`)}return e}toMarkdown(e){let t="";for(let r=0;ri.range.start.line&&(t+=` +`)}return t}}class Rc{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function Ya(n){return n.endsWith(` +`)?` +`:` + +`}class Hm{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const t=this.commentProvider.getComment(e);if(t&&$m(t))return Lm(t).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,t,r){var i;const s=(i=this.findNameInPrecomputedScopes(e,t))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,t);if(s&&s.nameSegment){const a=s.nameSegment.range.start.line+1,o=s.nameSegment.range.start.character+1,l=s.documentUri.with({fragment:`L${a},${o}`});return`[${r}](${l.toString()})`}else return}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){const i=Ue(e).precomputedScopes;if(!i)return;let s=e;do{const o=i.get(s).find(l=>l.name===t);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(i=>i.name===t)}}class Km{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return gm(e)?e.$comment:(t=wu(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||t===void 0?void 0:t.text}}class zm{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e){return Promise.resolve(this.syncParser.parse(e))}}class qm{constructor(){this.previousTokenSource=new fi,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const t=new fi;return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r){const i=new Wi,s={action:t,deferred:i,cancellationToken:r??X.None};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:t,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>t(i));r.resolve(s)}catch(s){Vi(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class Ym{constructor(e){this.grammarElementIdMap=new Va,this.tokenTypeIdMap=new Va,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors.map(t=>Object.assign({},t)),parserErrors:e.parserErrors.map(t=>Object.assign({},t)),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}createDehyrationContext(e){const t=new Map,r=new Map;for(const i of vt(e))t.set(i,{});if(e.$cstNode)for(const i of Pr(e.$cstNode))r.set(i,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){const r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)ae(o)?a.push(this.dehydrateAstNode(o,t)):Ge(o)?a.push(this.dehydrateReference(o,t)):a.push(o)}else ae(s)?r[i]=this.dehydrateAstNode(s,t):Ge(s)?r[i]=this.dehydrateReference(s,t):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,t){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){const r=t.cstNodes.get(e);return go(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),xt(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,t)):mo(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){const t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){const t=new Map,r=new Map;for(const s of vt(e))t.set(s,{});let i;if(e.$cstNode)for(const s of Pr(e.$cstNode)){let a;"fullText"in s?(a=new Zl(s.fullText),i=a):"content"in s?a=new Ui:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:t,cstNodes:r}}hydrateAstNode(e,t){const r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)ae(o)?a.push(this.setParent(this.hydrateAstNode(o,t),r)):Ge(o)?a.push(this.hydrateReference(o,r,i,t)):a.push(o)}else ae(s)?r[i]=this.setParent(this.hydrateAstNode(s,t),r):Ge(s)?r[i]=this.hydrateReference(s,r,i,t):s!==void 0&&(r[i]=s);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,i){return this.linker.buildReference(t,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){const i=t.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=t.astNodes.get(e.astNode),xt(i))for(const s of e.content){const a=this.hydrateCstNode(s,t,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const t=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,l=e.endColumn,c=e.hidden;return new oi(r,i,{start:{line:s,character:a},end:{line:o,character:l}},t,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap();const t=this.grammarElementIdMap.getKey(e);if(t)return t;throw new Error("Invalid grammar element id: "+e)}createGrammarElementIdMap(){let e=0;for(const t of vt(this.grammar))Ou(t)&&this.grammarElementIdMap.set(t,e++)}}function Ft(n){return{documentation:{CommentProvider:e=>new Km(e),DocumentationProvider:e=>new Hm(e)},parser:{AsyncParser:e=>new zm(e),GrammarConfig:e=>Od(e),LangiumParser:e=>Vp(e),CompletionParser:e=>Bp(e),ValueConverter:()=>new lc,TokenBuilder:()=>new oc,Lexer:e=>new _m(e),ParserErrorMessageProvider:()=>new nc},workspace:{AstNodeLocator:()=>new Sm,AstNodeDescriptionProvider:e=>new Em(e),ReferenceDescriptionProvider:e=>new km(e)},references:{Linker:e=>new am(e),NameProvider:()=>new lm,ScopeProvider:e=>new mm(e),ScopeComputation:e=>new um(e),References:e=>new cm(e)},serializer:{Hydrator:e=>new Ym(e),JsonSerializer:e=>new ym(e)},validation:{DocumentValidator:e=>new Am(e),ValidationRegistry:e=>new Rm(e)},shared:()=>n.shared}}function Gt(n){return{ServiceRegistry:()=>new Tm,workspace:{LangiumDocuments:e=>new sm(e),LangiumDocumentFactory:e=>new im(e),DocumentBuilder:e=>new xm(e),IndexManager:e=>new Nm(e),WorkspaceManager:e=>new Cm(e),FileSystemProvider:e=>n.fileSystemProvider(e),WorkspaceLock:()=>new qm,ConfigurationProvider:e=>new Im(e)}}}var Xa;(function(n){n.merge=(e,t)=>tr(tr({},e),t)})(Xa||(Xa={}));function _e(n,e,t,r,i,s,a,o,l){const c=[n,e,t,r,i,s,a,o,l].reduce(tr,{});return Ac(c)}const Ja=Symbol("isProxy");function Ac(n,e){const t=new Proxy({},{deleteProperty:()=>!1,get:(r,i)=>Za(r,i,n,e||t),getOwnPropertyDescriptor:(r,i)=>(Za(r,i,n,e||t),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in n,ownKeys:()=>[...Reflect.ownKeys(n),Ja]});return t[Ja]=!0,t}const Qa=Symbol();function Za(n,e,t,r){if(e in n){if(n[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:n[e]});if(n[e]===Qa)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies');return n[e]}else if(e in t){const i=t[e];n[e]=Qa;try{n[e]=typeof i=="function"?i(r):Ac(i,r)}catch(s){throw n[e]=s instanceof Error?s:void 0,s}return n[e]}else return}function tr(n,e){if(e){for(const[t,r]of Object.entries(e))if(r!==void 0){const i=n[t];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?n[t]=tr(i,r):n[t]=r}}return n}class Xm{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const Ut={fileSystemProvider:()=>new Xm},Jm={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},Qm={AstReflection:()=>new Jo};function Zm(){const n=_e(Gt(Ut),Qm),e=_e(Ft({shared:n}),Jm);return n.ServiceRegistry.register(e),e}function An(n){var e;const t=Zm(),r=t.serializer.JsonSerializer.deserialize(n);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,$t.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}var eg=Object.defineProperty,x=(n,e)=>eg(n,"name",{value:e,configurable:!0}),tg="Statement",ng="Architecture";function rg(n){return Me.isInstance(n,ng)}x(rg,"isArchitecture");var vc="Branch";function ig(n){return Me.isInstance(n,vc)}x(ig,"isBranch");var sg="Checkout",ag="CherryPicking",Ec="Commit";function og(n){return Me.isInstance(n,Ec)}x(og,"isCommit");var lg="Common";function cg(n){return Me.isInstance(n,lg)}x(cg,"isCommon");var kc="GitGraph";function ug(n){return Me.isInstance(n,kc)}x(ug,"isGitGraph");var dg="Info";function fg(n){return Me.isInstance(n,dg)}x(fg,"isInfo");var Sc="Merge";function hg(n){return Me.isInstance(n,Sc)}x(hg,"isMerge");var pg="Packet";function mg(n){return Me.isInstance(n,pg)}x(mg,"isPacket");var gg="PacketBlock";function yg(n){return Me.isInstance(n,gg)}x(yg,"isPacketBlock");var Tg="Pie";function Rg(n){return Me.isInstance(n,Tg)}x(Rg,"isPie");var Ag="PieSection";function vg(n){return Me.isInstance(n,Ag)}x(vg,"isPieSection");var Eg="Direction",Zt,Ic=(Zt=class extends po{getAllTypes(){return["Architecture","Branch","Checkout","CherryPicking","Commit","Common","Direction","Edge","GitGraph","Group","Info","Junction","Merge","Packet","PacketBlock","Pie","PieSection","Service","Statement"]}computeIsSubtype(e,t){switch(e){case vc:case sg:case ag:case Ec:case Sc:return this.isSubtype(tg,t);case Eg:return this.isSubtype(kc,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"Architecture":return{name:"Architecture",properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case"Branch":return{name:"Branch",properties:[{name:"name"},{name:"order"}]};case"Checkout":return{name:"Checkout",properties:[{name:"branch"}]};case"CherryPicking":return{name:"CherryPicking",properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case"Commit":return{name:"Commit",properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Common":return{name:"Common",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Edge":return{name:"Edge",properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case"GitGraph":return{name:"GitGraph",properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case"Group":return{name:"Group",properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case"Info":return{name:"Info",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Junction":return{name:"Junction",properties:[{name:"id"},{name:"in"}]};case"Merge":return{name:"Merge",properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Packet":return{name:"Packet",properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case"PacketBlock":return{name:"PacketBlock",properties:[{name:"end"},{name:"label"},{name:"start"}]};case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case"PieSection":return{name:"PieSection",properties:[{name:"label"},{name:"value"}]};case"Service":return{name:"Service",properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case"Direction":return{name:"Direction",properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:e,properties:[]}}}},x(Zt,"MermaidAstReflection"),Zt),Me=new Ic,eo,kg=x(()=>eo??(eo=An('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"InfoGrammar"),to,Sg=x(()=>to??(to=An(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),no,Ig=x(()=>no??(no=An('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"PieGrammar"),ro,xg=x(()=>ro??(ro=An('{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","name":"Architecture","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LeftPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RightPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Arrow","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"ArchitectureGrammar"),io,Ng=x(()=>io??(io=An(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),Cg={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},_g={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},wg={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},Lg={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},$g={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},vn={AstReflection:x(()=>new Ic,"AstReflection")},Og={Grammar:x(()=>kg(),"Grammar"),LanguageMetaData:x(()=>Cg,"LanguageMetaData"),parser:{}},bg={Grammar:x(()=>Sg(),"Grammar"),LanguageMetaData:x(()=>_g,"LanguageMetaData"),parser:{}},Pg={Grammar:x(()=>Ig(),"Grammar"),LanguageMetaData:x(()=>wg,"LanguageMetaData"),parser:{}},Mg={Grammar:x(()=>xg(),"Grammar"),LanguageMetaData:x(()=>Lg,"LanguageMetaData"),parser:{}},Dg={Grammar:x(()=>Ng(),"Grammar"),LanguageMetaData:x(()=>$g,"LanguageMetaData"),parser:{}},Fg=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,Gg=/accTitle[\t ]*:([^\n\r]*)/,Ug=/title([\t ][^\n\r]*|)/,Bg={ACC_DESCR:Fg,ACC_TITLE:Gg,TITLE:Ug},en,Ki=(en=class extends lc{runConverter(e,t,r){let i=this.runCommonConverter(e,t,r);return i===void 0&&(i=this.runCustomConverter(e,t,r)),i===void 0?super.runConverter(e,t,r):i}runCommonConverter(e,t,r){const i=Bg[e.name];if(i===void 0)return;const s=i.exec(t);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},x(en,"AbstractMermaidValueConverter"),en),tn,zi=(tn=class extends Ki{runCustomConverter(e,t,r){}},x(tn,"CommonValueConverter"),tn),nn,Bt=(nn=class extends oc{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){const i=super.buildKeywordTokens(e,t,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},x(nn,"AbstractMermaidTokenBuilder"),nn),rn;rn=class extends Bt{},x(rn,"CommonTokenBuilder");var sn,Vg=(sn=class extends Bt{constructor(){super(["gitGraph"])}},x(sn,"GitGraphTokenBuilder"),sn),xc={parser:{TokenBuilder:x(()=>new Vg,"TokenBuilder"),ValueConverter:x(()=>new zi,"ValueConverter")}};function Nc(n=Ut){const e=_e(Gt(n),vn),t=_e(Ft({shared:e}),Dg,xc);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}x(Nc,"createGitGraphServices");var an,Wg=(an=class extends Bt{constructor(){super(["info","showInfo"])}},x(an,"InfoTokenBuilder"),an),Cc={parser:{TokenBuilder:x(()=>new Wg,"TokenBuilder"),ValueConverter:x(()=>new zi,"ValueConverter")}};function _c(n=Ut){const e=_e(Gt(n),vn),t=_e(Ft({shared:e}),Og,Cc);return e.ServiceRegistry.register(t),{shared:e,Info:t}}x(_c,"createInfoServices");var on,jg=(on=class extends Bt{constructor(){super(["packet-beta"])}},x(on,"PacketTokenBuilder"),on),wc={parser:{TokenBuilder:x(()=>new jg,"TokenBuilder"),ValueConverter:x(()=>new zi,"ValueConverter")}};function Lc(n=Ut){const e=_e(Gt(n),vn),t=_e(Ft({shared:e}),bg,wc);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}x(Lc,"createPacketServices");var ln,Hg=(ln=class extends Bt{constructor(){super(["pie","showData"])}},x(ln,"PieTokenBuilder"),ln),cn,Kg=(cn=class extends Ki{runCustomConverter(e,t,r){if(e.name==="PIE_SECTION_LABEL")return t.replace(/"/g,"").trim()}},x(cn,"PieValueConverter"),cn),$c={parser:{TokenBuilder:x(()=>new Hg,"TokenBuilder"),ValueConverter:x(()=>new Kg,"ValueConverter")}};function Oc(n=Ut){const e=_e(Gt(n),vn),t=_e(Ft({shared:e}),Pg,$c);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}x(Oc,"createPieServices");var un,zg=(un=class extends Bt{constructor(){super(["architecture"])}},x(un,"ArchitectureTokenBuilder"),un),dn,qg=(dn=class extends Ki{runCustomConverter(e,t,r){if(e.name==="ARCH_ICON")return t.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return t.replace(/["()]/g,"");if(e.name==="ARCH_TITLE")return t.replace(/[[\]]/g,"").trim()}},x(dn,"ArchitectureValueConverter"),dn),bc={parser:{TokenBuilder:x(()=>new zg,"TokenBuilder"),ValueConverter:x(()=>new qg,"ValueConverter")}};function Pc(n=Ut){const e=_e(Gt(n),vn),t=_e(Ft({shared:e}),Mg,bc);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}x(Pc,"createArchitectureServices");var lt={},Yg={info:x(async()=>{const{createInfoServices:n}=await Vt(()=>Promise.resolve().then(()=>Qg),void 0,import.meta.url),e=n().Info.parser.LangiumParser;lt.info=e},"info"),packet:x(async()=>{const{createPacketServices:n}=await Vt(()=>Promise.resolve().then(()=>Zg),void 0,import.meta.url),e=n().Packet.parser.LangiumParser;lt.packet=e},"packet"),pie:x(async()=>{const{createPieServices:n}=await Vt(()=>Promise.resolve().then(()=>ey),void 0,import.meta.url),e=n().Pie.parser.LangiumParser;lt.pie=e},"pie"),architecture:x(async()=>{const{createArchitectureServices:n}=await Vt(()=>Promise.resolve().then(()=>ty),void 0,import.meta.url),e=n().Architecture.parser.LangiumParser;lt.architecture=e},"architecture"),gitGraph:x(async()=>{const{createGitGraphServices:n}=await Vt(()=>Promise.resolve().then(()=>ny),void 0,import.meta.url),e=n().GitGraph.parser.LangiumParser;lt.gitGraph=e},"gitGraph")};async function Xg(n,e){const t=Yg[n];if(!t)throw new Error(`Unknown diagram type: ${n}`);lt[n]||await t();const i=lt[n].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new Jg(i);return i.value}x(Xg,"parse");var fn,Jg=(fn=class extends Error{constructor(e){const t=e.lexerErrors.map(i=>i.message).join(` +`),r=e.parserErrors.map(i=>i.message).join(` +`);super(`Parsing failed: ${t} ${r}`),this.result=e}},x(fn,"MermaidParseError"),fn);const Qg=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Cc,createInfoServices:_c},Symbol.toStringTag,{value:"Module"})),Zg=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:wc,createPacketServices:Lc},Symbol.toStringTag,{value:"Module"})),ey=Object.freeze(Object.defineProperty({__proto__:null,PieModule:$c,createPieServices:Oc},Symbol.toStringTag,{value:"Module"})),ty=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:bc,createArchitectureServices:Pc},Symbol.toStringTag,{value:"Module"})),ny=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:xc,createGitGraphServices:Nc},Symbol.toStringTag,{value:"Module"}));export{Xg as p}; diff --git a/_nuxt/maciVotI.js b/_nuxt/maciVotI.js new file mode 100644 index 000000000..04b288e1c --- /dev/null +++ b/_nuxt/maciVotI.js @@ -0,0 +1 @@ +import{_ as o,f as a,o as s,b as i,e,i as r,p as u,n as l}from"./DzgF3Vew.js";const d=t=>(u("data-v-6fdef64d"),t=t(),l(),t),c={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},p=d(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},f=["textContent"],g=["textContent"],b={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const n=t;return a({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[],style:[{children:'*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color, #e5e7eb)}:before,:after{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(m,x)=>(s(),i("div",c,[p,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:r(t.statusCode)},null,8,f),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:r(t.description)},null,8,g)])]))}},k=o(b,[["__scopeId","data-v-6fdef64d"]]);export{k as default}; diff --git a/_nuxt/ny9-2f-j.js b/_nuxt/ny9-2f-j.js deleted file mode 100644 index 23150b9ff..000000000 --- a/_nuxt/ny9-2f-j.js +++ /dev/null @@ -1 +0,0 @@ -import{y as S,G as T,H as E,J as C,av as A,au as O,S as P,a5 as h}from"./ZI84DZB4.js";import{i as I}from"./IShi1APO.js";function R(e,o){if(typeof e!="string")throw new TypeError("argument str must be a string");const i={},t=o||{},a=t.decode||D;let s=0;for(;sO(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))},L=void 0;function y(e,o){var u;const i={...M,...o},t=b(i)||{};let a;i.maxAge!==void 0?a=i.maxAge*1e3:i.expires&&(a=i.expires.getTime()-Date.now());const s=a!==void 0&&a<=0,r=f(s?void 0:t[e]??((u=i.default)==null?void 0:u.call(i))),n=a&&!s?q(r,a,i.watch&&i.watch!=="shallow"):S(r);{let c=null;try{!L&&typeof BroadcastChannel<"u"&&(c=new BroadcastChannel(`nuxt:cookies:${e}`))}catch{}const l=()=>{i.readonly||I(n.value,t[e])||(_(e,n.value,i),t[e]=f(n.value),c==null||c.postMessage({value:i.encode(n.value)}))},p=w=>{var v;const j=w.refresh?(v=b(i))==null?void 0:v[e]:i.decode(w.value);d=!0,t[e]=n.value=j,P(()=>{d=!1})};let d=!1;T()&&E(()=>{d=!0,l(),c==null||c.close()}),c&&(c.onmessage=({data:w})=>p(w)),i.watch?C(n,()=>{d||l()},{deep:i.watch!=="shallow"}):l()}return n}function b(e={}){return R(document.cookie,e)}function U(e,o,i={}){return o==null?g(e,o,{...i,maxAge:-1}):g(e,o,i)}function _(e,o,i={}){document.cookie=U(e,o,i)}const k=2147483647;function q(e,o,i){let t,a,s=0;const r=i?S(e):{value:e};return T()&&E(()=>{a==null||a(),clearTimeout(t)}),A((n,u)=>{i&&(a=C(r,u));function c(){clearTimeout(t);const l=o-s,p=l{if(s+=p,s({isEnabled:()=>{const t=h().query;return Object.prototype.hasOwnProperty.call(t,"preview")&&!t.preview?!1:!!(t.preview||y("previewToken").value||sessionStorage.getItem("previewToken"))},getPreviewToken:()=>y("previewToken").value||sessionStorage.getItem("previewToken")||void 0,setPreviewToken:t=>{y("previewToken").value=t,h().query.preview=t||"",t?sessionStorage.setItem("previewToken",t):sessionStorage.removeItem("previewToken"),window.location.reload()}});export{H as u}; diff --git a/_nuxt/kXO4MUao.js b/_nuxt/odlyb-8r.js similarity index 54% rename from _nuxt/kXO4MUao.js rename to _nuxt/odlyb-8r.js index 3cc39f4a9..a0b2549c5 100644 --- a/_nuxt/kXO4MUao.js +++ b/_nuxt/odlyb-8r.js @@ -1 +1 @@ -import{h as a,o as n,q as o,w as s,r as f,e as u}from"./ZI84DZB4.js";const _=a({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(e){return(t,c)=>{const r=u;return n(),o(r,{href:e.href,target:e.target},{default:s(()=>[f(t.$slots,"default")]),_:3},8,["href","target"])}}});export{_ as default}; +import{d as a,o as n,A as o,k as s,r as f,m as u}from"./DzgF3Vew.js";const l=a({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(e){return(t,c)=>{const r=u;return n(),o(r,{href:e.href,target:e.target},{default:s(()=>[f(t.$slots,"default")]),_:3},8,["href","target"])}}});export{l as default}; diff --git a/_nuxt/piQ0EMDe.js b/_nuxt/piQ0EMDe.js new file mode 100644 index 000000000..f05605fe4 --- /dev/null +++ b/_nuxt/piQ0EMDe.js @@ -0,0 +1 @@ +import{c as s,a,b as e,s as t}from"./uI78RzAp.js";import{_ as i}from"./BN9GDn3H.js";import"./Dk871sGE.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";var b={parser:s,db:a,renderer:e,styles:t,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute,a.clear()},"init")};export{b as diagram}; diff --git a/_nuxt/tC7BsrAy.js b/_nuxt/tC7BsrAy.js new file mode 100644 index 000000000..5378b04ff --- /dev/null +++ b/_nuxt/tC7BsrAy.js @@ -0,0 +1,36 @@ +import{D as ke,_ as nt,aG as qe,aH as Je,q as Qe,r as Ke,s as je,g as _e,c as tr,b as er,d as fe,l as Se,j as rr,x as ir,I as ar,ac as nr,al as Te,aI as Ee}from"./BN9GDn3H.js";import{p as or}from"./DkbTWFKD.js";import{I as sr}from"./C9budKl-.js";import{p as hr}from"./lwzoVff7.js";import{c as Fe}from"./FpOb6hff.js";import{c as Ne,g as lr}from"./Cpj98o6Y.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./BH-Vtj6c.js";import"./7nLUnQzp.js";import"./DqIxQbFE.js";var be={exports:{}},pe={exports:{}},ye={exports:{}},Oe;function fr(){return Oe||(Oe=1,function(C,Y){(function(G,N){C.exports=N()})(Ne,function(){return function(A){var G={};function N(g){if(G[g])return G[g].exports;var s=G[g]={i:g,l:!1,exports:{}};return A[g].call(s.exports,s,s.exports,N),s.l=!0,s.exports}return N.m=A,N.c=G,N.i=function(g){return g},N.d=function(g,s,i){N.o(g,s)||Object.defineProperty(g,s,{configurable:!1,enumerable:!0,get:i})},N.n=function(g){var s=g&&g.__esModule?function(){return g.default}:function(){return g};return N.d(s,"a",s),s},N.o=function(g,s){return Object.prototype.hasOwnProperty.call(g,s)},N.p="",N(N.s=28)}([function(A,G,N){function g(){}g.QUALITY=1,g.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,g.DEFAULT_INCREMENTAL=!1,g.DEFAULT_ANIMATION_ON_LAYOUT=!0,g.DEFAULT_ANIMATION_DURING_LAYOUT=!1,g.DEFAULT_ANIMATION_PERIOD=50,g.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,g.DEFAULT_GRAPH_MARGIN=15,g.NODE_DIMENSIONS_INCLUDE_LABELS=!1,g.SIMPLE_NODE_SIZE=40,g.SIMPLE_NODE_HALF_SIZE=g.SIMPLE_NODE_SIZE/2,g.EMPTY_COMPOUND_NODE_SIZE=40,g.MIN_EDGE_LENGTH=1,g.WORLD_BOUNDARY=1e6,g.INITIAL_WORLD_BOUNDARY=g.WORLD_BOUNDARY/1e3,g.WORLD_CENTER_X=1200,g.WORLD_CENTER_Y=900,A.exports=g},function(A,G,N){var g=N(2),s=N(8),i=N(9);function r(f,a,y){g.call(this,y),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=y,this.bendpoints=[],this.source=f,this.target=a}r.prototype=Object.create(g.prototype);for(var e in g)r[e]=g[e];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(f){if(this.source===f)return this.target;if(this.target===f)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(f,a){for(var y=this.getOtherEnd(f),t=a.getGraphManager().getRoot();;){if(y.getOwner()==a)return y;if(y.getOwner()==t)break;y=y.getOwner().getParent()}return null},r.prototype.updateLength=function(){var f=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),f),this.isOverlapingSourceAndTarget||(this.lengthX=f[0]-f[2],this.lengthY=f[1]-f[3],Math.abs(this.lengthX)<1&&(this.lengthX=i.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=i.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=i.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=i.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},A.exports=r},function(A,G,N){function g(s){this.vGraphObject=s}A.exports=g},function(A,G,N){var g=N(2),s=N(10),i=N(13),r=N(0),e=N(16),f=N(5);function a(t,h,o,c){o==null&&c==null&&(c=h),g.call(this,c),t.graphManager!=null&&(t=t.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=c,this.edges=[],this.graphManager=t,o!=null&&h!=null?this.rect=new i(h.x,h.y,o.width,o.height):this.rect=new i}a.prototype=Object.create(g.prototype);for(var y in g)a[y]=g[y];a.prototype.getEdges=function(){return this.edges},a.prototype.getChild=function(){return this.child},a.prototype.getOwner=function(){return this.owner},a.prototype.getWidth=function(){return this.rect.width},a.prototype.setWidth=function(t){this.rect.width=t},a.prototype.getHeight=function(){return this.rect.height},a.prototype.setHeight=function(t){this.rect.height=t},a.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},a.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},a.prototype.getCenter=function(){return new f(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},a.prototype.getLocation=function(){return new f(this.rect.x,this.rect.y)},a.prototype.getRect=function(){return this.rect},a.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},a.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},a.prototype.setRect=function(t,h){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=h.width,this.rect.height=h.height},a.prototype.setCenter=function(t,h){this.rect.x=t-this.rect.width/2,this.rect.y=h-this.rect.height/2},a.prototype.setLocation=function(t,h){this.rect.x=t,this.rect.y=h},a.prototype.moveBy=function(t,h){this.rect.x+=t,this.rect.y+=h},a.prototype.getEdgeListToNode=function(t){var h=[],o=this;return o.edges.forEach(function(c){if(c.target==t){if(c.source!=o)throw"Incorrect edge source!";h.push(c)}}),h},a.prototype.getEdgesBetween=function(t){var h=[],o=this;return o.edges.forEach(function(c){if(!(c.source==o||c.target==o))throw"Incorrect edge source and/or target";(c.target==t||c.source==t)&&h.push(c)}),h},a.prototype.getNeighborsList=function(){var t=new Set,h=this;return h.edges.forEach(function(o){if(o.source==h)t.add(o.target);else{if(o.target!=h)throw"Incorrect incidency!";t.add(o.source)}}),t},a.prototype.withChildren=function(){var t=new Set,h,o;if(t.add(this),this.child!=null)for(var c=this.child.getNodes(),l=0;lh?(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(h+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(o+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>o?(this.rect.y-=(this.labelHeight-o)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(o+this.labelHeight))}}},a.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},a.prototype.transform=function(t){var h=this.rect.x;h>r.WORLD_BOUNDARY?h=r.WORLD_BOUNDARY:h<-r.WORLD_BOUNDARY&&(h=-r.WORLD_BOUNDARY);var o=this.rect.y;o>r.WORLD_BOUNDARY?o=r.WORLD_BOUNDARY:o<-r.WORLD_BOUNDARY&&(o=-r.WORLD_BOUNDARY);var c=new f(h,o),l=t.inverseTransformPoint(c);this.setLocation(l.x,l.y)},a.prototype.getLeft=function(){return this.rect.x},a.prototype.getRight=function(){return this.rect.x+this.rect.width},a.prototype.getTop=function(){return this.rect.y},a.prototype.getBottom=function(){return this.rect.y+this.rect.height},a.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},A.exports=a},function(A,G,N){var g=N(0);function s(){}for(var i in g)s[i]=g[i];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,A.exports=s},function(A,G,N){function g(s,i){s==null&&i==null?(this.x=0,this.y=0):(this.x=s,this.y=i)}g.prototype.getX=function(){return this.x},g.prototype.getY=function(){return this.y},g.prototype.setX=function(s){this.x=s},g.prototype.setY=function(s){this.y=s},g.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},g.prototype.getCopy=function(){return new g(this.x,this.y)},g.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},A.exports=g},function(A,G,N){var g=N(2),s=N(10),i=N(0),r=N(7),e=N(3),f=N(1),a=N(13),y=N(12),t=N(11);function h(c,l,T){g.call(this,T),this.estimatedSize=s.MIN_VALUE,this.margin=i.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=c,l!=null&&l instanceof r?this.graphManager=l:l!=null&&l instanceof Layout&&(this.graphManager=l.graphManager)}h.prototype=Object.create(g.prototype);for(var o in g)h[o]=g[o];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(c,l,T){if(l==null&&T==null){var u=c;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var d=c;if(!(this.getNodes().indexOf(l)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(l.owner==T.owner&&l.owner==this))throw"Both owners must be this graph!";return l.owner!=T.owner?null:(d.source=l,d.target=T,d.isInterGraph=!1,this.getEdges().push(d),l.edges.push(d),T!=l&&T.edges.push(d),d)}},h.prototype.remove=function(c){var l=c;if(c instanceof e){if(l==null)throw"Node is null!";if(!(l.owner!=null&&l.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=l.edges.slice(),u,d=T.length,L=0;L-1&&P>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(M,1),u.target!=u.source&&u.target.edges.splice(P,1);var F=u.source.owner.getEdges().indexOf(u);if(F==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(F,1)}},h.prototype.updateLeftTop=function(){for(var c=s.MAX_VALUE,l=s.MAX_VALUE,T,u,d,L=this.getNodes(),F=L.length,M=0;MT&&(c=T),l>u&&(l=u)}return c==s.MAX_VALUE?null:(L[0].getParent().paddingLeft!=null?d=L[0].getParent().paddingLeft:d=this.margin,this.left=l-d,this.top=c-d,new y(this.left,this.top))},h.prototype.updateBounds=function(c){for(var l=s.MAX_VALUE,T=-s.MAX_VALUE,u=s.MAX_VALUE,d=-s.MAX_VALUE,L,F,M,P,J,V=this.nodes,Q=V.length,D=0;DL&&(l=L),TM&&(u=M),dL&&(l=L),TM&&(u=M),d=this.nodes.length){var Q=0;T.forEach(function(D){D.owner==c&&Q++}),Q==this.nodes.length&&(this.isConnected=!0)}},A.exports=h},function(A,G,N){var g,s=N(1);function i(r){g=N(6),this.layout=r,this.graphs=[],this.edges=[]}i.prototype.addRoot=function(){var r=this.layout.newGraph(),e=this.layout.newNode(null),f=this.add(r,e);return this.setRootGraph(f),this.rootGraph},i.prototype.add=function(r,e,f,a,y){if(f==null&&a==null&&y==null){if(r==null)throw"Graph is null!";if(e==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(e.child!=null)throw"Already has a child!";return r.parent=e,e.child=r,r}else{y=f,a=e,f=r;var t=a.getOwner(),h=y.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==h)return f.isInterGraph=!1,t.add(f,a,y);if(f.isInterGraph=!0,f.source=a,f.target=y,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},i.prototype.remove=function(r){if(r instanceof g){var e=r;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(e==this.rootGraph||e.parent!=null&&e.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(e.getEdges());for(var a,y=f.length,t=0;t=r.getRight()?e[0]+=Math.min(r.getX()-i.getX(),i.getRight()-r.getRight()):r.getX()<=i.getX()&&r.getRight()>=i.getRight()&&(e[0]+=Math.min(i.getX()-r.getX(),r.getRight()-i.getRight())),i.getY()<=r.getY()&&i.getBottom()>=r.getBottom()?e[1]+=Math.min(r.getY()-i.getY(),i.getBottom()-r.getBottom()):r.getY()<=i.getY()&&r.getBottom()>=i.getBottom()&&(e[1]+=Math.min(i.getY()-r.getY(),r.getBottom()-i.getBottom()));var y=Math.abs((r.getCenterY()-i.getCenterY())/(r.getCenterX()-i.getCenterX()));r.getCenterY()===i.getCenterY()&&r.getCenterX()===i.getCenterX()&&(y=1);var t=y*e[0],h=e[1]/y;e[0]t)return e[0]=f,e[1]=o,e[2]=y,e[3]=V,!1;if(ay)return e[0]=h,e[1]=a,e[2]=P,e[3]=t,!1;if(fy?(e[0]=l,e[1]=T,n=!0):(e[0]=c,e[1]=o,n=!0):v===p&&(f>y?(e[0]=h,e[1]=o,n=!0):(e[0]=u,e[1]=T,n=!0)),-E===p?y>f?(e[2]=J,e[3]=V,m=!0):(e[2]=P,e[3]=M,m=!0):E===p&&(y>f?(e[2]=F,e[3]=M,m=!0):(e[2]=Q,e[3]=V,m=!0)),n&&m)return!1;if(f>y?a>t?(I=this.getCardinalDirection(v,p,4),w=this.getCardinalDirection(E,p,2)):(I=this.getCardinalDirection(-v,p,3),w=this.getCardinalDirection(-E,p,1)):a>t?(I=this.getCardinalDirection(-v,p,1),w=this.getCardinalDirection(-E,p,3)):(I=this.getCardinalDirection(v,p,2),w=this.getCardinalDirection(E,p,4)),!n)switch(I){case 1:H=o,R=f+-L/p,e[0]=R,e[1]=H;break;case 2:R=u,H=a+d*p,e[0]=R,e[1]=H;break;case 3:H=T,R=f+L/p,e[0]=R,e[1]=H;break;case 4:R=l,H=a+-d*p,e[0]=R,e[1]=H;break}if(!m)switch(w){case 1:k=M,x=y+-rt/p,e[2]=x,e[3]=k;break;case 2:x=Q,k=t+D*p,e[2]=x,e[3]=k;break;case 3:k=V,x=y+rt/p,e[2]=x,e[3]=k;break;case 4:x=J,k=t+-D*p,e[2]=x,e[3]=k;break}}return!1},s.getCardinalDirection=function(i,r,e){return i>r?e:1+e%4},s.getIntersection=function(i,r,e,f){if(f==null)return this.getIntersection2(i,r,e);var a=i.x,y=i.y,t=r.x,h=r.y,o=e.x,c=e.y,l=f.x,T=f.y,u=void 0,d=void 0,L=void 0,F=void 0,M=void 0,P=void 0,J=void 0,V=void 0,Q=void 0;return L=h-y,M=a-t,J=t*y-a*h,F=T-c,P=o-l,V=l*c-o*T,Q=L*P-F*M,Q===0?null:(u=(M*V-P*J)/Q,d=(F*J-L*V)/Q,new g(u,d))},s.angleOfVector=function(i,r,e,f){var a=void 0;return i!==e?(a=Math.atan((f-r)/(e-i)),e=0){var T=(-o+Math.sqrt(o*o-4*h*c))/(2*h),u=(-o-Math.sqrt(o*o-4*h*c))/(2*h),d=null;return T>=0&&T<=1?[T]:u>=0&&u<=1?[u]:d}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,A.exports=s},function(A,G,N){function g(){}g.sign=function(s){return s>0?1:s<0?-1:0},g.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},g.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},A.exports=g},function(A,G,N){function g(){}g.MAX_VALUE=2147483647,g.MIN_VALUE=-2147483648,A.exports=g},function(A,G,N){var g=function(){function a(y,t){for(var h=0;h"u"?"undefined":g(i);return i==null||r!="object"&&r!="function"},A.exports=s},function(A,G,N){function g(o){if(Array.isArray(o)){for(var c=0,l=Array(o.length);c0&&c;){for(L.push(M[0]);L.length>0&&c;){var P=L[0];L.splice(0,1),d.add(P);for(var J=P.getEdges(),u=0;u-1&&M.splice(rt,1)}d=new Set,F=new Map}}return o},h.prototype.createDummyNodesForBendpoints=function(o){for(var c=[],l=o.source,T=this.graphManager.calcLowestCommonAncestor(o.source,o.target),u=0;u0){for(var T=this.edgeToDummyNodes.get(l),u=0;u=0&&c.splice(V,1);var Q=F.getNeighborsList();Q.forEach(function(n){if(l.indexOf(n)<0){var m=T.get(n),v=m-1;v==1&&P.push(n),T.set(n,v)}})}l=l.concat(P),(c.length==1||c.length==2)&&(u=!0,d=c[0])}return d},h.prototype.setGraphManager=function(o){this.graphManager=o},A.exports=h},function(A,G,N){function g(){}g.seed=1,g.x=0,g.nextDouble=function(){return g.x=Math.sin(g.seed++)*1e4,g.x-Math.floor(g.x)},A.exports=g},function(A,G,N){var g=N(5);function s(i,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(i){this.lworldOrgX=i},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(i){this.lworldOrgY=i},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(i){this.lworldExtX=i},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(i){this.lworldExtY=i},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(i){this.ldeviceOrgX=i},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(i){this.ldeviceOrgY=i},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(i){this.ldeviceExtX=i},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(i){this.ldeviceExtY=i},s.prototype.transformX=function(i){var r=0,e=this.lworldExtX;return e!=0&&(r=this.ldeviceOrgX+(i-this.lworldOrgX)*this.ldeviceExtX/e),r},s.prototype.transformY=function(i){var r=0,e=this.lworldExtY;return e!=0&&(r=this.ldeviceOrgY+(i-this.lworldOrgY)*this.ldeviceExtY/e),r},s.prototype.inverseTransformX=function(i){var r=0,e=this.ldeviceExtX;return e!=0&&(r=this.lworldOrgX+(i-this.ldeviceOrgX)*this.lworldExtX/e),r},s.prototype.inverseTransformY=function(i){var r=0,e=this.ldeviceExtY;return e!=0&&(r=this.lworldOrgY+(i-this.ldeviceOrgY)*this.lworldExtY/e),r},s.prototype.inverseTransformPoint=function(i){var r=new g(this.inverseTransformX(i.x),this.inverseTransformY(i.y));return r},A.exports=s},function(A,G,N){function g(t){if(Array.isArray(t)){for(var h=0,o=Array(t.length);hi.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},a.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),h,o=0;o0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o,c,l,T,u=this.getAllNodes(),d;if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),d=new Set,o=0;oL||d>L)&&(t.gravitationForceX=-this.gravityConstant*l,t.gravitationForceY=-this.gravityConstant*T)):(L=h.getEstimatedSize()*this.compoundGravityRangeFactor,(u>L||d>L)&&(t.gravitationForceX=-this.gravityConstant*l*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},a.prototype.isConverged=function(){var t,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=u.length||L>=u[0].length)){for(var F=0;Fa}}]),e}();A.exports=r},function(A,G,N){function g(){}g.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var i=Math.min(this.m,this.n);this.s=function(Nt){for(var Mt=[];Nt-- >0;)Mt.push(0);return Mt}(Math.min(this.m+1,this.n)),this.U=function(Nt){var Mt=function Zt(Gt){if(Gt.length==0)return 0;for(var $t=[],Ft=0;Ft0;)Mt.push(0);return Mt}(this.n),e=function(Nt){for(var Mt=[];Nt-- >0;)Mt.push(0);return Mt}(this.m),f=!0,a=Math.min(this.m-1,this.n),y=Math.max(0,Math.min(this.n-2,this.m)),t=0;t=0;E--)if(this.s[E]!==0){for(var p=E+1;p=0;W--){if(function(Nt,Mt){return Nt&&Mt}(W0;){var q=void 0,Rt=void 0;for(q=n-2;q>=-1&&q!==-1;q--)if(Math.abs(r[q])<=lt+_*(Math.abs(this.s[q])+Math.abs(this.s[q+1]))){r[q]=0;break}if(q===n-2)Rt=4;else{var Lt=void 0;for(Lt=n-1;Lt>=q&&Lt!==q;Lt--){var vt=(Lt!==n?Math.abs(r[Lt]):0)+(Lt!==q+1?Math.abs(r[Lt-1]):0);if(Math.abs(this.s[Lt])<=lt+_*vt){this.s[Lt]=0;break}}Lt===q?Rt=3:Lt===n-1?Rt=1:(Rt=2,q=Lt)}switch(q++,Rt){case 1:{var it=r[n-2];r[n-2]=0;for(var ut=n-2;ut>=q;ut--){var Tt=g.hypot(this.s[ut],it),At=this.s[ut]/Tt,Dt=it/Tt;this.s[ut]=Tt,ut!==q&&(it=-Dt*r[ut-1],r[ut-1]=At*r[ut-1]);for(var mt=0;mt=this.s[q+1]);){var Ct=this.s[q];if(this.s[q]=this.s[q+1],this.s[q+1]=Ct,qMath.abs(i)?(r=i/s,r=Math.abs(s)*Math.sqrt(1+r*r)):i!=0?(r=s/i,r=Math.abs(i)*Math.sqrt(1+r*r)):r=0,r},A.exports=g},function(A,G,N){var g=function(){function r(e,f){for(var a=0;a2&&arguments[2]!==void 0?arguments[2]:1,y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,r),this.sequence1=e,this.sequence2=f,this.match_score=a,this.mismatch_penalty=y,this.gap_penalty=t,this.iMax=e.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var h=0;h=0;e--){var f=this.listeners[e];f.event===i&&f.callback===r&&this.listeners.splice(e,1)}},s.emit=function(i,r){for(var e=0;e{var G={45:(i,r,e)=>{var f={};f.layoutBase=e(551),f.CoSEConstants=e(806),f.CoSEEdge=e(767),f.CoSEGraph=e(880),f.CoSEGraphManager=e(578),f.CoSELayout=e(765),f.CoSENode=e(991),f.ConstraintHandler=e(902),i.exports=f},806:(i,r,e)=>{var f=e(551).FDLayoutConstants;function a(){}for(var y in f)a[y]=f[y];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,a.ENFORCE_CONSTRAINTS=!0,a.APPLY_LAYOUT=!0,a.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,a.TREE_REDUCTION_ON_INCREMENTAL=!0,a.PURE_INCREMENTAL=a.DEFAULT_INCREMENTAL,i.exports=a},767:(i,r,e)=>{var f=e(551).FDLayoutEdge;function a(t,h,o){f.call(this,t,h,o)}a.prototype=Object.create(f.prototype);for(var y in f)a[y]=f[y];i.exports=a},880:(i,r,e)=>{var f=e(551).LGraph;function a(t,h,o){f.call(this,t,h,o)}a.prototype=Object.create(f.prototype);for(var y in f)a[y]=f[y];i.exports=a},578:(i,r,e)=>{var f=e(551).LGraphManager;function a(t){f.call(this,t)}a.prototype=Object.create(f.prototype);for(var y in f)a[y]=f[y];i.exports=a},765:(i,r,e)=>{var f=e(551).FDLayout,a=e(578),y=e(880),t=e(991),h=e(767),o=e(806),c=e(902),l=e(551).FDLayoutConstants,T=e(551).LayoutConstants,u=e(551).Point,d=e(551).PointD,L=e(551).DimensionD,F=e(551).Layout,M=e(551).Integer,P=e(551).IGeometry,J=e(551).LGraph,V=e(551).Transform,Q=e(551).LinkedList;function D(){f.call(this),this.toBeTiled={},this.constraints={}}D.prototype=Object.create(f.prototype);for(var rt in f)D[rt]=f[rt];D.prototype.newGraphManager=function(){var n=new a(this);return this.graphManager=n,n},D.prototype.newGraph=function(n){return new y(null,this.graphManager,n)},D.prototype.newNode=function(n){return new t(this.graphManager,n)},D.prototype.newEdge=function(n){return new h(null,null,n)},D.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},D.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},D.prototype.layout=function(){var n=T.DEFAULT_CREATE_BENDS_AS_NEEDED;return n&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},D.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(o.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var m=new Set(this.getAllNodes()),v=this.nodesWithGravity.filter(function(I){return m.has(I)});this.graphManager.setAllNodesToApplyGravitation(v)}}else{var n=this.getFlatForest();if(n.length>0)this.positionNodesRadially(n);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var m=new Set(this.getAllNodes()),v=this.nodesWithGravity.filter(function(E){return m.has(E)});this.graphManager.setAllNodesToApplyGravitation(v),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),o.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},D.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var n=new Set(this.getAllNodes()),m=this.nodesWithGravity.filter(function(p){return n.has(p)});this.graphManager.setAllNodesToApplyGravitation(m),this.graphManager.updateBounds(),this.updateGrid(),o.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),o.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var v=!this.isTreeGrowing&&!this.isGrowthFinished,E=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(v,E),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},D.prototype.getPositionsData=function(){for(var n=this.graphManager.getAllNodes(),m={},v=0;v0&&this.updateDisplacements();for(var v=0;v0&&(E.fixedNodeWeight=I)}}if(this.constraints.relativePlacementConstraint){var w=new Map,R=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(O){n.fixedNodesOnHorizontal.add(O),n.fixedNodesOnVertical.add(O)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,v=0;v=2*O.length/3;_--)X=Math.floor(Math.random()*(_+1)),B=O[_],O[_]=O[X],O[X]=B;return O},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var X=w.has(O.left)?w.get(O.left):O.left,B=w.has(O.right)?w.get(O.right):O.right;n.nodesInRelativeHorizontal.includes(X)||(n.nodesInRelativeHorizontal.push(X),n.nodeToRelativeConstraintMapHorizontal.set(X,[]),n.dummyToNodeForVerticalAlignment.has(X)?n.nodeToTempPositionMapHorizontal.set(X,n.idToNodeMap.get(n.dummyToNodeForVerticalAlignment.get(X)[0]).getCenterX()):n.nodeToTempPositionMapHorizontal.set(X,n.idToNodeMap.get(X).getCenterX())),n.nodesInRelativeHorizontal.includes(B)||(n.nodesInRelativeHorizontal.push(B),n.nodeToRelativeConstraintMapHorizontal.set(B,[]),n.dummyToNodeForVerticalAlignment.has(B)?n.nodeToTempPositionMapHorizontal.set(B,n.idToNodeMap.get(n.dummyToNodeForVerticalAlignment.get(B)[0]).getCenterX()):n.nodeToTempPositionMapHorizontal.set(B,n.idToNodeMap.get(B).getCenterX())),n.nodeToRelativeConstraintMapHorizontal.get(X).push({right:B,gap:O.gap}),n.nodeToRelativeConstraintMapHorizontal.get(B).push({left:X,gap:O.gap})}else{var _=R.has(O.top)?R.get(O.top):O.top,lt=R.has(O.bottom)?R.get(O.bottom):O.bottom;n.nodesInRelativeVertical.includes(_)||(n.nodesInRelativeVertical.push(_),n.nodeToRelativeConstraintMapVertical.set(_,[]),n.dummyToNodeForHorizontalAlignment.has(_)?n.nodeToTempPositionMapVertical.set(_,n.idToNodeMap.get(n.dummyToNodeForHorizontalAlignment.get(_)[0]).getCenterY()):n.nodeToTempPositionMapVertical.set(_,n.idToNodeMap.get(_).getCenterY())),n.nodesInRelativeVertical.includes(lt)||(n.nodesInRelativeVertical.push(lt),n.nodeToRelativeConstraintMapVertical.set(lt,[]),n.dummyToNodeForHorizontalAlignment.has(lt)?n.nodeToTempPositionMapVertical.set(lt,n.idToNodeMap.get(n.dummyToNodeForHorizontalAlignment.get(lt)[0]).getCenterY()):n.nodeToTempPositionMapVertical.set(lt,n.idToNodeMap.get(lt).getCenterY())),n.nodeToRelativeConstraintMapVertical.get(_).push({bottom:lt,gap:O.gap}),n.nodeToRelativeConstraintMapVertical.get(lt).push({top:_,gap:O.gap})}});else{var k=new Map,W=new Map;this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var X=w.has(O.left)?w.get(O.left):O.left,B=w.has(O.right)?w.get(O.right):O.right;k.has(X)?k.get(X).push(B):k.set(X,[B]),k.has(B)?k.get(B).push(X):k.set(B,[X])}else{var _=R.has(O.top)?R.get(O.top):O.top,lt=R.has(O.bottom)?R.get(O.bottom):O.bottom;W.has(_)?W.get(_).push(lt):W.set(_,[lt]),W.has(lt)?W.get(lt).push(_):W.set(lt,[_])}});var U=function(X,B){var _=[],lt=[],q=new Q,Rt=new Set,Lt=0;return X.forEach(function(vt,it){if(!Rt.has(it)){_[Lt]=[],lt[Lt]=!1;var ut=it;for(q.push(ut),Rt.add(ut),_[Lt].push(ut);q.length!=0;){ut=q.shift(),B.has(ut)&&(lt[Lt]=!0);var Tt=X.get(ut);Tt.forEach(function(At){Rt.has(At)||(q.push(At),Rt.add(At),_[Lt].push(At))})}Lt++}}),{components:_,isFixed:lt}},et=U(k,n.fixedNodesOnHorizontal);this.componentsOnHorizontal=et.components,this.fixedComponentsOnHorizontal=et.isFixed;var z=U(W,n.fixedNodesOnVertical);this.componentsOnVertical=z.components,this.fixedComponentsOnVertical=z.isFixed}}},D.prototype.updateDisplacements=function(){var n=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(z){var O=n.idToNodeMap.get(z.nodeId);O.displacementX=0,O.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var m=this.constraints.alignmentConstraint.vertical,v=0;v1){var R;for(R=0;RE&&(E=Math.floor(w.y)),I=Math.floor(w.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(T.WORLD_CENTER_X-w.x/2,T.WORLD_CENTER_Y-w.y/2))},D.radialLayout=function(n,m,v){var E=Math.max(this.maxDiagonalInTree(n),o.DEFAULT_RADIAL_SEPARATION);D.branchRadialLayout(m,null,0,359,0,E);var p=J.calculateBounds(n),I=new V;I.setDeviceOrgX(p.getMinX()),I.setDeviceOrgY(p.getMinY()),I.setWorldOrgX(v.x),I.setWorldOrgY(v.y);for(var w=0;w1;){var B=X[0];X.splice(0,1);var _=W.indexOf(B);_>=0&&W.splice(_,1),z--,U--}m!=null?O=(W.indexOf(X[0])+1)%z:O=0;for(var lt=Math.abs(E-v)/U,q=O;et!=U;q=++q%z){var Rt=W[q].getOtherEnd(n);if(Rt!=m){var Lt=(v+et*lt)%360,vt=(Lt+lt)%360;D.branchRadialLayout(Rt,n,Lt,vt,p+I,I),et++}}},D.maxDiagonalInTree=function(n){for(var m=M.MIN_VALUE,v=0;vm&&(m=p)}return m},D.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},D.prototype.groupZeroDegreeMembers=function(){var n=this,m={};this.memberGroups={},this.idToDummyNode={};for(var v=[],E=this.graphManager.getAllNodes(),p=0;p"u"&&(m[R]=[]),m[R]=m[R].concat(I)}Object.keys(m).forEach(function(H){if(m[H].length>1){var x="DummyCompound_"+H;n.memberGroups[x]=m[H];var k=m[H][0].getParent(),W=new t(n.graphManager);W.id=x,W.paddingLeft=k.paddingLeft||0,W.paddingRight=k.paddingRight||0,W.paddingBottom=k.paddingBottom||0,W.paddingTop=k.paddingTop||0,n.idToDummyNode[x]=W;var U=n.getGraphManager().add(n.newGraph(),W),et=k.getChild();et.add(W);for(var z=0;zp?(E.rect.x-=(E.labelWidth-p)/2,E.setWidth(E.labelWidth),E.labelMarginLeft=(E.labelWidth-p)/2):E.labelPosHorizontal=="right"&&E.setWidth(p+E.labelWidth)),E.labelHeight&&(E.labelPosVertical=="top"?(E.rect.y-=E.labelHeight,E.setHeight(I+E.labelHeight),E.labelMarginTop=E.labelHeight):E.labelPosVertical=="center"&&E.labelHeight>I?(E.rect.y-=(E.labelHeight-I)/2,E.setHeight(E.labelHeight),E.labelMarginTop=(E.labelHeight-I)/2):E.labelPosVertical=="bottom"&&E.setHeight(I+E.labelHeight))}})},D.prototype.repopulateCompounds=function(){for(var n=this.compoundOrder.length-1;n>=0;n--){var m=this.compoundOrder[n],v=m.id,E=m.paddingLeft,p=m.paddingTop,I=m.labelMarginLeft,w=m.labelMarginTop;this.adjustLocations(this.tiledMemberPack[v],m.rect.x,m.rect.y,E,p,I,w)}},D.prototype.repopulateZeroDegreeMembers=function(){var n=this,m=this.tiledZeroDegreePack;Object.keys(m).forEach(function(v){var E=n.idToDummyNode[v],p=E.paddingLeft,I=E.paddingTop,w=E.labelMarginLeft,R=E.labelMarginTop;n.adjustLocations(m[v],E.rect.x,E.rect.y,p,I,w,R)})},D.prototype.getToBeTiled=function(n){var m=n.id;if(this.toBeTiled[m]!=null)return this.toBeTiled[m];var v=n.getChild();if(v==null)return this.toBeTiled[m]=!1,!1;for(var E=v.getNodes(),p=0;p0)return this.toBeTiled[m]=!1,!1;if(I.getChild()==null){this.toBeTiled[I.id]=!1;continue}if(!this.getToBeTiled(I))return this.toBeTiled[m]=!1,!1}return this.toBeTiled[m]=!0,!0},D.prototype.getNodeDegree=function(n){n.id;for(var m=n.getEdges(),v=0,E=0;Ek&&(k=U.rect.height)}v+=k+n.verticalPadding}},D.prototype.tileCompoundMembers=function(n,m){var v=this;this.tiledMemberPack=[],Object.keys(n).forEach(function(E){var p=m[E];if(v.tiledMemberPack[E]=v.tileNodes(n[E],p.paddingLeft+p.paddingRight),p.rect.width=v.tiledMemberPack[E].width,p.rect.height=v.tiledMemberPack[E].height,p.setCenter(v.tiledMemberPack[E].centerX,v.tiledMemberPack[E].centerY),p.labelMarginLeft=0,p.labelMarginTop=0,o.NODE_DIMENSIONS_INCLUDE_LABELS){var I=p.rect.width,w=p.rect.height;p.labelWidth&&(p.labelPosHorizontal=="left"?(p.rect.x-=p.labelWidth,p.setWidth(I+p.labelWidth),p.labelMarginLeft=p.labelWidth):p.labelPosHorizontal=="center"&&p.labelWidth>I?(p.rect.x-=(p.labelWidth-I)/2,p.setWidth(p.labelWidth),p.labelMarginLeft=(p.labelWidth-I)/2):p.labelPosHorizontal=="right"&&p.setWidth(I+p.labelWidth)),p.labelHeight&&(p.labelPosVertical=="top"?(p.rect.y-=p.labelHeight,p.setHeight(w+p.labelHeight),p.labelMarginTop=p.labelHeight):p.labelPosVertical=="center"&&p.labelHeight>w?(p.rect.y-=(p.labelHeight-w)/2,p.setHeight(p.labelHeight),p.labelMarginTop=(p.labelHeight-w)/2):p.labelPosVertical=="bottom"&&p.setHeight(w+p.labelHeight))}})},D.prototype.tileNodes=function(n,m){var v=this.tileNodesByFavoringDim(n,m,!0),E=this.tileNodesByFavoringDim(n,m,!1),p=this.getOrgRatio(v),I=this.getOrgRatio(E),w;return IR&&(R=z.getWidth())});var H=I/p,x=w/p,k=Math.pow(v-E,2)+4*(H+E)*(x+v)*p,W=(E-v+Math.sqrt(k))/(2*(H+E)),U;m?(U=Math.ceil(W),U==W&&U++):U=Math.floor(W);var et=U*(H+E)-E;return R>et&&(et=R),et+=E*2,et},D.prototype.tileNodesByFavoringDim=function(n,m,v){var E=o.TILING_PADDING_VERTICAL,p=o.TILING_PADDING_HORIZONTAL,I=o.TILING_COMPARE_BY,w={rows:[],rowWidth:[],rowHeight:[],width:0,height:m,verticalPadding:E,horizontalPadding:p,centerX:0,centerY:0};I&&(w.idealRowWidth=this.calcIdealRowWidth(n,v));var R=function(O){return O.rect.width*O.rect.height},H=function(O,X){return R(X)-R(O)};n.sort(function(z,O){var X=H;return w.idealRowWidth?(X=I,X(z.id,O.id)):X(z,O)});for(var x=0,k=0,W=0;W0&&(w+=n.horizontalPadding),n.rowWidth[v]=w,n.width0&&(R+=n.verticalPadding);var H=0;R>n.rowHeight[v]&&(H=n.rowHeight[v],n.rowHeight[v]=R,H=n.rowHeight[v]-H),n.height+=H,n.rows[v].push(m)},D.prototype.getShortestRowIndex=function(n){for(var m=-1,v=Number.MAX_VALUE,E=0;Ev&&(m=E,v=n.rowWidth[E]);return m},D.prototype.canAddHorizontal=function(n,m,v){if(n.idealRowWidth){var E=n.rows.length-1,p=n.rowWidth[E];return p+m+n.horizontalPadding<=n.idealRowWidth}var I=this.getShortestRowIndex(n);if(I<0)return!0;var w=n.rowWidth[I];if(w+n.horizontalPadding+m<=n.width)return!0;var R=0;n.rowHeight[I]0&&(R=v+n.verticalPadding-n.rowHeight[I]);var H;n.width-w>=m+n.horizontalPadding?H=(n.height+R)/(w+m+n.horizontalPadding):H=(n.height+R)/n.width,R=v+n.verticalPadding;var x;return n.widthI&&m!=v){E.splice(-1,1),n.rows[v].push(p),n.rowWidth[m]=n.rowWidth[m]-I,n.rowWidth[v]=n.rowWidth[v]+I,n.width=n.rowWidth[instance.getLongestRowIndex(n)];for(var w=Number.MIN_VALUE,R=0;Rw&&(w=E[R].height);m>0&&(w+=n.verticalPadding);var H=n.rowHeight[m]+n.rowHeight[v];n.rowHeight[m]=w,n.rowHeight[v]0)for(var et=p;et<=I;et++)U[0]+=this.grid[et][w-1].length+this.grid[et][w].length-1;if(I0)for(var et=w;et<=R;et++)U[3]+=this.grid[p-1][et].length+this.grid[p][et].length-1;for(var z=M.MAX_VALUE,O,X,B=0;B{var f=e(551).FDLayoutNode,a=e(551).IMath;function y(h,o,c,l){f.call(this,h,o,c,l)}y.prototype=Object.create(f.prototype);for(var t in f)y[t]=f[t];y.prototype.calculateDisplacement=function(){var h=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=h.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=h.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=h.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=h.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*a.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},y.prototype.propogateDisplacementToChildren=function(h,o){for(var c=this.getChild().getNodes(),l,T=0;T{function f(c){if(Array.isArray(c)){for(var l=0,T=Array(c.length);l0){var Ct=0;st.forEach(function(ht){$=="horizontal"?(tt.set(ht,u.has(ht)?d[u.get(ht)]:Z.get(ht)),Ct+=tt.get(ht)):(tt.set(ht,u.has(ht)?L[u.get(ht)]:Z.get(ht)),Ct+=tt.get(ht))}),Ct=Ct/st.length,ft.forEach(function(ht){K.has(ht)||tt.set(ht,Ct)})}else{var ct=0;ft.forEach(function(ht){$=="horizontal"?ct+=u.has(ht)?d[u.get(ht)]:Z.get(ht):ct+=u.has(ht)?L[u.get(ht)]:Z.get(ht)}),ct=ct/ft.length,ft.forEach(function(ht){tt.set(ht,ct)})}});for(var wt=function(){var st=dt.shift(),Ct=b.get(st);Ct.forEach(function(ct){if(tt.get(ct.id)ht&&(ht=qt),_tWt&&(Wt=_t)}}catch(ie){Mt=!0,Zt=ie}finally{try{!Nt&&Gt.return&&Gt.return()}finally{if(Mt)throw Zt}}var ce=(Ct+ht)/2-(ct+Wt)/2,Kt=!0,te=!1,ee=void 0;try{for(var jt=ft[Symbol.iterator](),se;!(Kt=(se=jt.next()).done);Kt=!0){var re=se.value;tt.set(re,tt.get(re)+ce)}}catch(ie){te=!0,ee=ie}finally{try{!Kt&&jt.return&&jt.return()}finally{if(te)throw ee}}})}return tt},rt=function(b){var $=0,K=0,Z=0,at=0;if(b.forEach(function(j){j.left?d[u.get(j.left)]-d[u.get(j.right)]>=0?$++:K++:L[u.get(j.top)]-L[u.get(j.bottom)]>=0?Z++:at++}),$>K&&Z>at)for(var gt=0;gtK)for(var ot=0;otat)for(var tt=0;tt1)l.fixedNodeConstraint.forEach(function(S,b){E[b]=[S.position.x,S.position.y],p[b]=[d[u.get(S.nodeId)],L[u.get(S.nodeId)]]}),I=!0;else if(l.alignmentConstraint)(function(){var S=0;if(l.alignmentConstraint.vertical){for(var b=l.alignmentConstraint.vertical,$=function(tt){var j=new Set;b[tt].forEach(function(yt){j.add(yt)});var dt=new Set([].concat(f(j)).filter(function(yt){return R.has(yt)})),wt=void 0;dt.size>0?wt=d[u.get(dt.values().next().value)]:wt=Q(j).x,b[tt].forEach(function(yt){E[S]=[wt,L[u.get(yt)]],p[S]=[d[u.get(yt)],L[u.get(yt)]],S++})},K=0;K0?wt=d[u.get(dt.values().next().value)]:wt=Q(j).y,Z[tt].forEach(function(yt){E[S]=[d[u.get(yt)],wt],p[S]=[d[u.get(yt)],L[u.get(yt)]],S++})},gt=0;gtW&&(W=k[et].length,U=et);if(W0){var mt={x:0,y:0};l.fixedNodeConstraint.forEach(function(S,b){var $={x:d[u.get(S.nodeId)],y:L[u.get(S.nodeId)]},K=S.position,Z=V(K,$);mt.x+=Z.x,mt.y+=Z.y}),mt.x/=l.fixedNodeConstraint.length,mt.y/=l.fixedNodeConstraint.length,d.forEach(function(S,b){d[b]+=mt.x}),L.forEach(function(S,b){L[b]+=mt.y}),l.fixedNodeConstraint.forEach(function(S){d[u.get(S.nodeId)]=S.position.x,L[u.get(S.nodeId)]=S.position.y})}if(l.alignmentConstraint){if(l.alignmentConstraint.vertical)for(var xt=l.alignmentConstraint.vertical,St=function(b){var $=new Set;xt[b].forEach(function(at){$.add(at)});var K=new Set([].concat(f($)).filter(function(at){return R.has(at)})),Z=void 0;K.size>0?Z=d[u.get(K.values().next().value)]:Z=Q($).x,$.forEach(function(at){R.has(at)||(d[u.get(at)]=Z)})},Vt=0;Vt0?Z=L[u.get(K.values().next().value)]:Z=Q($).y,$.forEach(function(at){R.has(at)||(L[u.get(at)]=Z)})},bt=0;bt{i.exports=A}},N={};function g(i){var r=N[i];if(r!==void 0)return r.exports;var e=N[i]={exports:{}};return G[i](e,e.exports,g),e.exports}var s=g(45);return s})()})}(pe)),pe.exports}(function(C,Y){(function(G,N){C.exports=N(cr())})(Ne,function(A){return(()=>{var G={658:i=>{i.exports=Object.assign!=null?Object.assign.bind(Object):function(r){for(var e=arguments.length,f=Array(e>1?e-1:0),a=1;a{var f=function(){function t(h,o){var c=[],l=!0,T=!1,u=void 0;try{for(var d=h[Symbol.iterator](),L;!(l=(L=d.next()).done)&&(c.push(L.value),!(o&&c.length===o));l=!0);}catch(F){T=!0,u=F}finally{try{!l&&d.return&&d.return()}finally{if(T)throw u}}return c}return function(h,o){if(Array.isArray(h))return h;if(Symbol.iterator in Object(h))return t(h,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=e(140).layoutBase.LinkedList,y={};y.getTopMostNodes=function(t){for(var h={},o=0;o0&&I.merge(x)});for(var w=0;w1){L=u[0],F=L.connectedEdges().length,u.forEach(function(p){p.connectedEdges().length0&&c.set("dummy"+(c.size+1),J),V},y.relocateComponent=function(t,h,o){if(!o.fixedNodeConstraint){var c=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;if(o.quality=="draft"){var d=!0,L=!1,F=void 0;try{for(var M=h.nodeIndexes[Symbol.iterator](),P;!(d=(P=M.next()).done);d=!0){var J=P.value,V=f(J,2),Q=V[0],D=V[1],rt=o.cy.getElementById(Q);if(rt){var n=rt.boundingBox(),m=h.xCoords[D]-n.w/2,v=h.xCoords[D]+n.w/2,E=h.yCoords[D]-n.h/2,p=h.yCoords[D]+n.h/2;ml&&(l=v),Eu&&(u=p)}}}catch(x){L=!0,F=x}finally{try{!d&&M.return&&M.return()}finally{if(L)throw F}}var I=t.x-(l+c)/2,w=t.y-(u+T)/2;h.xCoords=h.xCoords.map(function(x){return x+I}),h.yCoords=h.yCoords.map(function(x){return x+w})}else{Object.keys(h).forEach(function(x){var k=h[x],W=k.getRect().x,U=k.getRect().x+k.getRect().width,et=k.getRect().y,z=k.getRect().y+k.getRect().height;Wl&&(l=U),etu&&(u=z)});var R=t.x-(l+c)/2,H=t.y-(u+T)/2;Object.keys(h).forEach(function(x){var k=h[x];k.setCenter(k.getCenterX()+R,k.getCenterY()+H)})}}},y.calcBoundingBox=function(t,h,o,c){for(var l=Number.MAX_SAFE_INTEGER,T=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,d=Number.MIN_SAFE_INTEGER,L=void 0,F=void 0,M=void 0,P=void 0,J=t.descendants().not(":parent"),V=J.length,Q=0;QL&&(l=L),TM&&(u=M),d{var f=e(548),a=e(140).CoSELayout,y=e(140).CoSENode,t=e(140).layoutBase.PointD,h=e(140).layoutBase.DimensionD,o=e(140).layoutBase.LayoutConstants,c=e(140).layoutBase.FDLayoutConstants,l=e(140).CoSEConstants,T=function(d,L){var F=d.cy,M=d.eles,P=M.nodes(),J=M.edges(),V=void 0,Q=void 0,D=void 0,rt={};d.randomize&&(V=L.nodeIndexes,Q=L.xCoords,D=L.yCoords);var n=function(x){return typeof x=="function"},m=function(x,k){return n(x)?x(k):x},v=f.calcParentsWithoutChildren(F,M),E=function H(x,k,W,U){for(var et=k.length,z=0;z0){var q=void 0;q=W.getGraphManager().add(W.newGraph(),B),H(q,X,W,U)}}},p=function(x,k,W){for(var U=0,et=0,z=0;z0?l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=U/et:n(d.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=d.idealEdgeLength,l.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)},I=function(x,k){k.fixedNodeConstraint&&(x.constraints.fixedNodeConstraint=k.fixedNodeConstraint),k.alignmentConstraint&&(x.constraints.alignmentConstraint=k.alignmentConstraint),k.relativePlacementConstraint&&(x.constraints.relativePlacementConstraint=k.relativePlacementConstraint)};d.nestingFactor!=null&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=d.nestingFactor),d.gravity!=null&&(l.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=d.gravity),d.numIter!=null&&(l.MAX_ITERATIONS=c.MAX_ITERATIONS=d.numIter),d.gravityRange!=null&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=d.gravityRange),d.gravityCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=d.gravityCompound),d.gravityRangeCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=d.gravityRangeCompound),d.initialEnergyOnIncremental!=null&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=d.initialEnergyOnIncremental),d.tilingCompareBy!=null&&(l.TILING_COMPARE_BY=d.tilingCompareBy),d.quality=="proof"?o.QUALITY=2:o.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=d.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!d.randomize,l.ANIMATE=c.ANIMATE=o.ANIMATE=d.animate,l.TILE=d.tile,l.TILING_PADDING_VERTICAL=typeof d.tilingPaddingVertical=="function"?d.tilingPaddingVertical.call():d.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL=typeof d.tilingPaddingHorizontal=="function"?d.tilingPaddingHorizontal.call():d.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!d.randomize,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=d.uniformNodeDimensions,d.step=="transformed"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),d.step=="enforced"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),d.step=="cose"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),d.step=="all"&&(d.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),d.fixedNodeConstraint||d.alignmentConstraint||d.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var w=new a,R=w.newGraphManager();return E(R.addRoot(),f.getTopMostNodes(P),w,d),p(w,R,J),I(w,d),w.runLayout(),rt};i.exports={coseLayout:T}},212:(i,r,e)=>{var f=function(){function d(L,F){for(var M=0;M0)if(v){var I=t.getTopMostNodes(M.eles.nodes());if(D=t.connectComponents(P,M.eles,I),D.forEach(function(vt){var it=vt.boundingBox();rt.push({x:it.x1+it.w/2,y:it.y1+it.h/2})}),M.randomize&&D.forEach(function(vt){M.eles=vt,V.push(o(M))}),M.quality=="default"||M.quality=="proof"){var w=P.collection();if(M.tile){var R=new Map,H=[],x=[],k=0,W={nodeIndexes:R,xCoords:H,yCoords:x},U=[];if(D.forEach(function(vt,it){vt.edges().length==0&&(vt.nodes().forEach(function(ut,Tt){w.merge(vt.nodes()[Tt]),ut.isParent()||(W.nodeIndexes.set(vt.nodes()[Tt].id(),k++),W.xCoords.push(vt.nodes()[0].position().x),W.yCoords.push(vt.nodes()[0].position().y))}),U.push(it))}),w.length>1){var et=w.boundingBox();rt.push({x:et.x1+et.w/2,y:et.y1+et.h/2}),D.push(w),V.push(W);for(var z=U.length-1;z>=0;z--)D.splice(U[z],1),V.splice(U[z],1),rt.splice(U[z],1)}}D.forEach(function(vt,it){M.eles=vt,Q.push(l(M,V[it])),t.relocateComponent(rt[it],Q[it],M)})}else D.forEach(function(vt,it){t.relocateComponent(rt[it],V[it],M)});var O=new Set;if(D.length>1){var X=[],B=J.filter(function(vt){return vt.css("display")=="none"});D.forEach(function(vt,it){var ut=void 0;if(M.quality=="draft"&&(ut=V[it].nodeIndexes),vt.nodes().not(B).length>0){var Tt={};Tt.edges=[],Tt.nodes=[];var At=void 0;vt.nodes().not(B).forEach(function(Dt){if(M.quality=="draft")if(!Dt.isParent())At=ut.get(Dt.id()),Tt.nodes.push({x:V[it].xCoords[At]-Dt.boundingbox().w/2,y:V[it].yCoords[At]-Dt.boundingbox().h/2,width:Dt.boundingbox().w,height:Dt.boundingbox().h});else{var mt=t.calcBoundingBox(Dt,V[it].xCoords,V[it].yCoords,ut);Tt.nodes.push({x:mt.topLeftX,y:mt.topLeftY,width:mt.width,height:mt.height})}else Q[it][Dt.id()]&&Tt.nodes.push({x:Q[it][Dt.id()].getLeft(),y:Q[it][Dt.id()].getTop(),width:Q[it][Dt.id()].getWidth(),height:Q[it][Dt.id()].getHeight()})}),vt.edges().forEach(function(Dt){var mt=Dt.source(),xt=Dt.target();if(mt.css("display")!="none"&&xt.css("display")!="none")if(M.quality=="draft"){var St=ut.get(mt.id()),Vt=ut.get(xt.id()),Xt=[],Ut=[];if(mt.isParent()){var bt=t.calcBoundingBox(mt,V[it].xCoords,V[it].yCoords,ut);Xt.push(bt.topLeftX+bt.width/2),Xt.push(bt.topLeftY+bt.height/2)}else Xt.push(V[it].xCoords[St]),Xt.push(V[it].yCoords[St]);if(xt.isParent()){var Ht=t.calcBoundingBox(xt,V[it].xCoords,V[it].yCoords,ut);Ut.push(Ht.topLeftX+Ht.width/2),Ut.push(Ht.topLeftY+Ht.height/2)}else Ut.push(V[it].xCoords[Vt]),Ut.push(V[it].yCoords[Vt]);Tt.edges.push({startX:Xt[0],startY:Xt[1],endX:Ut[0],endY:Ut[1]})}else Q[it][mt.id()]&&Q[it][xt.id()]&&Tt.edges.push({startX:Q[it][mt.id()].getCenterX(),startY:Q[it][mt.id()].getCenterY(),endX:Q[it][xt.id()].getCenterX(),endY:Q[it][xt.id()].getCenterY()})}),Tt.nodes.length>0&&(X.push(Tt),O.add(it))}});var _=m.packComponents(X,M.randomize).shifts;if(M.quality=="draft")V.forEach(function(vt,it){var ut=vt.xCoords.map(function(At){return At+_[it].dx}),Tt=vt.yCoords.map(function(At){return At+_[it].dy});vt.xCoords=ut,vt.yCoords=Tt});else{var lt=0;O.forEach(function(vt){Object.keys(Q[vt]).forEach(function(it){var ut=Q[vt][it];ut.setCenter(ut.getCenterX()+_[lt].dx,ut.getCenterY()+_[lt].dy)}),lt++})}}}else{var E=M.eles.boundingBox();if(rt.push({x:E.x1+E.w/2,y:E.y1+E.h/2}),M.randomize){var p=o(M);V.push(p)}M.quality=="default"||M.quality=="proof"?(Q.push(l(M,V[0])),t.relocateComponent(rt[0],Q[0],M)):t.relocateComponent(rt[0],V[0],M)}var q=function(it,ut){if(M.quality=="default"||M.quality=="proof"){typeof it=="number"&&(it=ut);var Tt=void 0,At=void 0,Dt=it.data("id");return Q.forEach(function(xt){Dt in xt&&(Tt={x:xt[Dt].getRect().getCenterX(),y:xt[Dt].getRect().getCenterY()},At=xt[Dt])}),M.nodeDimensionsIncludeLabels&&(At.labelWidth&&(At.labelPosHorizontal=="left"?Tt.x+=At.labelWidth/2:At.labelPosHorizontal=="right"&&(Tt.x-=At.labelWidth/2)),At.labelHeight&&(At.labelPosVertical=="top"?Tt.y+=At.labelHeight/2:At.labelPosVertical=="bottom"&&(Tt.y-=At.labelHeight/2))),Tt==null&&(Tt={x:it.position("x"),y:it.position("y")}),{x:Tt.x,y:Tt.y}}else{var mt=void 0;return V.forEach(function(xt){var St=xt.nodeIndexes.get(it.id());St!=null&&(mt={x:xt.xCoords[St],y:xt.yCoords[St]})}),mt==null&&(mt={x:it.position("x"),y:it.position("y")}),{x:mt.x,y:mt.y}}};if(M.quality=="default"||M.quality=="proof"||M.randomize){var Rt=t.calcParentsWithoutChildren(P,J),Lt=J.filter(function(vt){return vt.css("display")=="none"});M.eles=J.not(Lt),J.nodes().not(":parent").not(Lt).layoutPositions(F,M,q),Rt.length>0&&Rt.forEach(function(vt){vt.position(q(vt))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),d}();i.exports=u},657:(i,r,e)=>{var f=e(548),a=e(140).layoutBase.Matrix,y=e(140).layoutBase.SVD,t=function(o){var c=o.cy,l=o.eles,T=l.nodes(),u=l.nodes(":parent"),d=new Map,L=new Map,F=new Map,M=[],P=[],J=[],V=[],Q=[],D=[],rt=[],n=[],m=void 0,v=1e8,E=1e-9,p=o.piTol,I=o.samplingType,w=o.nodeSeparation,R=void 0,H=function(){for(var b=0,$=0,K=!1;$=at;){ot=Z[at++];for(var It=M[ot],ft=0;ftdt&&(dt=Q[Ct],wt=Ct)}return wt},k=function(b){var $=void 0;if(b){$=Math.floor(Math.random()*m);for(var Z=0;Z=1)break;j=tt}for(var yt=0;yt=1)break;j=tt}for(var ft=0;ft0&&($.isParent()?M[b].push(F.get($.id())):M[b].push($.id()))})});var Lt=function(b){var $=L.get(b),K=void 0;d.get(b).forEach(function(Z){c.getElementById(Z).isParent()?K=F.get(Z):K=Z,M[$].push(K),M[L.get(K)].push(b)})},vt=!0,it=!1,ut=void 0;try{for(var Tt=d.keys()[Symbol.iterator](),At;!(vt=(At=Tt.next()).done);vt=!0){var Dt=At.value;Lt(Dt)}}catch(S){it=!0,ut=S}finally{try{!vt&&Tt.return&&Tt.return()}finally{if(it)throw ut}}m=L.size;var mt=void 0;if(m>2){R=m{var f=e(212),a=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&a(cytoscape),i.exports=a},140:i=>{i.exports=A}},N={};function g(i){var r=N[i];if(r!==void 0)return r.exports;var e=N[i]={exports:{}};return G[i](e,e.exports,g),e.exports}var s=g(579);return s})()})})(be);var gr=be.exports;const ur=lr(gr);var xe={L:"left",R:"right",T:"top",B:"bottom"},Ie={L:nt(C=>`${C},${C/2} 0,${C} 0,0`,"L"),R:nt(C=>`0,${C/2} ${C},0 ${C},${C}`,"R"),T:nt(C=>`0,0 ${C},0 ${C/2},${C}`,"T"),B:nt(C=>`${C/2},0 ${C},${C} 0,${C}`,"B")},he={L:nt((C,Y)=>C-Y+2,"L"),R:nt((C,Y)=>C-2,"R"),T:nt((C,Y)=>C-Y+2,"T"),B:nt((C,Y)=>C-2,"B")},dr=nt(function(C){return zt(C)?C==="L"?"R":"L":C==="T"?"B":"T"},"getOppositeArchitectureDirection"),Re=nt(function(C){const Y=C;return Y==="L"||Y==="R"||Y==="T"||Y==="B"},"isArchitectureDirection"),zt=nt(function(C){const Y=C;return Y==="L"||Y==="R"},"isArchitectureDirectionX"),Qt=nt(function(C){const Y=C;return Y==="T"||Y==="B"},"isArchitectureDirectionY"),Pe=nt(function(C,Y){const A=zt(C)&&Qt(Y),G=Qt(C)&&zt(Y);return A||G},"isArchitectureDirectionXY"),vr=nt(function(C){const Y=C[0],A=C[1],G=zt(Y)&&Qt(A),N=Qt(Y)&&zt(A);return G||N},"isArchitecturePairXY"),pr=nt(function(C){return C!=="LL"&&C!=="RR"&&C!=="TT"&&C!=="BB"},"isValidArchitectureDirectionPair"),me=nt(function(C,Y){const A=`${C}${Y}`;return pr(A)?A:void 0},"getArchitectureDirectionPair"),yr=nt(function([C,Y],A){const G=A[0],N=A[1];return zt(G)?Qt(N)?[C+(G==="L"?-1:1),Y+(N==="T"?1:-1)]:[C+(G==="L"?-1:1),Y]:zt(N)?[C+(N==="L"?1:-1),Y+(G==="T"?1:-1)]:[C,Y+(G==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Er=nt(function(C){return C==="LT"||C==="TL"?[1,1]:C==="BL"||C==="LB"?[1,-1]:C==="BR"||C==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),mr=nt(function(C){return C.type==="service"},"isArchitectureService"),Tr=nt(function(C){return C.type==="junction"},"isArchitectureJunction"),Ge=nt(C=>C.data(),"edgeData"),ne=nt(C=>C.data(),"nodeData"),Ue=ke.architecture,pt=new sr(()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:Ue,dataStructures:void 0,elements:{}})),Nr=nt(()=>{pt.reset(),ir()},"clear"),Lr=nt(function({id:C,icon:Y,in:A,title:G,iconText:N}){if(pt.records.registeredIds[C]!==void 0)throw new Error(`The service id [${C}] is already in use by another ${pt.records.registeredIds[C]}`);if(A!==void 0){if(C===A)throw new Error(`The service [${C}] cannot be placed within itself`);if(pt.records.registeredIds[A]===void 0)throw new Error(`The service [${C}]'s parent does not exist. Please make sure the parent is created before this service`);if(pt.records.registeredIds[A]==="node")throw new Error(`The service [${C}]'s parent is not a group`)}pt.records.registeredIds[C]="node",pt.records.nodes[C]={id:C,type:"service",icon:Y,iconText:N,title:G,edges:[],in:A}},"addService"),Cr=nt(()=>Object.values(pt.records.nodes).filter(mr),"getServices"),Mr=nt(function({id:C,in:Y}){pt.records.registeredIds[C]="node",pt.records.nodes[C]={id:C,type:"junction",edges:[],in:Y}},"addJunction"),Ar=nt(()=>Object.values(pt.records.nodes).filter(Tr),"getJunctions"),wr=nt(()=>Object.values(pt.records.nodes),"getNodes"),Or=nt(C=>pt.records.nodes[C],"getNode"),Dr=nt(function({id:C,icon:Y,in:A,title:G}){if(pt.records.registeredIds[C]!==void 0)throw new Error(`The group id [${C}] is already in use by another ${pt.records.registeredIds[C]}`);if(A!==void 0){if(C===A)throw new Error(`The group [${C}] cannot be placed within itself`);if(pt.records.registeredIds[A]===void 0)throw new Error(`The group [${C}]'s parent does not exist. Please make sure the parent is created before this group`);if(pt.records.registeredIds[A]==="node")throw new Error(`The group [${C}]'s parent is not a group`)}pt.records.registeredIds[C]="group",pt.records.groups[C]={id:C,icon:Y,title:G,in:A}},"addGroup"),xr=nt(()=>Object.values(pt.records.groups),"getGroups"),Ir=nt(function({lhsId:C,rhsId:Y,lhsDir:A,rhsDir:G,lhsInto:N,rhsInto:g,lhsGroup:s,rhsGroup:i,title:r}){if(!Re(A))throw new Error(`Invalid direction given for left hand side of edge ${C}--${Y}. Expected (L,R,T,B) got ${A}`);if(!Re(G))throw new Error(`Invalid direction given for right hand side of edge ${C}--${Y}. Expected (L,R,T,B) got ${G}`);if(pt.records.nodes[C]===void 0&&pt.records.groups[C]===void 0)throw new Error(`The left-hand id [${C}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(pt.records.nodes[Y]===void 0&&pt.records.groups[C]===void 0)throw new Error(`The right-hand id [${Y}] does not yet exist. Please create the service/group before declaring an edge to it.`);const e=pt.records.nodes[C].in,f=pt.records.nodes[Y].in;if(s&&e&&f&&e==f)throw new Error(`The left-hand id [${C}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(i&&e&&f&&e==f)throw new Error(`The right-hand id [${Y}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const a={lhsId:C,lhsDir:A,lhsInto:N,lhsGroup:s,rhsId:Y,rhsDir:G,rhsInto:g,rhsGroup:i,title:r};pt.records.edges.push(a),pt.records.nodes[C]&&pt.records.nodes[Y]&&(pt.records.nodes[C].edges.push(pt.records.edges[pt.records.edges.length-1]),pt.records.nodes[Y].edges.push(pt.records.edges[pt.records.edges.length-1]))},"addEdge"),Rr=nt(()=>pt.records.edges,"getEdges"),Sr=nt(()=>{if(pt.records.dataStructures===void 0){const C=Object.entries(pt.records.nodes).reduce((s,[i,r])=>(s[i]=r.edges.reduce((e,f)=>{if(f.lhsId===i){const a=me(f.lhsDir,f.rhsDir);a&&(e[a]=f.rhsId)}else{const a=me(f.rhsDir,f.lhsDir);a&&(e[a]=f.lhsId)}return e},{}),s),{}),Y=Object.keys(C)[0],A={[Y]:1},G=Object.keys(C).reduce((s,i)=>i===Y?s:{...s,[i]:1},{}),N=nt(s=>{const i={[s]:[0,0]},r=[s];for(;r.length>0;){const e=r.shift();if(e){A[e]=1,delete G[e];const f=C[e],[a,y]=i[e];Object.entries(f).forEach(([t,h])=>{A[h]||(i[h]=yr([a,y],t),r.push(h))})}}return i},"BFS"),g=[N(Y)];for(;Object.keys(G).length>0;)g.push(N(Object.keys(G)[0]));pt.records.dataStructures={adjList:C,spatialMaps:g}}return pt.records.dataStructures},"getDataStructures"),Fr=nt((C,Y)=>{pt.records.elements[C]=Y},"setElementForId"),br=nt(C=>pt.records.elements[C],"getElementById"),le={clear:Nr,setDiagramTitle:Qe,getDiagramTitle:Ke,setAccTitle:je,getAccTitle:_e,setAccDescription:tr,getAccDescription:er,addService:Lr,getServices:Cr,addJunction:Mr,getJunctions:Ar,getNodes:wr,getNode:Or,addGroup:Dr,getGroups:xr,addEdge:Ir,getEdges:Rr,setElementForId:Fr,getElementById:br,getDataStructures:Sr};function Pt(C){const Y=fe().architecture;return Y!=null&&Y[C]?Y[C]:Ue[C]}nt(Pt,"getConfigField");var Pr=nt((C,Y)=>{or(C,Y),C.groups.map(Y.addGroup),C.services.map(A=>Y.addService({...A,type:"service"})),C.junctions.map(A=>Y.addJunction({...A,type:"junction"})),C.edges.map(Y.addEdge)},"populateDb"),Gr={parse:nt(async C=>{const Y=await hr("architecture",C);Se.debug(Y),Pr(Y,le)},"parse")},Ur=nt(C=>` + .edge { + stroke-width: ${C.archEdgeWidth}; + stroke: ${C.archEdgeColor}; + fill: none; + } + + .arrow { + fill: ${C.archEdgeArrowColor}; + } + + .node-bkg { + fill: none; + stroke: ${C.archGroupBorderColor}; + stroke-width: ${C.archGroupBorderWidth}; + stroke-dasharray: 8; + } + .node-icon-text { + display: flex; + align-items: center; + } + + .node-icon-text > div { + color: #fff; + margin: 1px; + height: fit-content; + text-align: center; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + } +`,"getStyles"),Yr=Ur,ae=nt(C=>`${C}`,"wrapIcon"),oe={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:ae('')},server:{body:ae('')},disk:{body:ae('')},internet:{body:ae('')},cloud:{body:ae('')},unknown:qe,blank:{body:ae("")}}},Xr=nt(async function(C,Y){const A=Pt("padding"),G=Pt("iconSize"),N=G/2,g=G/6,s=g/2;await Promise.all(Y.edges().map(async i=>{var P,J;const{source:r,sourceDir:e,sourceArrow:f,sourceGroup:a,target:y,targetDir:t,targetArrow:h,targetGroup:o,label:c}=Ge(i);let{x:l,y:T}=i[0].sourceEndpoint();const{x:u,y:d}=i[0].midpoint();let{x:L,y:F}=i[0].targetEndpoint();const M=A+4;if(a&&(zt(e)?l+=e==="L"?-M:M:T+=e==="T"?-M:M+18),o&&(zt(t)?L+=t==="L"?-M:M:F+=t==="T"?-M:M+18),!a&&((P=le.getNode(r))==null?void 0:P.type)==="junction"&&(zt(e)?l+=e==="L"?N:-N:T+=e==="T"?N:-N),!o&&((J=le.getNode(y))==null?void 0:J.type)==="junction"&&(zt(t)?L+=t==="L"?N:-N:F+=t==="T"?N:-N),i[0]._private.rscratch){const V=C.insert("g");if(V.insert("path").attr("d",`M ${l},${T} L ${u},${d} L${L},${F} `).attr("class","edge"),f){const Q=zt(e)?he[e](l,g):l-s,D=Qt(e)?he[e](T,g):T-s;V.insert("polygon").attr("points",Ie[e](g)).attr("transform",`translate(${Q},${D})`).attr("class","arrow")}if(h){const Q=zt(t)?he[t](L,g):L-s,D=Qt(t)?he[t](F,g):F-s;V.insert("polygon").attr("points",Ie[t](g)).attr("transform",`translate(${Q},${D})`).attr("class","arrow")}if(c){const Q=Pe(e,t)?"XY":zt(e)?"X":"Y";let D=0;Q==="X"?D=Math.abs(l-L):Q==="Y"?D=Math.abs(T-F)/1.5:D=Math.abs(l-L)/2;const rt=V.append("g");if(await Te(rt,c,{useHtmlLabels:!1,width:D,classes:"architecture-service-label"},fe()),rt.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),Q==="X")rt.attr("transform","translate("+u+", "+d+")");else if(Q==="Y")rt.attr("transform","translate("+u+", "+d+") rotate(-90)");else if(Q==="XY"){const n=me(e,t);if(n&&vr(n)){const m=rt.node().getBoundingClientRect(),[v,E]=Er(n);rt.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*v*E*45})`);const p=rt.node().getBoundingClientRect();rt.attr("transform",` + translate(${u}, ${d-m.height/2}) + translate(${v*p.width/2}, ${E*p.height/2}) + rotate(${-1*v*E*45}, 0, ${m.height/2}) + `)}}}}}))},"drawEdges"),Hr=nt(async function(C,Y){const G=Pt("padding")*.75,N=Pt("fontSize"),s=Pt("iconSize")/2;await Promise.all(Y.nodes().map(async i=>{const r=ne(i);if(r.type==="group"){const{h:e,w:f,x1:a,y1:y}=i.boundingBox();C.append("rect").attr("x",a+s).attr("y",y+s).attr("width",f).attr("height",e).attr("class","node-bkg");const t=C.append("g");let h=a,o=y;if(r.icon){const c=t.append("g");c.html(`${await Ee(r.icon,{height:G,width:G,fallbackPrefix:oe.prefix})}`),c.attr("transform","translate("+(h+s+1)+", "+(o+s+1)+")"),h+=G,o+=N/2-1-2}if(r.label){const c=t.append("g");await Te(c,r.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},fe()),c.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),c.attr("transform","translate("+(h+s+4)+", "+(o+s+2)+")")}}}))},"drawGroups"),Wr=nt(async function(C,Y,A){for(const G of A){const N=Y.append("g"),g=Pt("iconSize");if(G.title){const e=N.append("g");await Te(e,G.title,{useHtmlLabels:!1,width:g*1.5,classes:"architecture-service-label"},fe()),e.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),e.attr("transform","translate("+g/2+", "+g+")")}const s=N.append("g");if(G.icon)s.html(`${await Ee(G.icon,{height:g,width:g,fallbackPrefix:oe.prefix})}`);else if(G.iconText){s.html(`${await Ee("blank",{height:g,width:g,fallbackPrefix:oe.prefix})}`);const a=s.append("g").append("foreignObject").attr("width",g).attr("height",g).append("div").attr("class","node-icon-text").attr("style",`height: ${g}px;`).append("div").html(G.iconText),y=parseInt(window.getComputedStyle(a.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;a.attr("style",`-webkit-line-clamp: ${Math.floor((g-2)/y)};`)}else s.append("path").attr("class","node-bkg").attr("id","node-"+G.id).attr("d",`M0 ${g} v${-g} q0,-5 5,-5 h${g} q5,0 5,5 v${g} H0 Z`);N.attr("class","architecture-service");const{width:i,height:r}=N._groups[0][0].getBBox();G.width=i,G.height=r,C.setElementForId(G.id,N)}return 0},"drawServices"),Vr=nt(function(C,Y,A){A.forEach(G=>{const N=Y.append("g"),g=Pt("iconSize");N.append("g").append("rect").attr("id","node-"+G.id).attr("fill-opacity","0").attr("width",g).attr("height",g),N.attr("class","architecture-junction");const{width:i,height:r}=N._groups[0][0].getBBox();N.width=i,N.height=r,C.setElementForId(G.id,N)})},"drawJunctions");Je([{name:oe.prefix,icons:oe}]);Fe.use(ur);function Ye(C,Y){C.forEach(A=>{Y.add({group:"nodes",data:{type:"service",id:A.id,icon:A.icon,label:A.title,parent:A.in,width:Pt("iconSize"),height:Pt("iconSize")},classes:"node-service"})})}nt(Ye,"addServices");function Xe(C,Y){C.forEach(A=>{Y.add({group:"nodes",data:{type:"junction",id:A.id,parent:A.in,width:Pt("iconSize"),height:Pt("iconSize")},classes:"node-junction"})})}nt(Xe,"addJunctions");function He(C,Y){Y.nodes().map(A=>{const G=ne(A);if(G.type==="group")return;G.x=A.position().x,G.y=A.position().y,C.getElementById(G.id).attr("transform","translate("+(G.x||0)+","+(G.y||0)+")")})}nt(He,"positionNodes");function We(C,Y){C.forEach(A=>{Y.add({group:"nodes",data:{type:"group",id:A.id,icon:A.icon,label:A.title,parent:A.in},classes:"node-group"})})}nt(We,"addGroups");function Ve(C,Y){C.forEach(A=>{const{lhsId:G,rhsId:N,lhsInto:g,lhsGroup:s,rhsInto:i,lhsDir:r,rhsDir:e,rhsGroup:f,title:a}=A,y=Pe(A.lhsDir,A.rhsDir)?"segments":"straight",t={id:`${G}-${N}`,label:a,source:G,sourceDir:r,sourceArrow:g,sourceGroup:s,sourceEndpoint:r==="L"?"0 50%":r==="R"?"100% 50%":r==="T"?"50% 0":"50% 100%",target:N,targetDir:e,targetArrow:i,targetGroup:f,targetEndpoint:e==="L"?"0 50%":e==="R"?"100% 50%":e==="T"?"50% 0":"50% 100%"};Y.add({group:"edges",data:t,classes:y})})}nt(Ve,"addEdges");function ze(C){const Y=C.map(N=>{const g={},s={};return Object.entries(N).forEach(([i,[r,e]])=>{g[e]||(g[e]=[]),s[r]||(s[r]=[]),g[e].push(i),s[r].push(i)}),{horiz:Object.values(g).filter(i=>i.length>1),vert:Object.values(s).filter(i=>i.length>1)}}),[A,G]=Y.reduce(([N,g],{horiz:s,vert:i})=>[[...N,...s],[...g,...i]],[[],[]]);return{horizontal:A,vertical:G}}nt(ze,"getAlignments");function Be(C){const Y=[],A=nt(N=>`${N[0]},${N[1]}`,"posToStr"),G=nt(N=>N.split(",").map(g=>parseInt(g)),"strToPos");return C.forEach(N=>{const g=Object.fromEntries(Object.entries(N).map(([e,f])=>[A(f),e])),s=[A([0,0])],i={},r={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;s.length>0;){const e=s.shift();if(e){i[e]=1;const f=g[e];if(f){const a=G(e);Object.entries(r).forEach(([y,t])=>{const h=A([a[0]+t[0],a[1]+t[1]]),o=g[h];o&&!i[h]&&(s.push(h),Y.push({[xe[y]]:o,[xe[dr(y)]]:f,gap:1.5*Pt("iconSize")}))})}}}}),Y}nt(Be,"getRelativeConstraints");function $e(C,Y,A,G,{spatialMaps:N}){return new Promise(g=>{const s=rr("body").append("div").attr("id","cy").attr("style","display:none"),i=Fe({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${Pt("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${Pt("padding")}px`}}]});s.remove(),We(A,i),Ye(C,i),Xe(Y,i),Ve(G,i);const r=ze(N),e=Be(N),f=i.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(a){const[y,t]=a.connectedNodes(),{parent:h}=ne(y),{parent:o}=ne(t);return h===o?1.5*Pt("iconSize"):.5*Pt("iconSize")},edgeElasticity(a){const[y,t]=a.connectedNodes(),{parent:h}=ne(y),{parent:o}=ne(t);return h===o?.45:.001},alignmentConstraint:r,relativePlacementConstraint:e});f.one("layoutstop",()=>{var y;function a(t,h,o,c){let l,T;const{x:u,y:d}=t,{x:L,y:F}=h;T=(c-d+(u-o)*(d-F)/(u-L))/Math.sqrt(1+Math.pow((d-F)/(u-L),2)),l=Math.sqrt(Math.pow(c-d,2)+Math.pow(o-u,2)-Math.pow(T,2));const M=Math.sqrt(Math.pow(L-u,2)+Math.pow(F-d,2));l=l/M;let P=(L-u)*(c-d)-(F-d)*(o-u);switch(!0){case P>=0:P=1;break;case P<0:P=-1;break}let J=(L-u)*(o-u)+(F-d)*(c-d);switch(!0){case J>=0:J=1;break;case J<0:J=-1;break}return T=Math.abs(T)*P,l=l*J,{distances:T,weights:l}}nt(a,"getSegmentWeights"),i.startBatch();for(const t of Object.values(i.edges()))if((y=t.data)!=null&&y.call(t)){const{x:h,y:o}=t.source().position(),{x:c,y:l}=t.target().position();if(h!==c&&o!==l){const T=t.sourceEndpoint(),u=t.targetEndpoint(),{sourceDir:d}=Ge(t),[L,F]=Qt(d)?[T.x,u.y]:[u.x,T.y],{weights:M,distances:P}=a(T,u,L,F);t.style("segment-distances",P),t.style("segment-weights",M)}}i.endBatch(),f.run()}),f.run(),i.ready(a=>{Se.info("Ready",a),g(i)})})}nt($e,"layoutArchitecture");var zr=nt(async(C,Y,A,G)=>{const N=G.db,g=N.getServices(),s=N.getJunctions(),i=N.getGroups(),r=N.getEdges(),e=N.getDataStructures(),f=ar(Y),a=f.append("g");a.attr("class","architecture-edges");const y=f.append("g");y.attr("class","architecture-services");const t=f.append("g");t.attr("class","architecture-groups"),await Wr(N,y,g),Vr(N,y,s);const h=await $e(g,s,i,r,e);await Xr(a,h),await Hr(t,h),He(N,h),nr(void 0,f,Pt("padding"),Pt("useMaxWidth"))},"draw"),Br={draw:zr},ii={parser:Gr,db:le,renderer:Br,styles:Yr};export{ii as diagram}; diff --git a/_nuxt/uI78RzAp.js b/_nuxt/uI78RzAp.js new file mode 100644 index 000000000..877072630 --- /dev/null +++ b/_nuxt/uI78RzAp.js @@ -0,0 +1,164 @@ +import{g as mt,s as Et}from"./Dk871sGE.js";import{_ as u,i as bt,d as D,a7 as z,s as kt,g as yt,b as Tt,c as Ft,q as Dt,r as _t,e as I,x as Bt,l as ze,v as Qe,j as se,y as St,z as vt,A as Nt}from"./BN9GDn3H.js";var Ke=function(){var e=u(function(O,o,h,d){for(h=h||{},d=O.length;d--;h[O[d]]=o);return h},"o"),i=[1,18],a=[1,19],l=[1,20],c=[1,41],r=[1,42],A=[1,26],f=[1,24],T=[1,25],S=[1,32],ke=[1,33],ye=[1,34],m=[1,45],Te=[1,35],Fe=[1,36],De=[1,37],_e=[1,38],Be=[1,27],Se=[1,28],ve=[1,29],Ne=[1,30],Le=[1,31],E=[1,44],b=[1,46],k=[1,43],F=[1,47],xe=[1,9],p=[1,8,9],re=[1,58],ue=[1,59],le=[1,60],oe=[1,61],ce=[1,62],Ie=[1,63],Oe=[1,64],he=[1,8,9,41],qe=[1,76],G=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],pe=[1,8,9,12,13,17,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],de=[13,58,84,99,101,102],j=[13,58,71,72,84,99,101,102],He=[13,58,66,67,68,69,70,84,99,101,102],we=[1,98],Q=[1,115],W=[1,107],X=[1,113],q=[1,108],H=[1,109],J=[1,110],Z=[1,111],$=[1,112],ee=[1,114],Je=[22,58,59,80,84,85,86,87,88,89],Ve=[1,8,9,39,41,44],Ae=[1,8,9,22],Ze=[1,143],$e=[1,8,9,59],N=[1,8,9,22,58,59,80,84,85,86,87,88,89],Pe={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,DOT:17,className:18,classLiteralName:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",17:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,3],[15,2],[18,1],[18,3],[18,1],[18,2],[18,2],[18,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[19,1],[53,1]],performAction:u(function(o,h,d,n,C,t,te){var s=t.length-1;switch(C){case 8:this.$=t[s-1];break;case 9:case 12:case 14:this.$=t[s];break;case 10:case 13:this.$=t[s-2]+"."+t[s];break;case 11:case 15:this.$=t[s-1]+t[s];break;case 16:case 17:this.$=t[s-1]+"~"+t[s]+"~";break;case 18:n.addRelation(t[s]);break;case 19:t[s-1].title=n.cleanupLabel(t[s]),n.addRelation(t[s-1]);break;case 30:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 31:case 32:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 33:n.addClassesToNamespace(t[s-3],t[s-1]);break;case 34:n.addClassesToNamespace(t[s-4],t[s-1]);break;case 35:this.$=t[s],n.addNamespace(t[s]);break;case 36:this.$=[t[s]];break;case 37:this.$=[t[s-1]];break;case 38:t[s].unshift(t[s-2]),this.$=t[s];break;case 40:n.setCssClass(t[s-2],t[s]);break;case 41:n.addMembers(t[s-3],t[s-1]);break;case 42:n.setCssClass(t[s-5],t[s-3]),n.addMembers(t[s-5],t[s-1]);break;case 43:this.$=t[s],n.addClass(t[s]);break;case 44:this.$=t[s-1],n.addClass(t[s-1]),n.setClassLabel(t[s-1],t[s]);break;case 45:n.addAnnotation(t[s],t[s-2]);break;case 46:case 59:this.$=[t[s]];break;case 47:t[s].push(t[s-1]),this.$=t[s];break;case 48:break;case 49:n.addMember(t[s-1],n.cleanupLabel(t[s]));break;case 50:break;case 51:break;case 52:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 54:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 55:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 56:n.addNote(t[s],t[s-1]);break;case 57:n.addNote(t[s]);break;case 58:this.$=t[s-2],n.defineClass(t[s-1],t[s]);break;case 60:this.$=t[s-2].concat([t[s]]);break;case 61:n.setDirection("TB");break;case 62:n.setDirection("BT");break;case 63:n.setDirection("RL");break;case 64:n.setDirection("LR");break;case 65:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 66:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 67:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 68:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 69:this.$=n.relationType.AGGREGATION;break;case 70:this.$=n.relationType.EXTENSION;break;case 71:this.$=n.relationType.COMPOSITION;break;case 72:this.$=n.relationType.DEPENDENCY;break;case 73:this.$=n.relationType.LOLLIPOP;break;case 74:this.$=n.lineType.LINE;break;case 75:this.$=n.lineType.DOTTED_LINE;break;case 76:case 82:this.$=t[s-2],n.setClickEvent(t[s-1],t[s]);break;case 77:case 83:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 78:this.$=t[s-2],n.setLink(t[s-1],t[s]);break;case 79:this.$=t[s-3],n.setLink(t[s-2],t[s-1],t[s]);break;case 80:this.$=t[s-3],n.setLink(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 81:this.$=t[s-4],n.setLink(t[s-3],t[s-2],t[s]),n.setTooltip(t[s-3],t[s-1]);break;case 84:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1],t[s]);break;case 85:this.$=t[s-4],n.setClickEvent(t[s-3],t[s-2],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 86:this.$=t[s-3],n.setLink(t[s-2],t[s]);break;case 87:this.$=t[s-4],n.setLink(t[s-3],t[s-1],t[s]);break;case 88:this.$=t[s-4],n.setLink(t[s-3],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 89:this.$=t[s-5],n.setLink(t[s-4],t[s-2],t[s]),n.setTooltip(t[s-4],t[s-1]);break;case 90:this.$=t[s-2],n.setCssStyle(t[s-1],t[s]);break;case 91:n.setCssClass(t[s-1],t[s]);break;case 92:this.$=[t[s]];break;case 93:t[s-2].push(t[s]),this.$=t[s-2];break;case 95:this.$=t[s-1]+t[s];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:l,38:22,42:c,43:23,46:r,47:A,49:f,50:T,52:S,54:ke,55:ye,58:m,60:Te,61:Fe,62:De,63:_e,73:Be,74:Se,76:ve,80:Ne,81:Le,84:E,99:b,101:k,102:F},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(xe,[2,5],{8:[1,48]}),{8:[1,49]},e(p,[2,18],{22:[1,50]}),e(p,[2,20]),e(p,[2,21]),e(p,[2,22]),e(p,[2,23]),e(p,[2,24]),e(p,[2,25]),e(p,[2,26]),e(p,[2,27]),e(p,[2,28]),e(p,[2,29]),{34:[1,51]},{36:[1,52]},e(p,[2,32]),e(p,[2,48],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:re,67:ue,68:le,69:oe,70:ce,71:Ie,72:Oe}),{39:[1,65]},e(he,[2,39],{39:[1,67],44:[1,66]}),e(p,[2,50]),e(p,[2,51]),{16:68,58:m,84:E,99:b,101:k},{16:39,18:69,19:40,58:m,84:E,99:b,101:k,102:F},{16:39,18:70,19:40,58:m,84:E,99:b,101:k,102:F},{16:39,18:71,19:40,58:m,84:E,99:b,101:k,102:F},{58:[1,72]},{13:[1,73]},{16:39,18:74,19:40,58:m,84:E,99:b,101:k,102:F},{13:qe,53:75},{56:77,58:[1,78]},e(p,[2,61]),e(p,[2,62]),e(p,[2,63]),e(p,[2,64]),e(G,[2,12],{16:39,19:40,18:80,17:[1,79],20:[1,81],58:m,84:E,99:b,101:k,102:F}),e(G,[2,14],{20:[1,82]}),{15:83,16:84,58:m,84:E,99:b,101:k},{16:39,18:85,19:40,58:m,84:E,99:b,101:k,102:F},e(pe,[2,118]),e(pe,[2,119]),e(pe,[2,120]),e(pe,[2,121]),e([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,122]),e(xe,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,18:21,38:22,43:23,16:39,19:40,5:86,33:i,35:a,37:l,42:c,46:r,47:A,49:f,50:T,52:S,54:ke,55:ye,58:m,60:Te,61:Fe,62:De,63:_e,73:Be,74:Se,76:ve,80:Ne,81:Le,84:E,99:b,101:k,102:F}),{5:87,10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:l,38:22,42:c,43:23,46:r,47:A,49:f,50:T,52:S,54:ke,55:ye,58:m,60:Te,61:Fe,62:De,63:_e,73:Be,74:Se,76:ve,80:Ne,81:Le,84:E,99:b,101:k,102:F},e(p,[2,19]),e(p,[2,30]),e(p,[2,31]),{13:[1,89],16:39,18:88,19:40,58:m,84:E,99:b,101:k,102:F},{51:90,64:56,65:57,66:re,67:ue,68:le,69:oe,70:ce,71:Ie,72:Oe},e(p,[2,49]),{65:91,71:Ie,72:Oe},e(de,[2,68],{64:92,66:re,67:ue,68:le,69:oe,70:ce}),e(j,[2,69]),e(j,[2,70]),e(j,[2,71]),e(j,[2,72]),e(j,[2,73]),e(He,[2,74]),e(He,[2,75]),{8:[1,94],24:95,40:93,43:23,46:r},{16:96,58:m,84:E,99:b,101:k},{45:97,49:we},{48:[1,99]},{13:[1,100]},{13:[1,101]},{77:[1,102],79:[1,103]},{22:Q,57:104,58:W,80:X,82:105,83:106,84:q,85:H,86:J,87:Z,88:$,89:ee},{58:[1,116]},{13:qe,53:117},e(p,[2,57]),e(p,[2,123]),{22:Q,57:118,58:W,59:[1,119],80:X,82:105,83:106,84:q,85:H,86:J,87:Z,88:$,89:ee},e(Je,[2,59]),{16:39,18:120,19:40,58:m,84:E,99:b,101:k,102:F},e(G,[2,15]),e(G,[2,16]),e(G,[2,17]),{39:[2,35]},{15:122,16:84,17:[1,121],39:[2,9],58:m,84:E,99:b,101:k},e(Ve,[2,43],{11:123,12:[1,124]}),e(xe,[2,7]),{9:[1,125]},e(Ae,[2,52]),{16:39,18:126,19:40,58:m,84:E,99:b,101:k,102:F},{13:[1,128],16:39,18:127,19:40,58:m,84:E,99:b,101:k,102:F},e(de,[2,67],{64:129,66:re,67:ue,68:le,69:oe,70:ce}),e(de,[2,66]),{41:[1,130]},{24:95,40:131,43:23,46:r},{8:[1,132],41:[2,36]},e(he,[2,40],{39:[1,133]}),{41:[1,134]},{41:[2,46],45:135,49:we},{16:39,18:136,19:40,58:m,84:E,99:b,101:k,102:F},e(p,[2,76],{13:[1,137]}),e(p,[2,78],{13:[1,139],75:[1,138]}),e(p,[2,82],{13:[1,140],78:[1,141]}),{13:[1,142]},e(p,[2,90],{59:Ze}),e($e,[2,92],{83:144,22:Q,58:W,80:X,84:q,85:H,86:J,87:Z,88:$,89:ee}),e(N,[2,94]),e(N,[2,96]),e(N,[2,97]),e(N,[2,98]),e(N,[2,99]),e(N,[2,100]),e(N,[2,101]),e(N,[2,102]),e(N,[2,103]),e(N,[2,104]),e(p,[2,91]),e(p,[2,56]),e(p,[2,58],{59:Ze}),{58:[1,145]},e(G,[2,13]),{15:146,16:84,58:m,84:E,99:b,101:k},{39:[2,11]},e(Ve,[2,44]),{13:[1,147]},{1:[2,4]},e(Ae,[2,54]),e(Ae,[2,53]),{16:39,18:148,19:40,58:m,84:E,99:b,101:k,102:F},e(de,[2,65]),e(p,[2,33]),{41:[1,149]},{24:95,40:150,41:[2,37],43:23,46:r},{45:151,49:we},e(he,[2,41]),{41:[2,47]},e(p,[2,45]),e(p,[2,77]),e(p,[2,79]),e(p,[2,80],{75:[1,152]}),e(p,[2,83]),e(p,[2,84],{13:[1,153]}),e(p,[2,86],{13:[1,155],75:[1,154]}),{22:Q,58:W,80:X,82:156,83:106,84:q,85:H,86:J,87:Z,88:$,89:ee},e(N,[2,95]),e(Je,[2,60]),{39:[2,10]},{14:[1,157]},e(Ae,[2,55]),e(p,[2,34]),{41:[2,38]},{41:[1,158]},e(p,[2,81]),e(p,[2,85]),e(p,[2,87]),e(p,[2,88],{75:[1,159]}),e($e,[2,93],{83:144,22:Q,58:W,80:X,84:q,85:H,86:J,87:Z,88:$,89:ee}),e(Ve,[2,8]),e(he,[2,42]),e(p,[2,89])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,35],122:[2,11],125:[2,4],135:[2,47],146:[2,10],150:[2,38]},parseError:u(function(o,h){if(h.recoverable)this.trace(o);else{var d=new Error(o);throw d.hash=h,d}},"parseError"),parse:u(function(o){var h=this,d=[0],n=[],C=[null],t=[],te=this.table,s="",ge=0,et=0,At=2,tt=1,ft=t.slice.call(arguments,1),y=Object.create(this.lexer),V={yy:{}};for(var Re in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Re)&&(V.yy[Re]=this.yy[Re]);y.setInput(o,V.yy),V.yy.lexer=y,V.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var Me=y.yylloc;t.push(Me);var gt=y.options&&y.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ct(B){d.length=d.length-2*B,C.length=C.length-B,t.length=t.length-B}u(Ct,"popStack");function st(){var B;return B=n.pop()||y.lex()||tt,typeof B!="number"&&(B instanceof Array&&(n=B,B=n.pop()),B=h.symbols_[B]||B),B}u(st,"lex");for(var _,P,v,Ge,U={},Ce,x,it,me;;){if(P=d[d.length-1],this.defaultActions[P]?v=this.defaultActions[P]:((_===null||typeof _>"u")&&(_=st()),v=te[P]&&te[P][_]),typeof v>"u"||!v.length||!v[0]){var Ue="";me=[];for(Ce in te[P])this.terminals_[Ce]&&Ce>At&&me.push("'"+this.terminals_[Ce]+"'");y.showPosition?Ue="Parse error on line "+(ge+1)+`: +`+y.showPosition()+` +Expecting `+me.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Ue="Parse error on line "+(ge+1)+": Unexpected "+(_==tt?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Ue,{text:y.match,token:this.terminals_[_]||_,line:y.yylineno,loc:Me,expected:me})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+_);switch(v[0]){case 1:d.push(_),C.push(y.yytext),t.push(y.yylloc),d.push(v[1]),_=null,et=y.yyleng,s=y.yytext,ge=y.yylineno,Me=y.yylloc;break;case 2:if(x=this.productions_[v[1]][1],U.$=C[C.length-x],U._$={first_line:t[t.length-(x||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(x||1)].first_column,last_column:t[t.length-1].last_column},gt&&(U._$.range=[t[t.length-(x||1)].range[0],t[t.length-1].range[1]]),Ge=this.performAction.apply(U,[s,et,ge,V.yy,v[1],C,t].concat(ft)),typeof Ge<"u")return Ge;x&&(d=d.slice(0,-1*x*2),C=C.slice(0,-1*x),t=t.slice(0,-1*x)),d.push(this.productions_[v[1]][0]),C.push(U.$),t.push(U._$),it=te[d[d.length-2]][d[d.length-1]],d.push(it);break;case 3:return!0}}return!0},"parse")},dt=function(){var O={EOF:1,parseError:u(function(h,d){if(this.yy.parser)this.yy.parser.parseError(h,d);else throw new Error(h)},"parseError"),setInput:u(function(o,h){return this.yy=h||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:u(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var h=o.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:u(function(o){var h=o.length,d=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===n.length?this.yylloc.first_column:0)+n[n.length-d.length].length-d[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:u(function(){return this._more=!0,this},"more"),reject:u(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:u(function(o){this.unput(this.match.slice(o))},"less"),pastInput:u(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:u(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:u(function(){var o=this.pastInput(),h=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+h+"^"},"showPosition"),test_match:u(function(o,h){var d,n,C;if(this.options.backtrack_lexer&&(C={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(C.yylloc.range=this.yylloc.range.slice(0))),n=o[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],d=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),d)return d;if(this._backtrack){for(var t in C)this[t]=C[t];return!1}return!1},"test_match"),next:u(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,h,d,n;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),t=0;th[0].length)){if(h=d,n=t,this.options.backtrack_lexer){if(o=this.test_match(d,C[t]),o!==!1)return o;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(o=this.test_match(h,C[n]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:u(function(){var h=this.next();return h||this.lex()},"lex"),begin:u(function(h){this.conditionStack.push(h)},"begin"),popState:u(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:u(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:u(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:u(function(h){this.begin(h)},"pushState"),stateStackSize:u(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:u(function(h,d,n,C){switch(n){case 0:return 60;case 1:return 61;case 2:return 62;case 3:return 63;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 77;case 22:this.popState();break;case 23:return 78;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 80;case 28:return 55;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),46;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 81;case 50:return 73;case 51:return 74;case 52:return 76;case 53:return 52;case 54:return 54;case 55:return 47;case 56:return 48;case 57:return 79;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 75;case 65:return 75;case 66:return 75;case 67:return 75;case 68:return 67;case 69:return 67;case 70:return 69;case 71:return 69;case 72:return 68;case 73:return 66;case 74:return 70;case 75:return 71;case 76:return 72;case 77:return 22;case 78:return 44;case 79:return 99;case 80:return 17;case 81:return"PLUS";case 82:return 85;case 83:return 59;case 84:return 88;case 85:return 88;case 86:return 89;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 58;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 84;case 94:return 101;case 95:return 87;case 96:return 87;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return O}();Pe.lexer=dt;function fe(){this.yy={}}return u(fe,"Parser"),fe.prototype=Pe,Pe.Parser=fe,new fe}();Ke.parser=Ke;var os=Ke,nt=["#","+","~","-",""],ae,at=(ae=class{constructor(i,a){this.memberType=a,this.visibility="",this.classifier="",this.text="";const l=bt(i,D());this.parseMember(l)}getDisplayDetails(){let i=this.visibility+z(this.id);this.memberType==="method"&&(i+=`(${z(this.parameters.trim())})`,this.returnType&&(i+=" : "+z(this.returnType))),i=i.trim();const a=this.parseClassifier();return{displayText:i,cssStyle:a}}parseMember(i){let a="";if(this.memberType==="method"){const r=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(i);if(r){const A=r[1]?r[1].trim():"";if(nt.includes(A)&&(this.visibility=A),this.id=r[2],this.parameters=r[3]?r[3].trim():"",a=r[4]?r[4].trim():"",this.returnType=r[5]?r[5].trim():"",a===""){const f=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(f)&&(a=f,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const c=i.length,r=i.substring(0,1),A=i.substring(c-1);nt.includes(r)&&(this.visibility=r),/[$*]/.exec(A)&&(a=A),this.id=i.substring(this.visibility===""?0:1,a===""?c:c-1)}this.classifier=a,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const l=`${this.visibility?"\\"+this.visibility:""}${z(this.id)}${this.memberType==="method"?`(${z(this.parameters)})${this.returnType?" : "+z(this.returnType):""}`:""}`;this.text=l.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},u(ae,"ClassMember"),ae),Ee="classId-",be=[],g=new Map,rt=new Map,ie=[],Y=[],ut=0,L=new Map,Ye=0,ne=[],R=u(e=>I.sanitizeText(e,D()),"sanitizeText"),M=u(function(e){const i=I.sanitizeText(e,D());let a="",l=i;if(i.indexOf("~")>0){const c=i.split("~");l=R(c[0]),a=R(c[1])}return{className:l,type:a}},"splitClassNameAndType"),Lt=u(function(e,i){const a=I.sanitizeText(e,D());i&&(i=R(i));const{className:l}=M(a);g.get(l).label=i,g.get(l).text=`${i}${g.get(l).type?`<${g.get(l).type}>`:""}`},"setClassLabel"),K=u(function(e){const i=I.sanitizeText(e,D()),{className:a,type:l}=M(i);if(g.has(a))return;const c=I.sanitizeText(a,D());g.set(c,{id:c,type:l,label:c,text:`${c}${l?`<${l}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:Ee+c+"-"+ut}),ut++},"addClass"),lt=u(function(e,i){const a={id:`interface${Y.length}`,label:e,classId:i};Y.push(a)},"addInterface"),ot=u(function(e){const i=I.sanitizeText(e,D());if(g.has(i))return g.get(i).domId;throw new Error("Class not found: "+i)},"lookUpDomId"),xt=u(function(){be=[],g=new Map,ie=[],Y=[],ne=[],ne.push(ht),L=new Map,Ye=0,Xe="TB",Bt()},"clear"),It=u(function(e){return g.get(e)},"getClass"),Ot=u(function(){return g},"getClasses"),wt=u(function(){return be},"getRelations"),Vt=u(function(){return ie},"getNotes"),Pt=u(function(e){ze.debug("Adding relation: "+JSON.stringify(e));const i=[w.LOLLIPOP,w.AGGREGATION,w.COMPOSITION,w.DEPENDENCY,w.EXTENSION];e.relation.type1===w.LOLLIPOP&&!i.includes(e.relation.type2)?(K(e.id2),lt(e.id1,e.id2),e.id1=`interface${Y.length-1}`):e.relation.type2===w.LOLLIPOP&&!i.includes(e.relation.type1)?(K(e.id1),lt(e.id2,e.id1),e.id2=`interface${Y.length-1}`):(K(e.id1),K(e.id2)),e.id1=M(e.id1).className,e.id2=M(e.id2).className,e.relationTitle1=I.sanitizeText(e.relationTitle1.trim(),D()),e.relationTitle2=I.sanitizeText(e.relationTitle2.trim(),D()),be.push(e)},"addRelation"),Rt=u(function(e,i){const a=M(e).className;g.get(a).annotations.push(i)},"addAnnotation"),ct=u(function(e,i){K(e);const a=M(e).className,l=g.get(a);if(typeof i=="string"){const c=i.trim();c.startsWith("<<")&&c.endsWith(">>")?l.annotations.push(R(c.substring(2,c.length-2))):c.indexOf(")")>0?l.methods.push(new at(c,"method")):c&&l.members.push(new at(c,"attribute"))}},"addMember"),Mt=u(function(e,i){Array.isArray(i)&&(i.reverse(),i.forEach(a=>ct(e,a)))},"addMembers"),Gt=u(function(e,i){const a={id:`note${ie.length}`,class:i,text:e};ie.push(a)},"addNote"),Ut=u(function(e){return e.startsWith(":")&&(e=e.substring(1)),R(e.trim())},"cleanupLabel"),We=u(function(e,i){e.split(",").forEach(function(a){let l=a;/\d/.exec(a[0])&&(l=Ee+l);const c=g.get(l);c&&(c.cssClasses+=" "+i)})},"setCssClass"),zt=u(function(e,i){for(const a of e){let l=rt.get(a);l===void 0&&(l={id:a,styles:[],textStyles:[]},rt.set(a,l)),i&&i.forEach(function(c){if(/color/.exec(c)){const r=c.replace("fill","bgFill");l.textStyles.push(r)}l.styles.push(c)}),g.forEach(c=>{c.cssClasses.includes(a)&&c.styles.push(...i.flatMap(r=>r.split(",")))})}},"defineClass"),Kt=u(function(e,i){e.split(",").forEach(function(a){i!==void 0&&(g.get(a).tooltip=R(i))})},"setTooltip"),Yt=u(function(e,i){return i&&L.has(i)?L.get(i).classes.get(e).tooltip:g.get(e).tooltip},"getTooltip"),jt=u(function(e,i,a){const l=D();e.split(",").forEach(function(c){let r=c;/\d/.exec(c[0])&&(r=Ee+r);const A=g.get(r);A&&(A.link=Qe.formatUrl(i,l),l.securityLevel==="sandbox"?A.linkTarget="_top":typeof a=="string"?A.linkTarget=R(a):A.linkTarget="_blank")}),We(e,"clickable")},"setLink"),Qt=u(function(e,i,a){e.split(",").forEach(function(l){Wt(l,i,a),g.get(l).haveCallback=!0}),We(e,"clickable")},"setClickEvent"),Wt=u(function(e,i,a){const l=I.sanitizeText(e,D());if(D().securityLevel!=="loose"||i===void 0)return;const r=l;if(g.has(r)){const A=ot(r);let f=[];if(typeof a=="string"){f=a.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let T=0;T")),c.classed("hover",!0)}).on("mouseout",function(){i.transition().duration(500).style("opacity",0),se(this).classed("hover",!1)})},"setupToolTips");ne.push(ht);var Xe="TB",pt=u(()=>Xe,"getDirection"),Ht=u(e=>{Xe=e},"setDirection"),Jt=u(function(e){L.has(e)||(L.set(e,{id:e,classes:new Map,children:{},domId:Ee+e+"-"+Ye}),Ye++)},"addNamespace"),Zt=u(function(e){return L.get(e)},"getNamespace"),$t=u(function(){return L},"getNamespaces"),es=u(function(e,i){if(L.has(e))for(const a of i){const{className:l}=M(a);g.get(l).parent=e,L.get(e).classes.set(l,g.get(l))}},"addClassesToNamespace"),ts=u(function(e,i){const a=g.get(e);if(!(!i||!a))for(const l of i)l.includes(",")?a.styles.push(...l.split(",")):a.styles.push(l)},"setCssStyle");function je(e){let i;switch(e){case 0:i="aggregation";break;case 1:i="extension";break;case 2:i="composition";break;case 3:i="dependency";break;case 4:i="lollipop";break;default:i="none"}return i}u(je,"getArrowMarker");var ss=u(()=>{var c;const e=[],i=[],a=D();for(const r of L.keys()){const A=L.get(r);if(A){const f={id:A.id,label:A.id,isGroup:!0,padding:a.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:a.look};e.push(f)}}for(const r of g.keys()){const A=g.get(r);if(A){const f=A;f.parentId=A.parent,f.look=a.look,e.push(f)}}let l=0;for(const r of ie){l++;const A={id:r.id,label:r.text,isGroup:!1,shape:"note",padding:a.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${a.themeVariables.noteBkgColor}`,`stroke: ${a.themeVariables.noteBorderColor}`],look:a.look};e.push(A);const f=((c=g.get(r.class))==null?void 0:c.id)??"";if(f){const T={id:`edgeNote${l}`,start:r.id,end:f,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:a.look};i.push(T)}}for(const r of Y){const A={id:r.id,label:r.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:a.look};e.push(A)}l=0;for(const r of be){l++;const A={id:St(r.id1,r.id2,{prefix:"id",counter:l}),start:r.id1,end:r.id2,type:"normal",label:r.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:je(r.relation.type1),arrowTypeEnd:je(r.relation.type2),startLabelRight:r.relationTitle1==="none"?"":r.relationTitle1,endLabelLeft:r.relationTitle2==="none"?"":r.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:r.style||"",pattern:r.relation.lineType==1?"dashed":"solid",look:a.look};i.push(A)}return{nodes:e,edges:i,other:{},config:a,direction:pt()}},"getData"),cs={setAccTitle:kt,getAccTitle:yt,getAccDescription:Tt,setAccDescription:Ft,getConfig:u(()=>D().class,"getConfig"),addClass:K,bindFunctions:Xt,clear:xt,getClass:It,getClasses:Ot,getNotes:Vt,addAnnotation:Rt,addNote:Gt,getRelations:wt,addRelation:Pt,getDirection:pt,setDirection:Ht,addMember:ct,addMembers:Mt,cleanupLabel:Ut,lineType:qt,relationType:w,setClickEvent:Qt,setCssClass:We,defineClass:zt,setLink:jt,getTooltip:Yt,setTooltip:Kt,lookUpDomId:ot,setDiagramTitle:Dt,getDiagramTitle:_t,setClassLabel:Lt,addNamespace:Jt,addClassesToNamespace:es,getNamespace:Zt,getNamespaces:$t,setCssStyle:ts,getData:ss},is=u(e=>`g.classGroup text { + fill: ${e.nodeBorder||e.classText}; + stroke: none; + font-family: ${e.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${e.classText}; +} +.edgeLabel .label rect { + fill: ${e.mainBkg}; +} +.label text { + fill: ${e.classText}; +} + +.labelBkg { + background: ${e.mainBkg}; +} +.edgeLabel .label span { + background: ${e.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${e.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; +} + +g.classGroup line { + stroke: ${e.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${e.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${e.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${e.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${e.mainBkg} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${e.mainBkg} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; +} +`,"getStyles"),hs=is,ns=u((e,i="TB")=>{if(!e.doc)return i;let a=i;for(const l of e.doc)l.stmt==="dir"&&(a=l.value);return a},"getDir"),as=u(function(e,i){return i.db.getClasses()},"getClasses"),rs=u(async function(e,i,a,l){ze.info("REF0:"),ze.info("Drawing class diagram (v3)",i);const{securityLevel:c,state:r,layout:A}=D(),f=l.db.getData(),T=mt(i,c);f.type=l.type,f.layoutAlgorithm=vt(A),f.nodeSpacing=(r==null?void 0:r.nodeSpacing)||50,f.rankSpacing=(r==null?void 0:r.rankSpacing)||50,f.markers=["aggregation","extension","composition","dependency","lollipop"],f.diagramId=i,await Nt(f,T);const S=8;Qe.insertTitle(T,"classDiagramTitleText",(r==null?void 0:r.titleTopMargin)??25,l.db.getDiagramTitle()),Et(T,S,"classDiagram",(r==null?void 0:r.useMaxWidth)??!0)},"draw"),ps={getClasses:as,draw:rs,getDir:ns};export{cs as a,ps as b,os as c,hs as s}; diff --git a/_nuxt/ufPKIqBi.js b/_nuxt/ufPKIqBi.js new file mode 100644 index 000000000..dbb07b77b --- /dev/null +++ b/_nuxt/ufPKIqBi.js @@ -0,0 +1 @@ +import{_ as r,o,b as s,r as t}from"./DzgF3Vew.js";const n={};function c(e,a){return o(),s("em",null,[t(e.$slots,"default")])}const _=r(n,[["render",c]]);export{_ as default}; diff --git a/_nuxt/vh4weN6L.js b/_nuxt/vh4weN6L.js new file mode 100644 index 000000000..596fe9c18 --- /dev/null +++ b/_nuxt/vh4weN6L.js @@ -0,0 +1,51 @@ +import{_ as u,d as U,s as kt,g as xt,c as Rt,b as Ot,q as bt,r as Nt,l as X,x as Tt,j as at,v as At,k as Mt,a1 as vt,a8 as St,a7 as wt}from"./BN9GDn3H.js";import{G as It}from"./csrLU7rk.js";import{l as Dt}from"./C3NahR2g.js";import"./BJevMQrH.js";import"./DzgF3Vew.js";import"./IShi1APO.js";import"./Cpj98o6Y.js";import"./BH-Vtj6c.js";import"./7nLUnQzp.js";const Lt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Bt(t){return typeof t=="string"&&Lt.test(t)}const v=[];for(let t=0;t<256;++t)v.push((t+256).toString(16).slice(1));function Ct(t,e=0){return v[t[e+0]]+v[t[e+1]]+v[t[e+2]]+v[t[e+3]]+"-"+v[t[e+4]]+v[t[e+5]]+"-"+v[t[e+6]]+v[t[e+7]]+"-"+v[t[e+8]]+v[t[e+9]]+"-"+v[t[e+10]]+v[t[e+11]]+v[t[e+12]]+v[t[e+13]]+v[t[e+14]]+v[t[e+15]]}function Pt(t){if(!Bt(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}function Yt(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>32-e}function Ht(t){const e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const y=unescape(encodeURIComponent(t));t=[];for(let o=0;o>>0;x=k,k=m,m=it(g,30)>>>0,g=h,h=b}r[0]=r[0]+h>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+k>>>0,r[4]=r[4]+x>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}const zt=Wt("v5",80,Ht);var nt=function(){var t=u(function(w,i,n,l){for(n=n||{},l=w.length;l--;n[w[l]]=i);return n},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],f=[1,11],c=[1,12],_=[1,13],y=[1,14],o=[1,15],h=[1,21],g=[1,22],m=[1,23],k=[1,24],x=[1,25],p=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],O=[1,34],b=[27,28,46,47],Y=[41,42,43,44,45],Z=[17,34],F=[1,54],M=[1,53],S=[17,34,36,38],N={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:u(function(i,n,l,d,E,a,V){var s=a.length-1;switch(E){case 1:break;case 2:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 6:case 7:this.$=[];break;case 8:d.addEntity(a[s-4]),d.addEntity(a[s-2]),d.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 9:d.addEntity(a[s-3]),d.addAttributes(a[s-3],a[s-1]);break;case 10:d.addEntity(a[s-2]);break;case 11:d.addEntity(a[s]);break;case 12:d.addEntity(a[s-6],a[s-4]),d.addAttributes(a[s-6],a[s-1]);break;case 13:d.addEntity(a[s-5],a[s-3]);break;case 14:d.addEntity(a[s-3],a[s-1]);break;case 15:case 16:this.$=a[s].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),d.setAccDescription(this.$);break;case 19:case 43:this.$=a[s];break;case 20:case 41:case 42:this.$=a[s].replace(/"/g,"");break;case 21:case 29:this.$=[a[s]];break;case 22:a[s].push(a[s-1]),this.$=a[s];break;case 23:this.$={attributeType:a[s-1],attributeName:a[s]};break;case 24:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeKeyTypeList:a[s]};break;case 25:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeComment:a[s]};break;case 26:this.$={attributeType:a[s-3],attributeName:a[s-2],attributeKeyTypeList:a[s-1],attributeComment:a[s]};break;case 27:case 28:case 31:this.$=a[s];break;case 30:a[s-2].push(a[s]),this.$=a[s-2];break;case 32:this.$=a[s].replace(/"/g,"");break;case 33:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 34:this.$=d.Cardinality.ZERO_OR_ONE;break;case 35:this.$=d.Cardinality.ZERO_OR_MORE;break;case 36:this.$=d.Cardinality.ONE_OR_MORE;break;case 37:this.$=d.Cardinality.ONLY_ONE;break;case 38:this.$=d.Cardinality.MD_PARENT;break;case 39:this.$=d.Identification.NON_IDENTIFYING;break;case 40:this.$=d.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:f,24:c,26:_,27:y,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:f,24:c,26:_,27:y,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:h,42:g,43:m,44:k,45:x}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(p,[2,19]),t(p,[2,20]),t(e,[2,4]),{11:29,27:y,28:o},{16:30,17:[1,31],29:32,30:33,34:O},{11:35,27:y,28:o},{40:36,46:[1,37],47:[1,38]},t(b,[2,34]),t(b,[2,35]),t(b,[2,36]),t(b,[2,37]),t(b,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:O},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:h,42:g,43:m,44:k,45:x},t(Y,[2,39]),t(Y,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(Z,[2,23],{32:50,33:51,35:52,37:F,38:M}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(Z,[2,24],{33:56,36:[1,57],38:M}),t(Z,[2,25]),t(S,[2,29]),t(Z,[2,32]),t(S,[2,31]),{16:58,17:[1,59],29:32,30:33,34:O},t(Z,[2,26]),{35:60,37:F},{17:[1,61]},t(e,[2,13]),t(S,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:u(function(i,n){if(n.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=n,l}},"parseError"),parse:u(function(i){var n=this,l=[0],d=[],E=[null],a=[],V=this.table,s="",j=0,lt=0,_t=2,ct=1,Et=a.slice.call(arguments,1),A=Object.create(this.lexer),H={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(H.yy[$]=this.yy[$]);A.setInput(i,H.yy),H.yy.lexer=A,H.yy.parser=this,typeof A.yylloc>"u"&&(A.yylloc={});var tt=A.yylloc;a.push(tt);var gt=A.options&&A.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function mt(D){l.length=l.length-2*D,E.length=E.length-D,a.length=a.length-D}u(mt,"popStack");function ht(){var D;return D=d.pop()||A.lex()||ct,typeof D!="number"&&(D instanceof Array&&(d=D,D=d.pop()),D=n.symbols_[D]||D),D}u(ht,"lex");for(var I,z,B,et,K={},q,W,dt,J;;){if(z=l[l.length-1],this.defaultActions[z]?B=this.defaultActions[z]:((I===null||typeof I>"u")&&(I=ht()),B=V[z]&&V[z][I]),typeof B>"u"||!B.length||!B[0]){var rt="";J=[];for(q in V[z])this.terminals_[q]&&q>_t&&J.push("'"+this.terminals_[q]+"'");A.showPosition?rt="Parse error on line "+(j+1)+`: +`+A.showPosition()+` +Expecting `+J.join(", ")+", got '"+(this.terminals_[I]||I)+"'":rt="Parse error on line "+(j+1)+": Unexpected "+(I==ct?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(rt,{text:A.match,token:this.terminals_[I]||I,line:A.yylineno,loc:tt,expected:J})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+I);switch(B[0]){case 1:l.push(I),E.push(A.yytext),a.push(A.yylloc),l.push(B[1]),I=null,lt=A.yyleng,s=A.yytext,j=A.yylineno,tt=A.yylloc;break;case 2:if(W=this.productions_[B[1]][1],K.$=E[E.length-W],K._$={first_line:a[a.length-(W||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(W||1)].first_column,last_column:a[a.length-1].last_column},gt&&(K._$.range=[a[a.length-(W||1)].range[0],a[a.length-1].range[1]]),et=this.performAction.apply(K,[s,lt,j,H.yy,B[1],E,a].concat(Et)),typeof et<"u")return et;W&&(l=l.slice(0,-1*W*2),E=E.slice(0,-1*W),a=a.slice(0,-1*W)),l.push(this.productions_[B[1]][0]),E.push(K.$),a.push(K._$),dt=V[l[l.length-2]][l[l.length-1]],l.push(dt);break;case 3:return!0}}return!0},"parse")},T=function(){var w={EOF:1,parseError:u(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:u(function(i,n){return this.yy=n||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:u(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:u(function(i){var n=i.length,l=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===d.length?this.yylloc.first_column:0)+d[d.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:u(function(){return this._more=!0,this},"more"),reject:u(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:u(function(i){this.unput(this.match.slice(i))},"less"),pastInput:u(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:u(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:u(function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+n+"^"},"showPosition"),test_match:u(function(i,n){var l,d,E;if(this.options.backtrack_lexer&&(E={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(E.yylloc.range=this.yylloc.range.slice(0))),d=i[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],l=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var a in E)this[a]=E[a];return!1}return!1},"test_match"),next:u(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,n,l,d;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),a=0;an[0].length)){if(n=l,d=a,this.options.backtrack_lexer){if(i=this.test_match(l,E[a]),i!==!1)return i;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(i=this.test_match(n,E[d]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:u(function(){var n=this.next();return n||this.lex()},"lex"),begin:u(function(n){this.conditionStack.push(n)},"begin"),popState:u(function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:u(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:u(function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:u(function(n){this.begin(n)},"pushState"),stateStackSize:u(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:u(function(n,l,d,E){switch(d){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return l.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return l.yytext[0];case 55:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return w}();N.lexer=T;function L(){this.yy={}}return u(L,"Parser"),L.prototype=N,N.Parser=L,new L}();nt.parser=nt;var Gt=nt,G=new Map,ot=[],Kt={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},Vt={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},ft=u(function(t,e=void 0){return G.has(t)?!G.get(t).alias&&e&&(G.get(t).alias=e,X.info(`Add alias '${e}' to entity '${t}'`)):(G.set(t,{attributes:[],alias:e}),X.info("Added new entity :",t)),G.get(t)},"addEntity"),Xt=u(()=>G,"getEntities"),Qt=u(function(t,e){let r=ft(t),f;for(f=e.length-1;f>=0;f--)r.attributes.push(e[f]),X.debug("Added attribute ",e[f].attributeName)},"addAttributes"),jt=u(function(t,e,r,f){let c={entityA:t,roleA:e,entityB:r,relSpec:f};ot.push(c),X.debug("Added new relationship :",c)},"addRelationship"),qt=u(()=>ot,"getRelationships"),Jt=u(function(){G=new Map,ot=[],Tt()},"clear"),$t={Cardinality:Kt,Identification:Vt,getConfig:u(()=>U().er,"getConfig"),addEntity:ft,addAttributes:Qt,getEntities:Xt,addRelationship:jt,getRelationships:qt,clear:Jt,setAccTitle:kt,getAccTitle:xt,setAccDescription:Rt,getAccDescription:Ot,setDiagramTitle:bt,getDiagramTitle:Nt},C={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},te=u(function(t,e){let r;t.append("defs").append("marker").attr("id",C.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",C.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",C.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",C.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",C.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",C.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",C.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",C.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),r=t.append("defs").append("marker").attr("id",C.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),r=t.append("defs").append("marker").attr("id",C.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"insertMarkers"),P={ERMarkers:C,insertMarkers:te},ee=/[^\dA-Za-z](\W)*/g,R={},Q=new Map,re=u(function(t){const e=Object.keys(t);for(const r of e)R[r]=t[r]},"setConf"),ae=u((t,e,r)=>{const f=R.entityPadding/3,c=R.entityPadding/3,_=R.fontSize*.85,y=e.node().getBBox(),o=[];let h=!1,g=!1,m=0,k=0,x=0,p=0,O=y.height+f*2,b=1;r.forEach(M=>{M.attributeKeyTypeList!==void 0&&M.attributeKeyTypeList.length>0&&(h=!0),M.attributeComment!==void 0&&(g=!0)}),r.forEach(M=>{const S=`${e.node().id}-attr-${b}`;let N=0;const T=wt(M.attributeType),L=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",U().fontFamily).style("font-size",_+"px").text(T),w=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",U().fontFamily).style("font-size",_+"px").text(M.attributeName),i={};i.tn=L,i.nn=w;const n=L.node().getBBox(),l=w.node().getBBox();if(m=Math.max(m,n.width),k=Math.max(k,l.width),N=Math.max(n.height,l.height),h){const d=M.attributeKeyTypeList!==void 0?M.attributeKeyTypeList.join(","):"",E=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",U().fontFamily).style("font-size",_+"px").text(d);i.kn=E;const a=E.node().getBBox();x=Math.max(x,a.width),N=Math.max(N,a.height)}if(g){const d=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",U().fontFamily).style("font-size",_+"px").text(M.attributeComment||"");i.cn=d;const E=d.node().getBBox();p=Math.max(p,E.width),N=Math.max(N,E.height)}i.height=N,o.push(i),O+=N+f*2,b+=1});let Y=4;h&&(Y+=2),g&&(Y+=2);const Z=m+k+x+p,F={width:Math.max(R.minEntityWidth,Math.max(y.width+R.entityPadding*2,Z+c*Y)),height:r.length>0?O:Math.max(R.minEntityHeight,y.height+R.entityPadding*2)};if(r.length>0){const M=Math.max(0,(F.width-Z-c*Y)/(Y/2));e.attr("transform","translate("+F.width/2+","+(f+y.height/2)+")");let S=y.height+f*2,N="attributeBoxOdd";o.forEach(T=>{const L=S+f+T.height/2;T.tn.attr("transform","translate("+c+","+L+")");const w=t.insert("rect","#"+T.tn.node().id).classed(`er ${N}`,!0).attr("x",0).attr("y",S).attr("width",m+c*2+M).attr("height",T.height+f*2),i=parseFloat(w.attr("x"))+parseFloat(w.attr("width"));T.nn.attr("transform","translate("+(i+c)+","+L+")");const n=t.insert("rect","#"+T.nn.node().id).classed(`er ${N}`,!0).attr("x",i).attr("y",S).attr("width",k+c*2+M).attr("height",T.height+f*2);let l=parseFloat(n.attr("x"))+parseFloat(n.attr("width"));if(h){T.kn.attr("transform","translate("+(l+c)+","+L+")");const d=t.insert("rect","#"+T.kn.node().id).classed(`er ${N}`,!0).attr("x",l).attr("y",S).attr("width",x+c*2+M).attr("height",T.height+f*2);l=parseFloat(d.attr("x"))+parseFloat(d.attr("width"))}g&&(T.cn.attr("transform","translate("+(l+c)+","+L+")"),t.insert("rect","#"+T.cn.node().id).classed(`er ${N}`,"true").attr("x",l).attr("y",S).attr("width",p+c*2+M).attr("height",T.height+f*2)),S+=T.height+f*2,N=N==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else F.height=Math.max(R.minEntityHeight,O),e.attr("transform","translate("+F.width/2+","+F.height/2+")");return F},"drawAttributes"),ie=u(function(t,e,r){const f=[...e.keys()];let c;return f.forEach(function(_){const y=pt(_,"entity");Q.set(_,y);const o=t.append("g").attr("id",y);c=c===void 0?y:c;const h="text-"+y,g=o.append("text").classed("er entityLabel",!0).attr("id",h).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",U().fontFamily).style("font-size",R.fontSize+"px").text(e.get(_).alias??_),{width:m,height:k}=ae(o,g,e.get(_).attributes),p=o.insert("rect","#"+h).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",m).attr("height",k).node().getBBox();r.setNode(y,{width:p.width,height:p.height,shape:"rect",id:y})}),c},"drawEntities"),ne=u(function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")})},"adjustEntities"),yt=u(function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},"getEdgeName"),se=u(function(t,e){return t.forEach(function(r){e.setEdge(Q.get(r.entityA),Q.get(r.entityB),{relationship:r},yt(r))}),t},"addRelationships"),ut=0,oe=u(function(t,e,r,f,c){ut++;const _=r.edge(Q.get(e.entityA),Q.get(e.entityB),yt(e)),y=vt().x(function(b){return b.x}).y(function(b){return b.y}).curve(St),o=t.insert("path","#"+f).classed("er relationshipLine",!0).attr("d",y(_.points)).style("stroke",R.stroke).style("fill","none");e.relSpec.relType===c.db.Identification.NON_IDENTIFYING&&o.attr("stroke-dasharray","8,8");let h="";switch(R.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),e.relSpec.cardA){case c.db.Cardinality.ZERO_OR_ONE:o.attr("marker-end","url("+h+"#"+P.ERMarkers.ZERO_OR_ONE_END+")");break;case c.db.Cardinality.ZERO_OR_MORE:o.attr("marker-end","url("+h+"#"+P.ERMarkers.ZERO_OR_MORE_END+")");break;case c.db.Cardinality.ONE_OR_MORE:o.attr("marker-end","url("+h+"#"+P.ERMarkers.ONE_OR_MORE_END+")");break;case c.db.Cardinality.ONLY_ONE:o.attr("marker-end","url("+h+"#"+P.ERMarkers.ONLY_ONE_END+")");break;case c.db.Cardinality.MD_PARENT:o.attr("marker-end","url("+h+"#"+P.ERMarkers.MD_PARENT_END+")");break}switch(e.relSpec.cardB){case c.db.Cardinality.ZERO_OR_ONE:o.attr("marker-start","url("+h+"#"+P.ERMarkers.ZERO_OR_ONE_START+")");break;case c.db.Cardinality.ZERO_OR_MORE:o.attr("marker-start","url("+h+"#"+P.ERMarkers.ZERO_OR_MORE_START+")");break;case c.db.Cardinality.ONE_OR_MORE:o.attr("marker-start","url("+h+"#"+P.ERMarkers.ONE_OR_MORE_START+")");break;case c.db.Cardinality.ONLY_ONE:o.attr("marker-start","url("+h+"#"+P.ERMarkers.ONLY_ONE_START+")");break;case c.db.Cardinality.MD_PARENT:o.attr("marker-start","url("+h+"#"+P.ERMarkers.MD_PARENT_START+")");break}const g=o.node().getTotalLength(),m=o.node().getPointAtLength(g*.5),k="rel"+ut,x=e.roleA.split(/
    /g),p=t.append("text").classed("er relationshipLabel",!0).attr("id",k).attr("x",m.x).attr("y",m.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",U().fontFamily).style("font-size",R.fontSize+"px");if(x.length==1)p.text(e.roleA);else{const b=-(x.length-1)*.5;x.forEach((Y,Z)=>{p.append("tspan").attr("x",m.x).attr("dy",`${Z===0?b:1}em`).text(Y)})}const O=p.node().getBBox();t.insert("rect","#"+k).classed("er relationshipLabelBox",!0).attr("x",m.x-O.width/2).attr("y",m.y-O.height/2).attr("width",O.width).attr("height",O.height)},"drawRelationshipFromLayout"),le=u(function(t,e,r,f){R=U().er,X.info("Drawing ER diagram");const c=U().securityLevel;let _;c==="sandbox"&&(_=at("#i"+e));const o=(c==="sandbox"?at(_.nodes()[0].contentDocument.body):at("body")).select(`[id='${e}']`);P.insertMarkers(o,R);let h;h=new It({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:R.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const g=ie(o,f.db.getEntities(),h),m=se(f.db.getRelationships(),h);Dt(h),ne(o,h),m.forEach(function(b){oe(o,b,h,g,f)});const k=R.diagramPadding;At.insertTitle(o,"entityTitleText",R.titleTopMargin,f.db.getDiagramTitle());const x=o.node().getBBox(),p=x.width+k*2,O=x.height+k*2;Mt(o,O,p,R.useMaxWidth),o.attr("viewBox",`${x.x-k} ${x.y-k} ${p} ${O}`)},"draw"),ce="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function pt(t="",e=""){const r=t.replace(ee,"");return`${st(e)}${st(r)}${zt(t,ce)}`}u(pt,"generateId");function st(t=""){return t.length>0?`${t}-`:""}u(st,"strWithHyphen");var he={setConf:re,draw:le},de=u(t=>` + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${t.attributeBackgroundColorOdd}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxEven { + fill: ${t.attributeBackgroundColorEven}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${t.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + +`,"getStyles"),ue=de,Re={parser:Gt,db:$t,renderer:he,styles:ue};export{Re as diagram}; diff --git a/_payload.json b/_payload.json index b1f4add38..f25b00187 100644 --- a/_payload.json +++ b/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763564] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883940808] \ No newline at end of file diff --git a/api/_content/cache.1733764743643.json b/api/_content/cache.1733764743643.json deleted file mode 100644 index 8f4c7f3f6..000000000 --- a/api/_content/cache.1733764743643.json +++ /dev/null @@ -1 +0,0 @@ -{"generatedAt":1733764763546,"generateTime":20,"contents":[],"navigation":[]} \ No newline at end of file diff --git a/api/_content/cache.1733883913908.json b/api/_content/cache.1733883913908.json new file mode 100644 index 000000000..5a356cb96 --- /dev/null +++ b/api/_content/cache.1733883913908.json @@ -0,0 +1 @@ +{"generatedAt":1733883940790,"generateTime":20,"contents":[],"navigation":[]} \ No newline at end of file diff --git a/index.html b/index.html index 6dfa2365e..45a87bc5c 100644 --- a/index.html +++ b/index.html @@ -34,17 +34,20 @@ } - + - - - + + + - - - - + + + + + + +
    • Gene-based Pathogen Identification
    • Pathogen Detection PathoGFAIR Samples Aggregation and Visualisation
    • Nanopore Preprocessing
    • Allele-based Pathogen Identification
    • Taxonomy Profiling and Visualization with Krona
    • Assembly polishing with long reads
    • Quality and Contamination Control For Genome Assembly
    • Genome assembly with Flye
    • Bacterial Genome Assembly using Shovill
    • bacterial_genome_annotation
    • amr_gene_detection
    • Create GRO and TOP complex files
    • dcTMD calculations with GROMACS
    • Fragment-based virtual screening using rDock for docking and SuCOS for pose scoring
    • MMGBSA calculations with GROMACS
    • COVID-19: variation analysis reporting
    • COVID-19: variation analysis on WGS SE data
    • SARS-CoV-2 Illumina Amplicon pipeline - iVar based
    • COVID-19: variation analysis of ARTIC ONT data
    • COVID-19: variation analysis on WGS PE data
    • COVID-19: consensus construction
    • COVID-19: variation analysis on ARTIC PE data
    • Paired end variant calling in haploid system
    • Generic variation analysis on WGS PE data
    • Generic variation analysis reporting
    • Parallel Accession Download
    • sra_manifest_to_concatenated_fastqs_parallel
    • Segmentation and counting of cell nuclei in fluorescence microscopy images
    • baredSC_1d_logNorm
    • baredSC_2d_logNorm
    • Velocyto-on10X-from-bundled
    • Velocyto-on10X-filtered-barcodes
    • scRNA-seq_preprocessing_10X_cellPlex
    • scRNA-seq_preprocessing_10X_v3_Bundle
    • Differential gene expression for single-cell data using pseudo-bulk counts with edgeR
    • Hi-C_fastqToCool_hicup_cooler
    • cHi-C_fastqToCool_hicup_cooler
    • Hi-C_juicermediumtabixToCool_cooler
    • Hi-C_fastqToPairs_hicup
    • Get Confident Peaks From ChIP_SR replicates
    • Get Confident Peaks From ChIP_PE replicates
    • Get Confident Peaks From ATAC or CUTandRUN replicates
    • ChIPseq_PE
    • CUTandRUN
    • ATACseq
    • ChIPseq_SR
    • Average Bigwig between replicates
    • MetaProSIP OpenMS 2.8
    • Clinical Metaproteomics Data Interpretation
    • Generate a Clinical Metaproteomics Database
    • Clinical Metaproteomics Quantitation
    • Clinical Metaproteomics Verification Workflow
    • Clinical Metaproteomics Discovery Workflow
    • Goseq GO-KEGG Enrichment Analysis
    • RNAseq_DE_filtering_plotting
    • BREW3R
    • RNA-seq for Single-read fastqs
    • RNA-seq for Paired-end fastqs
    • dada2 amplicon analysis pipeline - for paired end data
    • QIIME2 Ia: multiplexed data (single-end)
    • QIIME2 Ib: multiplexed data (paired-end)
    • QIIME2 Ic: Demultiplexed data (single-end)
    • QIIME2 Id: Demultiplexed data (paired-end)
    • QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis
    • QIIME2 VI: Diversity metrics and estimations
    • QIIME2 IIa: Denoising (sequence quality control) and feature table creation (single-end)
    • QIIME2 IIb: Denoising (sequence quality control) and feature table creation (paired-end)
    • Repeat masking with RepeatModeler and RepeatMasker
    • Mass spectrometry: GCMS with metaMS
    • Mass spectrometry: LC-MS preprocessing with XCMS
    • Pox Virus Illumina Amplicon Workflow from half-genomes
    • Purging-duplicates-one-haplotype-VGP6b
    • Generate Nx and Size plots for multiple assemblies
    • Mitogenome-Assembly-VGP0
    • Purge-duplicate-contigs-VGP6
    • Assembly-decontamination-VGP9
    • Assembly-Hifi-only-VGP3
    • kmer-profiling-hifi-trio-VGP2
    • Scaffolding-BioNano-VGP7
    • Assembly-Hifi-Trio-phasing-VGP5
    • kmer-profiling-hifi-VGP1
    • Assembly-Hifi-HiC-phasing-VGP4
    • Scaffolding with Hi-C data VGP8

    Gene-based Pathogen Identification

    Nanopore datasets analysis - Phylogenetic Identification - antibiotic resistance genes detection and contigs building

    name:Collectionname:PathoGFAIRname:IWCname:microGalaxy
    Details

    Pathogen Detection PathoGFAIR Samples Aggregation and Visualisation

    Pathogens of all samples report generation and visualization

    name:Collectionname:microGalaxyname:PathoGFAIRname:IWC
    Details

    Nanopore Preprocessing

    Microbiome - QC and Contamination Filtering

    name:Collectionname:microGalaxyname:PathoGFAIRname:Nanoporename:IWC
    Details

    Allele-based Pathogen Identification

    Microbiome - Variant calling and Consensus Building

    name:Collectionname:microGalaxyname:PathoGFAIRname:IWC
    Details

    Taxonomy Profiling and Visualization with Krona

    Microbiome - Taxonomy Profiling

    name:Collectionname:microGalaxyname:PathoGFAIRname:IWC
    Details

    Assembly polishing with long reads

    Racon polish with long reads, x4

    Details

    Quality and Contamination Control For Genome Assembly

    Short paired-end read analysis to provide quality analysis, read cleaning and taxonomy assignation

    Genomicsfastqbacterial-genomicstaxonomy-assignmentpaired-endqualityABRomicstrimming
    Details

    Genome assembly with Flye

    Assemble long reads with Flye, then view assembly statistics and assembly graph

    Details

    Bacterial Genome Assembly using Shovill

    Assembly of bacterial paired-end short read data with generation of quality metrics and reports

    fastqGenomicsbacterial-genomicspaired-endassemblyqualityABRomics
    Details

    bacterial_genome_annotation

    Annotation of an assembled bacterial genomes to detect genes, potential plasmids, integrons and Insertion sequence (IS) elements.

    GenomicsfastaABRomicsbacterial-genomicsAnnotationgenome-annotation
    Details

    amr_gene_detection

    Antimicrobial resistance gene detection from assembled bacterial genomes

    fastaGenomicsABRomicsantibiotic-resistanceantimicrobial-resistance-genesantimicrobial resistancebacterial-genomicsAMRAMR-detection
    Details

    Create GRO and TOP complex files

    dcTMD calculations with GROMACS

    Perform dcTMD free energy simulations and calculations

    Details

    Fragment-based virtual screening using rDock for docking and SuCOS for pose scoring

    Virtual screening of the SARS-CoV-2 main protease with rDock and pose scoring

    Details

    MMGBSA calculations with GROMACS

    MMGBSA simulation and calculation

    Details

    COVID-19: variation analysis reporting

    This workflow takes a VCF dataset of variants produced by any of the *-variant-calling workflows in https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling and generates tabular lists of variants by Samples and by Variant, and an overview plot of variants and their allele-frequencies.

    COVID-19covid19.galaxyproject.org
    Details

    COVID-19: variation analysis on WGS SE data

    This workflows performs single end read mapping with bowtie2 followed by sensitive variant calling across a wide range of AFs with lofreq

    COVID-19covid19.galaxyproject.org
    Details

    SARS-CoV-2 Illumina Amplicon pipeline - iVar based

    Find and annotate variants in ampliconic SARS-CoV-2 Illumina sequencing data and classify samples with pangolin and nextclade

    COVID-19ARTICiwc
    Details

    COVID-19: variation analysis of ARTIC ONT data

    This workflow for ONT-sequenced ARTIC data is modeled after the alignment/variant-calling steps of the [ARTIC pipeline](https://artic.readthedocs.io/en/latest/). It performs, essentially, the same steps as that pipeline’s minion command, i.e. read mapping with minimap2 and variant calling with medaka. Like the Illumina ARTIC workflow it uses ivar for primer trimming. Since ONT-sequenced reads have a much higher error rate than Illumina-sequenced reads and are therefor plagued more by false-positive variant calls, this workflow does make no attempt to handle amplicons affected by potential primer-binding site mutations.

    COVID-19ARTICONTcovid19.galaxyproject.org
    Details

    COVID-19: variation analysis on WGS PE data

    This workflows performs paired end read mapping with bwa-mem followed by sensitive variant calling across a wide range of AFs with lofreq

    COVID-19covid19.galaxyproject.orgiwcemergen_validated
    Details

    COVID-19: consensus construction

    Build a consensus sequence from FILTER PASS variants with intrasample allele-frequency above a configurable consensus threshold. Hard-mask regions with low coverage (but not consensus variants within them) and ambiguous sites.

    COVID-19covid19.galaxyproject.org
    Details

    COVID-19: variation analysis on ARTIC PE data

    The workflow for Illumina-sequenced ARTIC data builds on the RNASeq workflow for paired-end data using the same steps for mapping and variant calling, but adds extra logic for trimming ARTIC primer sequences off reads with the ivar package. In addition, this workflow uses ivar also to identify amplicons affected by ARTIC primer-binding site mutations and tries to exclude reads derived from such tainted amplicons when calculating allele-frequencies of other variants.

    COVID-19ARTICcovid19.galaxyproject.org
    Details

    Paired end variant calling in haploid system

    Workflow for variant analysis against a reference genome in GenBank format

    genericVeuPathHaploid
    Details

    Generic variation analysis on WGS PE data

    Workflow for variant analysis against a reference genome in GenBank format

    mpxvgeneric
    Details

    Generic variation analysis reporting

    This workflow takes a VCF dataset of variants produced by any of the variant calling workflows in https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling and generates tabular lists of variants by Samples and by Variant, and an overview plot of variants and their allele-frequencies.

    mpvxgeneric
    Details

    Parallel Accession Download

    Downloads fastq files for sequencing run accessions provided in a text file using fasterq-dump. Creates one job per listed run accession.

    Details

    sra_manifest_to_concatenated_fastqs_parallel

    This workflow takes as input a SRA_manifest from SRA Run Selector and will generate one fastq file or fastq pair of file for each experiment (concatenated multiple runs if necessary). Output will be relabelled to match the column specified by the user.

    Details

    Segmentation and counting of cell nuclei in fluorescence microscopy images

    This workflow performs segmentation and counting of cell nuclei using fluorescence microscopy images. The segmentation step is performed using Otsu thresholding (Otsu, 1979). The workflow is based on the tutorial: https://training.galaxyproject.org/training-material/topics/imaging/tutorials/imaging-introduction/tutorial.html

    Details

    baredSC_1d_logNorm

    Run baredSC in 1 dimension in logNorm for 1 to N gaussians and combine models.

    Details

    baredSC_2d_logNorm

    Run baredSC in 2 dimensions in logNorm for 1 to N gaussians and combine models.

    Details

    Velocyto-on10X-from-bundled

    Run velocyto to get loom with counts of spliced and unspliced. It will extract the 'barcodes' from the bundled outputs.

    name:single-cell
    Details

    Velocyto-on10X-filtered-barcodes

    Run velocyto to get loom with counts of spliced and unspliced

    name:single-cell
    Details

    scRNA-seq_preprocessing_10X_cellPlex

    This workflow processes the CMO fastqs with CITE-seq-Count and include the translation step required for cellPlex processing. In parallel it processes the Gene Expresion fastqs with STARsolo, filter cells with DropletUtils and reformat all outputs to be easily used by the function 'Read10X' from Seurat.

    #single-cell
    Details

    scRNA-seq_preprocessing_10X_v3_Bundle

    This workflow processes the Gene Expresion fastqs with STARsolo, filter cells with DropletUtils and reformat all outputs to be easily used by the function 'Read10X' from Seurat.

    #single-cell
    Details

    Differential gene expression for single-cell data using pseudo-bulk counts with edgeR

    This workflow uses the decoupler tool in Galaxy to generate pseudobulk counts from an annotated AnnData file obtained from scRNA-seq analysis. Following the pseudobulk step, differential expression genes (DEG) are calculated using the edgeR tool. The workflow also includes data sanitation steps to ensure smooth operation of edgeR and minimizing potential issues. Additionally, a Volcano plot tool is used to visualize the results after the DEG analysis.

    Details

    Hi-C_fastqToCool_hicup_cooler

    This workflow takes as input a collection of paired fastq. It uses HiCUP to go from fastq to validPair file using the middle of the fragment as coordinates. The pairs are filtered for MAPQ and sorted by cooler to generate a tabix dataset. Cooler is used to generate a balanced cool file to the desired resolution.

    Hi-C
    Details

    cHi-C_fastqToCool_hicup_cooler

    This workflow take as input a collection of paired fastq. It uses HiCUP to go from fastq to validPair file. The pairs are filtered for MAPQ and for the region captured. Then, they are sorted by cooler to generate a tabix dataset. Cooler is used to generate a balanced cool file to the desired resolution.

    Hi-C
    Details

    Hi-C_juicermediumtabixToCool_cooler

    This workflow uses as input a collection of juicer medium tabix files and a genome name. It builds balanced cool file to the desired resolution.

    Hi-C
    Details

    Hi-C_fastqToPairs_hicup

    This workflow takes as input a collection of paired fastq. It uses HiCUP to go from fastq to validPair file. First truncate the fastq using the cutting sequence to guess the fill-in. Then map the truncated fastq. Then asign to fragment and filter the self-ligated and dandling ends or internal (it can also filter for the size). Then it removes the duplicates. Convert the output to be compatible with juicebox or cooler using the middle of the fragment as coordinates. Finally filter for mapping quality

    Hi-C
    Details

    Get Confident Peaks From ChIP_SR replicates

    This workflow takes as input SR BAM from ChIP-seq. It calls peaks on each replicate and intersect them. In parallel, each BAM is subsetted to smallest number of reads. Peaks are called using all subsets combined. Only peaks called using a combination of all subsets which have summits intersecting the intersection of at least x replicates will be kept.

    ATAC-seq
    Details

    Get Confident Peaks From ChIP_PE replicates

    This workflow takes as input PE BAM from ChIP-seq. It calls peaks on each replicate and intersect them. In parallel, each BAM is subsetted to smallest number of reads. Peaks are called using all subsets combined. Only peaks called using a combination of all subsets which have summits intersecting the intersection of at least x replicates will be kept.

    ATAC-seq
    Details

    Get Confident Peaks From ATAC or CUTandRUN replicates

    This workflow takes as input BAM from ATAC-seq or CUT&amp;RUN. It calls peaks on each replicate and intersect them. In parallel, each BAM is subsetted to smallest number of reads. Peaks are called using all subsets combined. Only peaks called using a combination of all subsets which have summits intersecting the intersection of at least x replicates will be kept.

    ATAC-seq
    Details

    ChIPseq_PE

    This workflow takes as input a collection of paired fastqs. Remove adapters with cutadapt, map pairs with bowtie2. Keep MAPQ30 and concordant pairs. MACS2 for paired bam.

    ChIP
    Details

    CUTandRUN

    This workflow take as input a collection of paired fastq. Remove adapters with cutadapt, map pairs with bowtie2 allowing dovetail. Keep MAPQ30 and concordant pairs. BAM to BED. MACS2 with "ATAC" parameters.

    CUTnRUN
    Details

    ATACseq

    This workflow takes as input a collection of paired fastq. It will remove bad quality and adapters with cutadapt. Map with Bowtie2 end-to-end. Will remove reads on MT and unconcordant pairs and pairs with mapping quality below 30 and PCR duplicates. Will compute the pile-up on 5' +- 100bp. Will call peaks and count the number of reads falling in the 1kb region centered on the summit. Will compute 2 normalization for coverage: normalized by million reads and normalized by million reads in peaks. Will plot the number of reads for each fragment length.

    ATACseq
    Details

    ChIPseq_SR

    This workflow takes as input a collection of fastqs (single reads). Remove adapters with cutadapt, map with bowtie2. Keep MAPQ30. MACS2 for bam with fixed extension or model.

    ChIP
    Details

    Average Bigwig between replicates

    We assume the identifiers of the input list are like: sample_name_replicateID. @@ -65,5 +68,5 @@ https://training.galaxyproject.org/training-material/topics/metabolomics/tutorials/gcms/tutorial.html

    metabolomicsMSworkflow4metabolomicsGC-MSGTNmetaMS
    Details

    Mass spectrometry: LC-MS preprocessing with XCMS

    This workflow is composed with the XCMS tool R package (Smith, C.A. 2006) able to extract, filter, align and fill gapand the possibility to annotate isotopes, adducts and fragments using the CAMERA R package (Kuhl, C 2012). -https://training.galaxyproject.org/training-material/topics/metabolomics/tutorials/lcms-preprocessing/tutorial.html

    metabolomicsMSLC-MSworkflow4metabolomicsxcmsGTN
    Details

    Pox Virus Illumina Amplicon Workflow from half-genomes

    A workflow for the analysis of pox virus genomes sequenced as half-genomes (for ITR resolution) in a tiled-amplicon approach

    poxvirology
    Details

    Purging-duplicates-one-haplotype-VGP6b

    VGP_curated
    Details

    Generate Nx and Size plots for multiple assemblies

    Mitogenome-Assembly-VGP0

    ReviewedVGP
    Details

    Purge-duplicate-contigs-VGP6

    Purge contigs marked as duplicates by purge_dups (could be haplotypic duplication or overlap duplication). This workflow is the 6th workflow of the VGP pipeline. It is meant to be run after one of the contigging steps (Workflow 3, 4, or 5)

    VGP_curated
    Details

    Assembly-decontamination-VGP9

    VGP_curated
    Details

    Assembly-Hifi-only-VGP3

    VGPReviewed
    Details

    kmer-profiling-hifi-trio-VGP2

    Create Meryl Database used for the estimation of assembly parameters and quality control with Merqury. Part of the VGP pipeline.

    ReviewedVGP
    Details

    Scaffolding-BioNano-VGP7

    VGP_curated
    Details

    Assembly-Hifi-Trio-phasing-VGP5

    VGPReviewed
    Details

    kmer-profiling-hifi-VGP1

    ReviewedVGP
    Details

    Assembly-Hifi-HiC-phasing-VGP4

    VGPReviewed
    Details

    Scaffolding with Hi-C data VGP8

    Scaffolding using HiC data with YAHS.

    VGP_curated
    Details
    - \ No newline at end of file +https://training.galaxyproject.org/training-material/topics/metabolomics/tutorials/lcms-preprocessing/tutorial.html

    metabolomicsMSLC-MSworkflow4metabolomicsxcmsGTN
    Details

    Pox Virus Illumina Amplicon Workflow from half-genomes

    A workflow for the analysis of pox virus genomes sequenced as half-genomes (for ITR resolution) in a tiled-amplicon approach

    poxvirology
    Details

    Purging-duplicates-one-haplotype-VGP6b

    VGP_curated
    Details

    Generate Nx and Size plots for multiple assemblies

    Mitogenome-Assembly-VGP0

    ReviewedVGP
    Details

    Purge-duplicate-contigs-VGP6

    Purge contigs marked as duplicates by purge_dups (could be haplotypic duplication or overlap duplication). This workflow is the 6th workflow of the VGP pipeline. It is meant to be run after one of the contigging steps (Workflow 3, 4, or 5)

    VGP_curated
    Details

    Assembly-decontamination-VGP9

    VGP_curated
    Details

    Assembly-Hifi-only-VGP3

    VGPReviewed
    Details

    kmer-profiling-hifi-trio-VGP2

    Create Meryl Database used for the estimation of assembly parameters and quality control with Merqury. Part of the VGP pipeline.

    ReviewedVGP
    Details

    Scaffolding-BioNano-VGP7

    VGP_curated
    Details

    Assembly-Hifi-Trio-phasing-VGP5

    VGPReviewed
    Details

    kmer-profiling-hifi-VGP1

    ReviewedVGP
    Details

    Assembly-Hifi-HiC-phasing-VGP4

    VGPReviewed
    Details

    Scaffolding with Hi-C data VGP8

    Scaffolding using HiC data with YAHS.

    VGP_curated
    Details
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-HiC-phasing-VGP4%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-HiC-phasing-VGP4%2Fmain/_payload.json index d7a2ebba9..b575e4326 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-HiC-phasing-VGP4%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-HiC-phasing-VGP4%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764360] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941924] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-HiC-phasing-VGP4%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-HiC-phasing-VGP4%2Fmain/index.html index 33f195da9..7ea39e864 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-HiC-phasing-VGP4%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-HiC-phasing-VGP4%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-Trio-phasing-VGP5%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-Trio-phasing-VGP5%2Fmain/_payload.json index 62b7745a6..215fa5517 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-Trio-phasing-VGP5%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-Trio-phasing-VGP5%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764341] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941919] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-Trio-phasing-VGP5%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-Trio-phasing-VGP5%2Fmain/index.html index f99796802..e1255d179 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-Trio-phasing-VGP5%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-Trio-phasing-VGP5%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-only-VGP3%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-only-VGP3%2Fmain/_payload.json index 5f5d4beab..01396d4e7 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-only-VGP3%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-only-VGP3%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764323] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941896] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-only-VGP3%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-only-VGP3%2Fmain/index.html index 3620bc00d..abb806ad4 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-only-VGP3%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-Hifi-only-VGP3%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-decontamination-VGP9%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-decontamination-VGP9%2Fmain/_payload.json index 81a69a659..94aa4ee0d 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-decontamination-VGP9%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-decontamination-VGP9%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764320] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941888] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-decontamination-VGP9%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-decontamination-VGP9%2Fmain/index.html index 62cf3a676..fb480f3d7 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-decontamination-VGP9%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FAssembly-decontamination-VGP9%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FMitogenome-assembly-VGP0%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FMitogenome-assembly-VGP0%2Fmain/_payload.json index 57851c27f..65d7d8e1d 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FMitogenome-assembly-VGP0%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FMitogenome-assembly-VGP0%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764310] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941883] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FMitogenome-assembly-VGP0%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FMitogenome-assembly-VGP0%2Fmain/index.html index 0bc3d5cda..897cbce52 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FMitogenome-assembly-VGP0%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FMitogenome-assembly-VGP0%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPlot-Nx-Size%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPlot-Nx-Size%2Fmain/_payload.json index f82177cec..e79be8d72 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPlot-Nx-Size%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPlot-Nx-Size%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764307] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941880] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPlot-Nx-Size%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPlot-Nx-Size%2Fmain/index.html index 2cfde066f..111b8f4d7 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPlot-Nx-Size%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPlot-Nx-Size%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicate-contigs-VGP6%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicate-contigs-VGP6%2Fmain/_payload.json index 1e1528548..2451f5ea4 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicate-contigs-VGP6%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicate-contigs-VGP6%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764312] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941886] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicate-contigs-VGP6%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicate-contigs-VGP6%2Fmain/index.html index 3e5bf0aa4..ae8af7a10 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicate-contigs-VGP6%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicate-contigs-VGP6%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicates-one-haplotype-VGP6b%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicates-one-haplotype-VGP6b%2Fmain/_payload.json index 3e3aaca88..e8e79cadc 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicates-one-haplotype-VGP6b%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicates-one-haplotype-VGP6b%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764301] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941877] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicates-one-haplotype-VGP6b%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicates-one-haplotype-VGP6b%2Fmain/index.html index c62a225e4..290825c52 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicates-one-haplotype-VGP6b%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FPurge-duplicates-one-haplotype-VGP6b%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-Bionano-VGP7%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-Bionano-VGP7%2Fmain/_payload.json index 995cdb05b..30170d839 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-Bionano-VGP7%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-Bionano-VGP7%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764328] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941907] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-Bionano-VGP7%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-Bionano-VGP7%2Fmain/index.html index 50316ba8d..6e7cba72a 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-Bionano-VGP7%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-Bionano-VGP7%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-HiC-VGP8%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-HiC-VGP8%2Fmain/_payload.json index 22fae76d7..746b5574e 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-HiC-VGP8%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-HiC-VGP8%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764366] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941927] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-HiC-VGP8%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-HiC-VGP8%2Fmain/index.html index 46bfd16e5..cc3b04d71 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-HiC-VGP8%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2FScaffolding-HiC-VGP8%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fallele-based-pathogen-identification%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fallele-based-pathogen-identification%2Fmain/_payload.json index 5c830121e..92e6f968e 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fallele-based-pathogen-identification%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fallele-based-pathogen-identification%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763936] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941247] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fallele-based-pathogen-identification%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fallele-based-pathogen-identification%2Fmain/index.html index 910aaf2e1..00eaaf951 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fallele-based-pathogen-identification%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fallele-based-pathogen-identification%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Famr_gene_detection%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Famr_gene_detection%2Fmain/_payload.json index bac3abfd3..9eecf5482 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Famr_gene_detection%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Famr_gene_detection%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763946] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941259] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Famr_gene_detection%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Famr_gene_detection%2Fmain/index.html index cbd306b93..cd0456262 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Famr_gene_detection%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Famr_gene_detection%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fassembly-with-flye%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fassembly-with-flye%2Fmain/_payload.json index 1df425fc5..2fe683045 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fassembly-with-flye%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fassembly-with-flye%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763942] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941254] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fassembly-with-flye%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fassembly-with-flye%2Fmain/index.html index 2c2ee013a..b2ed47656 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fassembly-with-flye%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fassembly-with-flye%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fatacseq%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fatacseq%2Fmain/_payload.json index aeb35843b..141d2df92 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fatacseq%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fatacseq%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764169] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941712] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fatacseq%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fatacseq%2Fmain/index.html index b94e9108d..974a6788b 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fatacseq%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fatacseq%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Faverage-bigwig-between-replicates%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Faverage-bigwig-between-replicates%2Fmain/_payload.json index f55077b9a..3b7362fcd 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Faverage-bigwig-between-replicates%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Faverage-bigwig-between-replicates%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764177] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941734] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Faverage-bigwig-between-replicates%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Faverage-bigwig-between-replicates%2Fmain/index.html index 74cab6c48..88b4821fb 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Faverage-bigwig-between-replicates%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Faverage-bigwig-between-replicates%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial-genome-assembly%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial-genome-assembly%2Fmain/_payload.json index a6000e0be..7beff79ef 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial-genome-assembly%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial-genome-assembly%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763944] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941256] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial-genome-assembly%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial-genome-assembly%2Fmain/index.html index 5080f2031..e7d6ce154 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial-genome-assembly%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial-genome-assembly%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial_genome_annotation%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial_genome_annotation%2Fmain/_payload.json index aa4fb9a09..a68cc00e1 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial_genome_annotation%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial_genome_annotation%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763945] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941257] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial_genome_annotation%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial_genome_annotation%2Fmain/index.html index 4f43f4361..2c24ffd3a 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial_genome_annotation%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbacterial_genome_annotation%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-1d-logNorm/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-1d-logNorm/_payload.json index ebd4a27f2..733484115 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-1d-logNorm/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-1d-logNorm/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764078] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941616] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-1d-logNorm/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-1d-logNorm/index.html index 6d2bf1296..c7ae2db49 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-1d-logNorm/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-1d-logNorm/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-2d-logNorm/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-2d-logNorm/_payload.json index c517e5352..ac4465d79 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-2d-logNorm/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-2d-logNorm/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764081] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941619] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-2d-logNorm/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-2d-logNorm/index.html index ef30f547d..f10ff8f60 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-2d-logNorm/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbaredsc%2FbaredSC-2d-logNorm/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbrew3r%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbrew3r%2Fmain/_payload.json index 01a1998d9..e1005e809 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbrew3r%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbrew3r%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764226] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941781] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbrew3r%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbrew3r%2Fmain/index.html index 6c4e16f88..8a097658d 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbrew3r%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fbrew3r%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-pe%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-pe%2Fmain/_payload.json index 13f3e82ce..f9e55be64 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-pe%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-pe%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764155] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941708] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-pe%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-pe%2Fmain/index.html index 22e9c1725..149301af9 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-pe%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-pe%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-sr%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-sr%2Fmain/_payload.json index 8ef7da4f4..a49407830 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-sr%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-sr%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764171] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941724] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-sr%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-sr%2Fmain/index.html index 87ffd6bae..e0700d42c 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-sr%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fchipseq-sr%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-data-interpretation%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-data-interpretation%2Fmain/_payload.json index 842fa0da1..54df70d2c 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-data-interpretation%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-data-interpretation%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764203] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941758] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-data-interpretation%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-data-interpretation%2Fmain/index.html index 203fc8aef..18d0e4928 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-data-interpretation%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-data-interpretation%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-database-generation%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-database-generation%2Fmain/_payload.json index 377fc6e6c..1bf02df09 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-database-generation%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-database-generation%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764205] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941760] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-database-generation%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-database-generation%2Fmain/index.html index 1fe095219..b906b8573 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-database-generation%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-database-generation%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-discovery%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-discovery%2Fmain/_payload.json index 8ce60b6b5..5c911e9d3 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-discovery%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-discovery%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764220] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941768] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-discovery%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-discovery%2Fmain/index.html index 287f0bef5..1c71cff67 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-discovery%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-discovery%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-quantitation%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-quantitation%2Fmain/_payload.json index 9f9919d84..a96230dc6 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-quantitation%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-quantitation%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764208] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941763] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-quantitation%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-quantitation%2Fmain/index.html index 777ad7abe..68d7a7ec5 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-quantitation%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-quantitation%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-verification%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-verification%2Fmain/_payload.json index a03f675ca..ddc054a96 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-verification%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-verification%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764213] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941766] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-verification%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-verification%2Fmain/index.html index 4583c5a81..bb9fcfa47 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-verification%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fclinicalmp-verification%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-atac-cutandrun/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-atac-cutandrun/_payload.json index 5181d97d8..d28dd50bf 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-atac-cutandrun/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-atac-cutandrun/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764153] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941705] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-atac-cutandrun/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-atac-cutandrun/index.html index 485aa9539..fe0da9712 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-atac-cutandrun/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-atac-cutandrun/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-pe/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-pe/_payload.json index 77f965e4d..4551e7578 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-pe/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-pe/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764151] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941703] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-pe/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-pe/index.html index e78f210f5..069c3aae1 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-pe/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-pe/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-sr/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-sr/_payload.json index 50fd97578..d2960a8e4 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-sr/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-sr/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764149] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941701] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-sr/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-sr/index.html index 001388eb3..fda4f7487 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-sr/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fconsensus-peaks%2Fconsensus-peaks-chip-sr/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fcutandrun%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fcutandrun%2Fmain/_payload.json index 48b8bfadb..03b5fd580 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fcutandrun%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fcutandrun%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764157] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941710] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fcutandrun%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fcutandrun%2Fmain/index.html index 697cba8a8..6d44ccdd4 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fcutandrun%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fcutandrun%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fdada2%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fdada2%2Fmain/_payload.json index c8bb3c656..2ccd35de1 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fdada2%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fdada2%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764236] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941800] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fdada2%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fdada2%2Fmain/index.html index 7ecdefbc8..4a5b58028 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fdada2%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fdada2%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-cellplex/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-cellplex/_payload.json index db8d73c5d..d52b08df3 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-cellplex/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-cellplex/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764126] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941672] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-cellplex/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-cellplex/index.html index d67f34811..06c9276dc 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-cellplex/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-cellplex/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-v3/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-v3/_payload.json index ecae68613..c5321273e 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-v3/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-v3/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764129] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941674] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-v3/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-v3/index.html index 254caa922..410ea652d 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-v3/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffastq-to-matrix-10x%2Fscrna-seq-fastq-to-matrix-10x-v3/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffluorescence-nuclei-segmentation-and-counting%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffluorescence-nuclei-segmentation-and-counting%2Fmain/_payload.json index 1e77d1369..b752ec9dd 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffluorescence-nuclei-segmentation-and-counting%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffluorescence-nuclei-segmentation-and-counting%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764073] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941614] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffluorescence-nuclei-segmentation-and-counting%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffluorescence-nuclei-segmentation-and-counting%2Fmain/index.html index 8de9ba3e0..442ee3fe9 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffluorescence-nuclei-segmentation-and-counting%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffluorescence-nuclei-segmentation-and-counting%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffragment-based-docking-scoring%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffragment-based-docking-scoring%2Fmain/_payload.json index 3e65ccbfc..86175926c 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffragment-based-docking-scoring%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffragment-based-docking-scoring%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763962] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941264] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffragment-based-docking-scoring%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffragment-based-docking-scoring%2Fmain/index.html index bbea87c18..30209d594 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffragment-based-docking-scoring%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ffragment-based-docking-scoring%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgcms-metams%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgcms-metams%2Fmain/_payload.json index 1df365a1a..e875061f7 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgcms-metams%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgcms-metams%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764295] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941852] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgcms-metams%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgcms-metams%2Fmain/index.html index 7284d00bc..4eed086fb 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgcms-metams%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgcms-metams%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgene-based-pathogen-identification%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgene-based-pathogen-identification%2Fmain/_payload.json index 41a3dc342..cd833d455 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgene-based-pathogen-identification%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgene-based-pathogen-identification%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763930] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941235] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgene-based-pathogen-identification%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgene-based-pathogen-identification%2Fmain/index.html index 61969453d..3e33df89d 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgene-based-pathogen-identification%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgene-based-pathogen-identification%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgeneric-variant-calling-wgs-pe%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgeneric-variant-calling-wgs-pe%2Fmain/_payload.json index 0b9e4af95..e09e440d0 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgeneric-variant-calling-wgs-pe%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgeneric-variant-calling-wgs-pe%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764059] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941595] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgeneric-variant-calling-wgs-pe%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgeneric-variant-calling-wgs-pe%2Fmain/index.html index d51cb35fd..ccafda720 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgeneric-variant-calling-wgs-pe%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgeneric-variant-calling-wgs-pe%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgoseq%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgoseq%2Fmain/_payload.json index 1becd75a4..f923fb75a 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgoseq%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgoseq%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764222] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941772] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgoseq%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgoseq%2Fmain/index.html index ae39ca67d..c14268f85 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgoseq%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgoseq%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-dctmd%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-dctmd%2Fmain/_payload.json index 7c671345b..5da32fb39 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-dctmd%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-dctmd%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763960] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941263] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-dctmd%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-dctmd%2Fmain/index.html index 200d9f999..de9adc318 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-dctmd%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-dctmd%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-mmgbsa%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-mmgbsa%2Fmain/_payload.json index 0d57edf1a..c876164e7 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-mmgbsa%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-mmgbsa%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763964] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941266] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-mmgbsa%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-mmgbsa%2Fmain/index.html index 412290cc5..4f243e474 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-mmgbsa%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fgromacs-mmgbsa%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhaploid-variant-calling-wgs-pe%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhaploid-variant-calling-wgs-pe%2Fmain/_payload.json index d9a5ae10e..6ae1b2d86 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhaploid-variant-calling-wgs-pe%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhaploid-variant-calling-wgs-pe%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764056] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941592] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhaploid-variant-calling-wgs-pe%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhaploid-variant-calling-wgs-pe%2Fmain/index.html index 52e9b9b19..2452a6cc8 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhaploid-variant-calling-wgs-pe%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhaploid-variant-calling-wgs-pe%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fchic-fastq-to-cool-hicup-cooler/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fchic-fastq-to-cool-hicup-cooler/_payload.json index b4e601193..e67c77737 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fchic-fastq-to-cool-hicup-cooler/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fchic-fastq-to-cool-hicup-cooler/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764135] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941682] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fchic-fastq-to-cool-hicup-cooler/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fchic-fastq-to-cool-hicup-cooler/index.html index 89181e968..3fcdd9e2d 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fchic-fastq-to-cool-hicup-cooler/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fchic-fastq-to-cool-hicup-cooler/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-cool-hicup-cooler/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-cool-hicup-cooler/_payload.json index 7660dff19..1718f5293 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-cool-hicup-cooler/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-cool-hicup-cooler/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764133] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941679] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-cool-hicup-cooler/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-cool-hicup-cooler/index.html index 26c38eb13..7acfa4b96 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-cool-hicup-cooler/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-cool-hicup-cooler/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-pairs-hicup/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-pairs-hicup/_payload.json index d2fc942ab..eda419db0 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-pairs-hicup/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-pairs-hicup/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764147] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941687] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-pairs-hicup/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-pairs-hicup/index.html index 569c18cc8..ab3d010dc 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-pairs-hicup/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-fastq-to-pairs-hicup/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-juicermediumtabix-to-cool-cooler/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-juicermediumtabix-to-cool-cooler/_payload.json index 4bc389a87..61138e024 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-juicermediumtabix-to-cool-cooler/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-juicermediumtabix-to-cool-cooler/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764145] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941684] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-juicermediumtabix-to-cool-cooler/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-juicermediumtabix-to-cool-cooler/index.html index 2a96f3330..2f24ecf11 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-juicermediumtabix-to-cool-cooler/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fhic-hicup-cooler%2Fhic-juicermediumtabix-to-cool-cooler/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-VGP1%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-VGP1%2Fmain/_payload.json index 6d8a5a02c..ec863ec0b 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-VGP1%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-VGP1%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764355] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941921] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-VGP1%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-VGP1%2Fmain/index.html index bd7906fdc..91289e84c 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-VGP1%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-VGP1%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-trio-VGP2%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-trio-VGP2%2Fmain/_payload.json index d5ace2ce5..be6846150 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-trio-VGP2%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-trio-VGP2%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764326] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941898] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-trio-VGP2%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-trio-VGP2%2Fmain/index.html index 817542af0..f32aac4e1 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-trio-VGP2%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fkmer-profiling-hifi-trio-VGP2%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Flcms-preprocessing%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Flcms-preprocessing%2Fmain/_payload.json index 08e1802a1..1747912a7 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Flcms-preprocessing%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Flcms-preprocessing%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764297] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941858] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Flcms-preprocessing%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Flcms-preprocessing%2Fmain/index.html index 94fd10b62..b71a5d391 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Flcms-preprocessing%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Flcms-preprocessing%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fnanopore-pre-processing%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fnanopore-pre-processing%2Fmain/_payload.json index 5ead94a26..0b7a86652 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fnanopore-pre-processing%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fnanopore-pre-processing%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763934] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941245] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fnanopore-pre-processing%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fnanopore-pre-processing%2Fmain/index.html index a36dc14a4..ca403f031 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fnanopore-pre-processing%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fnanopore-pre-processing%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fopenms-metaprosip%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fopenms-metaprosip%2Fmain/_payload.json index bcf9e94b1..19d5c402f 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fopenms-metaprosip%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fopenms-metaprosip%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764179] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941748] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fopenms-metaprosip%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fopenms-metaprosip%2Fmain/index.html index ff63b7410..7d223f843 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fopenms-metaprosip%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fopenms-metaprosip%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fparallel-accession-download%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fparallel-accession-download%2Fmain/_payload.json index 0bf925c36..8f0c353bd 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fparallel-accession-download%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fparallel-accession-download%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764063] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941605] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fparallel-accession-download%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fparallel-accession-download%2Fmain/index.html index 23948e909..2a033eb25 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fparallel-accession-download%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fparallel-accession-download%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpathogen-detection-pathogfair-samples-aggregation-and-visualisation%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpathogen-detection-pathogfair-samples-aggregation-and-visualisation%2Fmain/_payload.json index 3a3103c28..b4b2b37b9 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpathogen-detection-pathogfair-samples-aggregation-and-visualisation%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpathogen-detection-pathogfair-samples-aggregation-and-visualisation%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763932] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941237] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpathogen-detection-pathogfair-samples-aggregation-and-visualisation%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpathogen-detection-pathogfair-samples-aggregation-and-visualisation%2Fmain/index.html index 685f6b611..b5d11b289 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpathogen-detection-pathogfair-samples-aggregation-and-visualisation%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpathogen-detection-pathogfair-samples-aggregation-and-visualisation%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpolish-with-long-reads%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpolish-with-long-reads%2Fmain/_payload.json index c3fa2326a..94fbd5f64 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpolish-with-long-reads%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpolish-with-long-reads%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763940] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941252] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpolish-with-long-reads%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpolish-with-long-reads%2Fmain/index.html index c2fed0dfb..bdd6e0f87 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpolish-with-long-reads%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpolish-with-long-reads%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpox-virus-amplicon%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpox-virus-amplicon%2Fmain/_payload.json index 156b1efce..f59cfc629 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpox-virus-amplicon%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpox-virus-amplicon%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764299] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941860] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpox-virus-amplicon%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpox-virus-amplicon%2Fmain/index.html index 65d3e0993..2bb84ae58 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpox-virus-amplicon%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpox-virus-amplicon%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fprotein-ligand-complex-parameterization%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fprotein-ligand-complex-parameterization%2Fmain/_payload.json index 27f33f70f..05813a012 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fprotein-ligand-complex-parameterization%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fprotein-ligand-complex-parameterization%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763948] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941261] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fprotein-ligand-complex-parameterization%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fprotein-ligand-complex-parameterization%2Fmain/index.html index 8973c76d8..f84b01be6 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fprotein-ligand-complex-parameterization%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fprotein-ligand-complex-parameterization%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpseudobulk-worflow-decoupler-edger%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpseudobulk-worflow-decoupler-edger%2Fmain/_payload.json index 9b2d519c8..a1990c84e 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpseudobulk-worflow-decoupler-edger%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpseudobulk-worflow-decoupler-edger%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764131] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941676] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpseudobulk-worflow-decoupler-edger%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpseudobulk-worflow-decoupler-edger%2Fmain/index.html index 3bc937951..8dc2a2a6c 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpseudobulk-worflow-decoupler-edger%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fpseudobulk-worflow-decoupler-edger%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIa-import-multiplexed-se/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIa-import-multiplexed-se/_payload.json index 516a3776c..f8dd6c839 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIa-import-multiplexed-se/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIa-import-multiplexed-se/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764238] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941803] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIa-import-multiplexed-se/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIa-import-multiplexed-se/index.html index 25a6a4f3f..948857ece 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIa-import-multiplexed-se/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIa-import-multiplexed-se/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIb-import-multiplexed-pe/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIb-import-multiplexed-pe/_payload.json index 13f998a70..a906213d7 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIb-import-multiplexed-pe/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIb-import-multiplexed-pe/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764240] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941805] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIb-import-multiplexed-pe/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIb-import-multiplexed-pe/index.html index 723b13b53..92e53a6c8 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIb-import-multiplexed-pe/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIb-import-multiplexed-pe/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIc-import-demultiplexed-se/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIc-import-demultiplexed-se/_payload.json index b892d3921..6d9ef3deb 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIc-import-demultiplexed-se/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIc-import-demultiplexed-se/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764251] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941810] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIc-import-demultiplexed-se/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIc-import-demultiplexed-se/index.html index 94420e275..194efb902 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIc-import-demultiplexed-se/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FIc-import-demultiplexed-se/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FId-import-demultiplexed-pe/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FId-import-demultiplexed-pe/_payload.json index ef87def0d..9f1919138 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FId-import-demultiplexed-pe/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FId-import-demultiplexed-pe/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764253] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941818] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FId-import-demultiplexed-pe/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FId-import-demultiplexed-pe/index.html index c7f6aa854..843619436 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FId-import-demultiplexed-pe/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-I-import%2FId-import-demultiplexed-pe/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIa-denoising-se/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIa-denoising-se/_payload.json index ccbd79cea..3d30b7e51 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIa-denoising-se/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIa-denoising-se/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764277] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941842] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIa-denoising-se/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIa-denoising-se/index.html index 323fe1fd7..2c5a354d0 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIa-denoising-se/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIa-denoising-se/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIb-denoising-pe/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIb-denoising-pe/_payload.json index 51c258236..f48d0cad0 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIb-denoising-pe/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIb-denoising-pe/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764286] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941844] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIb-denoising-pe/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIb-denoising-pe/index.html index 5a1bf3b78..372f2ae41 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIb-denoising-pe/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-II-denoising%2FIIb-denoising-pe/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis/_payload.json index 571f4ec18..d725efd51 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764255] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941833] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis/index.html index dab05d854..0744b3f94 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-VI-diversity-metrics-and-estimations/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-VI-diversity-metrics-and-estimations/_payload.json index c9a29230c..9cca61700 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-VI-diversity-metrics-and-estimations/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-VI-diversity-metrics-and-estimations/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764275] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941840] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-VI-diversity-metrics-and-estimations/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-VI-diversity-metrics-and-estimations/index.html index 5369e9047..77d170395 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-VI-diversity-metrics-and-estimations/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fqiime2-III-VI-downsteam%2FQIIME2-VI-diversity-metrics-and-estimations/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fquality-and-contamination-control%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fquality-and-contamination-control%2Fmain/_payload.json index cde1bf24e..0cb8dec96 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fquality-and-contamination-control%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fquality-and-contamination-control%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763941] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941253] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fquality-and-contamination-control%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fquality-and-contamination-control%2Fmain/index.html index dc5a9f2cc..d97815e30 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fquality-and-contamination-control%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fquality-and-contamination-control%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frepeatmasking%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frepeatmasking%2Fmain/_payload.json index 019fde9cd..b0c2f062d 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frepeatmasking%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frepeatmasking%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764293] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941847] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frepeatmasking%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frepeatmasking%2Fmain/index.html index 45f4754e4..ef6ec3f58 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frepeatmasking%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frepeatmasking%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-de%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-de%2Fmain/_payload.json index 95f3f4cd6..e23a7e17a 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-de%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-de%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764224] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941779] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-de%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-de%2Fmain/index.html index 7492f9ed8..7d1ae6c51 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-de%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-de%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-pe%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-pe%2Fmain/_payload.json index 9f7592bfa..15c40dff7 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-pe%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-pe%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764230] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941798] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-pe%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-pe%2Fmain/index.html index 9592e2b50..59d097df9 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-pe%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-pe%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-sr%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-sr%2Fmain/_payload.json index 774e258bd..6a9597f98 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-sr%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-sr%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764228] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941783] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-sr%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-sr%2Fmain/index.html index 936343da0..ebaacd4c5 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-sr%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Frnaseq-sr%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-consensus-from-variation%2FCOVID-19-CONSENSUS-CONSTRUCTION/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-consensus-from-variation%2FCOVID-19-CONSENSUS-CONSTRUCTION/_payload.json index 6a1d84351..a2ecbce97 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-consensus-from-variation%2FCOVID-19-CONSENSUS-CONSTRUCTION/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-consensus-from-variation%2FCOVID-19-CONSENSUS-CONSTRUCTION/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764045] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941587] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-consensus-from-variation%2FCOVID-19-CONSENSUS-CONSTRUCTION/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-consensus-from-variation%2FCOVID-19-CONSENSUS-CONSTRUCTION/index.html index 2d44133c8..c029c5529 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-consensus-from-variation%2FCOVID-19-CONSENSUS-CONSTRUCTION/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-consensus-from-variation%2FCOVID-19-CONSENSUS-CONSTRUCTION/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-ont-artic-variant-calling%2FCOVID-19-ARTIC-ONT/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-ont-artic-variant-calling%2FCOVID-19-ARTIC-ONT/_payload.json index afc58f35e..ccd189f7c 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-ont-artic-variant-calling%2FCOVID-19-ARTIC-ONT/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-ont-artic-variant-calling%2FCOVID-19-ARTIC-ONT/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764041] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941582] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-ont-artic-variant-calling%2FCOVID-19-ARTIC-ONT/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-ont-artic-variant-calling%2FCOVID-19-ARTIC-ONT/index.html index 782a388f4..c04ea3f02 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-ont-artic-variant-calling%2FCOVID-19-ARTIC-ONT/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-ont-artic-variant-calling%2FCOVID-19-ARTIC-ONT/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-ivar-analysis%2FSARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-ivar-analysis%2FSARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE/_payload.json index 74ca00e90..89b4a98bc 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-ivar-analysis%2FSARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-ivar-analysis%2FSARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764038] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941580] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-ivar-analysis%2FSARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-ivar-analysis%2FSARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE/index.html index f557ab558..84aa2096b 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-ivar-analysis%2FSARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-ivar-analysis%2FSARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-variant-calling%2FCOVID-19-PE-ARTIC-ILLUMINA/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-variant-calling%2FCOVID-19-PE-ARTIC-ILLUMINA/_payload.json index 46fccb0fe..335359642 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-variant-calling%2FCOVID-19-PE-ARTIC-ILLUMINA/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-variant-calling%2FCOVID-19-PE-ARTIC-ILLUMINA/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764047] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941590] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-variant-calling%2FCOVID-19-PE-ARTIC-ILLUMINA/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-variant-calling%2FCOVID-19-PE-ARTIC-ILLUMINA/index.html index 6bce9f8b8..6c0834b54 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-variant-calling%2FCOVID-19-PE-ARTIC-ILLUMINA/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-artic-variant-calling%2FCOVID-19-PE-ARTIC-ILLUMINA/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-wgs-variant-calling%2FCOVID-19-PE-WGS-ILLUMINA/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-wgs-variant-calling%2FCOVID-19-PE-WGS-ILLUMINA/_payload.json index 2aac6b7af..8eb952f30 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-wgs-variant-calling%2FCOVID-19-PE-WGS-ILLUMINA/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-wgs-variant-calling%2FCOVID-19-PE-WGS-ILLUMINA/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764043] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941585] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-wgs-variant-calling%2FCOVID-19-PE-WGS-ILLUMINA/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-wgs-variant-calling%2FCOVID-19-PE-WGS-ILLUMINA/index.html index ec4a34ebf..5ee9b92b0 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-wgs-variant-calling%2FCOVID-19-PE-WGS-ILLUMINA/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-pe-illumina-wgs-variant-calling%2FCOVID-19-PE-WGS-ILLUMINA/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-se-illumina-wgs-variant-calling%2FCOVID-19-SE-WGS-ILLUMINA/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-se-illumina-wgs-variant-calling%2FCOVID-19-SE-WGS-ILLUMINA/_payload.json index e9f0a2d3a..6543b4ea8 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-se-illumina-wgs-variant-calling%2FCOVID-19-SE-WGS-ILLUMINA/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-se-illumina-wgs-variant-calling%2FCOVID-19-SE-WGS-ILLUMINA/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764036] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941577] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-se-illumina-wgs-variant-calling%2FCOVID-19-SE-WGS-ILLUMINA/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-se-illumina-wgs-variant-calling%2FCOVID-19-SE-WGS-ILLUMINA/index.html index bbb0727cb..e3bca1992 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-se-illumina-wgs-variant-calling%2FCOVID-19-SE-WGS-ILLUMINA/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-se-illumina-wgs-variant-calling%2FCOVID-19-SE-WGS-ILLUMINA/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-variation-reporting%2FCOVID-19-VARIATION-REPORTING/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-variation-reporting%2FCOVID-19-VARIATION-REPORTING/_payload.json index e86b9982a..30ee0caf7 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-variation-reporting%2FCOVID-19-VARIATION-REPORTING/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-variation-reporting%2FCOVID-19-VARIATION-REPORTING/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763967] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941272] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-variation-reporting%2FCOVID-19-VARIATION-REPORTING/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-variation-reporting%2FCOVID-19-VARIATION-REPORTING/index.html index a121194d3..e1b43121f 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-variation-reporting%2FCOVID-19-VARIATION-REPORTING/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsars-cov-2-variation-reporting%2FCOVID-19-VARIATION-REPORTING/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsra-manifest-to-concatenated-fastqs%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsra-manifest-to-concatenated-fastqs%2Fmain/_payload.json index 45939a34b..ebbf36675 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsra-manifest-to-concatenated-fastqs%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsra-manifest-to-concatenated-fastqs%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764071] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941611] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsra-manifest-to-concatenated-fastqs%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsra-manifest-to-concatenated-fastqs%2Fmain/index.html index 0e4679edc..4d2004433 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsra-manifest-to-concatenated-fastqs%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fsra-manifest-to-concatenated-fastqs%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ftaxonomy-profiling-and-visualization-with-krona%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ftaxonomy-profiling-and-visualization-with-krona%2Fmain/_payload.json index 3d71a6c88..7e6ff9ce9 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ftaxonomy-profiling-and-visualization-with-krona%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ftaxonomy-profiling-and-visualization-with-krona%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764763938] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941250] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ftaxonomy-profiling-and-visualization-with-krona%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ftaxonomy-profiling-and-visualization-with-krona%2Fmain/index.html index a9bf2c3b7..9360cda2f 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ftaxonomy-profiling-and-visualization-with-krona%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Ftaxonomy-profiling-and-visualization-with-krona%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvariation-reporting%2Fmain/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvariation-reporting%2Fmain/_payload.json index 14599c4b7..7993a5de7 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvariation-reporting%2Fmain/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvariation-reporting%2Fmain/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764061] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941597] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvariation-reporting%2Fmain/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvariation-reporting%2Fmain/index.html index 30e4dd76b..7c644fcd5 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvariation-reporting%2Fmain/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvariation-reporting%2Fmain/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-filtered-barcodes/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-filtered-barcodes/_payload.json index 955acd432..21ce357d3 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-filtered-barcodes/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-filtered-barcodes/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764092] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941659] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-filtered-barcodes/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-filtered-barcodes/index.html index 8f4d7bcc4..c8a8f20c8 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-filtered-barcodes/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-filtered-barcodes/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-from-bundled/_payload.json b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-from-bundled/_payload.json index 62f2764f2..1c9832718 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-from-bundled/_payload.json +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-from-bundled/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733764764083] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["Reactive",2],{},1733883941621] \ No newline at end of file diff --git a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-from-bundled/index.html b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-from-bundled/index.html index 472e7cda8..61c749d97 100644 --- a/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-from-bundled/index.html +++ b/workflow/%23workflow%2Fgithub.com%2Fiwc-workflows%2Fvelocyto%2FVelocyto-on10X-from-bundled/index.html @@ -34,17 +34,19 @@ } - + - - - - - - - - - -
    - \ No newline at end of file + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/workflow_manifest.json b/workflow_manifest.json index ff4a41dcc..3ac6f4bba 100644 --- a/workflow_manifest.json +++ b/workflow_manifest.json @@ -1129,6 +1129,7 @@ }, "readme": "# Gene-based Pathogen Identification\n\nIn this workflow, we determine whether the samples are pathogenic or not, by looking for genes known to be linked to pathogenicity or to the pathogenecity character of the organism.\n\n- Virulence Factor (VF): gene products, usually proteins, involved in pathogenicity. By identifying them, we can call a pathogen and its severity level\n\n- Antimicrobial Resistance genes (AMR).\n\n These type of genes have three fundamental mechanisms of antimicrobial resistance that are enzymatic degradation of antibacterial drugs, alteration of bacterial proteins that are antimicrobial targets, and changes in membrane permeability to antibiotics, which will lead to not altering the target site and spread throughput the pathogenic bacteria decreasing the overall fitness of the host.\n\nIn this workflow we:\n\n1. Perform genome assembly to get contigs, i.e. longer sequences, using metaflye (Kolmogorov et al. 2020) then assembly polishing using medaka consensus pipeline and visualizing the assembly graph using Bandage Image (Wick et al. 2015)\n2. Generate reports with AMR genes and VF using ABRicate\n\n## Input Datasets\n- Collection of Pre-Processed Sequenced reads of all samples, ready for further analysis with the other workflows, in a `fastqsanger` or `fastqsanger.gz` format, the output of **Nanopore Preprocessing** workflow.\n\n## Output Datasets\n- FASTA and Tabular files to track genes and visualise our pathogenic identification through out all samples.\n\nIf you're unsure how to use this workflows, or if you want to see it in action with test datasets, it is included in our detailed training material for foodborne pathogen detection and tracking. You can find step-by-step instructions and practical examples in the following [GTN tutorial](https://training.galaxyproject.org/training-material/topics/microbiome/tutorials/pathogen-detection-from-nanopore-foodborne-data/tutorial.html)\n", "changelog": "# Changelog\n\n## [0.1] 2024-04-18\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Gene-based Pathogen Identification\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f collection_of_preprocessed_samples\"]@{ shape: docs }\n1[\"Extract element identifiers\"]@{ shape: process }\n0 --> 1\n2[\"Build list\"]@{ shape: process }\n0 --> 2\n3[\"Split file\"]@{ shape: process }\n1 --> 3\n4[\"Flye\"]@{ shape: process }\n2 --> 4\n5[\"Parse parameter value\"]@{ shape: process }\n3 --> 5\n6[\"medaka consensus pipeline\"]@{ shape: process }\n4 --> 6\n0 --> 6\n7[\"Bandage Image\"]@{ shape: process }\n4 --> 7\n8[\"Compose text parameter value\"]@{ shape: process }\n5 --> 8\n9[\"FASTA-to-Tabular\"]@{ shape: process }\n6 --> 9\n10[\"ABRicate\"]@{ shape: process }\n6 --> 10\n11[\"ABRicate\"]@{ shape: process }\n6 --> 11\n12[\"Replace\"]@{ shape: process }\n8 --> 12\n9 --> 12\n13[\"Replace\"]@{ shape: process }\n8 --> 13\n10 --> 13\n14[\"Replace\"]@{ shape: process }\n8 --> 14\n11 --> 14\n15[\"Tabular-to-FASTA\"]@{ shape: process }\n12 --> 15\n```\n", "trsID": "#workflow/github.com/iwc-workflows/gene-based-pathogen-identification/main", "tests": [ { @@ -4283,6 +4284,7 @@ }, "readme": "# Pathogen Detection: PathoGFAIR Samples Aggregation and Visualisation\n\nIn this workflow, we will aggregate results and use the results from 3 workflows (**Nanopore Preprocessing**, **Gene-based Pathogen Identification** and **Nanopore Allele-based Pathogen Identification**) to help track pathogens among samples and visualise all performed analysis by:\n\n1. Drawing a presence-absence heatmap of the identified VF genes within all samples to visualise in which samples these genes can be found.\n2. Drawing a phylogenetic tree for each pathogenic genes detected, where we will relate the contigs of the samples together where this gene is found.\n3. Plotting QC reads, host reads, mapping coverage and depth, and SNP analysis.\n\nWith these types of visualisations, we can have an overview of all samples and the genes, but also how samples are related to each other, which common pathogenic genes they share. Given the time of the sampling and the location one can easily identify using these graphs, where and when the contamination has occurred among the different samples.\n\nIf you're unsure how to use this workflows, or if you want to see it in action with test datasets, it is included in our detailed training material for foodborne pathogen detection and tracking. You can find step-by-step instructions and practical examples in the following [GTN tutorial](https://training.galaxyproject.org/training-material/topics/microbiome/tutorials/pathogen-detection-from-nanopore-foodborne-data/tutorial.html)\n", "changelog": "# Changelog\n\n## [0.1] 2024-04-24\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Pathogen Detection PathoGFAIR Samples Aggregation and Visualisation\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f amr_identified_by_ncbi\"]@{ shape: docs }\n1[\"\u2139\ufe0f vfs_of_genes_identified_by_vfdb\"]@{ shape: docs }\n2[\"\u2139\ufe0f amrs\"]@{ shape: docs }\n3[\"\u2139\ufe0f contigs\"]@{ shape: docs }\n4[\"\u2139\ufe0f vfs\"]@{ shape: docs }\n5[\"\u2139\ufe0f removed_hosts_percentage_tabular\"]@{ shape: doc }\n6[\"\u2139\ufe0f mapping_mean_depth_per_sample\"]@{ shape: doc }\n7[\"\u2139\ufe0f mapping_coverage_percentage_per_sample\"]@{ shape: doc }\n8[\"\u2139\ufe0f number_of_variants_per_sample\"]@{ shape: doc }\n9[\"\u2139\ufe0f metadata\"]@{ shape: doc }\n10[\"Filter failed datasets\"]@{ shape: process }\n0 --> 10\n11[\"Filter failed datasets\"]@{ shape: process }\n1 --> 11\n12[\"Filter failed datasets\"]@{ shape: process }\n2 --> 12\n13[\"Filter failed datasets\"]@{ shape: process }\n3 --> 13\n14[\"Filter failed datasets\"]@{ shape: process }\n4 --> 14\n15[\"Remove beginning\"]@{ shape: process }\n10 --> 15\n16[\"Remove beginning\"]@{ shape: process }\n11 --> 16\n17[\"Remove beginning\"]@{ shape: process }\n12 --> 17\n18[\"Collapse Collection\"]@{ shape: process }\n13 --> 18\n19[\"Collapse Collection\"]@{ shape: process }\n14 --> 19\n20[\"Remove beginning\"]@{ shape: process }\n14 --> 20\n21[\"Count\"]@{ shape: process }\n15 --> 21\n22[\"Count\"]@{ shape: process }\n16 --> 22\n23[\"Group\"]@{ shape: process }\n16 --> 23\n24[\"Unique\"]@{ shape: process }\n17 --> 24\n25[\"Split by group\"]@{ shape: process }\n19 --> 25\n26[\"Unique\"]@{ shape: process }\n20 --> 26\n27[\"Cut\"]@{ shape: process }\n21 --> 27\n28[\"Cut\"]@{ shape: process }\n22 --> 28\n29[\"Filter empty datasets\"]@{ shape: process }\n23 --> 29\n30[\"Cut\"]@{ shape: process }\n24 --> 30\n31[\"Cut\"]@{ shape: process }\n25 --> 31\n32[\"Cut\"]@{ shape: process }\n26 --> 32\n33[\"Collapse Collection\"]@{ shape: process }\n27 --> 33\n34[\"Collapse Collection\"]@{ shape: process }\n28 --> 34\n35[\"Column join\"]@{ shape: process }\n29 --> 35\n36[\"bedtools getfasta\"]@{ shape: process }\n18 --> 36\n30 --> 36\n37[\"Remove beginning\"]@{ shape: process }\n31 --> 37\n38[\"bedtools getfasta\"]@{ shape: process }\n18 --> 38\n32 --> 38\n39[\"Column Regex Find And Replace\"]@{ shape: process }\n33 --> 39\n40[\"Column Regex Find And Replace\"]@{ shape: process }\n34 --> 40\n41[\"Column Regex Find And Replace\"]@{ shape: process }\n35 --> 41\n42[\"Regex Find And Replace\"]@{ shape: process }\n36 --> 42\n43[\"bedtools getfasta\"]@{ shape: process }\n18 --> 43\n37 --> 43\n44[\"Regex Find And Replace\"]@{ shape: process }\n38 --> 44\n45[\"Multi-Join\"]@{ shape: process }\n40 --> 45\n39 --> 45\n46[\"Heatmap w ggplot\"]@{ shape: process }\n41 --> 46\n47[\"Filter empty datasets\"]@{ shape: process }\n42 --> 47\n48[\"ClustalW\"]@{ shape: process }\n43 --> 48\n49[\"Filter empty datasets\"]@{ shape: process }\n44 --> 49\n50[\"Replace Text\"]@{ shape: process }\n45 --> 50\n51[\"FASTA-to-Tabular\"]@{ shape: process }\n47 --> 51\n52[\"Filter empty datasets\"]@{ shape: process }\n48 --> 52\n53[\"FASTA-to-Tabular\"]@{ shape: process }\n49 --> 53\n54[\"Cut\"]@{ shape: process }\n51 --> 54\n55[\"FASTTREE\"]@{ shape: process }\n52 --> 55\n56[\"Cut\"]@{ shape: process }\n53 --> 56\n57[\"Group\"]@{ shape: process }\n54 --> 57\n58[\"Newick Display\"]@{ shape: process }\n55 --> 58\n59[\"Group\"]@{ shape: process }\n56 --> 59\n60[\"Tabular-to-FASTA\"]@{ shape: process }\n57 --> 60\n61[\"Tabular-to-FASTA\"]@{ shape: process }\n59 --> 61\n62[\"FASTA Merge Files and Filter Unique Sequences\"]@{ shape: process }\n60 --> 62\n63[\"FASTA Merge Files and Filter Unique Sequences\"]@{ shape: process }\n61 --> 63\n64[\"ClustalW\"]@{ shape: process }\n62 --> 64\n65[\"ClustalW\"]@{ shape: process }\n63 --> 65\n66[\"FASTTREE\"]@{ shape: process }\n64 --> 66\n67[\"FASTTREE\"]@{ shape: process }\n65 --> 67\n68[\"Newick Display\"]@{ shape: process }\n66 --> 68\n69[\"Newick Display\"]@{ shape: process }\n67 --> 69\n```\n", "trsID": "#workflow/github.com/iwc-workflows/pathogen-detection-pathogfair-samples-aggregation-and-visualisation/main", "tests": [ { @@ -6329,6 +6331,7 @@ }, "readme": "# Nanopore Preprocessing\n\nBefore starting any analysis, it is always a good idea to assess the quality of your input data and to discard poor-quality base content by trimming and filtering reads.\n\nGenerally, we are not interested in the host sequences, but rather only those originating from the pathogen itself. It is important to get rid of all host sequences and to only retain sequences that might include a pathogen, both in order to speed up further steps and to avoid host sequences compromising the analysis.\n\n## Input Datasets\n\n- Collection of sequenced Nanopore reads of all samples to be analysed in a `fastqsanger` or `fastqsanger.gz` format.\n\n## Output Datasets\n\n- Collection of Pre-Processed Sequenced reads of all samples, ready for further analysis with the other workflows, in a `fastqsanger` or `fastqsanger.gz` format.\n\n- Tables indicating total number of reads before and after host sequences trimming, and the host sequences percentages found in each sample.\n\nIf you're unsure how to use this workflows, or if you want to see it in action with test datasets, it is included in our detailed training material for foodborne pathogen detection and tracking. You can find step-by-step instructions and practical examples in the following [GTN tutorial](https://training.galaxyproject.org/training-material/topics/microbiome/tutorials/pathogen-detection-from-nanopore-foodborne-data/tutorial.html)\n", "changelog": "# Changelog\n\n## [0.1] 2024-04-25\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Nanopore Preprocessing\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f samples_profile\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f host_reference_genome\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f collection_of_all_samples\"]@{ shape: docs }\n3[\"Porechop\"]@{ shape: process }\n2 --> 3\n4[\"NanoPlot\"]@{ shape: process }\n2 --> 4\n5[\"FastQC\"]@{ shape: process }\n2 --> 5\n6[\"fastp\"]@{ shape: process }\n3 --> 6\n7[\"MultiQC\"]@{ shape: process }\n5 --> 7\n8[\"Map with minimap2\"]@{ shape: process }\n0 --> 8\n6 --> 8\n1 --> 8\n9[\"NanoPlot\"]@{ shape: process }\n6 --> 9\n10[\"FastQC\"]@{ shape: process }\n6 --> 10\n11[\"Split BAM by reads mapping status\"]@{ shape: process }\n8 --> 11\n12[\"Select\"]@{ shape: process }\n10 --> 12\n13[\"Samtools fastx\"]@{ shape: process }\n11 --> 13\n14[\"Samtools fastx\"]@{ shape: process }\n11 --> 14\n15[\"Collapse Collection\"]@{ shape: process }\n12 --> 15\n16[\"Filter failed datasets\"]@{ shape: process }\n13 --> 16\n17[\"Kraken2\"]@{ shape: process }\n14 --> 17\n18[\"Cut\"]@{ shape: process }\n15 --> 18\n19[\"FastQC\"]@{ shape: process }\n16 --> 19\n20[\"Krakentools: Extract Kraken Reads By ID\"]@{ shape: process }\n6 --> 20\n17 --> 20\n17 --> 20\n21[\"Select\"]@{ shape: process }\n19 --> 21\n22[\"Collapse Collection\"]@{ shape: process }\n21 --> 22\n23[\"Cut\"]@{ shape: process }\n22 --> 23\n24[\"Column join\"]@{ shape: process }\n18 --> 24\n23 --> 24\n25[\"Compute\"]@{ shape: process }\n24 --> 25\n26[\"Column Regex Find And Replace\"]@{ shape: process }\n25 --> 26\n27[\"MultiQC\"]@{ shape: process }\n10 --> 27\n26 --> 27\n```\n", "trsID": "#workflow/github.com/iwc-workflows/nanopore-pre-processing/main", "tests": [ { @@ -7733,6 +7736,7 @@ }, "readme": "# Allele-based Pathogen Identification\n\nThis workflow identifies pathogens using an allelic approach, detecting Single Nucleotide Polymorphisms (SNPs) to track emerging variants, i.e. markers showing evolutionary histories of homogeneous strains. This process includes SNP calling, aimed at identifying novel pathogen strains and elucidating discrepancies compared to reference sequences, thereby facilitating the tracking of emerging variants. Within this workflow, both variants and SNPs are discerned, serving as crucial elements for subsequent pathogen identification and variant tracking purposes.\n\n## Input Datasets\n- Collection of Pre-Processed Sequenced reads of all samples, ready for further analysis with the other workflows, in a `fastqsanger or fastqsanger.gz` format, the output of **Nanopore Preprocessing** workflow.\n- A reference genome to the tested pathogen.\n\n## Output Datasets\n- VCF files indicating identified variants and SNPs, BAM files with mapping results, and Tabular files with mapping depth and coverage calculations.\n\nIf you're unsure how to use this workflows, or if you want to see it in action with test datasets, it is included in our detailed training material for foodborne pathogen detection and tracking. You can find step-by-step instructions and practical examples in the following [GTN tutorial](https://training.galaxyproject.org/training-material/topics/microbiome/tutorials/pathogen-detection-from-nanopore-foodborne-data/tutorial.html)\n", "changelog": "# Changelog\n\n## [0.1.2] 2024-09-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/clair3/clair3/0.1.12+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/clair3/clair3/1.0.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.15.1+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.15.1+galaxy4`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy4`\n\n## [0.1.1] 2024-06-28\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.24+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.28+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.9+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_norm/bcftools_norm/1.15.1+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.9+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy3`\n\n## [0.1] 2024-06-19\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Allele-based Pathogen Identification\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f collection_of_preprocessed_samples\"]@{ shape: docs }\n1[\"\u2139\ufe0f samples_profile\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f reference_genome_of_tested_strain\"]@{ shape: doc }\n3[\"Convert compressed file to uncompressed.\"]@{ shape: process }\n2 --> 3\n4[\"Map with minimap2\"]@{ shape: process }\n1 --> 4\n0 --> 4\n3 --> 4\n5[\"Clair3\"]@{ shape: process }\n4 --> 5\n3 --> 5\n6[\"Samtools depth\"]@{ shape: process }\n4 --> 6\n7[\"Samtools coverage\"]@{ shape: process }\n4 --> 7\n8[\"bcftools norm\"]@{ shape: process }\n5 --> 8\n3 --> 8\n9[\"Advanced Cut\"]@{ shape: process }\n6 --> 9\n10[\"Remove beginning\"]@{ shape: process }\n7 --> 10\n11[\"SnpSift Filter\"]@{ shape: process }\n8 --> 11\n12[\"Table Compute\"]@{ shape: process }\n9 --> 12\n13[\"Cut\"]@{ shape: process }\n10 --> 13\n14[\"SnpSift Extract Fields\"]@{ shape: process }\n11 --> 14\n15[\"bcftools consensus\"]@{ shape: process }\n11 --> 15\n3 --> 15\n16[\"Select first\"]@{ shape: process }\n13 --> 16\n17[\"Remove beginning\"]@{ shape: process }\n14 --> 17\n18[\"Collapse Collection\"]@{ shape: process }\n16 --> 18\n19[\"Count\"]@{ shape: process }\n17 --> 19\n20[\"Advanced Cut\"]@{ shape: process }\n18 --> 20\n21[\"Cut\"]@{ shape: process }\n19 --> 21\n22[\"Paste\"]@{ shape: process }\n20 --> 22\n12 --> 22\n23[\"Select first\"]@{ shape: process }\n21 --> 23\n24[\"Collapse Collection\"]@{ shape: process }\n23 --> 24\n25[\"Column Regex Find And Replace\"]@{ shape: process }\n24 --> 25\n```\n", "trsID": "#workflow/github.com/iwc-workflows/allele-based-pathogen-identification/main", "tests": [ { @@ -8136,6 +8140,7 @@ }, "readme": "# Taxonomy Profiling and Visualisation with Krona\n\nIn this workflow, we identify the different organisms found in our samples by assigning taxonomy levels to the reads starting from the kingdom level down to the species level and visualise the result.\n\nIt\u2019s important to check what might be the species of a possible pathogen to be found, it gets us closer to the investigation as well as discovering possible multiple pathogenetic infections if any existed.\n\nFor taxonomy profiling Kraken2 tool is used along with one of its standard databases available on Galaxy, you can freely choose between Kraken2 different databases based on your input datasets. For visualisation multiple tools can be used, Krona pie chart (as default in this workflow), Phinch interactive tool, Pavian, etc.\n\n## Input Datasets\n- Collection of Pre-Processed Sequenced reads of all samples, ready for further analysis with the other workflows, in a `fastqsanger` or `fastqsanger.gz` format, the output of **Nanopore Preprocessing** workflow.\n\n## Output Datasets\n- Taxonomy profiling Tabular file, visualisation figures and interactive pie charts.\n\nIf you're unsure how to use this workflows, or if you want to see it in action with test datasets, it is included in our detailed training material for foodborne pathogen detection and tracking. You can find step-by-step instructions and practical examples in the following [GTN tutorial](https://training.galaxyproject.org/training-material/topics/microbiome/tutorials/pathogen-detection-from-nanopore-foodborne-data/tutorial.html)\n", "changelog": "# Changelog\n\n## [0.1] 2024-04-25\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Taxonomy Profiling and Visualization with Krona\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f collection_of_preprocessed_samples\"]@{ shape: docs }\n1[\"\u2139\ufe0f kraken_database\"]@{ shape: lean-l }\n2[\"Kraken2\"]@{ shape: process }\n1 --> 2\n0 --> 2\n3[\"Krakentools: Convert kraken report file\"]@{ shape: process }\n2 --> 3\n4[\"Krona pie chart\"]@{ shape: process }\n3 --> 4\n```\n", "trsID": "#workflow/github.com/iwc-workflows/taxonomy-profiling-and-visualization-with-krona/main", "tests": [ { @@ -8729,6 +8734,7 @@ }, "readme": "# Assembly polishing with Racon workflow\n\n## Inputs\n\n- Sequencing reads in format: fastq, fastq.gz, fastqsanger.gz or fastqsanger\n- Genome assembly to be polished, in fasta format\n\n## What does the workflow do\n\n- After long reads have been assembled into a genome (contigs), this can be polished with the same long reads. \n- This workflow uses the tool minimap2 to map the long reads back to the assembly, and then uses Racon to make polishes. \n- This is repeated a further 3 times. \n\nIn more detail:\n\n- minimap2 : long reads are mapped to assembly => overlaps.paf.\n- overaps, long reads, assembly => Racon => polished assembly 1\n- using polished assembly 1 as input; repeat minimap2 + racon => polished assembly 2\n- using polished assembly 2 as input, repeat minimap2 + racon => polished assembly 3\n- using polished assembly 3 as input, repeat minimap2 + racon => polished assembly 4\n\n## Settings\n\n- Run as-is or change parameters at runtime.\n- For the input at \"minimap settings for long reads\", enter (map-pb) for PacBio reads, (map-hifi) for PacBio HiFi reads, or (map-ont) for Oxford Nanopore reads.\n\n## Outputs\n\nThere is one output: the polished assembly in fasta format. \n\n", "changelog": "# Changelog\n\n## [0.1] 2023-07-15\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Assembly polishing with long reads\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Assembly to be polished\"]@{ shape: doc }\n1[\"\u2139\ufe0f long reads\"]@{ shape: doc }\n2[\"\u2139\ufe0f minimap setting (for long reads) \"]@{ shape: lean-l }\n3[\"Minimap2: map long reads to assembly\"]@{ shape: process }\n2 --> 3\n1 --> 3\n0 --> 3\n4[\"Racon: polish 1\"]@{ shape: process }\n0 --> 4\n3 --> 4\n1 --> 4\n5[\"Minimap2: map long reads to polished assembly 1\"]@{ shape: process }\n2 --> 5\n1 --> 5\n4 --> 5\n6[\"Racon: polish 2\"]@{ shape: process }\n4 --> 6\n5 --> 6\n1 --> 6\n7[\"Minimap2: map long reads to polished assembly 2\"]@{ shape: process }\n2 --> 7\n1 --> 7\n6 --> 7\n8[\"Racon: polish 3\"]@{ shape: process }\n6 --> 8\n7 --> 8\n1 --> 8\n9[\"Minimap2: map long reads to polished assembly 3\"]@{ shape: process }\n2 --> 9\n1 --> 9\n8 --> 9\n10[\"Racon: polish 4\"]@{ shape: process }\n8 --> 10\n9 --> 10\n1 --> 10\n```\n", "trsID": "#workflow/github.com/iwc-workflows/polish-with-long-reads/main", "tests": [ { @@ -9611,6 +9617,7 @@ }, "readme": "# Quality and Contamination control workflow for paired end data (v1.0)\n\nThis workflow uses paired-end illumina fastq(.gz) files and executes the following steps:\n1. Quality control and trimming\n - **fastp** QC control and trimming\n2. Taxonomic assignation on trimmed data\n - **Kraken2** assignation\n - **Bracken** to re-estimate abundance to the species level\n - **Recentrifuge** to make a krona chart\n3. Aggregating outputs into a single JSON file\n - **ToolDistillator** to extract and aggregate information from different tool outputs to JSON parsable files\n\n## Inputs\n\n1. Paired-end illumina raw reads in fastq(.gz) format.\n\n## Outputs\n\n1. Quality control:\n - quality report\n - trimmed raw reads\n2. Taxonomic assignation:\n - Tabular report of identified species\n - Tabular file with assigned read to a taxonomic level\n - Krona chart to illustrate species diversity of the sample\n3. Aggregating outputs:\n - JSON file with information about the outputs of **fastp**, **Kraken2**, **Bracken**, **Recentrifuge** \n", "changelog": "# Changelog\n\n## [1.1.6] 2024-11-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3`\n\n## [1.1.5] 2024-10-21\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1`\n\n## [1.1.4] 2024-10-10\n\n### Manual update\n\n- Changed input parameters to select databases in WFs. Use \"Attempt restriction based on connections\" instead of \"Provide list of suggested values\".\n\n## [1.1.3] 2024-09-30\n\n### Manual update\n\n- Updated Recentrifuge version manually in the ToolDistillator parameters\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.14.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.15.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0`\n\n## [1.1.2] 2024-08-05\n\n### Manual update\n\n- Updated the tool versions manually in the ToolDistillator parameters\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/2.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/3.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.14.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/recentrifuge/recentrifuge/1.14.1+galaxy0`\n\n## [1.1.1] 2024-07-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0`\n\n## [1.1] 2024-06-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bracken/est_abundance/2.9+galaxy0`\n\n## [1.0] - 04-06-2024\n\n- First release\n", + "diagrams": "# Workflow diagrams\n\n## Quality and Contamination Control For Genome Assembly\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Input sequence reads (forward)\"]@{ shape: doc }\n1[\"\u2139\ufe0f Input sequence reads (reverse)\"]@{ shape: doc }\n2[\"\u2139\ufe0f Select a taxonomy database\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Select a NCBI taxonomy database\"]@{ shape: lean-l }\n4[\"fastp_trimming_step\"]@{ shape: process }\n0 --> 4\n1 --> 4\n5[\"kraken_taxonomy_assignation\"]@{ shape: process }\n2 --> 5\n4 --> 5\n4 --> 5\n6[\"bracken_abundance_estimation\"]@{ shape: process }\n5 --> 6\n2 --> 6\n7[\"recentrifuge_taxonomy_visualization\"]@{ shape: process }\n3 --> 7\n5 --> 7\n8[\"ToolDistillator\"]@{ shape: process }\n4 --> 8\n4 --> 8\n4 --> 8\n4 --> 8\n5 --> 8\n2 --> 8\n5 --> 8\n6 --> 8\n6 --> 8\n2 --> 8\n7 --> 8\n7 --> 8\n7 --> 8\n3 --> 8\n9[\"ToolDistillator summarize\"]@{ shape: process }\n8 --> 9\n```\n", "trsID": "#workflow/github.com/iwc-workflows/quality-and-contamination-control/main", "tests": [ { @@ -10004,6 +10011,7 @@ }, "readme": "# Genome assembly with Flye workflow\n\n\n## Why use this workflow?\n\n- This is a fairly simple workflow that assembles a genome from long sequencing reads.\n- It takes in sequencing reads from PacBio (Hifi or non-Hifi), or Oxford Nanopore.\n- If you have PacBio Hifi reads, you may prefer to use a workflow with the assembly tool Hifiasm, such as the those in the suite of VGP workflows. \n\n## Inputs\n\nRaw sequencing reads from PacBio or Oxford Nanopore in format:\nfasta, fasta.gz, fastq, fastq.gz, fastqsanger.gz or fastqsanger\n\n## What does the workflow do\n\n- Assembles the reads with the tool Flye\n- Summarizes the statistics with the tool Fasta statistics\n- Report with the tool Quast\n- Renders the assembly graph with the tool Bandage\n\n## Settings\n\nRun as-is or change parameters at runtime\n\nFor example:\n- change the Flye option of \"mode\" to the correct sequencing type\n- change the Quast option for \"Type of organism\" to correct taxon\n \n## Outputs\n\n- Flye assembly output - four files: fasta, gfa for bandage, graph_dot file, assembly info\n- Fasta statistics\n- Bandage image\n- Quast report\n", "changelog": "# Changelog\n\n## [0.2] 2024-03-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/flye/flye/2.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/flye/flye/2.9.3+galaxy0`\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),\nand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [0.1] 2023-07-14\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Genome assembly with Flye\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Input sequence reads\"]@{ shape: doc }\n1[\"Flye: assembly\"]@{ shape: process }\n0 --> 1\n2[\"Quast genome report\"]@{ shape: process }\n1 --> 2\n3[\"Fasta statistics\"]@{ shape: process }\n1 --> 3\n4[\"Bandage image: Flye assembly\"]@{ shape: process }\n1 --> 4\n```\n", "trsID": "#workflow/github.com/iwc-workflows/assembly-with-flye/main", "tests": [ { @@ -10837,6 +10845,7 @@ }, "readme": "# Bacterial genome assembly workflow for paired end data (v1.0)\n\nThis workflow uses paired-end illumina trimmed reads fastq(.gz) files and executes the following steps:\n1. Assembly raw reads to a final contig fasta file \n - **Shovill**\n2. Quality control of the assembly\n - **Quast**\n - **Bandage** to plot assembly graph\n - **Refseqmasher** to identify the closed reference genome\n3. Aggregating outputs into a single JSON file\n - **ToolDistillator** to extract and aggregate information from different tool outputs to JSON parsable files\n\n## Inputs\n\n1. Paired-end illumina trimmed reads in fastq(.gz) format.\n\n## Outputs\n\n1. Assembly:\n - Assembly with contig in fasta\n - Mapped read on assembly in bam format\n - Graph assembly in gfa format\n2. Quality of Assembly:\n - Assembly report\n - Assembly Graph\n - Tabular result of closed reference genome\n3. Aggregating outputs\n - JSON file with information about the outputs of **Shovill**, **Quast**, **Bandage**, **Refseqmasher**", "changelog": "# Changelog\n\n## [1.1.5] 2024-11-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.2.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/quast/quast/5.3.0+galaxy0`\n\n## [1.1.4] 2024-10-21\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1`\n\n## [1.1.3] 2024-09-30\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0`\n\n## [1.1.2] 2024-09-19\n\n### Manual update\n\n- Updated the tool versions manually in the ToolDistillator parameters\n\n## [1.1.1] 2024-07-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0`\n\n## [1.1] 2024-06-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_info/0.8.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_info/2022.09+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/0.8.1+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bandage/bandage_image/2022.09+galaxy4`\n\n## [1.0] - 05-06-2024\n\n- First release", + "diagrams": "# Workflow diagrams\n\n## Bacterial Genome Assembly using Shovill\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Input adapter trimmed sequence reads (forward)\"]@{ shape: doc }\n1[\"\u2139\ufe0f Input adapter trimmed sequence reads (reverse)\"]@{ shape: doc }\n2[\"shovill_genome_assembly\"]@{ shape: process }\n0 --> 2\n1 --> 2\n3[\"quast_quality\"]@{ shape: process }\n2 --> 3\n0 --> 3\n1 --> 3\n4[\"refseqmasher_genome\"]@{ shape: process }\n2 --> 4\n5[\"bandage_contig_graph_stats\"]@{ shape: process }\n2 --> 5\n6[\"bandage_contig_graph_plot\"]@{ shape: process }\n2 --> 6\n7[\"ToolDistillator\"]@{ shape: process }\n2 --> 7\n2 --> 7\n2 --> 7\n3 --> 7\n3 --> 7\n4 --> 7\n6 --> 7\n5 --> 7\n8[\"ToolDistillator summarize\"]@{ shape: process }\n7 --> 8\n```\n", "trsID": "#workflow/github.com/iwc-workflows/bacterial-genome-assembly/main", "tests": [ { @@ -12173,6 +12182,7 @@ }, "readme": "# Bacterial genome annotation workflow (v1.0)\n\nThis workflow uses assembled bacterial genome fasta files (but can be any fasta file) and executes the following steps:\n1. Genomic annotation\n - **Bakta** to predict CDS and small proteins (sORF)\n2. Integron identification\n - **IntegronFinder2** to identify CALIN elements, In0 elements, and complete integrons\n3. Plasmid gene identification\n - **Plasmidfinder** to identify and typing plasmid sequences\n4. Inserted sequence (IS) detection\n - **ISEScan** to detect IS elements\n5. Aggregating outputs into a single JSON file\n - **ToolDistillator** to extract and aggregate information from different tool outputs to JSON parsable files\n\n## Inputs\n\n1. Assembled bacterial genome in fasta format.\n\n## Outputs\n\n1. Genomic annotation:\n - genome annotation in tabular, gff and several other formats\n - annotation plot\n - nucleotide and protein sequences identified\n - summary of genomic identified elements\n2. Integron identification:\n - integron identification in tabular format and a summary\n3. Plasmid gene identification:\n - plasmid gene identified and associated blast hits\n4. Inserted Element (IS) detection:\n - IS element list in tabular format\n - is hits in fasta format\n - ORF hits in protein and nucleotide fasta format\n - IS annotation gff format\n5. Aggregating outputs:\n - JSON file with information about the outputs of **Bakta**, **IntegronFinder2**, **Plasmidfinder**, **ISEScan**", "changelog": "# Changelog\n\n## [1.1.7] 2024-10-21\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1`\n\n## [1.1.6] 2024-10-11\n\n### Manual update\n\n- Changed input parameters to select databases in WFs. Use \"Attempt restriction based on connections\" instead of \"Provide list of suggested values\".\n\n## [1.1.5] 2024-09-30\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0`\n\n## [1.1.4] 2024-09-19\n\n### Manual update\n\n- Updated the tool versions manually in the ToolDistillator parameters\n\n## [1.1.3] 2024-09-09\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bakta/bakta/1.9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bakta/bakta/1.9.4+galaxy0`\n\n## [1.1.2] - 2024-07-19\n\n- PlasmidFinder database correction in .ga\n\n## [1.1.1] 2024-07-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0`\n\n## [1.1] 2024-06-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/integron_finder/integron_finder/2.0.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/integron_finder/integron_finder/2.0.5+galaxy0`\n\n## [1.0] - 14-06-2024\n\n- First release\n", + "diagrams": "# Workflow diagrams\n\n## bacterial_genome_annotation\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Input sequence fasta\"]@{ shape: doc }\n1[\"\u2139\ufe0f Select a plasmid detection database\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Select a bacterial genome annotation database\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Select a AMRFinderPlus database\"]@{ shape: lean-l }\n4[\"genomic_annotation_insertionelement_isescan\"]@{ shape: process }\n0 --> 4\n5[\"genomic_annotation_integron\"]@{ shape: process }\n0 --> 5\n6[\"genomic_annotation_plasmid_plasmidfinder\"]@{ shape: process }\n1 --> 6\n0 --> 6\n7[\"Bakta\"]@{ shape: process }\n3 --> 7\n2 --> 7\n0 --> 7\n8[\"ToolDistillator\"]@{ shape: process }\n6 --> 8\n6 --> 8\n6 --> 8\n6 --> 8\n1 --> 8\n4 --> 8\n4 --> 8\n4 --> 8\n4 --> 8\n4 --> 8\n4 --> 8\n5 --> 8\n5 --> 8\n7 --> 8\n7 --> 8\n7 --> 8\n7 --> 8\n7 --> 8\n7 --> 8\n7 --> 8\n7 --> 8\n7 --> 8\n7 --> 8\n7 --> 8\n2 --> 8\n7 --> 8\n9[\"ToolDistillator summarize\"]@{ shape: process }\n8 --> 9\n```\n", "trsID": "#workflow/github.com/iwc-workflows/bacterial_genome_annotation/main", "tests": [ { @@ -13011,6 +13021,7 @@ }, "readme": "# AMR gene detection workflow in an assembled bacterial genome (v1.0)\n\nThis workflow uses assembled bacterial genome fasta files (but can be any fasta file) and executes the following steps:\n1. Genomic detection\n - Antimicrobial resistance gene identification:\n - **staramr** to blast against ResFinder and PlasmidFinder database\n - **AMRFinderPlus** to find antimicrobial resistance genes and point mutations \n - Virulence gene identification:\n - **ABRicate** with VFDB_A database\n2. Aggregating outputs into a single JSON file\n - **ToolDistillator** to extract and aggregate information from different tool outputs to JSON parsable files\n\n## Inputs\n\n1. Assembled bacterial genome in fasta format.\n\n## Outputs\n\n1. Genomic detection\n - Antimicrobial resistance gene identification:\n - AMR gene list\n - MLST typing\n - Plasmid gene identification\n - Blast hits\n - AMR gene fasta (assembled nucleotide sequences)\n - Point mutation list\n - Virulence gene identification:\n - Gene identification in tabular format\n2. Aggregating outputs:\n - JSON file with information about the outputs of **staramr**, **AMRFinderPlus**, **ABRicate**", "changelog": "# Changelog\n\n## [1.1.5] 2024-10-21\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy1`\n\n## [1.1.4] 2024-10-11\n\n### Manual update\n\n- Changed input parameters to select databases in WFs. Use \"Attempt restriction based on connections\" instead of \"Provide list of suggested values\".\n\n## [1.1.3] 2024-09-30\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9.1+galaxy0`\n\n## [1.1.2] 2024-09-19\n\n### Manual update\n\n- Change percent identity threshold for Resfinder blast results in StarAMR from 98.0% to 90.0%\n\n## [1.1.1] 2024-07-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator/tooldistillator/0.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.8.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/tooldistillator_summarize/tooldistillator_summarize/0.9+galaxy0`\n\n## [1.1] 2024-06-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/nml/staramr/staramr_search/0.10.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/nml/staramr/staramr_search/0.10.0+galaxy1`\n\n## [1.0] - 05-06-2024\n\n- First release", + "diagrams": "# Workflow diagrams\n\n## amr_gene_detection\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Input sequence fasta\"]@{ shape: doc }\n1[\"\u2139\ufe0f Select a taxonomy group point mutation\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Select a AMR genes detection database\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Select a virulence genes detection database\"]@{ shape: lean-l }\n4[\"staramr_amr_genes\"]@{ shape: process }\n0 --> 4\n5[\"amrfinderplus_point_mutation\"]@{ shape: process }\n2 --> 5\n0 --> 5\n1 --> 5\n6[\"abricate_virulence\"]@{ shape: process }\n3 --> 6\n0 --> 6\n7[\"ToolDistillator\"]@{ shape: process }\n6 --> 7\n3 --> 7\n4 --> 7\n4 --> 7\n4 --> 7\n5 --> 7\n5 --> 7\n5 --> 7\n2 --> 7\n8[\"ToolDistillator summarize\"]@{ shape: process }\n7 --> 8\n```\n", "trsID": "#workflow/github.com/iwc-workflows/amr_gene_detection/main", "tests": [ { @@ -13875,6 +13886,7 @@ }, "readme": "# Protein-ligand complex parameterization\n\nParameterizes an input protein (PDB) and ligand (SDF) file prior to molecular\ndynamics simulation with GROMACS.\n\nThis is a simple workflow intended for use as a subworkflow in more complex\nMD workflows. It is used as a subworkflow by the GROMACS MMGBSA and dcTMD\nworkflows. \n", "changelog": "# Changelog\n\n## [0.1.4] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1.3] 2022-05-25\n\n### Changed\n- Changed creator ORCID to absolute URI\n\n## [0.1.2] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.1.1] 2021-12-06\n\n### Fixed\n- `.workflowhub.yml`: use `repo-name/dockstore-workflow-name` scheme for workflows.\n- Moved test data inside repo.\n\n## [0.1]\n\n- Initial version of protein-ligand parameterization workflow.\n", + "diagrams": "# Workflow diagrams\n\n## Create GRO and TOP complex files\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f pH\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f Ligand SDF\"]@{ shape: doc }\n2[\"\u2139\ufe0f Apoprotein PDB\"]@{ shape: doc }\n3[\"\u2139\ufe0f Water model\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Force field\"]@{ shape: lean-l }\n5[\"Compound conversion\"]@{ shape: process }\n1 --> 5\n0 --> 5\n6[\"Descriptors\"]@{ shape: process }\n1 --> 6\n7[\"GROMACS initial setup\"]@{ shape: process }\n4 --> 7\n2 --> 7\n3 --> 7\n8[\"Search in textfiles\"]@{ shape: process }\n5 --> 8\n9[\"Cut\"]@{ shape: process }\n6 --> 9\n10[\"Parse parameter value\"]@{ shape: process }\n9 --> 10\n11[\"AnteChamber\"]@{ shape: process }\n10 --> 11\n8 --> 11\n12[\"Generate MD topologies for small molecules\"]@{ shape: process }\n10 --> 12\n11 --> 12\n13[\"Merge GROMACS topologies\"]@{ shape: process }\n12 --> 13\n12 --> 13\n7 --> 13\n7 --> 13\n```\n", "trsID": "#workflow/github.com/iwc-workflows/protein-ligand-complex-parameterization/main", "tests": [ { @@ -16157,6 +16169,7 @@ }, "readme": "# GROMACS dcTMD free energy calculation\n\nPerform an ensemble of targeted MD simulations of a user-specified size using\nthe GROMACS PULL code and calculate dcTMD free energy and friction profiles\nfor the resulting dissocation pathway. Note that pathway separation is not\nperformed by the workflow; the user is responsible for checking the ensemble themselves.\n\nThe input protein (PDB) and ligand (SDF) files provided are parameterized by\nthe 'Protein-ligand complex parameterization' subworkflow.\n\nNote that the workflow uses a MDP file for configuring the TMD simulations; this\nis packaged alongside the workflow as `tmd.mdp`.\n\n## Citations\n* Steffen Wolf and Gerhard Stock (2018), Targeted Molecular Dynamics Calculations of Free Energy Profiles Using a Nonequilibrium Friction Correction, J. Chem. Theory Comput. doi:10.1021/acs.jctc.8b00835\n* Steffen Wolf, Benjamin Lickert, Simon Bray and Gerhard Stock (2020), Multisecond ligand dissociation dynamics from atomistic simulations, Nat. Commun. doi:10.1038/s41467-020-16655-1\n", "changelog": "# Changelog\n\n## [0.1.5] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1.4] 2023-11-10\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2021.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2022+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_solvate/gmx_solvate/2021.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_solvate/gmx_solvate/2022+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_em/gmx_em/2021.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_em/gmx_em/2022+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_makendx/gmx_makendx/2021.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_makendx/gmx_makendx/2022+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2021.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0`\n\n## [0.1.3] 2022-05-25\n\n### Changed\n- Changed creator ORCID to absolute URI\n\n## [0.1.2] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.1.1] 2021-12-06\n\n### Fixed\n- `.workflowhub.yml`: use `repo-name/dockstore-workflow-name` scheme for workflows.\n- Moved test data inside repo.\n\n## [0.1]\n\n- Initial version of GROMACS dcTMD workflow.\n", + "diagrams": "# Workflow diagrams\n\n## dcTMD calculations with GROMACS\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Ligand SDF\"]@{ shape: doc }\n1[\"\u2139\ufe0f pH to protonate ligand\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Protein PDB\"]@{ shape: doc }\n3[\"\u2139\ufe0f Salt concentration\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Water model\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Force field\"]@{ shape: lean-l }\n6[\"\u2139\ufe0f Number of simulations\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f Temperature\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f Number of equilibration steps\"]@{ shape: lean-l }\n9[\"Online data\"]@{ shape: process }\n10[\"\u2139\ufe0f Pulling rate\"]@{ shape: lean-l }\n11[\"\u2139\ufe0f Step length (ps)\"]@{ shape: lean-l }\n12[\"\u2139\ufe0f Protein pull group\"]@{ shape: lean-l }\n13[\"\u2139\ufe0f Number of steps\"]@{ shape: lean-l }\n14[\"\u2139\ufe0f Pull group pbcatom\"]@{ shape: lean-l }\n15[\"\ud83d\udee0\ufe0f Create GRO and TOP complex files\"]@{ shape: subprocess }\n2 --> 15\n5 --> 15\n0 --> 15\n4 --> 15\n1 --> 15\n16[\"Create text file\"]@{ shape: process }\n7 --> 16\n6 --> 16\n17[\"Compose text parameter value\"]@{ shape: process }\n10 --> 17\n18[\"Compose text parameter value\"]@{ shape: process }\n11 --> 18\n19[\"Compose text parameter value\"]@{ shape: process }\n13 --> 19\n20[\"Compose text parameter value\"]@{ shape: process }\n14 --> 20\n21[\"GROMACS solvation and adding ions\"]@{ shape: process }\n3 --> 21\n15 --> 21\n15 --> 21\n22[\"Split file\"]@{ shape: process }\n16 --> 22\n23[\"Add line to file\"]@{ shape: process }\n9 --> 23\n17 --> 23\n24[\"GROMACS energy minimization\"]@{ shape: process }\n21 --> 24\n21 --> 24\n25[\"Parse parameter value\"]@{ shape: process }\n22 --> 25\n26[\"Add line to file\"]@{ shape: process }\n23 --> 26\n19 --> 26\n27[\"Create GROMACS index files\"]@{ shape: process }\n24 --> 27\n28[\"GROMACS simulation\"]@{ shape: process }\n24 --> 28\n15 --> 28\n8 --> 28\n11 --> 28\n25 --> 28\n21 --> 28\n29[\"Add line to file\"]@{ shape: process }\n26 --> 29\n18 --> 29\n30[\"Text transformation\"]@{ shape: process }\n27 --> 30\n31[\"Add line to file\"]@{ shape: process }\n29 --> 31\n20 --> 31\n32[\"Add line to file\"]@{ shape: process }\n30 --> 32\n12 --> 32\n33[\"Concatenate datasets\"]@{ shape: process }\n27 --> 33\n32 --> 33\n34[\"GROMACS simulation\"]@{ shape: process }\n28 --> 34\n28 --> 34\n33 --> 34\n31 --> 34\n21 --> 34\n35[\"dcTMD friction correction\"]@{ shape: process }\n34 --> 35\n```\n\n## Create GRO and TOP complex files\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Ligand SDF\"]@{ shape: doc }\n1[\"\u2139\ufe0f pH\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Apoprotein PDB\"]@{ shape: doc }\n3[\"\u2139\ufe0f Water model\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Force field\"]@{ shape: lean-l }\n5[\"Descriptors\"]@{ shape: process }\n0 --> 5\n6[\"Compound conversion\"]@{ shape: process }\n0 --> 6\n1 --> 6\n7[\"GROMACS initial setup\"]@{ shape: process }\n4 --> 7\n2 --> 7\n3 --> 7\n8[\"Cut\"]@{ shape: process }\n5 --> 8\n9[\"Search in textfiles\"]@{ shape: process }\n6 --> 9\n10[\"Parse parameter value\"]@{ shape: process }\n8 --> 10\n11[\"AnteChamber\"]@{ shape: process }\n10 --> 11\n9 --> 11\n12[\"Generate MD topologies for small molecules\"]@{ shape: process }\n10 --> 12\n11 --> 12\n13[\"Merge GROMACS topologies\"]@{ shape: process }\n12 --> 13\n12 --> 13\n7 --> 13\n7 --> 13\n```\n", "trsID": "#workflow/github.com/iwc-workflows/gromacs-dctmd/main", "tests": [ { @@ -17070,6 +17083,7 @@ }, "readme": "# Fragment-based virtual screening with docking and pose scoring\n\nDock a compound library against a target protein with rDock and validate the\nposes generated against a reference fragment using SuCOS to compare the feature\noverlap. Poses are filtered by a user-specified SuCOS threshold.\n\nA list of fragments should be specified which will be used to define the cavity\nfor docking, using the 'Frankenstein ligand' technique. For more details, please\nsee https://www.informaticsmatters.com/blog/2018/11/23/cavities-and-frankenstein-molecules.html\n\nCompounds are split into collections and then recombined to allow the workflow\nto be run in a highly parallelized fashion. To specify the level of\nparallelization, use the 'Collection size' parameter.\n", "changelog": "# Changelog\n\n## [0.1.5] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1.4] 2023-02-14\n\n### Fixed\n- Fix the changeset revisions for 2 tool shed repositories\n- Sync version of ``openbabel_compund_convert`` step to newest version\n\n## [0.1.3] 2022-05-25\n\n### Changed\n- Changed creator ORCID to absolute URI\n\n## [0.1.2] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.1.1] 2021-12-06\n\n### Fixed\n- `.workflowhub.yml`: use `repo-name/dockstore-workflow-name` scheme for workflows.\n- Moved test data inside repo.\n\n## [0.1]\n\n- Initial version of fragment-based docking and scoring workflow.\n", + "diagrams": "# Workflow diagrams\n\n## Fragment-based virtual screening using rDock for docking and SuCOS for pose scoring\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Number of poses\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f Receptor (PDB)\"]@{ shape: doc }\n2[\"\u2139\ufe0f All fragments (SDF)\"]@{ shape: doc }\n3[\"\u2139\ufe0f Collection size for docking\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f SuCOS threshold\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Fragment for SuCOS scoring (SDF/MOL)\"]@{ shape: doc }\n6[\"\u2139\ufe0f Candidate compounds (SMILES)\"]@{ shape: doc }\n7[\"Compound conversion\"]@{ shape: process }\n1 --> 7\n8[\"Create Frankenstein ligand\"]@{ shape: process }\n2 --> 8\n9[\"Compose text parameter value\"]@{ shape: process }\n4 --> 9\n10[\"Enumerate changes\"]@{ shape: process }\n6 --> 10\n11[\"rDock cavity definition\"]@{ shape: process }\n8 --> 11\n7 --> 11\n12[\"Compound conversion\"]@{ shape: process }\n10 --> 12\n13[\"Split file\"]@{ shape: process }\n12 --> 13\n3 --> 13\n14[\"rDock docking\"]@{ shape: process }\n11 --> 14\n13 --> 14\n0 --> 14\n7 --> 14\n15[\"Collapse Collection\"]@{ shape: process }\n14 --> 15\n16[\"Score docked poses using SuCOS\"]@{ shape: process }\n15 --> 16\n5 --> 16\n17[\"rDock docking\"]@{ shape: process }\n9 --> 17\n16 --> 17\n```\n", "trsID": "#workflow/github.com/iwc-workflows/fragment-based-docking-scoring/main", "tests": [ { @@ -19112,6 +19126,7 @@ }, "readme": "# GROMACS MMGBSA free energy calculation\n\nPerform an ensemble of MD simulations of a user-specified size using GROMACS,\nand calculate MMGBSA free energies using AmberTools. An ensemble average is\ncalculated and returned to the user as the final input.\n\nThe input protein (PDB) and ligand (SDF) files provided are parameterized by\nthe 'Protein-ligand complex parameterization' subworkflow.\n", "changelog": "# Changelog\n\n## [0.1.5] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2021.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_setup/gmx_setup/2022+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_editconf/gmx_editconf/2021.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_editconf/gmx_editconf/2022+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1`\n- `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_solvate/gmx_solvate/2021.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_solvate/gmx_solvate/2022+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_em/gmx_em/2021.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_em/gmx_em/2022+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2021.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/gmx_sim/gmx_sim/2022+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/chemteam/md_converter/md_converter/1.9.6+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/chemteam/md_converter/md_converter/1.9.7+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/4.2` was updated to `toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0`\n\n## [0.1.4] 2023-11-20\n\n- Fix author in dockstore\n- Fix changeset_revision of gmx_solvate\n\n## [0.1.3] 2022-05-25\n\n### Changed\n- Changed creator ORCID to absolute URI\n\n## [0.1.2] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.1.1] 2021-12-06\n\n### Fixed\n- `.workflowhub.yml`: use `repo-name/dockstore-workflow-name` scheme for workflows.\n- Moved test data inside repo.\n\n## [0.1]\n\n- Initial version of GROMACS MMGBSA workflow.\n", + "diagrams": "# Workflow diagrams\n\n## MMGBSA calculations with GROMACS\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Salt concentration\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f Number of simulations\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Apoprotein PDB\"]@{ shape: doc }\n3[\"\u2139\ufe0f Water model\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f pH\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Force field\"]@{ shape: lean-l }\n6[\"\u2139\ufe0f Ligand SDF\"]@{ shape: doc }\n7[\"\u2139\ufe0f NVT equilibration steps\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f NPT equilibration steps\"]@{ shape: lean-l }\n9[\"\u2139\ufe0f Production steps\"]@{ shape: lean-l }\n10[\"Compose text parameter value\"]@{ shape: process }\n0 --> 10\n11[\"\ud83d\udee0\ufe0f Create GRO and TOP complex files\"]@{ shape: subprocess }\n2 --> 11\n5 --> 11\n6 --> 11\n3 --> 11\n4 --> 11\n12[\"Create text file\"]@{ shape: process }\n10 --> 12\n1 --> 12\n13[\"GROMACS structure configuration\"]@{ shape: process }\n11 --> 13\n14[\"Split file\"]@{ shape: process }\n12 --> 14\n15[\"Parse parameter value\"]@{ shape: process }\n14 --> 15\n16[\"GROMACS solvation and adding ions\"]@{ shape: process }\n15 --> 16\n13 --> 16\n11 --> 16\n17[\"GROMACS energy minimization\"]@{ shape: process }\n16 --> 17\n16 --> 17\n18[\"Convert Parameters\"]@{ shape: process }\n16 --> 18\n16 --> 18\n19[\"GROMACS simulation\"]@{ shape: process }\n17 --> 19\n11 --> 19\n7 --> 19\n16 --> 19\n20[\"GROMACS simulation\"]@{ shape: process }\n19 --> 20\n19 --> 20\n11 --> 20\n8 --> 20\n16 --> 20\n21[\"GROMACS simulation\"]@{ shape: process }\n20 --> 21\n20 --> 21\n9 --> 21\n16 --> 21\n22[\"MDTraj file converter\"]@{ shape: process }\n21 --> 22\n23[\"MMPBSA/MMGBSA\"]@{ shape: process }\n18 --> 23\n18 --> 23\n18 --> 23\n18 --> 23\n22 --> 23\n24[\"Search in textfiles\"]@{ shape: process }\n23 --> 24\n25[\"Collapse Collection\"]@{ shape: process }\n24 --> 25\n26[\"Cut\"]@{ shape: process }\n25 --> 26\n27[\"Summary Statistics\"]@{ shape: process }\n26 --> 27\n```\n\n## Create GRO and TOP complex files\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Ligand SDF\"]@{ shape: doc }\n1[\"\u2139\ufe0f pH\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Apoprotein PDB\"]@{ shape: doc }\n3[\"\u2139\ufe0f Water model\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Force field\"]@{ shape: lean-l }\n5[\"Descriptors\"]@{ shape: process }\n0 --> 5\n6[\"Compound conversion\"]@{ shape: process }\n0 --> 6\n1 --> 6\n7[\"GROMACS initial setup\"]@{ shape: process }\n4 --> 7\n2 --> 7\n3 --> 7\n8[\"Cut\"]@{ shape: process }\n5 --> 8\n9[\"Search in textfiles\"]@{ shape: process }\n6 --> 9\n10[\"Parse parameter value\"]@{ shape: process }\n8 --> 10\n11[\"AnteChamber\"]@{ shape: process }\n10 --> 11\n9 --> 11\n12[\"Generate MD topologies for small molecules\"]@{ shape: process }\n10 --> 12\n11 --> 12\n13[\"Merge GROMACS topologies\"]@{ shape: process }\n12 --> 13\n12 --> 13\n7 --> 13\n7 --> 13\n```\n", "trsID": "#workflow/github.com/iwc-workflows/gromacs-mmgbsa/main", "tests": [ { @@ -20901,6 +20916,7 @@ }, "readme": "COVID-19: variation analysis reporting\n--------------------------------------\n\nThis workflow takes VCF datasets of variants produced by any of the\n\"*-variant-calling\" workflows in\nhttps://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling\nand generates tabular reports of variants by samples and by variant, along with\nan overview plot of variants and their allele-frequencies across all samples.\n", "changelog": "# Changelog\n\n## [0.3.4] 2024-09-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/9.3+galaxy1`\n\n## [0.3.2] 2023-11-28\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1`\n\n## [0.3.1] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.3] 2022-10-13\n\n### Changed\n\n- Upgraded to new, more flexible version of column_maker tool.\n\n This change allows a simplification of the workflow, which now uses two\n steps less for producing identical results.\n\n- Upgraded to latest version of tp_find_and_replace tool, which can handle\n multiple substitutions per tool run. Saves another step in the workflow.\n\n- Upgraded datamash to its latest tool wrapper version.\n\nThese changes should not have any effects on results except this one:\n\n- the AFcaller column of the \"Combined Variant Report by Sample\" could\n previously contain values in scientific notation for very low allele\n frequencies (< 0.001). In the new version all values in the column will be\n reported consistently in regular floating point format.\n\n## [0.2] 2022-02-11\n\n### Changed\n\n- Altered the exact meaning of the user-supplied AF and DP_ALT thresholds\n\n The AF threshold is now compared against (DP4[2] + DP4[3]) / DP, i.e. the\n unbiased AF based on all bases at the site instead of against the AF reported\n by the variant caller (which in the case of lofreq would consider only\n variant-supporting bases >= the caller's --min-bq in the numerator).\n\n Conversely, the DP_ALT threshold is now compared against DP * AF (as reported\n by the variant caller), i.e. in the case of lofreq as the caller will\n consider only bases with >= --min-bq base quality.\n\n- Reported AF values in the by-sample and the by-variant reports are now\n unbiased AF values calculated from (DP4[2] + DP4[3]) / DP as explained above.\n\n The by-sample report reports the original AF value provided by the variant\n caller in an additional AFcaller column.\n\n- Tile colors in the variant frequency summary plot are now based on unbiased\n AF values.\n\n- An extra step removing potential called variants with a caller-reported\n DP of 0 has been added to avoid division by zero errors in the calculation\n of unbiased AF values.\n\n### Fixed\n\n- Reverted the autoupdated wrapper version change for the snpsift tools\n\n The autoupdate script had problems sorting their non-standard version strings\n correctly and downgraded these wrappers instead of upgrading them\n\n- Made sure only a single changeset revision of the text_processing tools is\n used in the workflow.\n\n## [0.1.3] 2022-02-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3.0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3+t.galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_extractFields/4.3.0`\n- `toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/4.2` was updated to `toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.5` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6`\n\n## [0.1.2] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.1.1] 2021-07-23\n\n### Added\n\nAdded RO-Crate metadata file. No functional changes.\n\n## [0.1]\n\n- Initial version of COVID-19: variation analysis reporting\n", + "diagrams": "# Workflow diagrams\n\n## COVID-19: variation analysis reporting\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Variation data to report\"]@{ shape: docs }\n1[\"\u2139\ufe0f AF Filter\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f DP Filter\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f DP_ALT Filter\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f gene products translations\"]@{ shape: doc }\n5[\"\u2139\ufe0f Number of Clusters\"]@{ shape: lean-l }\n6[\"SnpSift Filter\"]@{ shape: process }\n0 --> 6\n7[\"Compose text parameter value\"]@{ shape: process }\n1 --> 7\n2 --> 7\n3 --> 7\n8[\"Compose text parameter value\"]@{ shape: process }\n1 --> 8\n2 --> 8\n3 --> 8\n9[\"SnpSift Filter\"]@{ shape: process }\n7 --> 9\n8 --> 9\n6 --> 9\n10[\"SnpSift Extract Fields\"]@{ shape: process }\n9 --> 10\n11[\"Replace column\"]@{ shape: process }\n10 --> 11\n4 --> 11\n12[\"Compute\"]@{ shape: process }\n11 --> 12\n13[\"Datamash\"]@{ shape: process }\n12 --> 13\n14[\"Replace\"]@{ shape: process }\n13 --> 14\n15[\"Collapse Collection\"]@{ shape: process }\n14 --> 15\n16[\"Compute\"]@{ shape: process }\n15 --> 16\n17[\"Replace\"]@{ shape: process }\n16 --> 17\n18[\"Datamash\"]@{ shape: process }\n17 --> 18\n19[\"Filter\"]@{ shape: process }\n17 --> 19\n20[\"Datamash\"]@{ shape: process }\n17 --> 20\n21[\"Join\"]@{ shape: process }\n19 --> 21\n18 --> 21\n22[\"Datamash\"]@{ shape: process }\n19 --> 22\n23[\"Datamash\"]@{ shape: process }\n19 --> 23\n24[\"Datamash\"]@{ shape: process }\n21 --> 24\n25[\"Join\"]@{ shape: process }\n17 --> 25\n22 --> 25\n26[\"Join\"]@{ shape: process }\n16 --> 26\n23 --> 26\n27[\"Cut\"]@{ shape: process }\n24 --> 27\n28[\"Join\"]@{ shape: process }\n25 --> 28\n20 --> 28\n29[\"Cut\"]@{ shape: process }\n26 --> 29\n30[\"Replace\"]@{ shape: process }\n27 --> 30\n31[\"Cut\"]@{ shape: process }\n28 --> 31\n32[\"Split file\"]@{ shape: process }\n29 --> 32\n33[\"Sort\"]@{ shape: process }\n30 --> 33\n34[\"Sort\"]@{ shape: process }\n31 --> 34\n35[\"Variant Frequency Plot\"]@{ shape: process }\n5 --> 35\n32 --> 35\n```\n", "trsID": "#workflow/github.com/iwc-workflows/sars-cov-2-variation-reporting/COVID-19-VARIATION-REPORTING", "tests": [ { @@ -21635,6 +21651,7 @@ }, "readme": "COVID-19: variation analysis on WGS SE data\n-------------------------------------------\n\nThis workflows performs single end read mapping with bowtie2 followed by\nsensitive variant calling across a wide range of AFs with lofreq and variant\nannotation with snpEff 4.5covid19.\n", "changelog": "# Changelog\n\n## [0.1.5] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.20.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.3.4.2` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.2` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy2`\n\n## [0.1.4] 2023-11-20\n\n- Fix author in dockstore\n- Fix input fastq URL for test\n- Update output test\n\n## [0.1.3] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.1.2] 2021-07-23\n\n### Added\n\nAdded RO-Crate metadata file. No functional changes.\n\n## [0.1.1] 2021-06-14\n\n### Fixed\n\nFix reference to test file in .dockstore.yml\n\n## [0.1]\n\n- Initial version of COVID-19: variation analysis on WGS SE data workflow\n", + "diagrams": "# Workflow diagrams\n\n## COVID-19: variation analysis on WGS SE data\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Single End Collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f NC_045512.2 FASTA sequence of SARS-CoV-2\"]@{ shape: doc }\n2[\"fastp\"]@{ shape: process }\n0 --> 2\n3[\"Bowtie2\"]@{ shape: process }\n2 --> 3\n1 --> 3\n4[\"MarkDuplicates\"]@{ shape: process }\n3 --> 4\n5[\"MultiQC\"]@{ shape: process }\n2 --> 5\n3 --> 5\n4 --> 5\n6[\"Realign reads\"]@{ shape: process }\n4 --> 6\n1 --> 6\n7[\"Insert indel qualities\"]@{ shape: process }\n6 --> 7\n1 --> 7\n8[\"Call variants\"]@{ shape: process }\n7 --> 8\n1 --> 8\n9[\"Lofreq filter\"]@{ shape: process }\n8 --> 9\n10[\"SnpEff eff covid19 version\"]@{ shape: process }\n9 --> 10\n```\n", "trsID": "#workflow/github.com/iwc-workflows/sars-cov-2-se-illumina-wgs-variant-calling/COVID-19-SE-WGS-ILLUMINA", "tests": [ { @@ -22717,6 +22734,7 @@ }, "readme": "# COVID-19 sequence analysis on Illumina Amplicon PE data\n\nThis workflow implements an [iVar](https://github.com/andersen-lab/ivar) based analysis similar to\nthe one in [ncov2019-artic-nf](https://github.com/connor-lab/ncov2019-artic-nf), [covid-19-signal](https://github.com/jaleezyy/covid-19-signal/) and the Thiagen [Titan workflow](https://github.com/theiagen/public_health_viral_genomics). These workflows (written in Nextflow, Snakemake and WDL) are widely in use in [COG UK](https://www.cogconsortium.uk/), [CanCOGeN](https://www.genomecanada.ca/en/cancogen) and some US state public health laboratories.\n\nThis workflow is also the subject of a Galaxy Training Network tutorial (currently a [Work in Progress](https://github.com/galaxyproject/training-material/pull/2633)).\nIt differs from [this workflow](https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling/sars-cov-2-pe-illumina-artic-variant-calling) in\nthat it does not use `lofreq` and is aimed at rapid analysis of majority variants and lineage/clade assignment with `pangolin` and `nextclade`.\n\nTODO:\n\n1. Add support for QC using negative and positive controls\n2. Integrate with phylogeny tools including IQTree and UShER (and possibly more).\n", "changelog": "# Changelog\n\n## [0.3] 2022-11-22\n\n- update all tools:\n - fastp from 0.20.1 to 0.23.2\n - bwa_mem from 0.7.17.1 to 0.7.17.2\n - samtools_stats from 2.0.2 to 2.0.4\n - samtools_view from 1.9 to 1.15.1\n - ivar_trim from 1.3.1 to 1.4.2\n - ivar_variants from 1.3.1 to 1.4.2\n - ivar_consensus from 1.3.1 to 1.4.2\n - multiqc from 1.9 to 1.11\n - pangolin from 3.1.14 to 4.3\n - nextclade from 1.4.1 to 2.7.0\n\n## [0.2.3] 2022-05-25\n\n### Changed\n- Changed creator ORCID to absolute URI\n\n## [0.2.2] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.2.1] 2021-11-04\n\n### Added\n- Added .workflowhub.yml\n\n## [0.2] - 2021-10-13\n\n### Changed\n\n- Upgrade pangolin to 3.1.14 \n - this is a bugfix release that addresses problems with commas in sequence IDs\n- Upgrade nextclade to 1.4.1\n - nextclade has a new way of dealing with the nextclade database, so it is now downloaded using nextclade itself\n - the latest release supports detecting and reporting frameshifts\n - version 1.4.1 fixes a problem with formatting columns that was present in previous versions\n- A header line is now part of the tabular reports produced by both pangolin and nextclade\n- The aligned primer-trimmed reads BAM and the multi-fasta combined consensus genomes datasets are no longer hidden as part of the workflow execution\n\n## [0.1] - 2021-06-20\n\n- Initial version of SARS-CoV-2 Illumina Amplicon pipeline - iVar based for IWC\n", + "diagrams": "# Workflow diagrams\n\n## SARS-CoV-2 Illumina Amplicon pipeline - iVar based\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Paired read collection for samples\"]@{ shape: docs }\n1[\"\u2139\ufe0f Reference FASTA\"]@{ shape: doc }\n2[\"\u2139\ufe0f Primer BED\"]@{ shape: doc }\n3[\"\u2139\ufe0f Read fraction to call variant\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Minimum quality score to call base\"]@{ shape: lean-l }\n5[\"fastp: Trimmed Illumina Reads\"]@{ shape: process }\n0 --> 5\n6[\"Rename reference to NC_045512.2\"]@{ shape: process }\n1 --> 6\n7[\"Map with BWA-MEM\"]@{ shape: process }\n5 --> 7\n6 --> 7\n8[\"Samtools stats\"]@{ shape: process }\n7 --> 8\n9[\"Samtools view\"]@{ shape: process }\n7 --> 9\n10[\"QualiMap BamQC\"]@{ shape: process }\n9 --> 10\n11[\"ivar trim\"]@{ shape: process }\n9 --> 11\n2 --> 11\n12[\"Flatten collection\"]@{ shape: process }\n10 --> 12\n13[\"ivar variants\"]@{ shape: process }\n11 --> 13\n3 --> 13\n4 --> 13\n1 --> 13\n14[\"ivar consensus\"]@{ shape: process }\n11 --> 14\n3 --> 14\n4 --> 14\n15[\"Quality Control Report\"]@{ shape: process }\n5 --> 15\n8 --> 15\n12 --> 15\n16[\"Annotated variants\"]@{ shape: process }\n13 --> 16\n17[\"Consensus genome (masked for depth)\"]@{ shape: process }\n14 --> 17\n18[\"Concatenate datasets\"]@{ shape: process }\n17 --> 18\n19[\"Pangolin\"]@{ shape: process }\n18 --> 19\n20[\"Nextclade\"]@{ shape: process }\n18 --> 20\n```\n", "trsID": "#workflow/github.com/iwc-workflows/sars-cov-2-pe-illumina-artic-ivar-analysis/SARS-COV-2-ILLUMINA-AMPLICON-IVAR-PANGOLIN-NEXTCLADE" } ], @@ -24216,6 +24234,7 @@ }, "readme": "COVID-19: variation analysis on ARTIC ONT data\n----------------------------------------------\n\nThis workflow for ONT-sequenced ARTIC data is modeled after the alignment/variant-calling steps of the [ARTIC pipeline](https://artic.readthedocs.io/en/latest/). It performs, essentially, the same steps as that pipeline\u2019s minion command, i.e. read mapping with minimap2 and variant calling with medaka. Like the Illumina ARTIC workflow it uses ivar for primer trimming. Since ONT-sequenced reads have a much higher error rate than Illumina-sequenced reads and are therefor plagued more by false-positive variant calls, this workflow does make no attempt to handle amplicons affected by potential primer-binding site mutations.\n", "changelog": "# Changelog\n\n## [0.3.2] 2023-11-20\n\n- Fix author in dockstore\n- Use ncbi link instead of googleapis for fastq\n\n## [0.3.1] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.3] 2021-09-22\n\n### Changed\n\nThis version changes the way variants get called and and how key call\nstatistics are calculated:\n\n- Switch to medaka_variant version 1.3.2+galaxy1 for extracting variants from\n medaka consensus data.\n\n This new version of the tool is more robust against input data peculiarities\n at the VCF annotation stage:\n\n * it doesn't fail on empty BAM input\n * it doesn't crash on variant calls of unusually high quality that previously\n resulted in math domain errors when trying to calculate PHRED scores from\n very small error probabilities.\n\n This tool update also means that key INFO fields (DP, DP4, AF) are\n now based on calculations carried out by medaka tools annotate instead of by\n custom code using samtools mpileup. This has the following consequences:\n\n * the tool can now emit variant calls at complex sites with > 1 lengths of\n both the REF and the ALT allele, which were previously dropped\n * the workflow became more complex; to account for shortcomings of medaka\n tools annotate, the variant call statistics of regular variants and of\n primer binding site variants have to be determined in separate runs of the\n tool\n * All key INFO fields (DP, DP4, AF) will change slightly in this version of\n the workflow\n\nThis version also adds some of the changes around trimming of primer sequences,\nwhich have been introduced into version 0.3 of the PE Illumina worflow for\namplicon data before:\n\n- Update ivar trim to version 1.3.1\n- Run ivar trim as the last mapped reads processing step before variant\n calling, i.e., after left-alignment of indels\n\nand:\n\n- Rename the output of the ivar trim step to \"Fully processed reads for\n variant calling (primer-trimmed, realigned reads)\" like the corresponding\n output of the PE Illumina workflow\n- Fix a typo in the allowed input formats for the collection of sequenced\n reads, which caused fastqsanger.gz data to undergo an implicit and\n unnecessary decompression step.\n\n### Added\n\n- Add a step to filter out failed datasets before flattening the Qualimap BamQC\n data for use by MultiQC.\n\n Qualimap BamQC fails on empty BAM input and trying to flatten the resulting\n collection containing failed datasets would cause the invocation of the\n workflow to fail.\n\n## [0.2.1] 2021-07-23\n\n### Added\n\nAdded RO-Crate metadata file. No functional changes.\n\n## [0.2]\n\n- Apply the strand-bias filter only after variant annotation with snpEff. By\n producing fully annotated VCFs with and without filtering, downstream\n workflows can easily be switched between filtered/unfiltered input data\n\n## [0.1]\n\n- Initial version of COVID-19: variation analysis on ARTIC ONT data workflow\n", + "diagrams": "# Workflow diagrams\n\n## COVID-19: variation analysis of ARTIC ONT data\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f ONT-sequenced reads\"]@{ shape: docs }\n1[\"\u2139\ufe0f Minimum read length\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Maximum read length\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f NC_045512.2 FASTA sequence of SARS-CoV-2\"]@{ shape: doc }\n4[\"\u2139\ufe0f Primer binding sites info in BED format\"]@{ shape: doc }\n5[\"fastp\"]@{ shape: process }\n2 --> 5\n1 --> 5\n0 --> 5\n6[\"Compute\"]@{ shape: process }\n4 --> 6\n7[\"Replace Text\"]@{ shape: process }\n4 --> 7\n8[\"Map with minimap2\"]@{ shape: process }\n5 --> 8\n3 --> 8\n9[\"Datamash\"]@{ shape: process }\n6 --> 9\n10[\"Samtools view\"]@{ shape: process }\n8 --> 10\n11[\"Parse parameter value\"]@{ shape: process }\n9 --> 11\n12[\"Samtools stats\"]@{ shape: process }\n10 --> 12\n13[\"BamLeftAlign\"]@{ shape: process }\n10 --> 13\n3 --> 13\n14[\"ivar trim\"]@{ shape: process }\n13 --> 14\n4 --> 14\n15[\"QualiMap BamQC\"]@{ shape: process }\n14 --> 15\n16[\"medaka consensus tool\"]@{ shape: process }\n14 --> 16\n17[\"Filter failed\"]@{ shape: process }\n15 --> 17\n18[\"medaka variant tool\"]@{ shape: process }\n13 --> 18\n16 --> 18\n3 --> 18\n19[\"medaka variant tool\"]@{ shape: process }\n13 --> 19\n11 --> 19\n16 --> 19\n3 --> 19\n20[\"Flatten Collection\"]@{ shape: process }\n17 --> 20\n21[\"bedtools Intersect intervals\"]@{ shape: process }\n19 --> 21\n7 --> 21\n22[\"MultiQC\"]@{ shape: process }\n12 --> 22\n20 --> 22\n23[\"bcftools annotate\"]@{ shape: process }\n18 --> 23\n21 --> 23\n24[\"SnpEff eff covid19 version\"]@{ shape: process }\n23 --> 24\n25[\"Lofreq filter\"]@{ shape: process }\n24 --> 25\n26[\"Replace\"]@{ shape: process }\n25 --> 26\n```\n", "trsID": "#workflow/github.com/iwc-workflows/sars-cov-2-ont-artic-variant-calling/COVID-19-ARTIC-ONT", "tests": [ { @@ -25029,6 +25048,7 @@ }, "readme": "COVID-19: variation analysis on WGS PE data\n-------------------------------------------\n\nThis workflows performs paired end read mapping with bwa-mem followed by\nsensitive variant calling across a wide range of AFs with lofreq and variant\nannotation with snpEff 4.5covid19.\n", "changelog": "# Changelog\n\n## [0.2.4] 2023-11-20\n\n- Fix author in dockstore\n- Use zenodo link instead of googleapis for fastq\n\n## [0.2.3] 2022-02-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.20.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.9+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.13`\n- `toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.2+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.3`\n- `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.2` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.9+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy1`\n\n## [0.2.2] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.2.1] 2021-07-23\n\n### Added\n\nAdded RO-Crate metadata file. No functional changes.\n\n## [0.2] 2021-06-17\n\n### Changed\n\n- Upgrade multiqc to 1.9+galaxy1\n\n## [0.1]\n\n- Initial version of COVID-19: variation analysis on WGS PE data workflow\n", + "diagrams": "# Workflow diagrams\n\n## COVID-19: variation analysis on WGS PE data\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Paired Collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f NC_045512.2 FASTA sequence of SARS-CoV-2\"]@{ shape: doc }\n2[\"fastp\"]@{ shape: process }\n0 --> 2\n3[\"Map with BWA-MEM\"]@{ shape: process }\n2 --> 3\n1 --> 3\n4[\"Samtools view\"]@{ shape: process }\n3 --> 4\n5[\"Samtools stats\"]@{ shape: process }\n4 --> 5\n6[\"MarkDuplicates\"]@{ shape: process }\n4 --> 6\n7[\"Realign reads\"]@{ shape: process }\n6 --> 7\n1 --> 7\n8[\"MultiQC\"]@{ shape: process }\n2 --> 8\n5 --> 8\n6 --> 8\n9[\"Insert indel qualities\"]@{ shape: process }\n7 --> 9\n1 --> 9\n10[\"Call variants\"]@{ shape: process }\n9 --> 10\n1 --> 10\n11[\"Lofreq filter\"]@{ shape: process }\n10 --> 11\n12[\"SnpEff eff covid19 version\"]@{ shape: process }\n11 --> 12\n```\n", "trsID": "#workflow/github.com/iwc-workflows/sars-cov-2-pe-illumina-wgs-variant-calling/COVID-19-PE-WGS-ILLUMINA", "tests": [ { @@ -26330,6 +26350,7 @@ }, "readme": "COVID-19: consensus construction\n--------------------------------\n\nThis workflow aims at generating reliable consensus sequences from variant\ncalls according to transparent criteria that capture at least some of the\ncomplexity of variant calling.\n\nIt takes a collection of VCFs (with DP and DP4 INFO fields) and a collection of\nthe corresponding aligned reads (for the purpose of calculating genome-wide\ncoverage) such as produced by any of the variant calling workflows in\nhttps://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling\nand generates a collection of viral consensus sequences and a multisample FASTA\nof all these sequences.\n\nEach consensus sequence is guaranteed to capture all called, filter-passing (as\nper the FILTER column of the VCF input) variants found in the VCF of its sample\nthat reach a user-defined consensus allele frequency threshold.\n\nFilter-failing variants and variants below a second user-defined minimal\nallele frequency threshold will be ignored.\n\nGenomic positions of filter-passing variants with an allele frequency in\nbetween the two thresholds will be hard-masked (with N) in the consensus\nsequence of their sample.\n\nGenomic positions with a coverage (calculated from the read alignments input)\nbelow another user-defined threshold will be hard-masked, too, unless they are\nconsensus variant sites.\n", "changelog": "# Changelog\n\n## [0.4.2] 2024-03-06\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.29.2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.30.0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.15.1+galaxy3`\n\n## [0.4.1] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.4] 2022-10-21\n\n### Fixed\n- Restored original functionality that was dropped accidentally in release 0.2:\n\n when there are zero consensus variants to be integrated into the reference\n genome (input VCF with no variants), bcftools consensus 1.10 would silently\n skip processing of that sequence *including the incorpartion of masking\n regions* into the final consensus genome. As a result, a genome covered by\n few or no reads at all would have its consensus sequence reported as\n all-reference instead of all Ns.\n The initial release of the workflow worked around this problem by\n pre-masking the reference before passing it to bcftools consensus, but the\n corresponding step was dropped as seemingly redundant in release 0.2.\n\n With v1.14, the edge case behavior with zero variants in the input VCF has\n been fixed as a bug in bcftools consensus\n (https://github.com/samtools/bcftools/issues/1592)\n so the workflow fix in this release consists of a simple update to bcftools\n consensus 1.15.1.\n\n### Changed\n- Upgraded to new, more flexible version of column_maker tool.\n\n This change allows a simplification of the workflow, which now uses five\n steps less for producing identical results.\n\n- Updated bcftools consensus to v1.15.1.\n\n## [0.3] 2022-02-02\n\n### Fixed\n- Apply AF thresholds on unbiased AF values recalculated from DP4 and DP fields\n instead of on AF values provided by the variant caller to ensure proper\n variant gating (into consensus and ambiguous variants) for lofreq-called\n data.\n\n https://github.com/CSB5/lofreq/issues/80 means that lofreq-calculated AF\n values are lower bounds of true AFs when bases are excluded from calling\n based on base quality. The extent of AF underestimation depends on the\n fraction of bases with sub-threshold (30 for this workflow) base qualities.\n\n By recalculating AFs as (DP4[2] + DP4[3]) / DP we avoid this issue for\n variant calls generated by lofreq. For variants called with Galaxy's medaka\n consensus/variant wrappers, original AFs are computed with the exact same\n formula so the recalculation by the workflow does not affect variant gating\n in that case.\n\n### Changed\n- Increase the default for consensus variant allele frequency threshold to 0.75.\n Correct calculation of unbiased AF values increases the typical AF of\n consensus variants more than enough to justify the change.\n- The following tools are updated to their latest wrapper versions or revisions:\n\n - bcftools_consensus\n - collapse_collections\n - the gops subtract and merge tools\n - snpsift\n\n None of these updates are expected to impact the generated consensus\n sequences.\n\n## [0.2.2] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.2.1] 2021-07-23\n\n### Added\n\nAdded RO-Crate metadata file. No functional changes.\n\n## [0.2] - 2021-04-30\n\n### Changed\n- Lower the default for consensus variant allele frequency threshold to 0.7\n (from 0.8).\n This was empirically determined to capture a relevant number of variants at\n sites that are problematic to call.\n- Increase the default variant allele frequency threshold for ambiguous sites\n to 0.25 (from 0.2) to obtain somewhat cleaner consensus sequences.\n- Use *SnpSift extract*, instead of *VCFtoTab-delimited* followed by *Cut*, to\n generate required tabular views of variants in one step.\n- Eliminate the use of *bedtools MaskFastaBed*, which was redundant with\n specifying masking regions directly at the *bcftools consensus* step.\n- Reduce the number of processing steps further by changing result dataset\n types through post-job actions appropriately to avoid implicit conversions,\n and by avoiding a redundant *SnpSift filter* step.\n\n### Fixed\n- Deletions are now reliably incorporated into the consensus sequence.\n Before they were, in most cases, N-masked because of low coverage in the\n deleted region.\n- Generally, each consensus sequence is now guaranteed to capture all consensus\n variants of its samples as stated in the README, independent of it residing\n in low-coverage regions or not.\n\n## [0.1]\n\n- Initial version of COVID-19: consensus construction\n", + "diagrams": "# Workflow diagrams\n\n## COVID-19: consensus construction\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Variant calls\"]@{ shape: docs }\n1[\"\u2139\ufe0f min-AF for consensus variant\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f min-AF for failed variants\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f aligned reads data for depth calculation\"]@{ shape: docs }\n4[\"\u2139\ufe0f Depth-threshold for masking\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Reference genome\"]@{ shape: doc }\n6[\"Compose text parameter value\"]@{ shape: process }\n1 --> 6\n7[\"Compose text parameter value\"]@{ shape: process }\n2 --> 7\n1 --> 7\n8[\"bedtools Genome Coverage\"]@{ shape: process }\n3 --> 8\n9[\"Compose text parameter value\"]@{ shape: process }\n4 --> 9\n10[\"SnpSift Filter\"]@{ shape: process }\n6 --> 10\n0 --> 10\n11[\"SnpSift Filter\"]@{ shape: process }\n7 --> 11\n0 --> 11\n12[\"Filter\"]@{ shape: process }\n9 --> 12\n8 --> 12\n13[\"SnpSift Extract Fields\"]@{ shape: process }\n10 --> 13\n14[\"SnpSift Extract Fields\"]@{ shape: process }\n11 --> 14\n15[\"Compute\"]@{ shape: process }\n13 --> 15\n16[\"Compute\"]@{ shape: process }\n14 --> 16\n17[\"Concatenate\"]@{ shape: process }\n12 --> 17\n16 --> 17\n18[\"Merge\"]@{ shape: process }\n17 --> 18\n19[\"Subtract\"]@{ shape: process }\n18 --> 19\n15 --> 19\n20[\"Compute\"]@{ shape: process }\n19 --> 20\n21[\"bcftools consensus\"]@{ shape: process }\n10 --> 21\n5 --> 21\n20 --> 21\n22[\"Collapse Collection\"]@{ shape: process }\n21 --> 22\n```\n", "trsID": "#workflow/github.com/iwc-workflows/sars-cov-2-consensus-from-variation/COVID-19-CONSENSUS-CONSTRUCTION", "tests": [ { @@ -28126,6 +28147,7 @@ }, "readme": "COVID-19: variation analysis on ARTIC PE data\n---------------------------------------------\n\nThe workflow for Illumina-sequenced ampliconic data builds on the RNASeq workflow\nfor paired-end data using the same steps for mapping and variant calling, but\nadds extra logic for trimming amplicon primer sequences off reads with the ivar\npackage. In addition, this workflow uses ivar also to identify amplicons\naffected by primer-binding site mutations and, if possible, excludes reads\nderived from such \"tainted\" amplicons when calculating allele-frequencies\nof other variants.\n", "changelog": "# Changelog\n\n## [0.5.3] 2024-10-01\n\n### Tool updates\n\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0` updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n\n## [0.5.2] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.9+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.2+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.5`\n- `toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/lofreq_indelqual/lofreq_indelqual/2.1.5+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.3.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.4.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/qualimap_bamqc/qualimap_bamqc/2.2.2d+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/qualimap_bamqc/qualimap_bamqc/2.2.2c+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ivar_removereads/ivar_removereads/1.3.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ivar_removereads/ivar_removereads/1.4.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_annotate/bcftools_annotate/1.10` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bcftools_annotate/bcftools_annotate/1.15.1+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n\n## [0.5.1] 2023-11-20\n\n- Fix author in dockstore\n- Use zenodo link instead of googleapis for fastq in test\n- Update output test\n\n## [0.5] - 2022-02-08\n\n### Fixed\n\n- Base selection of variants that should trigger amplicon removal on unbiased\n AF values recalculated from DP4 and DP fields instead of on AF values\n provided by lofreq call.\n\n https://github.com/CSB5/lofreq/issues/80 means that lofreq-calculated AF\n values are lower bounds of true AFs when bases are excluded from calling\n based on base quality. The extent of AF underestimation depends on the\n fraction of bases with sub-threshold (30 for this workflow) base qualities.\n\n By recalculating AFs as (DP4[2] + DP4[3]) / DP we are avoiding this issue.\n From this version on we also add a proper description to the header INFO\n line description of the AF field to be explicit about the meaning of lofreq's\n AF value.\n\n### Changed\n\n- Increase/deactivate the default upper AF threshold for biased amplicon detection\n\n By increasing the default AF threshold to 1.0 amplicon removal now gets\n triggered by default for all primer binding site mutations with unbiased\n (see AF discussion above) AF > 0.1.\n\n This change is intended to allow removal of amplicons resulting from even\n trace amounts of contamination when the intended target of the amplicon\n primers drops out because of mutations severely impacting primer binding.\n The expectation is that this would either remove contamination-contributed\n variants (like contributed by traces of delta virus in omicron preparations\n in omicron-triggered amplicon dropout regions), or at least cause them\n getting flagged as AmpliconBias calls at the VCF level.\n The exact consequences of this change need to be evaluated, but users can\n restore the previous behavior by reducing the upper AF threshold back to 0.9,\n which will reduce the extent of attempted amplicon removals substantially.\n\n- Make the amplicon bias correction more robust and better interoperable with\n the [Reporting workflow](https://github.com/iwc-workflows/sars-cov-2-variation-reporting).\n\n First and second (after amplicon removal) round of variant calling are now\n carried out with identical lofreq parameter settings.\n bcftools annotate is then used to carry over the bias-corrected call stats to\n the variant calls obtained in the first round. At the same time, both variant\n call lists are filtered with identical DP and DP_ALT filters and stats of\n filter-passing variants from the first round that fail to pass those filters\n after the second round of calling aretransferred back to the initial\n bcftools annotate output.\n If the DP and DP_ALT thresholds are chosen as in the Reporting workflow (as\n is the case with the default settings), this ensures that no initially called\n variant gets lost as a consequence of amplicon bias correction and that no\n initially filter-passing variant gets filtered out after correction.\n The AmpliconBias INFO flag is used to mark all such variants, for which\n amplicon bias correction was skipped to rescue the call.\n\n- Upgrade the Galaxy wrapper versions of ivar trim and ivar removereads.\n\n This makes it easy for users to calculate primer amplicon info from suitable\n primer scheme bed files instead of passing the info as a separate file.\n This workflow sticks to the previous behavior to avoid new requirements on\n primer names.\n- Upgrade fastp to 0.23.2.\n This update restores plots contained in the tools html output, should\n provide better performance for compressed input data, but also has a moderate\n effect on trimming results.\n- Upgrade other tools to their latest versions or wrapper versions:\n\n - bwa_mem to wrapper version 0.7.17.2\n - lofreq_call to wrapper version 2.1.5+galaxy1\n - multiqc to version 1.11\n\n None of these are expected to change the variant output produced by the\n workflow.\n\n### Added\n\n- Add a step to filter out failed datasets before flattening the Qualimap BamQC\n data for use by MultiQC.\n\n Qualimap BamQC fails on empty BAM input and trying to flatten the resulting\n collection containing failed datasets would cause the invocation of the\n workflow to fail.\n\n## [0.4.2] 2021-12-13\n\n### Added\n\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.4.1] 2021-07-23\n\n### Added\n\nAdded RO-Crate metadata file. No functional changes.\n\n## [0.4] - 2021-06-16\n\n### Changed\n\n- Upgrade multiqc to 1.9+galaxy1\n\n## [0.3] - 2021-05-19\n\n### Changed\n\nThis version brings a number of tweaks to the ivar-dependent steps of the\nworkflow. Together, these are expected to make variant allele frequency\ncalculations more precise, in general, and robust in the face of an increasing\nnumber of variants at primer binding sites:\n\n- Upgrade ivar from version 1.2.2 to 1.3.1\n This affects ivar trim and ivar removereads\n- Use the newly introduced -f option of ivar trim to exclude read pairs from\n further analysis that extend beyond amplicon boundaries.\n This change should be benefitial for accurate AF calculations in general,\n but in particular for corrected AF values after removal of biased amplicons,\n where aberrant read pairs often represent a larger fraction of the remaining\n reads.\n- Run ivar trim only after realignment and addition of indel qualities by\n lofeq. This should make sure that indels close to primer sequences are\n seen as read-internal events.\n- Turn the lower and upper thresholds for variant AF that triggers readremoval\n into workflow input parameters and adjust their defaults to trigger read\n removal only in more obvious cases of non-fixed variants.\n- Require a minimum depth of coverage for recalled variants after read removal\n of 20 to ensure reliable AF values.\n This change also prevents situations where variants are recalled successfully\n after read removal, but are later excluded from variant reports generated by\n the reporting workflow due to that workflow's min_dp_alt >= 10 filter.\n\n## [0.2]\n\n### Changed\n\n- Turn the AmpliconRemoval variant FILTER into an AmpliconBias INFO flag\n- Apply the strand-bias filter only after variant annotation with snpEff. By\n producing fully annotated VCFs with and without filtering, downstream\n workflows can easily be switched between filtered/unfiltered input data\n\n### Fixed\n\n- Make sure the header information about the added flag gets propagated to the\n final VCF\n\n## [0.1]\n\n- Initial version of COVID-19: variation analysis on ARTIC PE data workflow\n", + "diagrams": "# Workflow diagrams\n\n## COVID-19: variation analysis on ARTIC PE data\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Paired Collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f NC_045512.2 FASTA sequence of SARS-CoV-2\"]@{ shape: doc }\n2[\"\u2139\ufe0f ARTIC primer BED\"]@{ shape: doc }\n3[\"\u2139\ufe0f ARTIC primers to amplicon assignments\"]@{ shape: doc }\n4[\"\u2139\ufe0f Read removal minimum AF\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Read removal maximum AF\"]@{ shape: lean-l }\n6[\"\u2139\ufe0f Minimum DP required after amplicon bias correction\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f Minimum DP_ALT required after amplicon bias correction\"]@{ shape: lean-l }\n8[\"fastp\"]@{ shape: process }\n0 --> 8\n9[\"Compose text parameter value\"]@{ shape: process }\n4 --> 9\n5 --> 9\n10[\"Compose text parameter value\"]@{ shape: process }\n6 --> 10\n7 --> 10\n11[\"Map with BWA-MEM\"]@{ shape: process }\n8 --> 11\n1 --> 11\n12[\"Samtools view\"]@{ shape: process }\n11 --> 12\n13[\"Realign reads\"]@{ shape: process }\n12 --> 13\n1 --> 13\n14[\"Samtools stats\"]@{ shape: process }\n12 --> 14\n15[\"Insert indel qualities\"]@{ shape: process }\n13 --> 15\n1 --> 15\n16[\"ivar trim\"]@{ shape: process }\n3 --> 16\n15 --> 16\n2 --> 16\n17[\"Call variants\"]@{ shape: process }\n16 --> 17\n1 --> 17\n18[\"QualiMap BamQC\"]@{ shape: process }\n16 --> 18\n19[\"SnpSift Filter\"]@{ shape: process }\n9 --> 19\n17 --> 19\n20[\"SnpSift Filter\"]@{ shape: process }\n10 --> 20\n17 --> 20\n21[\"Filter failed datasets\"]@{ shape: process }\n18 --> 21\n22[\"ivar removereads\"]@{ shape: process }\n3 --> 22\n16 --> 22\n2 --> 22\n19 --> 22\n23[\"Flatten collection\"]@{ shape: process }\n21 --> 23\n24[\"Call variants\"]@{ shape: process }\n22 --> 24\n1 --> 24\n25[\"MultiQC\"]@{ shape: process }\n8 --> 25\n14 --> 25\n23 --> 25\n26[\"bcftools annotate\"]@{ shape: process }\n17 --> 26\n24 --> 26\n27[\"SnpSift Filter\"]@{ shape: process }\n10 --> 27\n24 --> 27\n28[\"VCF-VCFintersect:\"]@{ shape: process }\n1 --> 28\n27 --> 28\n20 --> 28\n29[\"bcftools annotate\"]@{ shape: process }\n26 --> 29\n28 --> 29\n30[\"Replace Text\"]@{ shape: process }\n29 --> 30\n31[\"SnpEff eff covid19 version\"]@{ shape: process }\n30 --> 31\n32[\"Lofreq filter\"]@{ shape: process }\n31 --> 32\n```\n", "trsID": "#workflow/github.com/iwc-workflows/sars-cov-2-pe-illumina-artic-variant-calling/COVID-19-PE-ARTIC-ILLUMINA", "tests": [ { @@ -28996,6 +29018,7 @@ }, "readme": "# Haploid variant calling for whole genome sequencing paired end data\n\nThis workflow uses Illumina or Element read data to discover variants (short nucleotide polymorphisms, SNPs, and small indels) in haploid genomes with multiple genomic sequences (contigs, scaffolds, or chromosomes).\n\n## Inputs dataset\n\n- The workflow needs a list of paired end fastq files\n- A GTF containtaing the Gene annotation for the selected haploid genome\n- A fasta file for the haploid genome to call variants against\n\n## Outputs\n\n- Tab-delimited summary of annotated variants\n- Report summarizing the quality of input data and mapping results\n\n## Processing\n\n- The workflow will remove adapters using fastp\n- The filtered reads are aligned with bwa-mem.\n- Only properly aligned mate pairs are retained, PCR duplicates are removed.\n- Alignments are re-aligned using lofreq viterbi and variants are called with lofreq call.\n- Variants are annotated with snpeff eff\n", "changelog": "# Changelog\n\n\n## [0.1]\n\n- Initial version of Paired end variant calling in haploid system workflow\n", + "diagrams": "# Workflow diagrams\n\n## Paired end variant calling in haploid system\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Paired Collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f Annotation GTF\"]@{ shape: doc }\n2[\"\u2139\ufe0f Genome fasta\"]@{ shape: doc }\n3[\"fastp\"]@{ shape: process }\n0 --> 3\n4[\"SnpEff build:\"]@{ shape: process }\n1 --> 4\n2 --> 4\n5[\"Map with BWA-MEM\"]@{ shape: process }\n3 --> 5\n2 --> 5\n6[\"Samtools view\"]@{ shape: process }\n5 --> 6\n7[\"Samtools stats\"]@{ shape: process }\n6 --> 7\n8[\"MarkDuplicates\"]@{ shape: process }\n6 --> 8\n9[\"MultiQC\"]@{ shape: process }\n3 --> 9\n7 --> 9\n8 --> 9\n10[\"Realign reads\"]@{ shape: process }\n8 --> 10\n2 --> 10\n11[\"Call variants\"]@{ shape: process }\n10 --> 11\n2 --> 11\n12[\"Text reformatting\"]@{ shape: process }\n11 --> 12\n13[\"SnpEff eff:\"]@{ shape: process }\n12 --> 13\n4 --> 13\n14[\"SnpSift Extract Fields\"]@{ shape: process }\n13 --> 14\n15[\"Collapse Collection\"]@{ shape: process }\n14 --> 15\n```\n", "trsID": "#workflow/github.com/iwc-workflows/haploid-variant-calling-wgs-pe/main", "tests": [ { @@ -29908,6 +29931,7 @@ }, "readme": "Generic variation analysis on WGS PE data\n-------------------------------------------\n\nThis workflows performs paired end read mapping with bwa-mem followed by\nsensitive variant calling across a wide range of AFs with lofreq and variant\nannotation with snpEff. The reference genome can be provided as a GenBank file.\n", "changelog": "# Changelog\n\n\n## [0.1.1] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1]\n\n- Initial version of Generic variation analysis on WGS PE data workflow\n", + "diagrams": "# Workflow diagrams\n\n## Generic variation analysis on WGS PE data\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Paired Collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f GenBank genome\"]@{ shape: doc }\n2[\"\u2139\ufe0f Name for genome database\"]@{ shape: lean-l }\n3[\"fastp\"]@{ shape: process }\n0 --> 3\n4[\"SnpEff build:\"]@{ shape: process }\n2 --> 4\n1 --> 4\n5[\"Map with BWA-MEM\"]@{ shape: process }\n3 --> 5\n4 --> 5\n6[\"Samtools view\"]@{ shape: process }\n5 --> 6\n7[\"MarkDuplicates\"]@{ shape: process }\n6 --> 7\n8[\"Samtools stats\"]@{ shape: process }\n6 --> 8\n9[\"Realign reads\"]@{ shape: process }\n7 --> 9\n4 --> 9\n10[\"MultiQC\"]@{ shape: process }\n3 --> 10\n8 --> 10\n7 --> 10\n11[\"Insert indel qualities\"]@{ shape: process }\n9 --> 11\n4 --> 11\n12[\"Call variants\"]@{ shape: process }\n11 --> 12\n4 --> 12\n13[\"Lofreq filter\"]@{ shape: process }\n12 --> 13\n14[\"SnpEff eff:\"]@{ shape: process }\n13 --> 14\n4 --> 14\n```\n", "trsID": "#workflow/github.com/iwc-workflows/generic-variant-calling-wgs-pe/main", "tests": [ { @@ -31649,6 +31673,7 @@ }, "readme": "Generic variation analysis reporting\n--------------------------------------\n\nThis workflow takes table of variants produced by any of the variant calling workflows in\nhttps://github.com/galaxyproject/iwc/tree/main/workflows/variant-calling\nand generates a list of variants by Samples and by Variant.\n", "changelog": "# Changelog\n\n## [0.1.1] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1]\n\n- Initial version generic variation analysis reporting workflow\n", + "diagrams": "# Workflow diagrams\n\n## Generic variation analysis reporting\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Variation data to report\"]@{ shape: docs }\n1[\"\u2139\ufe0f AF Filter\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f DP Filter\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f DP_ALT Filter\"]@{ shape: lean-l }\n4[\"SnpSift Filter\"]@{ shape: process }\n0 --> 4\n5[\"Compose text parameter value\"]@{ shape: process }\n1 --> 5\n2 --> 5\n3 --> 5\n6[\"Compose text parameter value\"]@{ shape: process }\n1 --> 6\n2 --> 6\n3 --> 6\n7[\"SnpSift Filter\"]@{ shape: process }\n5 --> 7\n6 --> 7\n4 --> 7\n8[\"SnpSift Extract Fields\"]@{ shape: process }\n7 --> 8\n9[\"Compute\"]@{ shape: process }\n8 --> 9\n10[\"Datamash\"]@{ shape: process }\n9 --> 10\n11[\"Replace\"]@{ shape: process }\n10 --> 11\n12[\"Replace\"]@{ shape: process }\n11 --> 12\n13[\"Replace\"]@{ shape: process }\n12 --> 13\n14[\"Collapse Collection\"]@{ shape: process }\n13 --> 14\n15[\"Compute\"]@{ shape: process }\n14 --> 15\n16[\"Compute\"]@{ shape: process }\n15 --> 16\n17[\"Replace\"]@{ shape: process }\n16 --> 17\n18[\"Datamash\"]@{ shape: process }\n17 --> 18\n19[\"Filter\"]@{ shape: process }\n17 --> 19\n20[\"Datamash\"]@{ shape: process }\n17 --> 20\n21[\"Datamash\"]@{ shape: process }\n19 --> 21\n22[\"Join\"]@{ shape: process }\n19 --> 22\n18 --> 22\n23[\"Datamash\"]@{ shape: process }\n19 --> 23\n24[\"Join\"]@{ shape: process }\n16 --> 24\n21 --> 24\n25[\"Datamash\"]@{ shape: process }\n22 --> 25\n26[\"Join\"]@{ shape: process }\n17 --> 26\n23 --> 26\n27[\"Cut\"]@{ shape: process }\n24 --> 27\n28[\"Cut\"]@{ shape: process }\n25 --> 28\n29[\"Join\"]@{ shape: process }\n26 --> 29\n20 --> 29\n30[\"Split file\"]@{ shape: process }\n27 --> 30\n31[\"Replace\"]@{ shape: process }\n28 --> 31\n32[\"Cut\"]@{ shape: process }\n29 --> 32\n33[\"Sort\"]@{ shape: process }\n31 --> 33\n34[\"Sort\"]@{ shape: process }\n32 --> 34\n```\n", "trsID": "#workflow/github.com/iwc-workflows/variation-reporting/main", "tests": [ { @@ -31998,6 +32023,7 @@ }, "readme": "# Parallel Accession Download\n\nDownloads fastq files for sequencing run accessions provided in a text file\nusing fasterq-dump. Creates one job per listed run accession, and is therefore\nmuch faster and more robust to errors when many accessions need to be\ndownloaded.\n", "changelog": "# Changelog\n\n## [0.1.14] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.1+galaxy0`\n\n## [0.1.13] 2024-04-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.0+galaxy1`\n\n## [0.1.12] 2024-04-16\n\n### Changed\n\n- Remove unnecessary param_value_from_file step and directly pass file with identifiers to fasterqdump\n\n## [0.1.11] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.10+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.0+galaxy0`\n\n## [0.1.10] 2024-03-11\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.10+galaxy0`\n\n## [0.1.9] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1`\n\n## [0.1.8] 2023-11-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.8+galaxy1`\n\n## [0.1.7] 2023-11-10\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.5+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.8+galaxy0`\n\n## [0.1.6] 2023-09-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.5+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.5+galaxy3`\n\n## [0.1.5] 2023-09-12\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.5+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.5+galaxy1`\n\n## [0.1.4] 2023-02-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/2.11.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.5+galaxy0`\n\n## [0.1.3] 2022-02-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/2.11.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/2.11.0+galaxy1`\n\n## [0.1.2] 2021-12-13\n\n### Added\n- Added GitHub Actions workflow. No functional changes.\n\n## [0.1.1] 2021-07-23\n\n### Added\n\nAdded RO-Crate metadata file. No functional changes.\n\n## [0.1] - 2021-06-23\n\n### Added\n\n- Initial version of Parallel Accession Download workflow.\n", + "diagrams": "# Workflow diagrams\n\n## Parallel Accession Download\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Run accessions\"]@{ shape: doc }\n1[\"Split accessions to collection\"]@{ shape: process }\n0 --> 1\n2[\"fasterq-dump\"]@{ shape: process }\n1 --> 2\n3[\"flatten paired output\"]@{ shape: process }\n2 --> 3\n4[\"flatten single end output\"]@{ shape: process }\n2 --> 4\n```\n", "trsID": "#workflow/github.com/iwc-workflows/parallel-accession-download/main", "tests": [ { @@ -32823,6 +32849,7 @@ }, "readme": "# SRA manifest to concatenated fastqs\n\nThis workflow takes as input a SRA manifest from SRA Run Selector (or a tabular with a header line), downloads all sequencing run data from the SRA and arranges it into per-sample fastq or pairs of fastq datasets.\n\nIt will work out the relationship between runs and samples from the user-indicated run and sample columns in the input and will concatenate sequencing run data as needed to obtain per-sample datasets.\n\n## Input dataset\n\n- The workflow needs a single tabular input dataset, which is supposed to list SRA run identifiers in one column and sample names in another, and which needs to have a header line.\n- SRA manifests obtained via the SRA Run Selector and turned into tabular format represent valid input.\n\n## Input values\n\n- Column number with SRA run ID\n\n For manifests obtained through the SRA Run Selector this is column 1\n\n- Column number with sample names\n\n The number of the column that should be used to assign sequencing runs to samples\n The names in the column will also serve as the labels of datasets in the output collection.\n For manifests obtained through the SRA Run Selector suitable columns might be number 6 (BioSample), 16 (Experiment) or 36 (Sample Name).\n\n## Processing\n\n- The workflow downloads sequencing run data in fastq format with fasterqdump (one job per SRA run ID).\n- Run data gets concatenated if it comes from the same sample.\n\n## Outputs\n\n- There are 2 outputs, one with paired-end datasets, one with single-read datasets.\n\n## Limitations\n\n- Special characters in sample names (anything that is not an English alphabet character, digit, underscore, dash, space, dot or comma (`[a-zA-Z0-9_\\- \\.,]`) will be converted to dashes (`-`).\n", "changelog": "# Changelog\n\n## [0.7] 2024-06-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/artbio/concatenate_multiple_datasets/cat_multi_datasets/1.4.2` was updated to `toolshed.g2.bx.psu.edu/repos/artbio/concatenate_multiple_datasets/cat_multi_datasets/1.4.3`\n\n## [0.6] 2024-06-10\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.1+galaxy0`\n\n## [0.5] 2024-04-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.0+galaxy1`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.10+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.1.0+galaxy0`\n\n## [0.3] 2024-03-11\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.10+galaxy0`\n\n## [0.2.4] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0`\n\n## [0.2.3] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0`\n\n## [0.2.2] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1`\n\n## [0.2.1] 2023-11-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.8+galaxy1`\n\n## [0.2] 2023-11-10\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.5+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/3.0.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/artbio/concatenate_multiple_datasets/cat_multi_datasets/1.4.1` was updated to `toolshed.g2.bx.psu.edu/repos/artbio/concatenate_multiple_datasets/cat_multi_datasets/1.4.2`\n\n## [0.1] 2023-10-23\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## sra_manifest_to_concatenated_fastqs_parallel\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f SRA_manifest\"]@{ shape: doc }\n1[\"\u2139\ufe0f Column number with SRA ID\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Column number with final identifier\"]@{ shape: lean-l }\n3[\"Set SRA column to 1 if at 0\"]@{ shape: process }\n1 --> 3\n4[\"Compute column expression\"]@{ shape: process }\n3 --> 4\n2 --> 4\n5[\"Cut columns of interest\"]@{ shape: process }\n4 --> 5\n0 --> 5\n6[\"generate table for relabelling\"]@{ shape: process }\n5 --> 6\n7[\"Cut to get only SRA\"]@{ shape: process }\n5 --> 7\n8[\"split file to get one SRA per file + header\"]@{ shape: process }\n7 --> 8\n9[\"get Fastqs from SRA IDs\"]@{ shape: process }\n8 --> 9\n10[\"relabel pair collec to get SRA+sample\"]@{ shape: process }\n6 --> 10\n9 --> 10\n11[\"relabel single collec to get SRA+sample\"]@{ shape: process }\n6 --> 11\n9 --> 11\n12[\"Apply rules\"]@{ shape: process }\n10 --> 12\n13[\"Apply rules\"]@{ shape: process }\n11 --> 13\n14[\"Concatenate multiple datasets\"]@{ shape: process }\n12 --> 14\n15[\"Concatenate multiple datasets\"]@{ shape: process }\n13 --> 15\n```\n", "trsID": "#workflow/github.com/iwc-workflows/sra-manifest-to-concatenated-fastqs/main", "tests": [ { @@ -33279,6 +33306,7 @@ }, "readme": "# Segmentation and counting of cell nuclei in fluorescence microscopy images\n\nThis workflow performs segmentation and counting of cell nuclei using fluorescence microscopy images. The segmentation step is performed using Otsu thresholding (Otsu, 1979). The workflow is based on the tutorial: https://training.galaxyproject.org/training-material/topics/imaging/tutorials/imaging-introduction/tutorial.html\n\n![](test-data/overlay_image.png)\n\n## Inputs\n\n**`input_image`:** The fluorescence microscopy images to be segmented. Must be the single image channel, which contains the cell nuclei.\n\n## Outputs\n\n**`overlay_image`:** An overlay of the original image and the outlines of the segmentated objects, each also annotated with a unique number.\n\n**`objects_count`:** Table with a single column `objects` and a single row (the actual number of objects).\n\n**`label_image`:** The segmentation result (label map, which contains a unique label for each segmented object).\n", "changelog": "# Changelog\n\n## [0.2] - 2024-11-07\n\n- Upgrade the tests of the workflow\n- Upgrade the segmentation-and-counting.ga workflow to recent tool versions\n\n## [0.1] - 2024-02-29\n\n- Creation of workflow for segmentation and counting of cell nuclei in fluorescence microscopy images.", + "diagrams": "# Workflow diagrams\n\n## Segmentation and counting of cell nuclei in fluorescence microscopy images\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f input_image\"]@{ shape: doc }\n1[\"Filter 2-D image\"]@{ shape: process }\n0 --> 1\n2[\"Perform histogram equalization\"]@{ shape: process }\n0 --> 2\n3[\"Threshold image\"]@{ shape: process }\n1 --> 3\n4[\"Convert image format\"]@{ shape: process }\n2 --> 4\n5[\"Convert binary image to label map\"]@{ shape: process }\n3 --> 5\n6[\"Overlay images\"]@{ shape: process }\n4 --> 6\n5 --> 6\n7[\"Count objects in label map\"]@{ shape: process }\n5 --> 7\n```\n", "trsID": "#workflow/github.com/iwc-workflows/fluorescence-nuclei-segmentation-and-counting/main", "tests": [ { @@ -33967,6 +33995,7 @@ }, "readme": "# BaredSC Workflows\n\nThese workflows allow to run a baredSC analysis from a table with counts in a single click. It uses models from 1 to N Gaussians and combine them. It uses the logNorm scale, 100 bins for 1 dimension and 25 bins on each axis in 2 dimensions.\n\n## Inputs dataset\n\n- Both workflows need a tabular dataset where each row is a cell. The tabular needs to have a header line with column names. There must be at least two columns: 'nCount_RNA' and another one with the counts for the gene(s) of interest. A way to get such table in R from a Seurat object (`seurat.obj`) is:\n\n```r\nmy.genes <- c(\"Hoxa13\", \"Hoxd13\")\ndf <- cbind(seurat.obj[[]], # This will give you all metadata including nCount_RNA\n FetchData(seurat.obj, slot = \"counts\", vars = my.genes))\n\nwrite.table(df, \"input_for_baredSC.txt\", quote = F, sep = \"\\t\", row.names = F)\n```\n\n## Inputs values\n\nFor the 1D:\n\n- Gene name: The name of the column with the counts of your gene of interest.\n- Maximum value in logNorm: The maximum value to explore in PDF. This value should be large enough so the PDF is at 0 at this value.\n- Maximum number of Gaussians to study: All models between models with 1 Gaussians to models with this number of Gaussians will be combined.\n\nFor the 2D:\n\n- Gene name for x axis: The name of the column with the counts of your gene in x axis.\n- Gene name for y axis: The name of the column with the counts of your gene in y axis.\n- maximum value in logNorm for x-axis: The maximum value to explore in PDF in the x axis. This value should be large enough so the PDF is at 0 at this value.\n- maximum value in logNorm for y-axis: The maximum value to explore in PDF in the y axis. This value should be large enough so the PDF is at 0 at this value.\n- Maximum number of Gaussians to study: All models between models with 1 2D-Gaussians to models with this number of 2D-Gaussians will be combined.\n- compute p-value: Whether you want to get a p-value. As a consequence, less samples than available will be used for plots as p-value computation requires to have independent samples.\n\n## Processing\n\n- The workflow will generate paramater values from 1 to the maximum number of Gaussians to study.\n- baredSC_1d or baredSC_2d is run for each of these number of Gaussians\n- All models are combined into a single result.\n", "changelog": "# Changelog\n\n## [0.5] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.3+galaxy0`\n\n## [0.3] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/1.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0`\n\n## [0.2] 2023-12-01\n\n### Add 'compute p-value' parameter in 2d\n\n### Semi-automatic update\n- all baredsc tools were updated from `1.1.2+galaxy0` to `1.1.2+galaxy1`\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1`\n\n## [0.1] 2023-10-03\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## baredSC_1d_logNorm\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Tabular with raw expression values\"]@{ shape: doc }\n1[\"\u2139\ufe0f Gene name\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Maximum value in logNorm\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Maximum number of Gaussians to study\"]@{ shape: lean-l }\n4[\"\ud83d\udee0\ufe0f generate_param_list_one_to_number\"]@{ shape: subprocess }\n3 --> 4\n5[\"baredSC\"]@{ shape: process }\n4 --> 5\n2 --> 5\n1 --> 5\n0 --> 5\n6[\"combine baredSC 1d\"]@{ shape: process }\n5 --> 6\n2 --> 6\n1 --> 6\n0 --> 6\n```\n\n## generate_param_list_one_to_number\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Maximum number in param output\"]@{ shape: lean-l }\n1[\"create first tabular with good number of rows.\"]@{ shape: process }\n0 --> 1\n2[\"add column with numbers starting at 1\"]@{ shape: process }\n1 --> 2\n3[\"retrieve numbers\"]@{ shape: process }\n2 --> 3\n4[\"split numbers to collection\"]@{ shape: process }\n3 --> 4\n5[\"numbers to param\"]@{ shape: process }\n4 --> 5\n```\n", "trsID": "#workflow/github.com/iwc-workflows/baredsc/baredSC-1d-logNorm", "tests": [ { @@ -35037,6 +35066,7 @@ }, "readme": "# BaredSC Workflows\n\nThese workflows allow to run a baredSC analysis from a table with counts in a single click. It uses models from 1 to N Gaussians and combine them. It uses the logNorm scale, 100 bins for 1 dimension and 25 bins on each axis in 2 dimensions.\n\n## Inputs dataset\n\n- Both workflows need a tabular dataset where each row is a cell. The tabular needs to have a header line with column names. There must be at least two columns: 'nCount_RNA' and another one with the counts for the gene(s) of interest. A way to get such table in R from a Seurat object (`seurat.obj`) is:\n\n```r\nmy.genes <- c(\"Hoxa13\", \"Hoxd13\")\ndf <- cbind(seurat.obj[[]], # This will give you all metadata including nCount_RNA\n FetchData(seurat.obj, slot = \"counts\", vars = my.genes))\n\nwrite.table(df, \"input_for_baredSC.txt\", quote = F, sep = \"\\t\", row.names = F)\n```\n\n## Inputs values\n\nFor the 1D:\n\n- Gene name: The name of the column with the counts of your gene of interest.\n- Maximum value in logNorm: The maximum value to explore in PDF. This value should be large enough so the PDF is at 0 at this value.\n- Maximum number of Gaussians to study: All models between models with 1 Gaussians to models with this number of Gaussians will be combined.\n\nFor the 2D:\n\n- Gene name for x axis: The name of the column with the counts of your gene in x axis.\n- Gene name for y axis: The name of the column with the counts of your gene in y axis.\n- maximum value in logNorm for x-axis: The maximum value to explore in PDF in the x axis. This value should be large enough so the PDF is at 0 at this value.\n- maximum value in logNorm for y-axis: The maximum value to explore in PDF in the y axis. This value should be large enough so the PDF is at 0 at this value.\n- Maximum number of Gaussians to study: All models between models with 1 2D-Gaussians to models with this number of 2D-Gaussians will be combined.\n- compute p-value: Whether you want to get a p-value. As a consequence, less samples than available will be used for plots as p-value computation requires to have independent samples.\n\n## Processing\n\n- The workflow will generate paramater values from 1 to the maximum number of Gaussians to study.\n- baredSC_1d or baredSC_2d is run for each of these number of Gaussians\n- All models are combined into a single result.\n", "changelog": "# Changelog\n\n## [0.5] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_1d/baredsc_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_1d/baredsc_combine_1d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_2d/baredsc_2d/1.1.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/baredsc_combine_2d/baredsc_combine_2d/1.1.3+galaxy0`\n\n## [0.3] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/1.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.3+galaxy0`\n\n## [0.2] 2023-12-01\n\n### Add 'compute p-value' parameter in 2d\n\n### Semi-automatic update\n- all baredsc tools were updated from `1.1.2+galaxy0` to `1.1.2+galaxy1`\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1`\n\n## [0.1] 2023-10-03\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## baredSC_2d_logNorm\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Tabular with raw expression values\"]@{ shape: doc }\n1[\"\u2139\ufe0f Gene name for x axis\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f maximum value in logNorm for x-axis\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Gene name for y axis\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f maximum value in logNorm for y-axis\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Maximum number of Gaussians to study\"]@{ shape: lean-l }\n6[\"\u2139\ufe0f compute p-value\"]@{ shape: lean-l }\n7[\"\ud83d\udee0\ufe0f generate_param_list_one_to_number\"]@{ shape: subprocess }\n5 --> 7\n8[\"baredSC 2d\"]@{ shape: process }\n7 --> 8\n2 --> 8\n4 --> 8\n1 --> 8\n3 --> 8\n0 --> 8\n9[\"Combine multiple 2D Models\"]@{ shape: process }\n8 --> 9\n2 --> 9\n4 --> 9\n6 --> 9\n1 --> 9\n3 --> 9\n0 --> 9\n```\n\n## generate_param_list_one_to_number\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Maximum number in param output\"]@{ shape: lean-l }\n1[\"create first tabular with good number of rows.\"]@{ shape: process }\n0 --> 1\n2[\"add column with numbers starting at 1\"]@{ shape: process }\n1 --> 2\n3[\"retrieve numbers\"]@{ shape: process }\n2 --> 3\n4[\"split numbers to collection\"]@{ shape: process }\n3 --> 4\n5[\"numbers to param\"]@{ shape: process }\n4 --> 5\n```\n", "trsID": "#workflow/github.com/iwc-workflows/baredsc/baredSC-2d-logNorm", "tests": [ { @@ -35700,6 +35730,7 @@ }, "readme": "# Velocyto on 10X data\n\nThese workflows simply run velocyto. There are 2 workflows because one can be easily run after the 'fastq-to-matrix-10x' workflows (Velocyto-on10X-from-bundled). The other can be easily run from uploaded datasets (Velocyto-on10X-filtered-barcodes).\n\n## Input datasets\n\n- BAM files with CB and UB: A collection of BAM. It accepts BAM from cellranger or STARsolo with the CB and UB tags (if you use the fastq-to-matrix-10x workflows these tags are automatically included).\n- filtered barcodes (only for Velocyto_on10X_filtered_barcodes workflow): A collection of filtered barcodes (this is what will be used by velocyto). 'Filtered' means that these barcodes have been identified as potential cells. It should not be the whole list of 3 million possible barcodes from cellranger.\n- filtered matrices in bundle (only for Velocyto_on10X_from_bundled workflow): A collection of filtered matrices as bundled (like the one which comes from the fastq-to-matrix-10x workflows): A collection with as many items as samples. For each sample, the item is a list with 3 datasets (barcodes, genes, matrix). The workflow will then extract the items which have the 'barcodes' identifier.\n- gtf file: A file with annotations where exons are and how they are grouped into genes.\n\n## Processing\n\n- If you provided matrices, the first step is to extract barcodes.\n- For both cases velocyto cli is run to get a loom file per sample with spliced and unspliced counts.\n", "changelog": "# Changelog\n\n## [0.2] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli/velocyto_cli/0.17.17+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli/velocyto_cli/0.17.17+galaxy2`\n## [0.1] 2024-01-26\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Velocyto-on10X-from-bundled\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f BAM files with CB and UB\"]@{ shape: docs }\n1[\"\u2139\ufe0f filtered matrices in bundle\"]@{ shape: docs }\n2[\"\u2139\ufe0f gtf file\"]@{ shape: doc }\n3[\"extract barcodes from bundle\"]@{ shape: process }\n1 --> 3\n4[\"\ud83d\udee0\ufe0f Velocyto_on10X_filtered_barcodes\"]@{ shape: subprocess }\n0 --> 4\n3 --> 4\n2 --> 4\n```\n\n## Velocyto_on10X_filtered_barcodes\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f BAM files with CB and UB\"]@{ shape: docs }\n1[\"\u2139\ufe0f filtered barcodes\"]@{ shape: docs }\n2[\"\u2139\ufe0f gtf file\"]@{ shape: doc }\n3[\"velocyto\"]@{ shape: process }\n0 --> 3\n1 --> 3\n2 --> 3\n```\n", "trsID": "#workflow/github.com/iwc-workflows/velocyto/Velocyto-on10X-from-bundled", "tests": [ { @@ -35966,6 +35997,7 @@ }, "readme": "# Velocyto on 10X data\n\nThese workflows simply run velocyto. There are 2 workflows because one can be easily run after the 'fastq-to-matrix-10x' workflows (Velocyto-on10X-from-bundled). The other can be easily run from uploaded datasets (Velocyto-on10X-filtered-barcodes).\n\n## Input datasets\n\n- BAM files with CB and UB: A collection of BAM. It accepts BAM from cellranger or STARsolo with the CB and UB tags (if you use the fastq-to-matrix-10x workflows these tags are automatically included).\n- filtered barcodes (only for Velocyto_on10X_filtered_barcodes workflow): A collection of filtered barcodes (this is what will be used by velocyto). 'Filtered' means that these barcodes have been identified as potential cells. It should not be the whole list of 3 million possible barcodes from cellranger.\n- filtered matrices in bundle (only for Velocyto_on10X_from_bundled workflow): A collection of filtered matrices as bundled (like the one which comes from the fastq-to-matrix-10x workflows): A collection with as many items as samples. For each sample, the item is a list with 3 datasets (barcodes, genes, matrix). The workflow will then extract the items which have the 'barcodes' identifier.\n- gtf file: A file with annotations where exons are and how they are grouped into genes.\n\n## Processing\n\n- If you provided matrices, the first step is to extract barcodes.\n- For both cases velocyto cli is run to get a loom file per sample with spliced and unspliced counts.\n", "changelog": "# Changelog\n\n## [0.2] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli/velocyto_cli/0.17.17+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli/velocyto_cli/0.17.17+galaxy2`\n## [0.1] 2024-01-26\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Velocyto-on10X-filtered-barcodes\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f BAM files with CB and UB\"]@{ shape: docs }\n1[\"\u2139\ufe0f filtered barcodes\"]@{ shape: docs }\n2[\"\u2139\ufe0f gtf file\"]@{ shape: doc }\n3[\"velocyto\"]@{ shape: process }\n0 --> 3\n1 --> 3\n2 --> 3\n```\n", "trsID": "#workflow/github.com/iwc-workflows/velocyto/Velocyto-on10X-filtered-barcodes", "tests": [ { @@ -38229,6 +38261,7 @@ }, "readme": "# Single-cell RNA-seq fastq to matrix for 10X data\n\nThese workflows are inspired by the [training material](https://training.galaxyproject.org/training-material/topics/single-cell/tutorials/scrna-preprocessing-tenx/tutorial.html). Except that the output is in a 'bundle' format: three files (one matrix, one with genes, one with barcodes) which is similar to the cellranger output format.\n\nBoth are designed for fastqs from 10X libraries v3. One is for regular 10X library (one library per sample), while the other one is for CellPlex 10X library which allows to multiplex samples using CMOs (see [this blog article](https://www.10xgenomics.com/blog/answering-your-questions-about-sample-multiplexing-for-single-cell-gene-expression)).\n\n## Input datasets\n\n- Specific for each experiment:\n - For both workflows: you need a list of pairs of fastqs with gene expression.\n - For CellPlex: you need in addition a list of pairs of fastqs with CMO.\n - For CellPlex: you need a list of csv which describes samples and CMO used:\n - first column is the sequence and second column is the name\n /!\\ The order of samples need to be exactly the same between the collection of fastqs of CMO and the collection of csv.\n\n- Common for all experiments:\n - Gene annotations: A gtf file with gene locations\n - List of barcodes used by 10X. You can download it at https://zenodo.org/record/3457880/files/3M-february-2018.txt.gz\n\n## Input values\n\n- reference genome: this genome needs to be available for STAR\n- Barcode Size is same size of the Read: if the length of your R1 of GEX matches the size of cell barcode + UMI set to true. If your R1 contains trailling A, put false.\n- number of cells: If you make it too large no cell barcode correction will be performed to demultiplex CMOs.\n\n## Processing\n- Gene expression processing:\n - Reads are aligned to the genome, asigned to genes, cell barcode and UMI with STAR Solo\n - MultiQC report the mapping rate and the number of reads attributed to genes\n - The output of STAR Solo is filtered with Droplet Utils to remove cellular barcodes which are probably empty.\n - The output of Droplet Utils is reorganized to be:\n```\nMain Collection:\n - Sample 1:\n - matrix.mtx\n - barcodes.tsv\n - genes.tsv\n - Sample 2:\n - matrix.mtx\n - barcodes.tsv\n - genes.tsv\n...\n```\nFor the CellPlex workflow:\n- CMO processing:\n - CITE-Seq Count is used to asign reads and generate a matrix where 'genes' are the CMO and 'unmapped'.\n - Cellular barcodes are translated to match the cellular barcodes of Gene expression see [this article](https://kb.10xgenomics.com/hc/en-us/articles/360031133451-Why-is-there-a-discrepancy-in-the-3M-february-2018-txt-barcode-whitelist-).\n - Reorganize the output with UMI matrices to match the same structure as gene expression matrices.\n\n## Test data\n\nThe test dataset has been produced to make it as small as possible in order to make the workflow pass on CI.\n\n- The CMO reads come from [zenodo](https://zenodo.org/records/10229382) and have been sampled to 0.1 with seqtk.\n- The GEX reads come from SRR13948489 but have been subsetted to the cells selected in the above zenodo.\n", "changelog": "# Changelog\n\n## [0.5] 2024-09-25\n\n### Manual update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n\n## [0.3] 2024-02-12\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n\n## [0.2] 2024-02-05\n\n### Tool updates\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n- `pick_value` was replaced by `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0`\n\n\n\n## [0.1] 2023-12-21\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## scRNA-seq_preprocessing_10X_cellPlex\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f fastq PE collection GEX\"]@{ shape: docs }\n1[\"\u2139\ufe0f reference genome\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f gtf\"]@{ shape: doc }\n3[\"\u2139\ufe0f cellranger_barcodes_3M-february-2018.txt\"]@{ shape: doc }\n4[\"\u2139\ufe0f Barcode Size is same size of the Read\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f fastq PE collection CMO\"]@{ shape: docs }\n6[\"\u2139\ufe0f sample name and CMO sequence collection\"]@{ shape: docs }\n7[\"\u2139\ufe0f Number of expected cells\"]@{ shape: lean-l }\n8[\"\ud83d\udee0\ufe0f process GEX reads\"]@{ shape: subprocess }\n4 --> 8\n3 --> 8\n0 --> 8\n2 --> 8\n1 --> 8\n9[\"CITE-seq-Count\"]@{ shape: process }\n7 --> 9\n5 --> 9\n6 --> 9\n3 --> 9\n10[\"Rename STAR-solo output\"]@{ shape: process }\n8 --> 10\n11[\"translate 10x barcode v2 to 10x barcode v1\"]@{ shape: process }\n9 --> 11\n12[\"\ud83d\udee0\ufe0f Re-organize CITE-seq-Count output\"]@{ shape: subprocess }\n11 --> 12\n9 --> 12\n9 --> 12\n13[\"rename CITE-seq output\"]@{ shape: process }\n12 --> 13\n```\n\n## scRNA-seq_preprocessing_10X_v3_Bundle\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f fastq PE collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f reference genome\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f gtf\"]@{ shape: doc }\n3[\"\u2139\ufe0f cellranger_barcodes_3M-february-2018.txt\"]@{ shape: doc }\n4[\"\u2139\ufe0f Barcode Size is same size of the Read\"]@{ shape: lean-l }\n5[\"RNA STARSolo\"]@{ shape: process }\n1 --> 5\n2 --> 5\n0 --> 5\n4 --> 5\n3 --> 5\n6[\"multiQC\"]@{ shape: process }\n5 --> 6\n5 --> 6\n7[\"filter cells\"]@{ shape: process }\n5 --> 7\n5 --> 7\n5 --> 7\n8[\"\ud83d\udee0\ufe0f Re-organize STAR-solo output\"]@{ shape: subprocess }\n7 --> 8\n7 --> 8\n7 --> 8\n```\n\n## Re-organize-STAR-solo-output\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f STARsolo Genes\"]@{ shape: docs }\n1[\"\u2139\ufe0f STARsolo Barcodes\"]@{ shape: docs }\n2[\"\u2139\ufe0f STARsolo Matrix Gene Counts\"]@{ shape: docs }\n3[\"Extract element identifiers\"]@{ shape: process }\n2 --> 3\n4[\"Replace Text\"]@{ shape: process }\n3 --> 4\n5[\"Replace Text\"]@{ shape: process }\n3 --> 5\n6[\"Replace Text\"]@{ shape: process }\n3 --> 6\n7[\"Relabel identifiers\"]@{ shape: process }\n4 --> 7\n0 --> 7\n8[\"Relabel identifiers\"]@{ shape: process }\n5 --> 8\n1 --> 8\n9[\"Relabel identifiers\"]@{ shape: process }\n6 --> 9\n2 --> 9\n10[\"Merge collections\"]@{ shape: process }\n9 --> 10\n8 --> 10\n7 --> 10\n11[\"Apply rules\"]@{ shape: process }\n10 --> 11\n```\n", "trsID": "#workflow/github.com/iwc-workflows/fastq-to-matrix-10x/scrna-seq-fastq-to-matrix-10x-cellplex", "tests": [ { @@ -39471,6 +39504,7 @@ }, "readme": "# Single-cell RNA-seq fastq to matrix for 10X data\n\nThese workflows are inspired by the [training material](https://training.galaxyproject.org/training-material/topics/single-cell/tutorials/scrna-preprocessing-tenx/tutorial.html). Except that the output is in a 'bundle' format: three files (one matrix, one with genes, one with barcodes) which is similar to the cellranger output format.\n\nBoth are designed for fastqs from 10X libraries v3. One is for regular 10X library (one library per sample), while the other one is for CellPlex 10X library which allows to multiplex samples using CMOs (see [this blog article](https://www.10xgenomics.com/blog/answering-your-questions-about-sample-multiplexing-for-single-cell-gene-expression)).\n\n## Input datasets\n\n- Specific for each experiment:\n - For both workflows: you need a list of pairs of fastqs with gene expression.\n - For CellPlex: you need in addition a list of pairs of fastqs with CMO.\n - For CellPlex: you need a list of csv which describes samples and CMO used:\n - first column is the sequence and second column is the name\n /!\\ The order of samples need to be exactly the same between the collection of fastqs of CMO and the collection of csv.\n\n- Common for all experiments:\n - Gene annotations: A gtf file with gene locations\n - List of barcodes used by 10X. You can download it at https://zenodo.org/record/3457880/files/3M-february-2018.txt.gz\n\n## Input values\n\n- reference genome: this genome needs to be available for STAR\n- Barcode Size is same size of the Read: if the length of your R1 of GEX matches the size of cell barcode + UMI set to true. If your R1 contains trailling A, put false.\n- number of cells: If you make it too large no cell barcode correction will be performed to demultiplex CMOs.\n\n## Processing\n- Gene expression processing:\n - Reads are aligned to the genome, asigned to genes, cell barcode and UMI with STAR Solo\n - MultiQC report the mapping rate and the number of reads attributed to genes\n - The output of STAR Solo is filtered with Droplet Utils to remove cellular barcodes which are probably empty.\n - The output of Droplet Utils is reorganized to be:\n```\nMain Collection:\n - Sample 1:\n - matrix.mtx\n - barcodes.tsv\n - genes.tsv\n - Sample 2:\n - matrix.mtx\n - barcodes.tsv\n - genes.tsv\n...\n```\nFor the CellPlex workflow:\n- CMO processing:\n - CITE-Seq Count is used to asign reads and generate a matrix where 'genes' are the CMO and 'unmapped'.\n - Cellular barcodes are translated to match the cellular barcodes of Gene expression see [this article](https://kb.10xgenomics.com/hc/en-us/articles/360031133451-Why-is-there-a-discrepancy-in-the-3M-february-2018-txt-barcode-whitelist-).\n - Reorganize the output with UMI matrices to match the same structure as gene expression matrices.\n\n## Test data\n\nThe test dataset has been produced to make it as small as possible in order to make the workflow pass on CI.\n\n- The CMO reads come from [zenodo](https://zenodo.org/records/10229382) and have been sampled to 0.1 with seqtk.\n- The GEX reads come from SRR13948489 but have been subsetted to the cells selected in the above zenodo.\n", "changelog": "# Changelog\n\n## [0.5] 2024-09-25\n\n### Manual update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.4] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n\n## [0.3] 2024-02-12\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo/rna_starsolo/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n\n## [0.2] 2024-02-05\n\n### Tool updates\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n- `pick_value` was replaced by `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0`\n\n\n\n## [0.1] 2023-12-21\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## scRNA-seq_preprocessing_10X_v3_Bundle\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f fastq PE collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f reference genome\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f gtf\"]@{ shape: doc }\n3[\"\u2139\ufe0f cellranger_barcodes_3M-february-2018.txt\"]@{ shape: doc }\n4[\"\u2139\ufe0f Barcode Size is same size of the Read\"]@{ shape: lean-l }\n5[\"RNA STARSolo\"]@{ shape: process }\n1 --> 5\n2 --> 5\n0 --> 5\n4 --> 5\n3 --> 5\n6[\"multiQC\"]@{ shape: process }\n5 --> 6\n5 --> 6\n7[\"filter cells\"]@{ shape: process }\n5 --> 7\n5 --> 7\n5 --> 7\n8[\"\ud83d\udee0\ufe0f Re-organize STAR-solo output\"]@{ shape: subprocess }\n7 --> 8\n7 --> 8\n7 --> 8\n```\n\n## Re-organize-STAR-solo-output\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f STARsolo Genes\"]@{ shape: docs }\n1[\"\u2139\ufe0f STARsolo Barcodes\"]@{ shape: docs }\n2[\"\u2139\ufe0f STARsolo Matrix Gene Counts\"]@{ shape: docs }\n3[\"Extract element identifiers\"]@{ shape: process }\n2 --> 3\n4[\"Replace Text\"]@{ shape: process }\n3 --> 4\n5[\"Replace Text\"]@{ shape: process }\n3 --> 5\n6[\"Replace Text\"]@{ shape: process }\n3 --> 6\n7[\"Relabel identifiers\"]@{ shape: process }\n4 --> 7\n0 --> 7\n8[\"Relabel identifiers\"]@{ shape: process }\n5 --> 8\n1 --> 8\n9[\"Relabel identifiers\"]@{ shape: process }\n6 --> 9\n2 --> 9\n10[\"Merge collections\"]@{ shape: process }\n9 --> 10\n8 --> 10\n7 --> 10\n11[\"Apply rules\"]@{ shape: process }\n10 --> 11\n```\n", "trsID": "#workflow/github.com/iwc-workflows/fastq-to-matrix-10x/scrna-seq-fastq-to-matrix-10x-v3", "tests": [ { @@ -40607,6 +40641,7 @@ }, "readme": "# Pseudobulk-edgeR workflows\n\nThis workflow uses the decoupler tool in Galaxy to generate pseudobulk counts from an annotated AnnData file obtained from scRNA-seq analysis. Following the pseudobulk step, differential expression genes (DEG) are calculated \nusing the edgeR tool. The workflow also includes data sanitation steps to ensure smooth operation of edgeR and minimizing potential issues. Additionally, a Volcano plot tool is used to visualize the results after the DEG \nanalysis.\n\nThe workflow deposited here is based on an earlier version of the [Persist-SEQ](https://persist-seq.org/)[^1] Pseudo-bulk scRNA-seq pipeline, of which the latest version is available [here](https://usegalaxy.eu/published/workflow?id=c3a11e1ac1aa8383). In terms of core procedures, the main differences with the IWC workflow are that the Persist-SEQ workflow:\n\n[^1]: The PERSIST-SEQ consortium is funded by the Innovative Medicines Initiative (IMI) Joint Undertaking, which receives support from the European Union's Horizon 2020 research and innovation program and EFPIA.\n\n- Is more opinionanted on the downstream enrichment analysis for the cancer biology use case.\n- Enables filtering out of seldomly expressed genes (with a configurable threshold) per contrast after DE calling, which reduces poorly supported highly DE genes and improves the signal for downstream enrichment analysis.\n\n## Inputs\n\n- deCoupler: Source AnnData (`h5ad`).\n - Parameter: Pseudobulk: Fields to merge / optional \n - Parameter: Group by column / has to be given\n - Parameter: Sample key column / has to be given\n - Parameter: Name your raw count layer / has to be given\n - Parameter: Factor Field / has to be given\n- edgeR:\n - Sanitzed Count Matrix\n - Sanitized Factor File\n - Cleaned Gene Annotations file\n - Parameter: Formula for linear model / has to be given\n - Contrast file / has to be given\n- Volcano Plot:\n - Input (`tabular`) file with genesymbol, logFC, Pvalue and FDR columns.\n\n## Processing\n\nSanitzation steps after decoupler:\n- Sanitize Matrix and Factors(`tabular`): finds [ --+*^]+ and replace with -\n- Remove start, end with (`tabular`): A column that may affect EdgeR and DESeq2.\n- Sanitize First Factor for leading digits (`tabular`): Finds ^([0-9])(.+) and replace it with GG_\\\\1\\\\2\n- Get Contrast labels\n- Replace text\n- Split Contrasts\n- Contrasts as Parameters: Plot title\n- Select columns for volcano plot using (`Remove columns`) from DEG edgeR (`Table`)output.\n\n\n## Outputs\n\n - Pseudobulk_count_matrix (`tabular`)\n - Pseudobulk Plot (`png`)\n - Filtered by expression (`png`)\n - Table DEG\n - Results (`HTML`) File and plots for download within the output as (`png`)\n - Volcano plot (`PDF`)\n", "changelog": "# Changelog\n\n## [0.1.1] 2024-11-18\n### Added\n- Extended attribution to credit [Persist-SEQ](https://persist-seq.org/) as the original authors of the workflow that this workflow is based on.\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/ebi-gxa/decoupler_pseudobulk/decoupler_pseudobulk/1.4.0+galaxy5` was updated to `toolshed.g2.bx.psu.edu/repos/ebi-gxa/decoupler_pseudobulk/decoupler_pseudobulk/1.4.0+galaxy8`\n\n## [0.1] 2024-10-14\nFirst release.", + "diagrams": "# Workflow diagrams\n\n## Differential gene expression for single-cell data using pseudo-bulk counts with edgeR\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Source AnnData file\"]@{ shape: doc }\n1[\"\u2139\ufe0f Pseudo-bulk: Fields to merge\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Group by column\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Sample key column\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Name Your Raw Counts Layer\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Factor fields\"]@{ shape: lean-l }\n6[\"\u2139\ufe0f Formula\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f Gene symbol column\"]@{ shape: lean-l }\n8[\"Decoupler pseudo-bulk\"]@{ shape: process }\n1 --> 8\n5 --> 8\n2 --> 8\n0 --> 8\n4 --> 8\n3 --> 8\n9[\"Sanitize matrix\"]@{ shape: process }\n8 --> 9\n10[\"Sanitize factors\"]@{ shape: process }\n8 --> 10\n11[\"Remove start, end, width\"]@{ shape: process }\n8 --> 11\n12[\"Sanitize first factor for leading digits\"]@{ shape: process }\n10 --> 12\n13[\"Text reformatting\"]@{ shape: process }\n12 --> 13\n14[\"edgeR\"]@{ shape: process }\n11 --> 14\n13 --> 14\n6 --> 14\n9 --> 14\n12 --> 14\n15[\"Get contrast labels\"]@{ shape: process }\n14 --> 15\n16[\"Select gene symbols, logFC, PValue and FDR\"]@{ shape: process }\n7 --> 16\n14 --> 16\n17[\"Replace Text\"]@{ shape: process }\n15 --> 17\n18[\"Split contrasts\"]@{ shape: process }\n17 --> 18\n19[\"Contrast as parameters\"]@{ shape: process }\n18 --> 19\n20[\"Volcano Plot\"]@{ shape: process }\n16 --> 20\n19 --> 20\n```\n", "trsID": "#workflow/github.com/iwc-workflows/pseudobulk-worflow-decoupler-edger/main", "tests": [ { @@ -41917,6 +41952,7 @@ }, "readme": "# Hi-C (hic_fastq_to_cool_hicup_cooler) and region capture Hi-C (chic_fastq_to_cool_hicup_cooler) Workflows\n\nThis can also be used for Hi-ChIP experiments, in that case the output with `matrix with iced values` is ignored and the matrix to use is `matrix with raw values`.\n\n## Input datasets\n\n- The workflow needs a list of dataset pairs of fastqsanger.\n\n## Input values\n\n- genome name: suggested from the bowtie2 indices, it is used to map and build the list of bins.\n- restriction enzyme: Restriction enzyme used e.g. A^GATCT,BglII. The '^' is used to express where the enzyme cuts.\n- No fill-in: If you used a biotin fill-in protocol, put this to false, else, put it to true.\n- minimum MAPQ: Filtering to apply to pairs you want to keep in your matrix, set it to 0 to not apply filtering (HiCUP already filter for uniquely mapped or MAPQ30).\n- Bin size in bp: Used to generate your first matrix but you will be able to rerun the subworkflow `hic_tabix_to_cool_cooler` to get other resolutions.\n- Interactions to consider to calculate weights in normalization step: this is a parameter for the last correction step (ICE).\n\nFor the region capture workflow:\n\n- chromosome, start and end positions of the capture region\n\nFor the Hi-C workflow:\n\n- region to use in pyGenomeTracks to check the matrices.\n\n## Processing\n\n- Reads are processed with HiCUP which comprises these steps:\n - Truncation of reads for the religation motif\n - Mapping of mates independently with bowtie2\n - Pairing the mates when both mates are uniquely mapped or MAPQ30\n - Filtering the pairs for undigested, self-ligated...\n - Removing duplicates\n- The output BAM file is converted to medium juicer format: ` ` where str = strand (0 for forward, anything else for reverse) and pos is the middle of the fragment.\n- The pairs are filtered for MAPQ if specified.\n- For the region capture Hi-C workflow the pairs are filtered for both mates in the captured region.\n- The filtered pairs are sorted and indexed with cooler_csort.\n- The pairs are loaded into a matrix of the given resolution and balanced with cooler.\n- A final plot is made with pyGenomeTracks using the balanced matrices on the region provided or the capture region.\n\n## Subworkflows\n\nThere are 2 subworkflows: `hic_tabix_to_cool_cooler` and `hic_fastq_to_pairs_hicup.ga`.\n\n### hic_tabix_to_cool_cooler\n\nThis first subworkflow can be used to generate matrices to different resolutions using one of the output of the full workflow (`valid pairs filtered and sorted`).\n\nIf the dataset are still in galaxy (format: juicer_medium_tabix.gz), the workflow can be run directly.\n\nIf the dataset is not anymore in galaxy, you need to upload and specify the datatype as: juicer_medium_tabix.gz\n\n### hic_fastq_to_pairs_hicup\n\nThe second subworkflow has no real reason to be launched by itself except for QC tests.\n\nIf you want to run the first subworkflow from these results:\n\n- You first need to filter the pairs (`valid pairs in juicebox format MAPQ filtered`) for the capture region if relevent using the tool Filter1 (**Filter** data on any column using simple expressions) with the condition `(c3=='chr2' and c4<180000000 and c4>170000000) and (c7==\"chr2\" and c8<180000000 and c8>170000000)` if your capture region is chr2:170000000-180000000.\n- Then you need to run cooler_csort (**cooler csort with tabix** Sort and index a contact list.) with as input the `valid pairs in juicebox format MAPQ filtered` or the output of the previous step and for \"Format of your input file\" use \"Juicer Medium Format\".\n\nThe output of `cooler_csort` can be used as input of the first subworkflow.\n", "changelog": "# Changelog\n\n## [0.3] 2023-09-08\n\n### Update tools\n- all cooler tools were updated from 0.8.11 to 0.9.3\n- pyGenomeTracks was updated from 3.7 to 3.8\n\n## [0.2.1] 2023-09-01 Bug fix\n\nFix dockstore (workflows are the same)\n\n## [0.2] 2023-02-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/pygenometracks/pygenomeTracks/3.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/pygenometracks/pygenomeTracks/3.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.8.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.9.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.8.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.9.2+galaxy0`\n\n### Manual update\n- Get fragment id in valid pairs file.\n- Use the middle of the fragment instead of 5' of the read in the valid pairs file.\n\n## [0.1] 2023-01-16\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Hi-C_fastqToCool_hicup_cooler\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f PE fastq input\"]@{ shape: docs }\n1[\"\u2139\ufe0f genome name\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Restriction enzyme\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f No fill-in\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f minimum MAPQ\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Bin size in bp\"]@{ shape: lean-l }\n6[\"\u2139\ufe0f Interactions to consider to calculate weights in normalization step\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f region for matrix plotting\"]@{ shape: lean-l }\n8[\"\ud83d\udee0\ufe0f Hi-C_fastqToPairs_hicup\"]@{ shape: subprocess }\n3 --> 8\n0 --> 8\n2 --> 8\n1 --> 8\n4 --> 8\n9[\"Sort pairs and index\"]@{ shape: process }\n8 --> 9\n1 --> 9\n10[\"\ud83d\udee0\ufe0f Hi-C_juicermediumtabixToCool_cooler\"]@{ shape: subprocess }\n5 --> 10\n6 --> 10\n9 --> 10\n1 --> 10\n11[\"final plot\"]@{ shape: process }\n7 --> 11\n10 --> 11\n```\n\n## Hi-C_juicermediumtabixToCool_cooler\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Bin size in bp\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f genome name\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Juicer Medium Tabix with validPairs\"]@{ shape: docs }\n3[\"\u2139\ufe0f Interactions to consider to calculate weights in normalization step\"]@{ shape: lean-l }\n4[\"make bed with bins\"]@{ shape: process }\n0 --> 4\n1 --> 4\n5[\"Load pairs in matrix\"]@{ shape: process }\n1 --> 5\n2 --> 5\n4 --> 5\n6[\"ICE normalization\"]@{ shape: process }\n3 --> 6\n5 --> 6\n```\n\n## Hi-C_fastqToPairs_hicup\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f PE fastq input\"]@{ shape: docs }\n1[\"\u2139\ufe0f genome name\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Restriction enzyme\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f No fill-in\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f minimum MAPQ\"]@{ shape: lean-l }\n5[\"HiCUP\"]@{ shape: process }\n3 --> 5\n1 --> 5\n0 --> 5\n2 --> 5\n1 --> 5\n6[\"build filtering rule for MAPQ\"]@{ shape: process }\n4 --> 6\n4 --> 6\n7[\"valid pairs in juicebox format\"]@{ shape: process }\n5 --> 7\n5 --> 7\n8[\"valid pairs in juicebox format MAPQ filtered\"]@{ shape: process }\n6 --> 8\n7 --> 8\n```\n", "trsID": "#workflow/github.com/iwc-workflows/hic-hicup-cooler/hic-fastq-to-cool-hicup-cooler", "tests": [ { @@ -43507,6 +43543,7 @@ }, "readme": "# Hi-C (hic_fastq_to_cool_hicup_cooler) and region capture Hi-C (chic_fastq_to_cool_hicup_cooler) Workflows\n\nThis can also be used for Hi-ChIP experiments, in that case the output with `matrix with iced values` is ignored and the matrix to use is `matrix with raw values`.\n\n## Input datasets\n\n- The workflow needs a list of dataset pairs of fastqsanger.\n\n## Input values\n\n- genome name: suggested from the bowtie2 indices, it is used to map and build the list of bins.\n- restriction enzyme: Restriction enzyme used e.g. A^GATCT,BglII. The '^' is used to express where the enzyme cuts.\n- No fill-in: If you used a biotin fill-in protocol, put this to false, else, put it to true.\n- minimum MAPQ: Filtering to apply to pairs you want to keep in your matrix, set it to 0 to not apply filtering (HiCUP already filter for uniquely mapped or MAPQ30).\n- Bin size in bp: Used to generate your first matrix but you will be able to rerun the subworkflow `hic_tabix_to_cool_cooler` to get other resolutions.\n- Interactions to consider to calculate weights in normalization step: this is a parameter for the last correction step (ICE).\n\nFor the region capture workflow:\n\n- chromosome, start and end positions of the capture region\n\nFor the Hi-C workflow:\n\n- region to use in pyGenomeTracks to check the matrices.\n\n## Processing\n\n- Reads are processed with HiCUP which comprises these steps:\n - Truncation of reads for the religation motif\n - Mapping of mates independently with bowtie2\n - Pairing the mates when both mates are uniquely mapped or MAPQ30\n - Filtering the pairs for undigested, self-ligated...\n - Removing duplicates\n- The output BAM file is converted to medium juicer format: ` ` where str = strand (0 for forward, anything else for reverse) and pos is the middle of the fragment.\n- The pairs are filtered for MAPQ if specified.\n- For the region capture Hi-C workflow the pairs are filtered for both mates in the captured region.\n- The filtered pairs are sorted and indexed with cooler_csort.\n- The pairs are loaded into a matrix of the given resolution and balanced with cooler.\n- A final plot is made with pyGenomeTracks using the balanced matrices on the region provided or the capture region.\n\n## Subworkflows\n\nThere are 2 subworkflows: `hic_tabix_to_cool_cooler` and `hic_fastq_to_pairs_hicup.ga`.\n\n### hic_tabix_to_cool_cooler\n\nThis first subworkflow can be used to generate matrices to different resolutions using one of the output of the full workflow (`valid pairs filtered and sorted`).\n\nIf the dataset are still in galaxy (format: juicer_medium_tabix.gz), the workflow can be run directly.\n\nIf the dataset is not anymore in galaxy, you need to upload and specify the datatype as: juicer_medium_tabix.gz\n\n### hic_fastq_to_pairs_hicup\n\nThe second subworkflow has no real reason to be launched by itself except for QC tests.\n\nIf you want to run the first subworkflow from these results:\n\n- You first need to filter the pairs (`valid pairs in juicebox format MAPQ filtered`) for the capture region if relevent using the tool Filter1 (**Filter** data on any column using simple expressions) with the condition `(c3=='chr2' and c4<180000000 and c4>170000000) and (c7==\"chr2\" and c8<180000000 and c8>170000000)` if your capture region is chr2:170000000-180000000.\n- Then you need to run cooler_csort (**cooler csort with tabix** Sort and index a contact list.) with as input the `valid pairs in juicebox format MAPQ filtered` or the output of the previous step and for \"Format of your input file\" use \"Juicer Medium Format\".\n\nThe output of `cooler_csort` can be used as input of the first subworkflow.\n", "changelog": "# Changelog\n\n## [0.3] 2023-09-08\n\n### Update tools\n- all cooler tools were updated from 0.8.11 to 0.9.3\n- pyGenomeTracks was updated from 3.7 to 3.8\n\n## [0.2.1] 2023-09-01 Bug fix\n\nFix dockstore (workflows are the same)\n\n## [0.2] 2023-02-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/pygenometracks/pygenomeTracks/3.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/pygenometracks/pygenomeTracks/3.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.8.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.9.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.8.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.9.2+galaxy0`\n\n### Manual update\n- Get fragment id in valid pairs file.\n- Use the middle of the fragment instead of 5' of the read in the valid pairs file.\n\n## [0.1] 2023-01-16\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## cHi-C_fastqToCool_hicup_cooler\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f PE fastq input\"]@{ shape: docs }\n1[\"\u2139\ufe0f genome name\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Restriction enzyme\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f No fill-in\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f minimum MAPQ\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Bin size in bp\"]@{ shape: lean-l }\n6[\"\u2139\ufe0f Interactions to consider to calculate weights in normalization step\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f capture region (chromosome)\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f capture region (start)\"]@{ shape: lean-l }\n9[\"\u2139\ufe0f capture region (end)\"]@{ shape: lean-l }\n10[\"\ud83d\udee0\ufe0f Hi-C_fastqToPairs_hicup\"]@{ shape: subprocess }\n3 --> 10\n0 --> 10\n2 --> 10\n1 --> 10\n4 --> 10\n11[\"write filtering for capture region\"]@{ shape: process }\n8 --> 11\n7 --> 11\n9 --> 11\n8 --> 11\n7 --> 11\n9 --> 11\n12[\"write region for pyGenomeTracks\"]@{ shape: process }\n7 --> 12\n8 --> 12\n9 --> 12\n13[\"Filter for capture region\"]@{ shape: process }\n11 --> 13\n10 --> 13\n14[\"Sort filtered pairs and index\"]@{ shape: process }\n13 --> 14\n1 --> 14\n15[\"\ud83d\udee0\ufe0f Hi-C_juicermediumtabixToCool_cooler\"]@{ shape: subprocess }\n5 --> 15\n6 --> 15\n14 --> 15\n1 --> 15\n16[\"final_plot\"]@{ shape: process }\n12 --> 16\n15 --> 16\n```\n\n## Hi-C_juicermediumtabixToCool_cooler\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Bin size in bp\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f genome name\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Juicer Medium Tabix with validPairs\"]@{ shape: docs }\n3[\"\u2139\ufe0f Interactions to consider to calculate weights in normalization step\"]@{ shape: lean-l }\n4[\"make bed with bins\"]@{ shape: process }\n0 --> 4\n1 --> 4\n5[\"Load pairs in matrix\"]@{ shape: process }\n1 --> 5\n2 --> 5\n4 --> 5\n6[\"ICE normalization\"]@{ shape: process }\n3 --> 6\n5 --> 6\n```\n\n## Hi-C_fastqToPairs_hicup\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f PE fastq input\"]@{ shape: docs }\n1[\"\u2139\ufe0f genome name\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Restriction enzyme\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f No fill-in\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f minimum MAPQ\"]@{ shape: lean-l }\n5[\"HiCUP\"]@{ shape: process }\n3 --> 5\n1 --> 5\n0 --> 5\n2 --> 5\n1 --> 5\n6[\"build filtering rule for MAPQ\"]@{ shape: process }\n4 --> 6\n4 --> 6\n7[\"valid pairs in juicebox format\"]@{ shape: process }\n5 --> 7\n5 --> 7\n8[\"valid pairs in juicebox format MAPQ filtered\"]@{ shape: process }\n6 --> 8\n7 --> 8\n```\n", "trsID": "#workflow/github.com/iwc-workflows/hic-hicup-cooler/chic-fastq-to-cool-hicup-cooler", "tests": [ { @@ -43974,6 +44011,7 @@ }, "readme": "# Hi-C (hic_fastq_to_cool_hicup_cooler) and region capture Hi-C (chic_fastq_to_cool_hicup_cooler) Workflows\n\nThis can also be used for Hi-ChIP experiments, in that case the output with `matrix with iced values` is ignored and the matrix to use is `matrix with raw values`.\n\n## Input datasets\n\n- The workflow needs a list of dataset pairs of fastqsanger.\n\n## Input values\n\n- genome name: suggested from the bowtie2 indices, it is used to map and build the list of bins.\n- restriction enzyme: Restriction enzyme used e.g. A^GATCT,BglII. The '^' is used to express where the enzyme cuts.\n- No fill-in: If you used a biotin fill-in protocol, put this to false, else, put it to true.\n- minimum MAPQ: Filtering to apply to pairs you want to keep in your matrix, set it to 0 to not apply filtering (HiCUP already filter for uniquely mapped or MAPQ30).\n- Bin size in bp: Used to generate your first matrix but you will be able to rerun the subworkflow `hic_tabix_to_cool_cooler` to get other resolutions.\n- Interactions to consider to calculate weights in normalization step: this is a parameter for the last correction step (ICE).\n\nFor the region capture workflow:\n\n- chromosome, start and end positions of the capture region\n\nFor the Hi-C workflow:\n\n- region to use in pyGenomeTracks to check the matrices.\n\n## Processing\n\n- Reads are processed with HiCUP which comprises these steps:\n - Truncation of reads for the religation motif\n - Mapping of mates independently with bowtie2\n - Pairing the mates when both mates are uniquely mapped or MAPQ30\n - Filtering the pairs for undigested, self-ligated...\n - Removing duplicates\n- The output BAM file is converted to medium juicer format: ` ` where str = strand (0 for forward, anything else for reverse) and pos is the middle of the fragment.\n- The pairs are filtered for MAPQ if specified.\n- For the region capture Hi-C workflow the pairs are filtered for both mates in the captured region.\n- The filtered pairs are sorted and indexed with cooler_csort.\n- The pairs are loaded into a matrix of the given resolution and balanced with cooler.\n- A final plot is made with pyGenomeTracks using the balanced matrices on the region provided or the capture region.\n\n## Subworkflows\n\nThere are 2 subworkflows: `hic_tabix_to_cool_cooler` and `hic_fastq_to_pairs_hicup.ga`.\n\n### hic_tabix_to_cool_cooler\n\nThis first subworkflow can be used to generate matrices to different resolutions using one of the output of the full workflow (`valid pairs filtered and sorted`).\n\nIf the dataset are still in galaxy (format: juicer_medium_tabix.gz), the workflow can be run directly.\n\nIf the dataset is not anymore in galaxy, you need to upload and specify the datatype as: juicer_medium_tabix.gz\n\n### hic_fastq_to_pairs_hicup\n\nThe second subworkflow has no real reason to be launched by itself except for QC tests.\n\nIf you want to run the first subworkflow from these results:\n\n- You first need to filter the pairs (`valid pairs in juicebox format MAPQ filtered`) for the capture region if relevent using the tool Filter1 (**Filter** data on any column using simple expressions) with the condition `(c3=='chr2' and c4<180000000 and c4>170000000) and (c7==\"chr2\" and c8<180000000 and c8>170000000)` if your capture region is chr2:170000000-180000000.\n- Then you need to run cooler_csort (**cooler csort with tabix** Sort and index a contact list.) with as input the `valid pairs in juicebox format MAPQ filtered` or the output of the previous step and for \"Format of your input file\" use \"Juicer Medium Format\".\n\nThe output of `cooler_csort` can be used as input of the first subworkflow.\n", "changelog": "# Changelog\n\n## [0.3] 2023-09-08\n\n### Update tools\n- all cooler tools were updated from 0.8.11 to 0.9.3\n- pyGenomeTracks was updated from 3.7 to 3.8\n\n## [0.2.1] 2023-09-01 Bug fix\n\nFix dockstore (workflows are the same)\n\n## [0.2] 2023-02-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/pygenometracks/pygenomeTracks/3.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/pygenometracks/pygenomeTracks/3.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.8.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.9.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.8.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.9.2+galaxy0`\n\n### Manual update\n- Get fragment id in valid pairs file.\n- Use the middle of the fragment instead of 5' of the read in the valid pairs file.\n\n## [0.1] 2023-01-16\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Hi-C_juicermediumtabixToCool_cooler\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Bin size in bp\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f genome name\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Juicer Medium Tabix with validPairs\"]@{ shape: docs }\n3[\"\u2139\ufe0f Interactions to consider to calculate weights in normalization step\"]@{ shape: lean-l }\n4[\"make bed with bins\"]@{ shape: process }\n0 --> 4\n1 --> 4\n5[\"Load pairs in matrix\"]@{ shape: process }\n1 --> 5\n2 --> 5\n4 --> 5\n6[\"ICE normalization\"]@{ shape: process }\n3 --> 6\n5 --> 6\n```\n", "trsID": "#workflow/github.com/iwc-workflows/hic-hicup-cooler/hic-juicermediumtabix-to-cool-cooler", "tests": [ { @@ -44475,6 +44513,7 @@ }, "readme": "# Hi-C (hic_fastq_to_cool_hicup_cooler) and region capture Hi-C (chic_fastq_to_cool_hicup_cooler) Workflows\n\nThis can also be used for Hi-ChIP experiments, in that case the output with `matrix with iced values` is ignored and the matrix to use is `matrix with raw values`.\n\n## Input datasets\n\n- The workflow needs a list of dataset pairs of fastqsanger.\n\n## Input values\n\n- genome name: suggested from the bowtie2 indices, it is used to map and build the list of bins.\n- restriction enzyme: Restriction enzyme used e.g. A^GATCT,BglII. The '^' is used to express where the enzyme cuts.\n- No fill-in: If you used a biotin fill-in protocol, put this to false, else, put it to true.\n- minimum MAPQ: Filtering to apply to pairs you want to keep in your matrix, set it to 0 to not apply filtering (HiCUP already filter for uniquely mapped or MAPQ30).\n- Bin size in bp: Used to generate your first matrix but you will be able to rerun the subworkflow `hic_tabix_to_cool_cooler` to get other resolutions.\n- Interactions to consider to calculate weights in normalization step: this is a parameter for the last correction step (ICE).\n\nFor the region capture workflow:\n\n- chromosome, start and end positions of the capture region\n\nFor the Hi-C workflow:\n\n- region to use in pyGenomeTracks to check the matrices.\n\n## Processing\n\n- Reads are processed with HiCUP which comprises these steps:\n - Truncation of reads for the religation motif\n - Mapping of mates independently with bowtie2\n - Pairing the mates when both mates are uniquely mapped or MAPQ30\n - Filtering the pairs for undigested, self-ligated...\n - Removing duplicates\n- The output BAM file is converted to medium juicer format: ` ` where str = strand (0 for forward, anything else for reverse) and pos is the middle of the fragment.\n- The pairs are filtered for MAPQ if specified.\n- For the region capture Hi-C workflow the pairs are filtered for both mates in the captured region.\n- The filtered pairs are sorted and indexed with cooler_csort.\n- The pairs are loaded into a matrix of the given resolution and balanced with cooler.\n- A final plot is made with pyGenomeTracks using the balanced matrices on the region provided or the capture region.\n\n## Subworkflows\n\nThere are 2 subworkflows: `hic_tabix_to_cool_cooler` and `hic_fastq_to_pairs_hicup.ga`.\n\n### hic_tabix_to_cool_cooler\n\nThis first subworkflow can be used to generate matrices to different resolutions using one of the output of the full workflow (`valid pairs filtered and sorted`).\n\nIf the dataset are still in galaxy (format: juicer_medium_tabix.gz), the workflow can be run directly.\n\nIf the dataset is not anymore in galaxy, you need to upload and specify the datatype as: juicer_medium_tabix.gz\n\n### hic_fastq_to_pairs_hicup\n\nThe second subworkflow has no real reason to be launched by itself except for QC tests.\n\nIf you want to run the first subworkflow from these results:\n\n- You first need to filter the pairs (`valid pairs in juicebox format MAPQ filtered`) for the capture region if relevent using the tool Filter1 (**Filter** data on any column using simple expressions) with the condition `(c3=='chr2' and c4<180000000 and c4>170000000) and (c7==\"chr2\" and c8<180000000 and c8>170000000)` if your capture region is chr2:170000000-180000000.\n- Then you need to run cooler_csort (**cooler csort with tabix** Sort and index a contact list.) with as input the `valid pairs in juicebox format MAPQ filtered` or the output of the previous step and for \"Format of your input file\" use \"Juicer Medium Format\".\n\nThe output of `cooler_csort` can be used as input of the first subworkflow.\n", "changelog": "# Changelog\n\n## [0.3] 2023-09-08\n\n### Update tools\n- all cooler tools were updated from 0.8.11 to 0.9.3\n- pyGenomeTracks was updated from 3.7 to 3.8\n\n## [0.2.1] 2023-09-01 Bug fix\n\nFix dockstore (workflows are the same)\n\n## [0.2] 2023-02-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/pygenometracks/pygenomeTracks/3.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/pygenometracks/pygenomeTracks/3.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.8.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hicup_hicup/hicup_hicup/0.9.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.8.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hicup2juicer/hicup2juicer/0.9.2+galaxy0`\n\n### Manual update\n- Get fragment id in valid pairs file.\n- Use the middle of the fragment instead of 5' of the read in the valid pairs file.\n\n## [0.1] 2023-01-16\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Hi-C_fastqToPairs_hicup\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f PE fastq input\"]@{ shape: docs }\n1[\"\u2139\ufe0f genome name\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Restriction enzyme\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f No fill-in\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f minimum MAPQ\"]@{ shape: lean-l }\n5[\"HiCUP\"]@{ shape: process }\n3 --> 5\n1 --> 5\n0 --> 5\n2 --> 5\n1 --> 5\n6[\"build filtering rule for MAPQ\"]@{ shape: process }\n4 --> 6\n4 --> 6\n7[\"valid pairs in juicebox format\"]@{ shape: process }\n5 --> 7\n5 --> 7\n8[\"valid pairs in juicebox format MAPQ filtered\"]@{ shape: process }\n6 --> 8\n7 --> 8\n```\n", "trsID": "#workflow/github.com/iwc-workflows/hic-hicup-cooler/hic-fastq-to-pairs-hicup", "tests": [ { @@ -45940,6 +45979,7 @@ }, "readme": "# Consensus peaks Workflow\n\nThe goal of this workflow is to get a list of confident peaks with summits from n replicates.\n\n## Inputs dataset\n\n- The workflow needs a single input which is a list of datasets with n BAM where PCR duplicates have been removed (the workflow also works for nested list if you have multiple conditions each with multiple replicates).\n\n## Inputs values\n\n- Minimum number of overlap: Minimum number of replicates into which the final summit should be present.\n- effective_genome_size: this is used by MACS2 and may be entered manually (indications are provided for heavily used genomes).\n- bin_size: this is the bin sized used to compute the average of normalized profiles. Large values will allow to have a smaller output file but with less resolution while small values will increase computation time and size of the output file to produce a more resolutive bigwig.\n\n## Strategy summary\n\nHere is a generated example to highlight the strategy:\n![strategy](./strategy.png)\n\n## Processing\n\n- The workflow will:\n - first part:\n - call peaks and compute normalized coverage on each BAM individually\n - average normalized profiles\n - compute the intersection between all peaks and filter when at least x replicate overlaps\n - second part:\n - subset all BAM to get the same number of reads\n - call peaks on all subsetted BAM combined\n - finally, keep only peaks from the second part that have summits overlapping the filtered intersection of the first part.\n", "changelog": "# Changelog\n\n## [1.2] 2024-09-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [1.1] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.30.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n\n## [1.0] 2024-05-01\n\n### Changed\nThe workflow changed as it accepts now more than 2 replicates and has a new parameter to define what is the minimum number of replicates where the summit should be found.\nThe workflow for ATAC and CUT&RUN changed the input datatype as now a BAM is required instead of a BED.\n\n## [0.7] 2024-04-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n\n## [0.6] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n\n## [0.5] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/1.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0`\n\n## [0.4] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n\n## [0.3] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n\n## [0.2] 2023-11-10\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.7.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n\n## [0.1] 2023-08-31\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Get Confident Peaks From ChIP_SR replicates\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f n rmDup BAMSR\"]@{ shape: docs }\n1[\"\u2139\ufe0f Minimum number of overlap\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f effective_genome_size\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f bin_size\"]@{ shape: lean-l }\n4[\"count number of reads\"]@{ shape: process }\n0 --> 4\n5[\"generate filter rule\"]@{ shape: process }\n1 --> 5\n6[\"call peaks individually\"]@{ shape: process }\n2 --> 6\n0 --> 6\n7[\"put all nb of reads into single dataset\"]@{ shape: process }\n4 --> 7\n8[\"compute multi intersect\"]@{ shape: process }\n6 --> 8\n9[\"individual normalized bigwig\"]@{ shape: process }\n6 --> 9\n10[\"get min value\"]@{ shape: process }\n7 --> 10\n11[\"get nb of replicates\"]@{ shape: process }\n7 --> 11\n12[\"filter multi intersect\"]@{ shape: process }\n5 --> 12\n8 --> 12\n13[\"average coverage from replicates\"]@{ shape: process }\n3 --> 13\n9 --> 13\n14[\"convert min value to text\"]@{ shape: process }\n10 --> 14\n15[\"Parse parameter value\"]@{ shape: process }\n11 --> 15\n16[\"create a dataset with the min value as many times as there are replicates\"]@{ shape: process }\n14 --> 16\n15 --> 16\n17[\"split min value\"]@{ shape: process }\n16 --> 17\n18[\"convert min nb of reads to parameter\"]@{ shape: process }\n17 --> 18\n19[\"downsample BAM\"]@{ shape: process }\n0 --> 19\n18 --> 19\n20[\"call peaks on merge\"]@{ shape: process }\n2 --> 20\n19 --> 20\n21[\"get merged peaks overlapping at least x replicates\"]@{ shape: process }\n20 --> 21\n12 --> 21\n22[\"multiQC\"]@{ shape: process }\n6 --> 22\n20 --> 22\n23[\"only keep peaks with summits overlapping intersection of at least x replicates\"]@{ shape: process }\n21 --> 23\n24[\"keep only columns of narrowPeak\"]@{ shape: process }\n23 --> 24\n25[\"discard duplicated lines\"]@{ shape: process }\n24 --> 25\n```\n", "trsID": "#workflow/github.com/iwc-workflows/consensus-peaks/consensus-peaks-chip-sr", "tests": [ { @@ -47388,6 +47428,7 @@ }, "readme": "# Consensus peaks Workflow\n\nThe goal of this workflow is to get a list of confident peaks with summits from n replicates.\n\n## Inputs dataset\n\n- The workflow needs a single input which is a list of datasets with n BAM where PCR duplicates have been removed (the workflow also works for nested list if you have multiple conditions each with multiple replicates).\n\n## Inputs values\n\n- Minimum number of overlap: Minimum number of replicates into which the final summit should be present.\n- effective_genome_size: this is used by MACS2 and may be entered manually (indications are provided for heavily used genomes).\n- bin_size: this is the bin sized used to compute the average of normalized profiles. Large values will allow to have a smaller output file but with less resolution while small values will increase computation time and size of the output file to produce a more resolutive bigwig.\n\n## Strategy summary\n\nHere is a generated example to highlight the strategy:\n![strategy](./strategy.png)\n\n## Processing\n\n- The workflow will:\n - first part:\n - call peaks and compute normalized coverage on each BAM individually\n - average normalized profiles\n - compute the intersection between all peaks and filter when at least x replicate overlaps\n - second part:\n - subset all BAM to get the same number of reads\n - call peaks on all subsetted BAM combined\n - finally, keep only peaks from the second part that have summits overlapping the filtered intersection of the first part.\n", "changelog": "# Changelog\n\n## [1.2] 2024-09-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [1.1] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.30.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n\n## [1.0] 2024-05-01\n\n### Changed\nThe workflow changed as it accepts now more than 2 replicates and has a new parameter to define what is the minimum number of replicates where the summit should be found.\nThe workflow for ATAC and CUT&RUN changed the input datatype as now a BAM is required instead of a BED.\n\n## [0.7] 2024-04-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n\n## [0.6] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n\n## [0.5] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/1.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0`\n\n## [0.4] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n\n## [0.3] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n\n## [0.2] 2023-11-10\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.7.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n\n## [0.1] 2023-08-31\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Get Confident Peaks From ChIP_PE replicates\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f n rmDup BAMPE\"]@{ shape: docs }\n1[\"\u2139\ufe0f Minimum number of overlap\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f effective_genome_size\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f bin_size\"]@{ shape: lean-l }\n4[\"count number of reads\"]@{ shape: process }\n0 --> 4\n5[\"generate filter rule\"]@{ shape: process }\n1 --> 5\n6[\"call peaks individually\"]@{ shape: process }\n2 --> 6\n0 --> 6\n7[\"put all nb of reads into single dataset\"]@{ shape: process }\n4 --> 7\n8[\"compute multi intersect\"]@{ shape: process }\n6 --> 8\n9[\"individual normalized bigwig\"]@{ shape: process }\n6 --> 9\n10[\"get min value\"]@{ shape: process }\n7 --> 10\n11[\"get nb of replicates\"]@{ shape: process }\n7 --> 11\n12[\"filter multi intersect\"]@{ shape: process }\n5 --> 12\n8 --> 12\n13[\"average coverage from replicates\"]@{ shape: process }\n3 --> 13\n9 --> 13\n14[\"convert min value to text\"]@{ shape: process }\n10 --> 14\n15[\"Parse parameter value\"]@{ shape: process }\n11 --> 15\n16[\"create a dataset with the min value as many times as there are replicates\"]@{ shape: process }\n14 --> 16\n15 --> 16\n17[\"split min value\"]@{ shape: process }\n16 --> 17\n18[\"convert min nb of reads to parameter\"]@{ shape: process }\n17 --> 18\n19[\"downsample BAM\"]@{ shape: process }\n0 --> 19\n18 --> 19\n20[\"call peaks on merge\"]@{ shape: process }\n2 --> 20\n19 --> 20\n21[\"get merged peaks overlapping at least x replicates\"]@{ shape: process }\n20 --> 21\n12 --> 21\n22[\"multiQC\"]@{ shape: process }\n6 --> 22\n20 --> 22\n23[\"only keep peaks with summits overlapping intersection of at least x replicates\"]@{ shape: process }\n21 --> 23\n24[\"keep only columns of narrowPeak\"]@{ shape: process }\n23 --> 24\n25[\"discard duplicated lines\"]@{ shape: process }\n24 --> 25\n```\n", "trsID": "#workflow/github.com/iwc-workflows/consensus-peaks/consensus-peaks-chip-pe", "tests": [ { @@ -48926,6 +48967,7 @@ }, "readme": "# Consensus peaks Workflow\n\nThe goal of this workflow is to get a list of confident peaks with summits from n replicates.\n\n## Inputs dataset\n\n- The workflow needs a single input which is a list of datasets with n BAM where PCR duplicates have been removed (the workflow also works for nested list if you have multiple conditions each with multiple replicates).\n\n## Inputs values\n\n- Minimum number of overlap: Minimum number of replicates into which the final summit should be present.\n- effective_genome_size: this is used by MACS2 and may be entered manually (indications are provided for heavily used genomes).\n- bin_size: this is the bin sized used to compute the average of normalized profiles. Large values will allow to have a smaller output file but with less resolution while small values will increase computation time and size of the output file to produce a more resolutive bigwig.\n\n## Strategy summary\n\nHere is a generated example to highlight the strategy:\n![strategy](./strategy.png)\n\n## Processing\n\n- The workflow will:\n - first part:\n - call peaks and compute normalized coverage on each BAM individually\n - average normalized profiles\n - compute the intersection between all peaks and filter when at least x replicate overlaps\n - second part:\n - subset all BAM to get the same number of reads\n - call peaks on all subsetted BAM combined\n - finally, keep only peaks from the second part that have summits overlapping the filtered intersection of the first part.\n", "changelog": "# Changelog\n\n## [1.2] 2024-09-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [1.1] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.30.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_multiintersectbed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.31.1+galaxy0`\n\n## [1.0] 2024-05-01\n\n### Changed\nThe workflow changed as it accepts now more than 2 replicates and has a new parameter to define what is the minimum number of replicates where the summit should be found.\nThe workflow for ATAC and CUT&RUN changed the input datatype as now a BAM is required instead of a BED.\n\n## [0.7] 2024-04-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n\n## [0.6] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy1`\n\n## [0.5] 2024-03-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/1.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sorted_uniq/9.3+galaxy0`\n\n## [0.4] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n\n## [0.3] 2023-11-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n\n## [0.2] 2023-11-10\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.7.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n\n## [0.1] 2023-08-31\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Get Confident Peaks From ATAC or CUTandRUN replicates\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f n rmDup BAM\"]@{ shape: docs }\n1[\"\u2139\ufe0f Minimum number of overlap\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f effective_genome_size\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f bin_size\"]@{ shape: lean-l }\n4[\"convert BAM to BED\"]@{ shape: process }\n0 --> 4\n5[\"count number of reads\"]@{ shape: process }\n0 --> 5\n6[\"generate filter rule\"]@{ shape: process }\n1 --> 6\n7[\"call peaks individually\"]@{ shape: process }\n2 --> 7\n4 --> 7\n8[\"put all nb of reads into single dataset\"]@{ shape: process }\n5 --> 8\n9[\"compute multi intersect\"]@{ shape: process }\n7 --> 9\n10[\"individual normalized bigwig\"]@{ shape: process }\n7 --> 10\n11[\"get min value\"]@{ shape: process }\n8 --> 11\n12[\"get nb of replicates\"]@{ shape: process }\n8 --> 12\n13[\"filter multi intersect\"]@{ shape: process }\n6 --> 13\n9 --> 13\n14[\"average coverage from replicates\"]@{ shape: process }\n3 --> 14\n10 --> 14\n15[\"convert min value to text\"]@{ shape: process }\n11 --> 15\n16[\"Parse parameter value\"]@{ shape: process }\n12 --> 16\n17[\"create a dataset with the min value as many times as there are replicates\"]@{ shape: process }\n15 --> 17\n16 --> 17\n18[\"split min value\"]@{ shape: process }\n17 --> 18\n19[\"convert min nb of reads to parameter\"]@{ shape: process }\n18 --> 19\n20[\"select random reads\"]@{ shape: process }\n0 --> 20\n19 --> 20\n21[\"convert subsampled bam to bed\"]@{ shape: process }\n20 --> 21\n22[\"call peaks on merge\"]@{ shape: process }\n2 --> 22\n21 --> 22\n23[\"get merged peaks overlapping at least x replicates\"]@{ shape: process }\n22 --> 23\n13 --> 23\n24[\"multiQC\"]@{ shape: process }\n7 --> 24\n22 --> 24\n25[\"only keep peaks with summits overlapping intersection of at least x replicates\"]@{ shape: process }\n23 --> 25\n26[\"keep only columns of narrowPeak\"]@{ shape: process }\n25 --> 26\n27[\"discard duplicated lines\"]@{ shape: process }\n26 --> 27\n```\n", "trsID": "#workflow/github.com/iwc-workflows/consensus-peaks/consensus-peaks-atac-cutandrun", "tests": [ { @@ -49764,6 +49806,7 @@ }, "readme": "# ChIP-seq paired-end Workflow\n\n## Inputs dataset\n\n- The workflow needs a single input which is a list of dataset pairs of fastqsanger.\n\n## Inputs values\n\n- adapters sequences: this depends on the library preparation. If you don't know, use FastQC to determine if it is Truseq or Nextera.\n- reference_genome: this field will be adapted to the genomes available for bowtie2.\n- effective_genome_size: this is used by MACS2 and may be entered manually (indications are provided for heavily used genomes).\n- normalize_profile: Whether you want to have a profile normalized as Signal to Million Fragments.\n\n## Processing\n\n- The workflow will remove illumina adapters and low quality bases and filter out any pair with mate smaller than 15bp.\n- The filtered reads are mapped with bowtie2 with default parameters.\n- The BAM is filtered to keep only MAPQ30 and concordant pairs.\n- The peaks are called with MACS2 which at the same time generates a coverage file (normalized or not).\n- The coverage is converted to bigwig.\n- A MultiQC is run to have an overview of the QC.\n\n### Warning\n\n- The filtered bam still has PCR duplicates which are removed by MACS2.\n\n## Contribution\n\n@lldelisle wrote the workflow.\n\n@nagoue updated the tools, made it work in usegalaxy.org, fixed the best practices and wrote the tests.\n", "changelog": "# Changelog\n\n## [0.12] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.11] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.10] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1`\n\n## [0.9] 2024-04-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n## [0.8] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n\n## [0.7] 2024-03-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n\n## [0.6.1] 2024-03-14\n\nFix bug introduced in 0.6: the second adapter sequence was not used.\n\n## [0.6] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n\n## [0.5] 2023-10-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.7.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0`\n\n## [0.4] 2023-06-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n\n### Manual update\n- New parameter to get normalized profile\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-28\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.5+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0`\n\n## 2022-10-20\nChIPseq_PE has been renamed chipseq-pe (still version 0.1)\n\n## [0.1] 2022-10-06\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## ChIPseq_PE\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f PE fastq input\"]@{ shape: docs }\n1[\"\u2139\ufe0f adapter_forward\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f adapter_reverse\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f reference_genome\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f effective_genome_size\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f normalize_profile\"]@{ shape: lean-l }\n6[\"Cutadapt (remove adapter + bad quality bases)\"]@{ shape: process }\n0 --> 6\n1 --> 6\n2 --> 6\n7[\"Bowtie2 map on reference\"]@{ shape: process }\n6 --> 7\n3 --> 7\n8[\"filter MAPQ30 concordent pairs\"]@{ shape: process }\n7 --> 8\n9[\"Call Peaks with MACS2\"]@{ shape: process }\n5 --> 9\n4 --> 9\n8 --> 9\n10[\"summary of MACS2\"]@{ shape: process }\n9 --> 10\n11[\"Bigwig from MACS2\"]@{ shape: process }\n9 --> 11\n12[\"MultiQC\"]@{ shape: process }\n6 --> 12\n7 --> 12\n9 --> 12\n```\n", "trsID": "#workflow/github.com/iwc-workflows/chipseq-pe/main", "tests": [ { @@ -50807,6 +50850,7 @@ }, "readme": "# CUT&RUN (and CUT&TAG) Workflow\n\n## Inputs dataset\n\n- The workflow needs a single input which is a list of dataset pairs of fastqsanger.\n\n## Inputs values\n\n- adapter sequences: this depends on the library preparation. Usually CUT&RUN is Truseq and CUT&TAG is Nextera. If you don't know, use FastQC to determine if it is Truseq or Nextera\n- reference_genome: this field will be adapted to the genomes available for bowtie2\n- effective_genome_size: this is used by macs2 and may be entered manually (indications are provided for heavily used genomes)\n- normalize_profile: Whether you want to have a profile normalized as Signal to Million Reads.\n\n## Processing\n\n- The workflow will remove illumina adapters and low quality bases and filter out any read smaller than 15bp\n- The filtered reads are mapped with bowtie2 allowing dovetail and fragment length up to 1kb\n- The BAM is filtered to keep only MAPQ30 and concordant pairs\n- The PCR duplicates are removed with Picard (only from version 0.6)\n- The BAM is converted to BED to enable macs2 to take both pairs into account\n- The peaks are called with macs2 which at the same time generates a coverage file (normalized or not).\n- The coverage file is converted to bigwig\n- A multiQC is run to have an overview of the QC\n", "changelog": "# Changelog\n\n## [0.13] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.12] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.11] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.30.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0`\n\n## [0.10] 2024-04-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n## [0.9] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n\n## [0.8] 2024-03-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n\n## [0.7] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.4` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n\n## [0.6.1] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.6] 2023-10-19\n\nFix the remove duplicate step!\nIn all previous versions, due to an error, PCR duplicates were not removed.\n\n## [0.5] 2023-10-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.7.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0`\n\n## [0.4] 2023-03-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.3` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.4`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n\n### Manual update\n- New parameter to get normalized profile\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-28\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.5+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0`\n\n## [0.1] 2022-10-06\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## CUTandRUN\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f PE fastq input\"]@{ shape: docs }\n1[\"\u2139\ufe0f adapter_forward\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f adapter_reverse\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f reference_genome\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f effective_genome_size\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f normalize_profile\"]@{ shape: lean-l }\n6[\"Cutadapt (remove adapter + bad quality bases)\"]@{ shape: process }\n0 --> 6\n1 --> 6\n2 --> 6\n7[\"Bowtie2 map on reference\"]@{ shape: process }\n6 --> 7\n3 --> 7\n8[\"filter MAPQ30 concordant pairs\"]@{ shape: process }\n7 --> 8\n9[\"remove PCR duplicates\"]@{ shape: process }\n8 --> 9\n10[\"convert BAM to BED to improve peak calling\"]@{ shape: process }\n9 --> 10\n11[\"Call Peaks with MACS2\"]@{ shape: process }\n5 --> 11\n4 --> 11\n10 --> 11\n12[\"summary of MACS2\"]@{ shape: process }\n11 --> 12\n13[\"Bigwig from MACS2\"]@{ shape: process }\n11 --> 13\n14[\"MultiQC\"]@{ shape: process }\n6 --> 14\n7 --> 14\n9 --> 14\n11 --> 14\n```\n", "trsID": "#workflow/github.com/iwc-workflows/cutandrun/main", "tests": [ { @@ -52774,6 +52818,7 @@ }, "readme": "# ATACseq Workflow\n\nThis workflow is highly concordant with the corresponding training material.\nYou can have more information about ATAC-seq analysis in the [slides](https://training.galaxyproject.org/training-material/topics/epigenetics/tutorials/atac-seq/slides.html) and the [tutorial](https://training.galaxyproject.org/training-material/topics/epigenetics/tutorials/atac-seq/tutorial.html).\n\n## Inputs dataset\n\n- The workflow needs a single input which is a list of dataset pairs of fastqsanger.\n\n## Inputs values\n\n- reference_genome: this field will be adapted to the genomes available for bowtie2 and the genomes available for bedtools slopbed (dbkeys table)\n- effective_genome_size: this is used by macs2 and may be entered manually (indications are provided for heavily used genomes)\n- bin_size: this is used when normalization of coverage is performed. Large values will allow to have smaller output files but with less resolution while small values will increase computation time and size of output files to produce more resolutive bigwigs.\n\n## Processing\n\n- The workflow will remove nextera adapters and low quality bases and filter out any read smaller than 15bp.\n- The filtered reads are mapped with bowtie2 allowing dovetail and fragment length up to 1kb.\n- The BAM is filtered to keep only MAPQ30, concordant pairs and pairs outside of the mitochondria.\n- The PCR duplicates are removed with Picard (only from version 0.8).\n- The BAM is converted to BED to enable macs2 to take both pairs into account.\n- The peaks are called with macs2 which at the same time generates a coverage file.\n- The coverage file is converted to bigwig\n- The amount of reads 500bp from summits and the total number of reads are computed.\n- Two normalizations are computed:\n - By million reads\n - By million reads in peaks (500bp from summits)\n- Other QC are performed:\n - A histogram with fragment length is computed.\n - The evaluation of percentage of reads to chrM or MT is computed.\n- A multiQC is run to have an overview of the QC.\n\n### Warning\n\n- The `reference_genome` parameter value is used to select references in bowtie2 and bedtools slopbed. Only references that are present in bowtie2 **and** bedtools slopbed are selectable. If your favorite reference genome is not available ask your administrator to make sure that each bowtie2 reference has a corresponding len file for use in bedtools slopbed.\n", "changelog": "# Changelog\n\n## [1.0] 2024-11-28\n\n### Manual update\n\nUse the options like written in the README: in all previous versions, bowtie2 was running with `--very-sensitive` option but without allowing dovetail and without fragment length up to 1kb. Bowtie2 has been adjusted and is now running with these options: allow dovetail and fragment length up to 1kb.\n\n## [0.17] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.20+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n### Manual update\n- Add a step to remove comments lines from histogram to be compatible with new multiQC version\n\n## [0.16] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.15] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.30.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_slopbed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_slopbed/2.31.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_mergebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_mergebed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.30.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.31.1+galaxy0`\n\n## [0.14] 2024-04-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n## [0.13] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n\n## [0.12] 2024-03-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n\n## [0.11] 2024-03-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2`\n\n## [0.10] 2024-03-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.4` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/samtools_idxstats/samtools_idxstats/2.0.5`\n- `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.4` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/3.1.1.0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n\n## [0.9] 2023-10-23\n\nFix the normalization factor. It was coverage per reads and per reads in peaks instead of per million reads and per million reads in peaks.\n\n## [0.8] 2023-10-19\n\nFix the remove duplicate step!\nIn all previous versions, due to an error, PCR duplicates were not removed.\n\n## [0.7] 2023-10-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.7.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0`\n\n## [0.6] 2023-09-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n\n## [0.5.1] 2023-09-22\n\nFix bug in normalize profiles when used with multiple samples (in 0.5.0 it is averaging samples instead of normalizing each sample).\n\n## [0.5] 2023-03-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.3` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/picard/picard_MarkDuplicates/2.18.2.4`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_coveragebed/2.30.0+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n\n### Manual update\n- add normalization steps for coverage\n\n## [0.4] 2023-01-16\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1`\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-28\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.5+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0`\n\n## [0.1] 2022-10-12\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## ATACseq\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f PE fastq input\"]@{ shape: docs }\n1[\"\u2139\ufe0f reference_genome\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f effective_genome_size\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f bin_size\"]@{ shape: lean-l }\n4[\"Cutadapt (remove adapter + bad quality bases)\"]@{ shape: process }\n0 --> 4\n5[\"Bowtie2 map on reference\"]@{ shape: process }\n4 --> 5\n1 --> 5\n6[\"filter MAPQ30 concordant pairs and not mitochondrial pairs\"]@{ shape: process }\n5 --> 6\n7[\"Get number of reads per chromosome\"]@{ shape: process }\n5 --> 7\n8[\"remove PCR duplicates\"]@{ shape: process }\n6 --> 8\n9[\"reads in chrM/MT for multiQC\"]@{ shape: process }\n7 --> 9\n10[\"convert BAM to BED to improve peak calling\"]@{ shape: process }\n8 --> 10\n11[\"Compute fragment length histogram\"]@{ shape: process }\n8 --> 11\n12[\"number of reads\"]@{ shape: process }\n8 --> 12\n13[\"Call Peak with MACS2\"]@{ shape: process }\n2 --> 13\n10 --> 13\n14[\"remove comments lines\"]@{ shape: process }\n11 --> 14\n15[\"compute 1/million reads\"]@{ shape: process }\n12 --> 15\n16[\"Bigwig from MACS2 (no norm)\"]@{ shape: process }\n13 --> 16\n17[\"get summits +/-500kb\"]@{ shape: process }\n1 --> 17\n13 --> 17\n18[\"summary of MACS2\"]@{ shape: process }\n13 --> 18\n19[\"Convert 1/million reads to parameter\"]@{ shape: process }\n15 --> 19\n20[\"Isolate each bigwig do normalize not average\"]@{ shape: process }\n16 --> 20\n21[\"Merge summits +/-500kb\"]@{ shape: process }\n17 --> 21\n22[\"normalize by million reads\"]@{ shape: process }\n3 --> 22\n19 --> 22\n20 --> 22\n23[\"Compute coverage on summits +/-500kb\"]@{ shape: process }\n21 --> 23\n8 --> 23\n24[\"number of reads in peaks\"]@{ shape: process }\n23 --> 24\n25[\"compute 1/million reads in peaks\"]@{ shape: process }\n24 --> 25\n26[\"Combine number of reads in peaks with total number of reads\"]@{ shape: process }\n24 --> 26\n12 --> 26\n27[\"Convert 1/million reads in peaks to parameter\"]@{ shape: process }\n25 --> 27\n28[\"reads in peaks multiQC\"]@{ shape: process }\n26 --> 28\n29[\"normalize by million reads in peaks\"]@{ shape: process }\n3 --> 29\n27 --> 29\n20 --> 29\n30[\"MultiQC\"]@{ shape: process }\n4 --> 30\n5 --> 30\n9 --> 30\n8 --> 30\n14 --> 30\n13 --> 30\n28 --> 30\n```\n", "trsID": "#workflow/github.com/iwc-workflows/atacseq/main", "tests": [ { @@ -53694,6 +53739,7 @@ }, "readme": "# ChIP-seq single-read Workflow\n\n## Inputs dataset\n\n- The workflow needs a single input which is a list of fastqsanger files.\n\n## Inputs values\n\n- adapters sequence_forward: this depends on the library preparation. If you don't know, use FastQC to determine if it is Truseq or Nextera.\n- reference_genome: this field will be adapted to the genomes available for bowtie2.\n- effective_genome_size: this is used by MACS2 and may be entered manually (indications are provided for heavily used genomes).\n- normalize_profile: Whether you want to have a profile normalized as Signal to Million Reads.\n\n## Processing\n\n- The workflow will remove illumina adapters and low quality bases and filter out any read smaller than 15bp.\n- The filtered reads are mapped with bowtie2 with default parameters.\n- The BAM is filtered to keep only MAPQ30.\n- The peaks are called with MACS2 with a fixed extension of 200bp which at the same time generates a coverage file (normalized or not).\n- The coverage is converted to bigwig.\n- A MultiQC is run to have an overview of the QC.\n\n### Warning\n\n- The filtered bam still has PCR duplicates which are removed by MACS2.\n", "changelog": "# Changelog\n\n## [0.12] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.11] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.10] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy1`\n\n## [0.9] 2024-04-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n## [0.8] 2024-04-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n\n## [0.7] 2024-03-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n\n## [0.6] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n\n## [0.5] 2023-10-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.7.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/macs2/macs2_callpeak/2.2.9.1+galaxy0`\n\n## [0.4] 2023-06-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n\n### Manual update\n- New parameter to get normalized profile\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-28\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.5+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.5.0+galaxy0`\n\n## [0.1] 2022-10-18\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## ChIPseq_SR\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f SR fastq input\"]@{ shape: docs }\n1[\"\u2139\ufe0f adapter_forward\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f reference_genome\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f effective_genome_size\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f normalize_profile\"]@{ shape: lean-l }\n5[\"Cutadapt (remove adapter + bad quality bases)\"]@{ shape: process }\n0 --> 5\n1 --> 5\n6[\"Bowtie2 map on reference\"]@{ shape: process }\n5 --> 6\n2 --> 6\n7[\"filter MAPQ30\"]@{ shape: process }\n6 --> 7\n8[\"Call Peaks with MACS2\"]@{ shape: process }\n4 --> 8\n3 --> 8\n7 --> 8\n9[\"summary of MACS2\"]@{ shape: process }\n8 --> 9\n10[\"Bigwig from MACS2\"]@{ shape: process }\n8 --> 10\n11[\"MultiQC\"]@{ shape: process }\n5 --> 11\n6 --> 11\n8 --> 11\n```\n", "trsID": "#workflow/github.com/iwc-workflows/chipseq-sr/main", "tests": [ { @@ -54042,6 +54088,7 @@ }, "readme": "# Average Bigwig between replicates\n\nThis workflow is very useful when you processed multiple samples in collections and you want to generate an average coverage per condition.\n\n## Inputs dataset\n\n- The workflow needs a single input which is a list of bigwigs (normalized). The identifiers of your bigwigs must be like:\n - whatever_sample1_identificationOfReplicate1\n - whatever_sample1_identificationOfReplicate2\n - ...\n - whatever_sample2_identificationOfReplicate1\n - whatever_sample2_identificationOfReplicate2\n - ...\n\n## Inputs values\n\n- bin_size: this is used when average of coverage is performed. Large values will allow to have smaller output files but with less resolution while small values will increase computation time and size of output files to produce more resolutive bigwigs. I suggest 5bp for RNA-seq and 50bp for other applications.\n\n## Processing\n\n- The workflow will split identifiers between everything which is before the last underscore which will be the *sample* and everything which is after the last underscore which will be the *replicate identifier*. And restructure the collection as list:list:\n - whatever_sample1:\n - identificationOfReplicate1\n - identificationOfReplicate2\n - ...\n - whatever_sample2:\n - identificationOfReplicate1\n - identificationOfReplicate2\n - ---\n - ...\n- Then it will average bigwigs into each inner list\n\n## Outputs\n\n- The output is a collection of bigwig datasets like:\n - whatever_sample1\n - whatever_sample2\n - ...\n", "changelog": "# Changelog\n\n## [0.2] 2023-09-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_average/deeptools_bigwig_average/3.5.4+galaxy0`\n\n## [0.1] 2023-09-22\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Average Bigwig between replicates\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Bigwig to average\"]@{ shape: docs }\n1[\"\u2139\ufe0f bin_size\"]@{ shape: lean-l }\n2[\"Apply rules\"]@{ shape: process }\n0 --> 2\n3[\"average bigwigs from different replicates\"]@{ shape: process }\n1 --> 3\n2 --> 3\n```\n", "trsID": "#workflow/github.com/iwc-workflows/average-bigwig-between-replicates/main", "tests": [ { @@ -54693,6 +54740,7 @@ }, "readme": "# MetaProSIP: automated inference of elemental fluxes in microbial communities\n\n## Inputs dataset\n\n- `Centroided LC-MS datasets` in mzML (MetaProSIP is mainly tested on data generated by orbitrap instruments)\n- `Fasta Database` in Fasta (aminoacid sequences)\n\n## Inputs values\n\n- `Precursor monoisotopic mass tolerance` (ppm): This value is passed to\n - MSGFPlusAdapter parameter `Precursor monoisotopic mass tolerance` (-precursor_mass_tolerance)\n - MetaProSIP parameter `Tolerance in ppm` (-mz_tolerance_ppm)\n- Fixed modifications\n- Variable modifications\n- Labeled element\n\n## Processing\n\n- DecoyDatabase: Add decoy sequences to the Fasta database (for FDR calculation)\n- FeatureFinderCentroided: identify eluting peptides that correspond to isotopologues with natural isotopic distributions \n- MSGFPlusAdapter: identify peptides through peptide fragment fingerprinting (database search)\n- FeatureFinderMultiplex: detect elution profiles of unlabeled peptides\n- PeptideIndexer: annotate protein association to identified peptides\n- FalseDiscoveryRate: Calculate FDR\n- IDMapper: map identified spectra to elution profiles\n- MetaProSIP: calculate the protein-SIP features, to perform functional grouping, and for protein inference\n", "changelog": "# Changelog\n\n## [0.2] 2024-06-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_decoydatabase/DecoyDatabase/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_decoydatabase/DecoyDatabase/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_featurefindermultiplex/FeatureFinderMultiplex/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_featurefindermultiplex/FeatureFinderMultiplex/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_msgfplusadapter/MSGFPlusAdapter/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_msgfplusadapter/MSGFPlusAdapter/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_peptideindexer/PeptideIndexer/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_peptideindexer/PeptideIndexer/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_falsediscoveryrate/FalseDiscoveryRate/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_falsediscoveryrate/FalseDiscoveryRate/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmapper/IDMapper/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_idmapper/IDMapper/3.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_metaprosip/MetaProSIP/2.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/galaxyp/openms_metaprosip/MetaProSIP/3.1+galaxy0`\n\n## [0.1] 2023-04-13\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## MetaProSIP OpenMS 2.8\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Centroided LC-MS datasets\"]@{ shape: docs }\n1[\"\u2139\ufe0f Fasta Database\"]@{ shape: doc }\n2[\"\u2139\ufe0f Precursor monoisotopic mass tolerance (ppm)\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Fixed modifications\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Variable modifications\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Labeled element\"]@{ shape: lean-l }\n6[\"Sort collection\"]@{ shape: process }\n0 --> 6\n7[\"DecoyDatabase\"]@{ shape: process }\n1 --> 7\n8[\"FeatureFinderMultiplex\"]@{ shape: process }\n6 --> 8\n9[\"MSGFPlusAdapter\"]@{ shape: process }\n7 --> 9\n3 --> 9\n6 --> 9\n2 --> 9\n4 --> 9\n10[\"PeptideIndexer\"]@{ shape: process }\n7 --> 10\n9 --> 10\n11[\"FalseDiscoveryRate\"]@{ shape: process }\n10 --> 11\n12[\"IDMapper\"]@{ shape: process }\n11 --> 12\n8 --> 12\n13[\"MetaProSIP\"]@{ shape: process }\n7 --> 13\n12 --> 13\n6 --> 13\n5 --> 13\n2 --> 13\n```\n", "trsID": "#workflow/github.com/iwc-workflows/openms-metaprosip/main", "tests": [ { @@ -55432,6 +55480,7 @@ }, "readme": "# Clinical Metaproteomics 5: Data Interpretation\nData interpretation can provide meaningful insights about quantitative proteomic data. Here, MaxQuant data will be interpreted using MSstats by applying a rigorous statistical framework to understand data distribution and variability. Systematic variations are accounted for using subsequent normalization. Users can define the experimental design used by MSstats, such as sample groups and conditions, to perform statistical analysis. The MSstats output provides valuable information about differential protein expression across various conditions, estimates of fold changes, and associated p-values, which aids in the identification of biologically significant proteins. Furthermore, MSstats enables quality control and data visualization, enhancing our ability to draw meaningful conclusions from large-scale proteomic datasets and expands our understanding of complex biological processes.\n\nIn this current workflow, we perform taxonomic and functional annotations using Unipept and statistical analysis using MSstatsTMT. A GTN has been developed for this workflow.\n[https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/clinical-mp-5-data-interpretation/tutorial.html](https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/clinical-mp-5-data-interpretation/tutorial.html).\n\n## Input datasets\n\n### Input tabular files\n- `Annotation.tabular`\n- `Comparison_Matrix.tabular`\n- `MaxQuant_Evidence.tabular`\n- `MaxQuant_Protein_Groups.tabular`\n- `Quantified-Peptides.tabular`\n\n## Input Values\n\nFor Unipept:\n- Unipept application: peptinfo: Tryptic peptides and associated EC and GO terms and lowest common ancestor taxonomy\n- Match input peptides by: Match to the full input peptide\n\nFor MSstatsTMT:\n- Generate separate plots for microbial and human proteins\n\n## Processing\n- Perform taxonomic and functional annotations for quantified microbial peptides using Unipept.\n- Select microbial and human protein groups to perform statistical analysis using MSstatsTMT.\n", "changelog": "# Changelog\n\n## [0.1] 2024-11-19\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Clinical Metaproteomics Data Interpretation\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Quantified Peptides\"]@{ shape: doc }\n1[\"\u2139\ufe0f MaxQuant Protein Groups\"]@{ shape: doc }\n2[\"\u2139\ufe0f MaxQuant Evidence\"]@{ shape: doc }\n3[\"\u2139\ufe0f Annotation\"]@{ shape: doc }\n4[\"\u2139\ufe0f Comparison Matrix\"]@{ shape: doc }\n5[\"Unipept\"]@{ shape: process }\n0 --> 5\n6[\"Microbial Proteins\"]@{ shape: process }\n1 --> 6\n7[\"Select\"]@{ shape: process }\n1 --> 7\n8[\"MSstatsTMT_for_microbial_proteins\"]@{ shape: process }\n4 --> 8\n3 --> 8\n2 --> 8\n6 --> 8\n9[\"Human Proteins\"]@{ shape: process }\n7 --> 9\n10[\"MSstatsTMT_for_human_proteins\"]@{ shape: process }\n4 --> 10\n3 --> 10\n2 --> 10\n9 --> 10\n```\n", "trsID": "#workflow/github.com/iwc-workflows/clinicalmp-data-interpretation/main" } ], @@ -55790,6 +55839,7 @@ }, "readme": "# Clinical Metaproteomics 1: Database Generation\nMetaproteomics involves the large-scale identification and analysis of all proteins expressed by microbiota. However, analyzing clinical samples using metaproteomics is complicated by the presence of abundant human (host) proteins, which can obscure the detection of less abundant microbial proteins.\n\nTo overcome this challenge, we developed a metaproteomics workflow using tandem mass spectrometry (MS/MS) and bioinformatics tools on the Galaxy platform. This workflow enables the characterization of metaproteomes in clinical samples.\n\nThe first step in this workflow is the Database Generation process. The Galaxy-P team has created a workflow that compiles a large database by downloading protein sequences of known disease-causing microorganisms. From this extensive database, a compact, relevant database is then created using the Metanovo tool.\nA GTN has been developed for this workflow. [https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/clinical-mp-1-database-generation/tutorial.html](https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/clinical-mp-1-database-generation/tutorial.html)\n\n## Inputs dataset\n\n### Search Databases (FASTA) from [Zenodo](https://zenodo.org/records/14181725)\n- `HUMAN SwissProt Protein_Database.fasta`\n- `Species UniProt Protein Database FASTA.fasta`\n- `Contaminants (cRAP) Protein Database.fasta`\n\n### MSMS files download from [Zenodo](https://zenodo.org/records/14181725)\n- `PTRC_Skubitz_Plex2_F10_9Aug19_Rage_Rep-19-06-08.mgf`\n- `PTRC_Skubitz_Plex2_F11_9Aug19_Rage_Rep-19-06-08.mgf`\n- `PTRC_Skubitz_Plex2_F13_9Aug19_Rage_Rep-19-06-08.mgf`\n- `PTRC_Skubitz_Plex2_F15_9Aug19_Rage_Rep-19-06-08.mgf`\n\n## Input Values\nFor Metanovo \n- Peptide Length\n- Variable modifications\n- Labeled element\n\n## Processing\n- Merge all the resultant FASTA files\n", "changelog": "# Changelog\n\n## [0.1] 2024-11-18\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Generate a Clinical Metaproteomics Database\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Human SwissProt Protein Database\"]@{ shape: doc }\n1[\"\u2139\ufe0f Tandem Mass Spectrometry (MS/MS) datasets\"]@{ shape: docs }\n2[\"\u2139\ufe0f Species UniProt Protein Database\"]@{ shape: doc }\n3[\"\u2139\ufe0f Contaminants cRAP Protein Database\"]@{ shape: doc }\n4[\"Human UniProt Microbial Proteins cRAP for MetaNovo\"]@{ shape: process }\n0 --> 4\n2 --> 4\n3 --> 4\n5[\"Metanovo\"]@{ shape: process }\n4 --> 5\n1 --> 5\n6[\"Merge all FASTA\"]@{ shape: process }\n0 --> 6\n5 --> 6\n3 --> 6\n```\n", "trsID": "#workflow/github.com/iwc-workflows/clinicalmp-database-generation/main", "tests": [ { @@ -56299,6 +56349,8 @@ "version": 1 }, "readme": "# Clinical Metaproteomics 4: Quantitation\n\nQuantitative proteomics is crucial for many important purposes. It allows researchers to measure and compare the levels of proteins or peptides in biological samples. This provides valuable insights into biomarker discovery, comparative analysis, and differential expression studies. Quantitative proteomics also helps in understanding the functional roles of proteins, the composition of protein complexes, and the effects of drugs on protein expression in pharmacological studies. Additionally, it serves as a quality control measure by validating initial protein identifications and providing data normalization for increased accuracy. The quantitative data are essential for hypothesis testing, and systems biology, and have clinical relevance in areas such as disease diagnosis, prognosis, and therapeutic decision-making. In summary, the quantitation workflow in proteomics is essential for understanding the complexities of protein expression and regulation, and it facilitates a wide range of biological and clinical applications.\n\nIn this current workflow, we perform Quantification using the MaxQuant tool. A GTN has been developed for this workflow.\nhttps://training.galaxyproject.org/training-material/topics/proteomics/tutorials/clinical-mp-4-quantitation/tutorial.html\n\n## Inputs dataset\n\n- `RAW MSMS datasets` in RAW dataset collection \n- `Quantitation_Database_for_MaxQuant` in Fasta (protein sequences for database searching)\n- `Experimental-Design Discovery MaxQuant` in Tabular Format \n\n## Inputs values\n\nFor MaxQuant \n- Peptide Length\n- Variable modifications\n- Labeled element\n\n\n## Processing\n\n- extract microbial proteins and peptides using Select and Cut\n- Grouping duplicates using the Group tool\n", + "changelog": null, + "diagrams": "# Workflow diagrams\n\n## Clinical Metaproteomics Quantitation\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Quantitation_Database-For-MaxQuant\"]@{ shape: doc }\n1[\"\u2139\ufe0f Experimental-Design Discovery MaxQuant\"]@{ shape: doc }\n2[\"\u2139\ufe0f Input Raw-files\"]@{ shape: docs }\n3[\"MaxQuant\"]@{ shape: process }\n0 --> 3\n2 --> 3\n1 --> 3\n4[\"extracting microbial Proteins\"]@{ shape: process }\n3 --> 4\n5[\"extracting microbial Peptides\"]@{ shape: process }\n3 --> 5\n6[\"extract proteins\"]@{ shape: process }\n4 --> 6\n7[\"extract peptides\"]@{ shape: process }\n5 --> 7\n8[\"Quantified-Proteins\"]@{ shape: process }\n6 --> 8\n9[\"Quantified-Peptides\"]@{ shape: process }\n7 --> 9\n```\n", "trsID": "#workflow/github.com/iwc-workflows/clinicalmp-quantitation/main", "tests": [ { @@ -57308,6 +57360,7 @@ }, "readme": "# Clinical Metaproteomics 3: Verification\nThis workflow uses the PepQuery tool to verify peptides discovered with the clinical metaproteomics discovery workflow.\nThe PepQuery tool outputs verified peptides that can be used to generate a verified protein database that can be used for the clinical metaproteomics quantitation workflow.\n\nMore background on this workflow can be found in the [Clinical Metaproteomics 3: Verification tutorial](https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/clinical-mp-3-verification/tutorial.html)\n\n## Inputs datasets\n\n### Tabular Input Files\n- SGPS peptide report\n- MaxQuant Peptide report\n- Distinct Peptides for PepQuery\n\n### Search Databases (FASTA)\n- Uniprot HUMAN database\n- cRAP\n\n### MSMS files\nThe tandem MS/MS files can be downloaded via Zenodo. These MS/MS input files are pilot datasets from Papanicolaou test samples from healthy, benign and ovarian cancer patients. \n\n## Input Values\nFor PepQuery:\n- Search Tolerances\n- Digestion Enzyme\n- Peptide Length\n- Modifications\n\n## Processing\nExtract protein sequences for the verified peptides.\n", "changelog": "# Changelog\n\n## [0.1] 2024-11-19\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Clinical Metaproteomics Verification Workflow\n\n```mermaid\ngraph LR\n0[\"Human UniProt Isoforms FASTA\"]@{ shape: process }\n1[\"cRAP\"]@{ shape: process }\n2[\"\u2139\ufe0f Tandem Mass Spectrometry (MS/MS) datasets\"]@{ shape: docs }\n3[\"\u2139\ufe0f SGPS peptide report\"]@{ shape: doc }\n4[\"\u2139\ufe0f Distinct Peptides for PepQuery\"]@{ shape: doc }\n5[\"\u2139\ufe0f MaxQuant peptide report\"]@{ shape: doc }\n6[\"Human UniProt Isoforms cRAP FASTA\"]@{ shape: process }\n0 --> 6\n1 --> 6\n7[\"SGPS Cut\"]@{ shape: process }\n3 --> 7\n8[\"MQ Cut\"]@{ shape: process }\n5 --> 8\n9[\"PepQuery2\"]@{ shape: process }\n6 --> 9\n4 --> 9\n2 --> 9\n10[\"SGPS Remove Beginner\"]@{ shape: process }\n7 --> 10\n11[\"MQ Remove Beginner\"]@{ shape: process }\n8 --> 11\n12[\"Collapse Collection\"]@{ shape: process }\n9 --> 12\n13[\"Concatenate datasets\"]@{ shape: process }\n10 --> 13\n11 --> 13\n14[\"Filter\"]@{ shape: process }\n12 --> 14\n15[\"Filter Remove beginning\"]@{ shape: process }\n14 --> 15\n16[\"FRB Cut\"]@{ shape: process }\n15 --> 16\n17[\"Peptide and Protein from Peptide Reports\"]@{ shape: process }\n16 --> 17\n13 --> 17\n18[\"PPPR Remove beginning\"]@{ shape: process }\n17 --> 18\n19[\"Group\"]@{ shape: process }\n18 --> 19\n20[\"Uniprot ID from verified Peptides\"]@{ shape: process }\n19 --> 20\n21[\"UniProt\"]@{ shape: process }\n20 --> 21\n22[\"Quantitation Database for MaxQuant\"]@{ shape: process }\n0 --> 22\n1 --> 22\n21 --> 22\n```\n", "trsID": "#workflow/github.com/iwc-workflows/clinicalmp-verification/main", "tests": [ { @@ -58757,6 +58810,7 @@ }, "readme": "# Clinical Metaproteomics 2: Discovery\n\nDiscovery in clinical metaproteomics is greatly enhanced by using a well-curated database, particularly one generated with the **MetaNovo tool**. This tool creates a manageable and streamlined database by identifying proteins relevant to the dataset, reducing the complexity of downstream analysis. For optimal results, the MetaNovo-generated database can be merged with reviewed proteins from **Human SwissProt** and known contaminants from the **cRAP (common Repository of Adventitious Proteins)** database, resulting in a compact yet comprehensive database of approximately 21,200 protein sequences. This refined database serves as the foundation for peptide identification, where mass spectrometry (MS) data is matched against the database to identify relevant peptides efficiently and accurately. By reducing redundancy and focusing on clinically relevant sequences, this approach improves the discovery of biomarkers and key protein insights, allowing researchers to extract meaningful biological information with reduced noise and false positives. This streamlined process is particularly valuable in clinical studies, where precision and relevance are critical for advancing diagnostics and therapeutic research.\n\nIn this current workflow, we perform Discovery using the SearchGUI and MaxQuant tools. A GTN has been developed for this workflow.\n[https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/clinical-mp-2-discovery/tutorial.html](https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/clinical-mp-2-discovery/tutorial.html)\n\n## Inputs dataset\n\n- `MSMS datasets` in RAW dataset collection\n- `Databases for discovery` in Fasta (protein sequences for database searching)\n- `Experimental-Design Discovery MaxQuant` in Tabular Format \n\n## Inputs values\n\nFor MaxQuant and SearchGUI/PeptideShaker \n- Peptide Length\n- Variable modifications\n- Labeled element\n\n\n## Processing\n\n- extract microbial proteins and peptides using text formating tools\n- Grouping duplicates using the Group tool\n", "changelog": "# Changelog\n\n## [0.1] 2024-11-18\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## Clinical Metaproteomics Discovery Workflow\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Human UniProt Microbial Proteins from MetaNovo and cRAP\"]@{ shape: doc }\n1[\"IdentificationParameters:PAR file\"]@{ shape: process }\n2[\"\u2139\ufe0f Tandem Mass Spectrometry MSMS files\"]@{ shape: docs }\n3[\"Human SwissProt\"]@{ shape: process }\n4[\"Contaminants\"]@{ shape: process }\n5[\"\u2139\ufe0f Experimental Design Discovery MaxQuant\"]@{ shape: doc }\n6[\"FastaCLI_ MetaNovo Human SwissProt cRAP with decoys\"]@{ shape: process }\n0 --> 6\n7[\"msconvert\"]@{ shape: process }\n2 --> 7\n8[\"Human SwissProt+cRAP\"]@{ shape: process }\n3 --> 8\n4 --> 8\n9[\"MaxQuant\"]@{ shape: process }\n0 --> 9\n2 --> 9\n5 --> 9\n10[\"Search GUI\"]@{ shape: process }\n6 --> 10\n1 --> 10\n7 --> 10\n11[\"FASTA to Tabular\"]@{ shape: process }\n8 --> 11\n12[\"Select microbial peptides MQ\"]@{ shape: process }\n9 --> 12\n13[\"Peptide Shaker\"]@{ shape: process }\n10 --> 13\n14[\"Filtering Accesions\"]@{ shape: process }\n11 --> 14\n15[\"MQ Peptide Sequences\"]@{ shape: process }\n12 --> 15\n16[\"Select microbial peptides SGPS\"]@{ shape: process }\n13 --> 16\n17[\"Select microbial PSMs SGPS\"]@{ shape: process }\n13 --> 17\n18[\"Remove beginning from MQ Peptides\"]@{ shape: process }\n15 --> 18\n19[\"Filter confident microbial Peptides\"]@{ shape: process }\n16 --> 19\n20[\"Filter confident microbial PSMs\"]@{ shape: process }\n17 --> 20\n21[\"MQ Distinct Peptides\"]@{ shape: process }\n18 --> 21\n22[\"Extracting peptides SGPS from PSM\"]@{ shape: process }\n20 --> 22\n20 --> 22\n14 --> 22\n23[\"Cut Peptide column\"]@{ shape: process }\n22 --> 23\n24[\"SGPS Distinct Peptides\"]@{ shape: process }\n23 --> 24\n25[\"SGPS MQ Peptides\"]@{ shape: process }\n21 --> 25\n24 --> 25\n26[\"Distinct Peptides\"]@{ shape: process }\n25 --> 26\n```\n", "trsID": "#workflow/github.com/iwc-workflows/clinicalmp-discovery/main", "tests": [ { @@ -59527,6 +59581,7 @@ }, "readme": "# Goseq GO-KEGG Enrichment Analysis Workflow\n\n## Inputs dataset\n\nThe workflow need the following inputs:\n- **The DEG file:**\n - A tabular file with first column the gene symbol and second column a boolean value whether the gene is a differentially expressed gene or not. \n- **The gene length file:**\n - A tabular file with first column the gene symbol and second column the gene length of the genes.\n - You can create this file with **[Gene length and GC content](https://usegalaxy.eu/?tool_id=toolshed.g2.bx.psu.edu%2Frepos%2Fiuc%2Flength_and_gc_content%2Flength_and_gc_content%2F0.1.2&version=latest)** tool. You will need a GTF file as input.\n - If you are using **[featureCounts](https://usegalaxy.eu/?tool_id=toolshed.g2.bx.psu.edu%2Frepos%2Fiuc%2Ffeaturecounts%2Ffeaturecounts%2F2.0.6%2Bgalaxy0&version=latest)** you can set `Create gene-length file` to yes and get gene length as separate output.\n- **The KEGG file:**\n - A tabular file with first column the Pathway ID and second column the Pathway name like: \n - ```\n ID Name\n 01100 Metabolic pathways - mmus\n 01200 Carbon metabolism - mmus \n ```\n - You can get this information from the KEGG database. For example:\n - mouse: https://rest.kegg.jp/list/pathway/mmu\n - human: https://rest.kegg.jp/list/pathway/hsa\n- **Genome:** Select one of the available genomes\n- **Gene ID format:** Select the format of your input genes (Ensembl, Entrez, or Symbol)\n## Processing\n\n- The workflow will do a simple enrichment analysis with taking into account the gene length\n- The output will be 3 files `GO table`, `Top ontology plot` and `DE genes in each category` for Cellular Component, Biological Processes, and Molecular Function ontologies and `KEGG table` and `DE genes in each KEGG Pathways`\n\n## Contribution\n\n@nilchia wrote the workflow and the tests.", "changelog": "# Changelog\n\nAll notable changes to this workflow will be documented in this file.\n\n\n## [0.1] 2024-11-03\n\n### Added\n\nInitial workflow", + "diagrams": "# Workflow diagrams\n\n## Goseq GO-KEGG Enrichment Analysis\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Select genome to use\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f Differential expression result\"]@{ shape: doc }\n2[\"\u2139\ufe0f Select gene ID format\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f gene length\"]@{ shape: doc }\n4[\"\u2139\ufe0f KEGG pathways\"]@{ shape: doc }\n5[\"goseq - Cellular Component\"]@{ shape: process }\n2 --> 5\n0 --> 5\n1 --> 5\n3 --> 5\n6[\"goseq - Biological Process\"]@{ shape: process }\n2 --> 6\n0 --> 6\n1 --> 6\n3 --> 6\n7[\"goseq - Molecular Function\"]@{ shape: process }\n2 --> 7\n0 --> 7\n1 --> 7\n3 --> 7\n8[\"goseq - KEGG\"]@{ shape: process }\n2 --> 8\n0 --> 8\n1 --> 8\n3 --> 8\n9[\"Join two Datasets\"]@{ shape: process }\n8 --> 9\n4 --> 9\n```\n", "trsID": "#workflow/github.com/iwc-workflows/goseq/main", "tests": [ { @@ -60855,6 +60910,7 @@ }, "readme": "# RNA-seq Differential expression and filtering workflow\n\nThis workflow works only with an experimental setup containing exactly 2 conditions with at least 2 replicates per condition.\n\n## Inputs dataset\n\n- Counts from changed condition: Counts from experimental condition or changed condition. For eg. counts from treatment or knockdown samples.\n- Counts from reference condition: Counts from reference condition or base condition. For eg. counts from untreated or wildtype samples.\n- Gene Annotaton: The same GTF file used for mapping and quantification. It is used to annotate the DESeq2 results table. Ideally, the GTF file should contain `gene_id`, `gene_biotype` and `gene_name` attributes.\n\n## Inputs values\n\n- Count files have header: Indicate whether your input count files have a header line. Usually, count files generated from featureCounts tool have a header line whereas count files from RNA-STAR do not have.\n- Adjusted p-value threshold: All the genes with an adjusted p-value less than this value are considered as differentially expressed. With a value of 0.05, expect 5% of false positives in the differentially expressed genes list. If empty, a default value of 0.05 is used.\n- log2 fold change threshold: All the genes with an absolute fold change (regarless of up or down regulation) more than this value are selected. A log2 FC of 3 equals to an absolute fold change of 8 (2\u00b3). If empty, a default value of 1.0 is used.\n\n## Processing\n\n- The workflow uses DESeq2 for performing differential expression analysis. In addition to the results table, it also produces normalized counts table.\n- The results table is annotated with gene positions, biotypes, gene symbols.\n- The annotated results table is further filtered with the input adjusted p-value and log2 fold change thresholds.\n- A valcano plot is generated with top 10 significantly differentially expressed genes.\n- A heatmap of log trasformed normalized counts and another heatmap of Z-scores is generated.\n", "changelog": "# Changelog\n\n## [0.2] 2024-11-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/deseq2/deseq2/2.11.40.7+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/deseq2/deseq2/2.11.40.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatmap2/3.1.3.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_heatmap2/ggplot2_heatmap2/3.2.0+galaxy1`\n\n## [0.1] 2024-10-25\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## RNAseq_DE_filtering_plotting\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Counts from changed condition\"]@{ shape: docs }\n1[\"\u2139\ufe0f Counts from reference condition\"]@{ shape: docs }\n2[\"\u2139\ufe0f Count files have header\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Gene Annotaton\"]@{ shape: doc }\n4[\"\u2139\ufe0f Adjusted p-value threshold\"]@{ shape: lean-l }\n5[\"Create text file\"]@{ shape: process }\n6[\"\u2139\ufe0f log2 fold change threshold\"]@{ shape: lean-l }\n7[\"Pick parameter value\"]@{ shape: process }\n4 --> 7\n8[\"Text transformation\"]@{ shape: process }\n5 --> 8\n9[\"Pick parameter value\"]@{ shape: process }\n6 --> 9\n10[\"Differential Analysis\"]@{ shape: process }\n2 --> 10\n7 --> 10\n0 --> 10\n1 --> 10\n11[\"Compose text parameter value\"]@{ shape: process }\n7 --> 11\n12[\"Compose text parameter value\"]@{ shape: process }\n9 --> 12\n13[\"Annotate DESeq2/DEXSeq output tables\"]@{ shape: process }\n3 --> 13\n10 --> 13\n14[\"Text reformatting\"]@{ shape: process }\n10 --> 14\n15[\"Annotate DESeq2 table\"]@{ shape: process }\n8 --> 15\n13 --> 15\n16[\"Parse parameter value\"]@{ shape: process }\n14 --> 16\n17[\"Filter with p-adj threshold\"]@{ shape: process }\n11 --> 17\n15 --> 17\n18[\"Generate Valcanot plot of DE genes\"]@{ shape: process }\n15 --> 18\n9 --> 18\n7 --> 18\n19[\"Compose text parameter value\"]@{ shape: process }\n16 --> 19\n20[\"Filter with log2 FC threshold\"]@{ shape: process }\n12 --> 20\n17 --> 20\n21[\"Join two Datasets\"]@{ shape: process }\n10 --> 21\n20 --> 21\n22[\"Cut\"]@{ shape: process }\n19 --> 22\n21 --> 22\n23[\"Generate Heatmap of counts\"]@{ shape: process }\n22 --> 23\n24[\"Generate Heatmap of Z-scores\"]@{ shape: process }\n22 --> 24\n```\n", "trsID": "#workflow/github.com/iwc-workflows/rnaseq-de/main", "tests": [ { @@ -61417,6 +61473,7 @@ }, "readme": "# BREW3R\n\n![BREW3R logo](https://raw.githubusercontent.com/lldelisle/BREW3R/main/images/logo.png)\n\nBREW3R stands for **B**ulk **R**NA-seq **E**vidence-based **W**orkflow for **3**' UTR **R**eannotation. \n\nThis workflow enables extending an existing gtf downloaded on a public website, like Ensembl, Genecode or UCSC, using *de novo* gene annotation with StringTie on full length bulk RNA-seq.\n\nBREW3R highly relies on a R package called BREW3R.r available on [bioconductor](https://bioconductor.org/packages/release/bioc/html/BREW3R.r.html).\n\n## Input datasets\n\n- The workflow requires an input gtf file which will be extended.\n- As well as a collection of BAM files.\n\n## Input values\n\n- strandedness: Must be one of `stranded - forward`, `stranded - reverse` and `unstranded`. For stranded libraries, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence.\n- minimum coverage: Minimum reads per bp coverage to consider for assembly in each de novo assembly (for each BAM file). Default: 10\n- minimum FPKM for merge: Minimum FPKM value for a transcript to be included into the merged de novo assembly.\n\n## Processing\n\n- StringTie is called once per input BAM file to compute de novo assembly.\n- StringTie is called to merge all outputs of previous steps.\n- BREW3R.r is run with the default parameters on the input gtf to extend and the output of StringTie. If the library was unstranded all merged transcripts without orientation that overlaps exons of both strands are not used for the extension.\n", "changelog": "# Changelog\n\n## [0.2] 2024-10-07\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/brew3r_r/brew3r_r/1.0.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/brew3r_r/brew3r_r/1.0.2+galaxy1`\n\n## [0.1] 2024-06-17\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## BREW3R\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Input gtf\"]@{ shape: doc }\n1[\"\u2139\ufe0f BAM collection\"]@{ shape: docs }\n2[\"\u2139\ufe0f strandedness\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f minimum coverage\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f minimum FPKM for merge\"]@{ shape: lean-l }\n5[\"Map parameter value\"]@{ shape: process }\n2 --> 5\n6[\"Unstranded\"]@{ shape: process }\n2 --> 6\n7[\"assembl with StringTie\"]@{ shape: process }\n3 --> 7\n3 --> 7\n1 --> 7\n5 --> 7\n8[\"merge assembled transcripts\"]@{ shape: process }\n7 --> 8\n4 --> 8\n9[\"BREW3R.r\"]@{ shape: process }\n6 --> 9\n0 --> 9\n8 --> 9\n```\n", "trsID": "#workflow/github.com/iwc-workflows/brew3r/main", "tests": [ { @@ -64853,6 +64910,7 @@ }, "readme": "# RNA-seq single-read Workflow\n\n## Inputs dataset\n\n- Collection of FASTQ files: The workflow needs a list of datasets of fastqsanger.\n- GTF file of annotation: A gtf file with genes annotation.\n- GTF with regions to exclude from FPKM normalization with Cufflinks: Optional, but recommended. A gtf file with regions to exclude from normalization in Cufflinks.\n\n - For instance a gtf that masks chrM for the mm10 genome:\n\n```\nchrM\tchrM_gene\texon\t0\t16299\t.\t+\t.\tgene_id \"chrM_gene_plus\"; transcript_id \"chrM_tx_plus\"; exon_id \"chrM_ex_plus\";\nchrM\tchrM_gene\texon\t0\t16299\t.\t-\t.\tgene_id \"chrM_gene_minus\"; transcript_id \"chrM_tx_minus\"; exon_id \"chrM_ex_minus\";\n```\n\n## Inputs values\n\n- Forward adapter (optional): If not provided, fastp will try to guess the adapter sequence from the data. Its sequences depends on the library preparation. Usually classical Illumina RNA libraries are Truseq and ISML (relatively new Illumina library) is Nextera. If you don't know, use FastQC to determine if it is Truseq or Nextera. If the read length is relatively short (50bp), there is probably no adapter so it will not impact your results.\n- Generate additional QC reports: whether to compute additional QC: FastQC, Picard, Read distribution on genomic features, gene body coverage, reads per chromosomes.\n- Reference genome: this field will be adapted to the genomes available for STAR.\n- Strandedness: For stranded RNA, reverse means that the read is complementary to the coding sequence, forward means that the read is in the same orientation as the coding sequence. This will only count alignments that are compatible with your library preparation strategy. This is also used for the stranded coverage and for FPKM computation with cufflinks/StringTie.\n- Use featureCounts for generating count tables: Whether to use count tables from featureCounts instead of from STAR.\n- Compute Cufflinks FPKM: Whether you want to get FPKM with Cufflinks (pretty long).\n- Compute StringTie FPKM: Whether you want to get FPKM/TPM etc... with StringTie.\n\n## Processing\n\n- The workflow will remove adapters and low quality bases and filter out any read smaller than 15bp.\n- The filtered reads are mapped with STAR with ENCODE parameters (for long RNA-seq but I use it for short also). STAR is also used to count reads per gene and generate strand-specific normalized coverage (on uniquely mapped reads).\n- A multiQC is run to have an overview of the QC. This can also be used to get the strandedness.\n- FPKM values for genes and transcripts are computed with cufflinks using correction for multi-mapped reads (this step is optionnal).\n- FPKM/TPM values for genes are computed with StringTie (this step is optional).\n- The BAM is filtered to keep only uniquely mapped reads (tag NH:i:1).\n- Unstranded coverage is computed with bedtools and normalized to the number of million uniquely mapped reads.\n- The three coverage files are converted to bigwig.\n\n### Warning\n\n- The coverage stranded output depends on the strandedness of the library:\n - If you have an unstranded library, stranded coverages are useless\n - If you have a forward stranded library, the label matches the orientation of reads.\n - If you have a reverse stranded library, `forward` should correspond to genes on the forward strand and uses the reads mapped on the reverse strand. `reverse` should correspond to genes on the reverse strand and uses the reads mapped on the forward strand.\n\n## Contribution\n\n### Version 0.1\n\n@lldelisle wrote the workflow and the tests.\n\n@nagoue updated the tools, made it work in usegalaxy.org, fixed some best practices.\n\n### Version 1.0\n\n@pavanvidem added the new features (featurecount + additional QC) and found a smaller test dataset.\n", "changelog": "# Changelog\n\n## [1.1] 2024-11-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.6+galaxy0`\n\n## [1.0] 2024-10-22\n\n### Changes in workflows\n- Add an optional subworkflow with more QC: FastQC, Picard, Read distribution on genomic features, gene body coverage, reads per chromosomes.\n- Add featureCounts as an alternative way to generate count files\n- Use fastp instead of cutadapt which uses pair overlap and allows to have optional adapter sequences\n\n### Tool update\n- `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.3` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.4`\n\n### Test dataset\n- Using a new subsampled Yeast test data from Zenodo record https://zenodo.org/records/13987631\n\n## [0.9] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.8] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.7] 2024-06-25\n\n### Automatic update (triggered manually)\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0`\n\n## [0.6] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0`\n\n## [0.5] 2023-09-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n\n### Manual update\n- Use STAR to compute normalized strand-specific coverage\n- Add an option to use StringTie to compute FPKM\n- Make cufflinks step optional\n\n## [0.4.1] 2023-09-14\n- add author in dockstore file\n\n## [0.4] 2023-01-16\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1`\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-02\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1`\n\n## [0.1] 2022-10-12\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## RNA-seq for Single-read fastqs\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Collection of FASTQ files\"]@{ shape: docs }\n1[\"\u2139\ufe0f Forward adapter\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Generate additional QC reports\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Reference genome\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f GTF file of annotation\"]@{ shape: doc }\n5[\"\u2139\ufe0f Strandedness\"]@{ shape: lean-l }\n6[\"\u2139\ufe0f Use featureCounts for generating count tables\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f Compute Cufflinks FPKM\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f GTF with regions to exclude from FPKM normalization with Cufflinks\"]@{ shape: doc }\n9[\"\u2139\ufe0f Compute StringTie FPKM\"]@{ shape: lean-l }\n10[\"remove adapters + bad quality bases\"]@{ shape: process }\n1 --> 10\n0 --> 10\n11[\"no additional QC\"]@{ shape: process }\n2 --> 11\n12[\"get reference_genome as text parameter\"]@{ shape: process }\n3 --> 12\n13[\"Get featureCounts strandedness parameter\"]@{ shape: process }\n5 --> 13\n14[\"Get cufflinks strandedness parameter\"]@{ shape: process }\n5 --> 14\n15[\"Get Stringtie strandedness parameter\"]@{ shape: process }\n5 --> 15\n16[\"STAR: map and count and coverage splitted\"]@{ shape: process }\n3 --> 16\n4 --> 16\n10 --> 16\n17[\"\ud83d\udee0\ufe0f Generate Unstranded Coverage\"]@{ shape: subprocess }\n16 --> 17\n16 --> 17\n18[\"\ud83d\udee0\ufe0f Generate Stranded Coverage\"]@{ shape: subprocess }\n16 --> 18\n16 --> 18\n5 --> 18\n19[\"featureCounts\"]@{ shape: process }\n16 --> 19\n4 --> 19\n13 --> 19\n6 --> 19\n20[\"Compute FPKM with StringTie\"]@{ shape: process }\n4 --> 20\n16 --> 20\n15 --> 20\n9 --> 20\n21[\"Compute FPKM with cufflinks\"]@{ shape: process }\n14 --> 21\n8 --> 21\n12 --> 21\n16 --> 21\n4 --> 21\n7 --> 21\n22[\"\ud83d\udee0\ufe0f Process Count files\"]@{ shape: subprocess }\n16 --> 22\n5 --> 22\n19 --> 22\n19 --> 22\n23[\"Combined MultiQC without additional QC\"]@{ shape: process }\n10 --> 23\n16 --> 23\n16 --> 23\n22 --> 23\n11 --> 23\n24[\"\ud83d\udee0\ufe0f Combined MultiQC Quality Report\"]@{ shape: subprocess }\n0 --> 24\n16 --> 24\n16 --> 24\n16 --> 24\n10 --> 24\n22 --> 24\n4 --> 24\n2 --> 24\n```\n\n## RNA-seq-QC\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f FASTQ collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f fastp Reports\"]@{ shape: docs }\n2[\"\u2139\ufe0f STAR logs\"]@{ shape: docs }\n3[\"\u2139\ufe0f STAR counts\"]@{ shape: docs }\n4[\"\u2139\ufe0f featureCounts summaries\"]@{ shape: docs }\n5[\"\u2139\ufe0f reference_annotation_gtf\"]@{ shape: doc }\n6[\"\u2139\ufe0f STAR BAM\"]@{ shape: docs }\n7[\"FastQC check read qualities\"]@{ shape: process }\n0 --> 7\n8[\"convert gtf to bed12\"]@{ shape: process }\n5 --> 8\n9[\"Subsample 200k reads\"]@{ shape: process }\n6 --> 9\n10[\"Get reads number per chromosome\"]@{ shape: process }\n6 --> 10\n11[\"Remove duplicates\"]@{ shape: process }\n6 --> 11\n12[\"Read distribution over genomic features\"]@{ shape: process }\n6 --> 12\n8 --> 12\n13[\"Get gene body coverage\"]@{ shape: process }\n9 --> 13\n8 --> 13\n14[\"Combined Quality Report\"]@{ shape: process }\n7 --> 14\n1 --> 14\n2 --> 14\n3 --> 14\n4 --> 14\n12 --> 14\n13 --> 14\n10 --> 14\n11 --> 14\n```\n\n## Process Count files\n\n```mermaid\ngraph LR\n0[\"A dummy featureCounts summary file\"]@{ shape: process }\n1[\"\u2139\ufe0f featureCounts summaries collection\"]@{ shape: docs }\n2[\"\u2139\ufe0f Strandness param\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f RNA STAR count tables\"]@{ shape: docs }\n4[\"\u2139\ufe0f featureCounts count table\"]@{ shape: docs }\n5[\"Text transformation\"]@{ shape: process }\n0 --> 5\n6[\"awk command from strand for STAR counts\"]@{ shape: process }\n2 --> 6\n7[\"featureCounts summaries\"]@{ shape: process }\n1 --> 7\n5 --> 7\n8[\"Extract gene counts\"]@{ shape: process }\n6 --> 8\n3 --> 8\n9[\"Counts table\"]@{ shape: process }\n4 --> 9\n8 --> 9\n```\n\n## Re-arrange Stranded RNA-seq coverage\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f strandedness\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f Bedgraph strand 1\"]@{ shape: docs }\n2[\"\u2139\ufe0f Bedgraph strand 2\"]@{ shape: docs }\n3[\"Get replacement for strand2\"]@{ shape: process }\n0 --> 3\n4[\"Get replacement for strand1\"]@{ shape: process }\n0 --> 4\n5[\"get identifiers\"]@{ shape: process }\n1 --> 5\n6[\"New labels strand 2\"]@{ shape: process }\n3 --> 6\n5 --> 6\n7[\"New labels strand 1\"]@{ shape: process }\n4 --> 7\n5 --> 7\n8[\"Relabelled strand 2\"]@{ shape: process }\n6 --> 8\n2 --> 8\n9[\"Relabelled strand 1\"]@{ shape: process }\n7 --> 9\n1 --> 9\n10[\"Merge collections\"]@{ shape: process }\n9 --> 10\n8 --> 10\n11[\"convert to bigwig\"]@{ shape: process }\n10 --> 11\n```\n\n## Get Uniquely mapped unstranded coverage\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f STAR log\"]@{ shape: docs }\n1[\"\u2139\ufe0f STAR BAM\"]@{ shape: docs }\n2[\"get scaling factor\"]@{ shape: process }\n0 --> 2\n3[\"keep uniquely mapped reads\"]@{ shape: process }\n1 --> 3\n4[\"Parse parameter value\"]@{ shape: process }\n2 --> 4\n5[\"Scaled Coverage both strands combined\"]@{ shape: process }\n3 --> 5\n4 --> 5\n6[\"convert both strands coverage to bigwig\"]@{ shape: process }\n5 --> 6\n```\n", "trsID": "#workflow/github.com/iwc-workflows/rnaseq-sr/main", "tests": [ { @@ -68423,6 +68481,7 @@ }, "readme": "# RNA-seq paired-end Workflow\n\n## Inputs dataset\n\n- Collection paired FASTQ files: The workflow needs a list of dataset pairs of fastqsanger.\n- GTF file of annotation: A gtf file with genes annotation.\n- GTF with regions to exclude from FPKM normalization with Cufflinks: Optional, but recommended. A gtf file with regions to exclude from normalization in Cufflinks.\n\n - For instance a gtf that masks chrM for the mm10 genome:\n\n```\nchrM\tchrM_gene\texon\t0\t16299\t.\t+\t.\tgene_id \"chrM_gene_plus\"; transcript_id \"chrM_tx_plus\"; exon_id \"chrM_ex_plus\";\nchrM\tchrM_gene\texon\t0\t16299\t.\t-\t.\tgene_id \"chrM_gene_minus\"; transcript_id \"chrM_tx_minus\"; exon_id \"chrM_ex_minus\";\n```\n\n## Inputs values\n\n- Forward and Reverse adapter (optional): By default, fastp will try to overlap both reads and will only use these sequences if R1/R2 are found not overlapped. Their sequences depends on the library preparation. Usually classical Illumina RNA libraries is Truseq and ISML (relatively new Illumina library) is Nextera.\n- Generate additional QC reports: whether to compute additional QC: FastQC, Picard, Read distribution on genomic features, gene body coverage, reads per chromosomes.\n- Reference genome: this field will be adapted to the genomes available for STAR.\n- Strandedness: For stranded RNA, reverse means that the first read in a pair is complementary to the coding sequence, forward means that the first read in a pair is in the same orientation as the coding sequence. This will only count alignments that are compatible with your library preparation strategy. This is also used for the stranded coverage and for FPKM computation with cufflinks/StringTie.\n- Use featureCounts for generating count tables: Whether to use count tables from featureCounts instead of from STAR.\n- Compute Cufflinks FPKM: Whether you want to get FPKM with Cufflinks (pretty long).\n- Compute StringTie FPKM: Whether you want to get FPKM/TPM etc... with StringTie.\n\n## Processing\n\n- The workflow will remove adapters and low quality bases and filter out any read smaller than 15bp.\n- The filtered reads are mapped with STAR with ENCODE parameters (for long RNA-seq but I use it for short also). STAR is also used to count reads per gene and generate strand-specific normalized coverage (on uniquely mapped reads).\n- Optionally featureCounts is used to generate count files when this option enabled.\n- Optionally FastQC, Picard, read_distribution, geneBody_coverage, samtools idxstats, Picard are run to get additional QC.\n- A multiQC is run to have an overview of the QC. This can also be used to get the strandedness.\n- FPKM values for genes and transcripts are computed with cufflinks using correction for multi-mapped reads (this step is optionnal).\n- FPKM/TPM values for genes are computed with StringTie (this step is optional).\n- The BAM is filtered to keep only uniquely mapped reads (tag NH:i:1).\n- Unstranded coverage is computed with bedtools and normalized to the number of million uniquely mapped reads.\n- The three coverage files are converted to bigwig.\n\n### Warning\n\n- The coverage stranded output depends on the strandedness of the library:\n - If you have an unstranded library, stranded coverages are useless\n - If you have a forward stranded library, the label matches the orientation of the first read in pairs.\n - If you have a reverse stranded library, the label matches the orientation of the second read in pairs.\n", "changelog": "# Changelog\n\n## [1.1] 2024-11-18\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.24.0+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/2.0.6+galaxy0`\n\n## [1.0] 2024-09-23\n\n### Changes in workflows\n- Add an optional subworkflow with more QC: FastQC, Picard, Read distribution on genomic features, gene body coverage, reads per chromosomes.\n- Add featureCounts as an alternative way to generate count files\n- Use fastp instead of cutadapt which uses pair overlap and allows to have optional adapter sequences\n\n### Tool update\n- `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.3` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/cufflinks/cufflinks/2.2.1.4`\n\n### Test dataset\n- Using a new subsampled Yeast test data from Zenodo record https://zenodo.org/records/13987631\n\n## [0.9] 2024-09-23\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n\n## [0.8] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n\n## [0.7] 2024-06-25\n\n### Automatic update (triggered manually)\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.30.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.31.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.2.3+galaxy0`\n\n## [0.6] 2024-02-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.6+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.11a+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy0`\n\n## [0.5] 2023-09-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.10b+galaxy4`\n\n### Manual update\n- Use STAR to compute normalized strand-specific coverage\n- Add an option to use StringTie to compute FPKM\n- Make cufflinks step optional\n\n## [0.4.1] 2023-09-14\n- add author in dockstore file\n\n## [0.4] 2023-01-16\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bamtools_filter/bamFilter/2.5.2+galaxy1`\n\n## [0.3] 2022-12-17\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1`\n\n## [0.2] 2022-11-02\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy1`\n\n## [0.1] 2022-10-21\n\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## RNA-seq for Paired-end fastqs\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Collection paired FASTQ files\"]@{ shape: docs }\n1[\"\u2139\ufe0f Forward adapter\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Reverse adapter\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Generate additional QC reports\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Reference genome\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f GTF file of annotation\"]@{ shape: doc }\n6[\"\u2139\ufe0f Strandedness\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f Use featureCounts for generating count tables\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f Compute Cufflinks FPKM\"]@{ shape: lean-l }\n9[\"\u2139\ufe0f GTF with regions to exclude from FPKM normalization with Cufflinks\"]@{ shape: doc }\n10[\"\u2139\ufe0f Compute StringTie FPKM\"]@{ shape: lean-l }\n11[\"Flatten collection\"]@{ shape: process }\n0 --> 11\n12[\"remove adapters + bad quality bases\"]@{ shape: process }\n1 --> 12\n2 --> 12\n0 --> 12\n13[\"no additional QC\"]@{ shape: process }\n3 --> 13\n14[\"get reference_genome as text parameter\"]@{ shape: process }\n4 --> 14\n15[\"Get featureCounts strandedness parameter\"]@{ shape: process }\n6 --> 15\n16[\"Get cufflinks strandedness parameter\"]@{ shape: process }\n6 --> 16\n17[\"Get Stringtie strandedness parameter\"]@{ shape: process }\n6 --> 17\n18[\"STAR: map and count and coverage splitted\"]@{ shape: process }\n4 --> 18\n5 --> 18\n12 --> 18\n19[\"\ud83d\udee0\ufe0f Generate Unstranded Coverage\"]@{ shape: subprocess }\n18 --> 19\n18 --> 19\n20[\"\ud83d\udee0\ufe0f Generate Stranded Coverage\"]@{ shape: subprocess }\n18 --> 20\n18 --> 20\n6 --> 20\n21[\"featureCounts\"]@{ shape: process }\n18 --> 21\n5 --> 21\n15 --> 21\n7 --> 21\n22[\"Compute FPKM with StringTie\"]@{ shape: process }\n5 --> 22\n18 --> 22\n17 --> 22\n10 --> 22\n23[\"Compute FPKM with cufflinks\"]@{ shape: process }\n16 --> 23\n9 --> 23\n14 --> 23\n18 --> 23\n5 --> 23\n8 --> 23\n24[\"\ud83d\udee0\ufe0f Process Count files\"]@{ shape: subprocess }\n18 --> 24\n6 --> 24\n21 --> 24\n21 --> 24\n25[\"Combined MultiQC without additional QC\"]@{ shape: process }\n12 --> 25\n18 --> 25\n18 --> 25\n24 --> 25\n13 --> 25\n26[\"\ud83d\udee0\ufe0f Combined MultiQC Quality Report with additional QC\"]@{ shape: subprocess }\n11 --> 26\n18 --> 26\n18 --> 26\n18 --> 26\n12 --> 26\n24 --> 26\n5 --> 26\n3 --> 26\n```\n\n## RNA-seq-Paired-QC\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f FASTQ collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f fastp Reports\"]@{ shape: docs }\n2[\"\u2139\ufe0f STAR logs\"]@{ shape: docs }\n3[\"\u2139\ufe0f STAR gene counts\"]@{ shape: docs }\n4[\"\u2139\ufe0f featureCounts summaries\"]@{ shape: docs }\n5[\"\u2139\ufe0f reference_annotation_gtf\"]@{ shape: doc }\n6[\"\u2139\ufe0f STAR paired-end BAM\"]@{ shape: docs }\n7[\"FastQC check read qualities\"]@{ shape: process }\n0 --> 7\n8[\"convert gtf to bed12\"]@{ shape: process }\n5 --> 8\n9[\"Subsample 200k reads\"]@{ shape: process }\n6 --> 9\n10[\"Get reads number per chromosome\"]@{ shape: process }\n6 --> 10\n11[\"Remove duplicates\"]@{ shape: process }\n6 --> 11\n12[\"Read distribution over genomic features\"]@{ shape: process }\n6 --> 12\n8 --> 12\n13[\"Get gene body coverage\"]@{ shape: process }\n9 --> 13\n8 --> 13\n14[\"Combined Quality Report\"]@{ shape: process }\n7 --> 14\n1 --> 14\n2 --> 14\n3 --> 14\n4 --> 14\n12 --> 14\n13 --> 14\n10 --> 14\n11 --> 14\n```\n\n## Process Count files\n\n```mermaid\ngraph LR\n0[\"A dummy featureCounts summary file\"]@{ shape: process }\n1[\"\u2139\ufe0f featureCounts summaries collection\"]@{ shape: docs }\n2[\"\u2139\ufe0f Strandness param\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f RNA STAR count tables\"]@{ shape: docs }\n4[\"\u2139\ufe0f featureCounts count table\"]@{ shape: docs }\n5[\"Text transformation\"]@{ shape: process }\n0 --> 5\n6[\"awk command from strand for STAR counts\"]@{ shape: process }\n2 --> 6\n7[\"featureCounts summaries\"]@{ shape: process }\n1 --> 7\n5 --> 7\n8[\"Extract gene counts\"]@{ shape: process }\n6 --> 8\n3 --> 8\n9[\"Counts table\"]@{ shape: process }\n4 --> 9\n8 --> 9\n```\n\n## Re-arrange Stranded RNA-seq coverage\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f strandedness\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f Bedgraph strand 1\"]@{ shape: docs }\n2[\"\u2139\ufe0f Bedgraph strand 2\"]@{ shape: docs }\n3[\"Get replacement for strand2\"]@{ shape: process }\n0 --> 3\n4[\"Get replacement for strand1\"]@{ shape: process }\n0 --> 4\n5[\"get identifiers\"]@{ shape: process }\n1 --> 5\n6[\"New labels strand 2\"]@{ shape: process }\n3 --> 6\n5 --> 6\n7[\"New labels strand 1\"]@{ shape: process }\n4 --> 7\n5 --> 7\n8[\"Relabelled strand 2\"]@{ shape: process }\n6 --> 8\n2 --> 8\n9[\"Relabelled strand 1\"]@{ shape: process }\n7 --> 9\n1 --> 9\n10[\"Merge collections\"]@{ shape: process }\n9 --> 10\n8 --> 10\n11[\"convert to bigwig\"]@{ shape: process }\n10 --> 11\n```\n\n## Get Uniquely mapped unstranded coverage\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f STAR log\"]@{ shape: docs }\n1[\"\u2139\ufe0f STAR BAM\"]@{ shape: docs }\n2[\"get scaling factor\"]@{ shape: process }\n0 --> 2\n3[\"keep uniquely mapped reads\"]@{ shape: process }\n1 --> 3\n4[\"Parse parameter value\"]@{ shape: process }\n2 --> 4\n5[\"Scaled Coverage both strands combined\"]@{ shape: process }\n3 --> 5\n4 --> 5\n6[\"convert both strands coverage to bigwig\"]@{ shape: process }\n5 --> 6\n```\n", "trsID": "#workflow/github.com/iwc-workflows/rnaseq-pe/main", "tests": [ { @@ -69456,6 +69515,7 @@ }, "readme": "# Dada2: amplicon analysis for paired end data\n\n## Inputs dataset\n\n- `Paired input data` paired input collection in FASTQ format\n\n## Inputs values\n\n- `Read length forward/reverse reads` length of the forward/reverse reads to which they should be truncated in the filter and trim step\n- `Pool samples` pooling may increase sensitivity\n- `Reference database` that should be used for taxonomic assignment\n\n## Processing\n\nThe workflow follows the steps described in the [dada2 tutorial](https://benjjneb.github.io/dada2/tutorial.html).\n\nAs a first step the input collection is sorted. This is important because the dada2 step outputs\na collection in sorted order. If the input collection would not be sorted then the mergePairs step\nsamples would be mixed up.\n\n- `FilterAndTrim` Quality control by filtering and trimming reads\n- `QualityProfile` is called before and after the FilterAndTrim step\n- `Unzip Collection` separates forward and reverse reads (the next steps are evaluated separately on forward and reverse reads)\n- `learnErrors` learn error rates\n- `dada` filter noisy reads\n- `mergePairs` merge forward and reverse reads\n- `makeSequenceTable` create the sequence table\n- `removeBimeraDenovo` remove chimeric sequencs\n- `assignTaxonomy` assign taxonomic information from a reference data base\n\n## TODO\n\nSome possibilities to extend/improve the workflow\n\n- output BIOM\n- use ASV1, ... in sequence table and taxonomy output, and output additional fasta\n- allow to use custom taxonomy / make it optional\n", "changelog": "# Changelog\n\n## [0.2] 2024-05-27\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_plotqualityprofile/dada2_plotQualityProfile/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_plotqualityprofile/dada2_plotQualityProfile/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_filterandtrim/dada2_filterAndTrim/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_filterandtrim/dada2_filterAndTrim/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_learnerrors/dada2_learnErrors/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_learnerrors/dada2_learnErrors/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_dada/dada2_dada/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_dada/dada2_dada/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_mergepairs/dada2_mergePairs/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_mergepairs/dada2_mergePairs/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_makesequencetable/dada2_makeSequenceTable/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_makesequencetable/dada2_makeSequenceTable/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_removebimeradenovo/dada2_removeBimeraDenovo/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_removebimeradenovo/dada2_removeBimeraDenovo/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_seqcounts/dada2_seqCounts/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_seqcounts/dada2_seqCounts/1.30.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/dada2_assigntaxonomyaddspecies/dada2_assignTaxonomyAddspecies/1.28+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/dada2_assigntaxonomyaddspecies/dada2_assignTaxonomyAddspecies/1.30.0+galaxy0`\n\n## [0.1] 2024-01-09\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## dada2 amplicon analysis pipeline - for paired end data\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Paired input data\"]@{ shape: docs }\n1[\"\u2139\ufe0f Read length forward read\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Read length reverse read\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Pool samples\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Cached reference database\"]@{ shape: lean-l }\n5[\"Sort samples\"]@{ shape: process }\n0 --> 5\n6[\"QualityProfile before filterAndTrim\"]@{ shape: process }\n5 --> 6\n7[\"dada2: filterAndTrim\"]@{ shape: process }\n5 --> 7\n2 --> 7\n1 --> 7\n8[\"QualityProfile after filterAndTrim\"]@{ shape: process }\n7 --> 8\n9[\"Unzip collection\"]@{ shape: process }\n7 --> 9\n10[\"dada2: learnErrors\"]@{ shape: process }\n9 --> 10\n11[\"dada2: learnErrors\"]@{ shape: process }\n9 --> 11\n12[\"dada2: dada\"]@{ shape: process }\n9 --> 12\n3 --> 12\n10 --> 12\n13[\"dada2: dada\"]@{ shape: process }\n9 --> 13\n3 --> 13\n11 --> 13\n14[\"dada2: mergePairs\"]@{ shape: process }\n12 --> 14\n13 --> 14\n9 --> 14\n9 --> 14\n15[\"dada2: makeSequenceTable\"]@{ shape: process }\n14 --> 15\n16[\"dada2: removeBimeraDenovo\"]@{ shape: process }\n15 --> 16\n17[\"dada2: sequence counts\"]@{ shape: process }\n7 --> 17\n12 --> 17\n13 --> 17\n14 --> 17\n15 --> 17\n16 --> 17\n18[\"dada2: assignTaxonomy\"]@{ shape: process }\n4 --> 18\n16 --> 18\n```\n", "trsID": "#workflow/github.com/iwc-workflows/dada2/main", "tests": [ { @@ -70055,6 +70115,7 @@ }, "readme": "# QIIME2 import workflows\n\n\n## Available workflows\n\nImport of fastqsanger.gz data into QIIME artifact files.\n\nAvailable for:\n\n- paired / single end data\n- demultiplexed / multiplexed data (the former according to the EMP protocol)\n\nFor data that is multiplexed with another protocol the Galaxy cutadapt tool can be use.\n\n## Inputs\n\n- Single end or paired end reads in fastq format.\n- For demultiplexed data all datasets must be in a single (flat) collection\n (also paired data).\n\n### Demultiplexed data\n\n- Demultiplexed data must follow the naming scheme `.+_.+_R[12]_001\\.fastq\\.gz`.\n Any lane information (in the form of `L[0-9][0-9][0-9]_`) in the dataset names\n is automatically removed.\n\n### Mulmultiplexed data\n\n- Multiplexed data in a single or two fastq.gz dataset(s)\n- Barcodes as fastq.gz file\n- Metadata (a table describing the samples) and a metadata parameter (the name of the column that contains the barcode sequences)\n- A boolean determining if there reverse complement of the barcode sequences shoul dbe used\n\n## Processing\n\nFor demultiplexed data\n\n1. Lane information is removed from the collection identifiers (using `Extract element identifiers`, `Regex Find And Replace` and `Relabel identifiers`)\n2. Import of sequence data using `qiime2 tools import` with `Casava One Eight Laneless Per Sample Directory Format`\n3. Prepare visualisation dataset with `qiime2 demux summarize`\n\nFor multiplexed data\n\n1. Import sequences and metadata with `qiime2 tools import` as `EMP Paired End Directory Format` and `Immutable Metadata Format`, resp.\n2. Demultiplex the sequences with `qiime2 demux emp-paired`/`paired` (using sequences and metadata information)\n3. Prepare visualisation dataset with `qiime2 demux summarize`\n\n\n## Outputs\n\n- Sequence data in `qza` format\n- A corresponding qiime visualization file in `qzv` format\n\n## TODOs\n\n- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.", "changelog": "# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## QIIME2 Ia: multiplexed data (single-end)\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Sequences\"]@{ shape: doc }\n1[\"\u2139\ufe0f Barcodes\"]@{ shape: doc }\n2[\"\u2139\ufe0f Metadata\"]@{ shape: doc }\n3[\"\u2139\ufe0f Metadata parameter\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Reverse complement barcodes\"]@{ shape: lean-l }\n5[\"Input files\"]@{ shape: process }\n1 --> 5\n0 --> 5\n6[\"Metadata as artifact\"]@{ shape: process }\n2 --> 6\n7[\"Demultiplex single-end data\"]@{ shape: process }\n4 --> 7\n3 --> 7\n6 --> 7\n5 --> 7\n8[\"Summarize demultiplexed output\"]@{ shape: process }\n7 --> 8\n```\n", "trsID": "#workflow/github.com/iwc-workflows/qiime2-I-import/Ia-import-multiplexed-se", "tests": [ { @@ -70600,6 +70661,7 @@ }, "readme": "# QIIME2 import workflows\n\n\n## Available workflows\n\nImport of fastqsanger.gz data into QIIME artifact files.\n\nAvailable for:\n\n- paired / single end data\n- demultiplexed / multiplexed data (the former according to the EMP protocol)\n\nFor data that is multiplexed with another protocol the Galaxy cutadapt tool can be use.\n\n## Inputs\n\n- Single end or paired end reads in fastq format.\n- For demultiplexed data all datasets must be in a single (flat) collection\n (also paired data).\n\n### Demultiplexed data\n\n- Demultiplexed data must follow the naming scheme `.+_.+_R[12]_001\\.fastq\\.gz`.\n Any lane information (in the form of `L[0-9][0-9][0-9]_`) in the dataset names\n is automatically removed.\n\n### Mulmultiplexed data\n\n- Multiplexed data in a single or two fastq.gz dataset(s)\n- Barcodes as fastq.gz file\n- Metadata (a table describing the samples) and a metadata parameter (the name of the column that contains the barcode sequences)\n- A boolean determining if there reverse complement of the barcode sequences shoul dbe used\n\n## Processing\n\nFor demultiplexed data\n\n1. Lane information is removed from the collection identifiers (using `Extract element identifiers`, `Regex Find And Replace` and `Relabel identifiers`)\n2. Import of sequence data using `qiime2 tools import` with `Casava One Eight Laneless Per Sample Directory Format`\n3. Prepare visualisation dataset with `qiime2 demux summarize`\n\nFor multiplexed data\n\n1. Import sequences and metadata with `qiime2 tools import` as `EMP Paired End Directory Format` and `Immutable Metadata Format`, resp.\n2. Demultiplex the sequences with `qiime2 demux emp-paired`/`paired` (using sequences and metadata information)\n3. Prepare visualisation dataset with `qiime2 demux summarize`\n\n\n## Outputs\n\n- Sequence data in `qza` format\n- A corresponding qiime visualization file in `qzv` format\n\n## TODOs\n\n- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.", "changelog": "# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## QIIME2 Ib: multiplexed data (paired-end)\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Forward sequences\"]@{ shape: doc }\n1[\"\u2139\ufe0f Reverse sequences\"]@{ shape: doc }\n2[\"\u2139\ufe0f Barcodes\"]@{ shape: doc }\n3[\"\u2139\ufe0f Metadata\"]@{ shape: doc }\n4[\"\u2139\ufe0f Metadata parameter\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Reverse complement of barcodes needed?\"]@{ shape: lean-l }\n6[\"Import data into the pipeline\"]@{ shape: process }\n2 --> 6\n0 --> 6\n1 --> 6\n7[\"Metadata as artifact\"]@{ shape: process }\n3 --> 7\n8[\"Demultiplex paired-end sequences\"]@{ shape: process }\n5 --> 8\n4 --> 8\n7 --> 8\n6 --> 8\n9[\"Summarising the demultiplexed output\"]@{ shape: process }\n8 --> 9\n```\n", "trsID": "#workflow/github.com/iwc-workflows/qiime2-I-import/Ib-import-multiplexed-pe", "tests": [ { @@ -70994,6 +71056,7 @@ }, "readme": "# QIIME2 import workflows\n\n\n## Available workflows\n\nImport of fastqsanger.gz data into QIIME artifact files.\n\nAvailable for:\n\n- paired / single end data\n- demultiplexed / multiplexed data (the former according to the EMP protocol)\n\nFor data that is multiplexed with another protocol the Galaxy cutadapt tool can be use.\n\n## Inputs\n\n- Single end or paired end reads in fastq format.\n- For demultiplexed data all datasets must be in a single (flat) collection\n (also paired data).\n\n### Demultiplexed data\n\n- Demultiplexed data must follow the naming scheme `.+_.+_R[12]_001\\.fastq\\.gz`.\n Any lane information (in the form of `L[0-9][0-9][0-9]_`) in the dataset names\n is automatically removed.\n\n### Mulmultiplexed data\n\n- Multiplexed data in a single or two fastq.gz dataset(s)\n- Barcodes as fastq.gz file\n- Metadata (a table describing the samples) and a metadata parameter (the name of the column that contains the barcode sequences)\n- A boolean determining if there reverse complement of the barcode sequences shoul dbe used\n\n## Processing\n\nFor demultiplexed data\n\n1. Lane information is removed from the collection identifiers (using `Extract element identifiers`, `Regex Find And Replace` and `Relabel identifiers`)\n2. Import of sequence data using `qiime2 tools import` with `Casava One Eight Laneless Per Sample Directory Format`\n3. Prepare visualisation dataset with `qiime2 demux summarize`\n\nFor multiplexed data\n\n1. Import sequences and metadata with `qiime2 tools import` as `EMP Paired End Directory Format` and `Immutable Metadata Format`, resp.\n2. Demultiplex the sequences with `qiime2 demux emp-paired`/`paired` (using sequences and metadata information)\n3. Prepare visualisation dataset with `qiime2 demux summarize`\n\n\n## Outputs\n\n- Sequence data in `qza` format\n- A corresponding qiime visualization file in `qzv` format\n\n## TODOs\n\n- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.", "changelog": "# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## QIIME2 Ic: Demultiplexed data (single-end)\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Sequence collection\"]@{ shape: docs }\n1[\"Extract element identifiers\"]@{ shape: process }\n0 --> 1\n2[\"Screening laneless and single-lane\"]@{ shape: process }\n1 --> 2\n3[\"Relabel sequence files\"]@{ shape: process }\n2 --> 3\n0 --> 3\n4[\"Import data into the pipeline\"]@{ shape: process }\n3 --> 4\n5[\"Summarising the demultiplexed output\"]@{ shape: process }\n4 --> 5\n```\n", "trsID": "#workflow/github.com/iwc-workflows/qiime2-I-import/Ic-import-demultiplexed-se", "tests": [ { @@ -71375,6 +71438,7 @@ }, "readme": "# QIIME2 import workflows\n\n\n## Available workflows\n\nImport of fastqsanger.gz data into QIIME artifact files.\n\nAvailable for:\n\n- paired / single end data\n- demultiplexed / multiplexed data (the former according to the EMP protocol)\n\nFor data that is multiplexed with another protocol the Galaxy cutadapt tool can be use.\n\n## Inputs\n\n- Single end or paired end reads in fastq format.\n- For demultiplexed data all datasets must be in a single (flat) collection\n (also paired data).\n\n### Demultiplexed data\n\n- Demultiplexed data must follow the naming scheme `.+_.+_R[12]_001\\.fastq\\.gz`.\n Any lane information (in the form of `L[0-9][0-9][0-9]_`) in the dataset names\n is automatically removed.\n\n### Mulmultiplexed data\n\n- Multiplexed data in a single or two fastq.gz dataset(s)\n- Barcodes as fastq.gz file\n- Metadata (a table describing the samples) and a metadata parameter (the name of the column that contains the barcode sequences)\n- A boolean determining if there reverse complement of the barcode sequences shoul dbe used\n\n## Processing\n\nFor demultiplexed data\n\n1. Lane information is removed from the collection identifiers (using `Extract element identifiers`, `Regex Find And Replace` and `Relabel identifiers`)\n2. Import of sequence data using `qiime2 tools import` with `Casava One Eight Laneless Per Sample Directory Format`\n3. Prepare visualisation dataset with `qiime2 demux summarize`\n\nFor multiplexed data\n\n1. Import sequences and metadata with `qiime2 tools import` as `EMP Paired End Directory Format` and `Immutable Metadata Format`, resp.\n2. Demultiplex the sequences with `qiime2 demux emp-paired`/`paired` (using sequences and metadata information)\n3. Prepare visualisation dataset with `qiime2 demux summarize`\n\n\n## Outputs\n\n- Sequence data in `qza` format\n- A corresponding qiime visualization file in `qzv` format\n\n## TODOs\n\n- The import workflows for multiplexed data currently first convert the metadata into qza and require the user to enter a column as free text. If Galaxy allows for data-column workflow parameters this step can be removed.", "changelog": "# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_single/qiime2__demux__emp_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__summarize/qiime2__demux__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__demux__emp_paired/qiime2__demux__emp_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml and test.\n\n## [0.1] 2024-04-08\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## QIIME2 Id: Demultiplexed data (paired-end)\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Sequence collection\"]@{ shape: docs }\n1[\"Extract element identifiers\"]@{ shape: process }\n0 --> 1\n2[\"Screening laneless and single-lane\"]@{ shape: process }\n1 --> 2\n3[\"Relabel sequence files\"]@{ shape: process }\n2 --> 3\n0 --> 3\n4[\"Import data into the pipeline\"]@{ shape: process }\n3 --> 4\n5[\"Summarising the demultiplexed output\"]@{ shape: process }\n4 --> 5\n```\n", "trsID": "#workflow/github.com/iwc-workflows/qiime2-I-import/Id-import-demultiplexed-pe", "tests": [ { @@ -72577,6 +72641,7 @@ }, "readme": "# QIIME2 workflows\n\n## Available workflows\n\n- III-V Downstream analyses: III) reconstruct a taxonomy for diversity analysis, IV) rarefaction analysis, V) taxonomic analysis.\n- VI: Computation of diversity metrics and estimations\n\nAnalogous to the procedures described in the Parkinson\u2019s Mouse Tutorial: https://docs.qiime2.org/2024.5/tutorials/pd-mice/\n\n## Inputs\n\nThe two workflows have two inputs in common \n\n- Feature table: Count data\n- Metadata: Metadata table\n\nand the following extra inputs\n\nIII-V\n\n- Representative sequences: Representative (ASV) sequences\n- Minimum depth: Lower limit of the sampling depth for the alpha rarefaction analysis\n- Maximum depth: Upper limit of the sampling depth for the alpha rarefaction analysis\n- SEPP fragment insertion reference: used for the reconstruction of the phylogenetic tree\n- Taxonomic classifier: The classifier to assign taxonomic information to the ASVs\n\nVI:\n\nSampling depth: For the metric calculation (should be based on the rarefaction analysis done in IV)\nTarget metadata parameter: that should be used for beta diversity calculations\nRooted Tree: for instance the tree computed in III\n\n## Processing\n\nIII-V\n\n- Phylogenetic tree generation using `qiime2 fragment-insertion sepp`\n- Alpha rarefaction analysis using `qiime2 diversity alpha-rarefaction`\n- Taxonomic classification using `qiime2 feature-classifier classify-sklearn` and compute barplot and tabular output\n\nVI: \n\n- compute alpha and beta diversity metrics using `qiime2 diversity core-metrics-phylogenetic`\n- organize these metrics in 4 collections:\n 1. Distance matrix collection (weighted and unweighted unifrac, jaccard and bray curtis)\n 2. PCoA collection (same as the distance matrices)\n 3. Emperor plot collection (same as the distance matrices)\n 4. Richness and evenness collection (rarefied table, faith pd vector observed features vector, shannon vector, evenness vector)\n- get visualization for alpha diversity:\n - Pielou's eveness\n - Observed features\n - Shannons diversity index\n- get visualization for beta diversity\n - Jaccard distance matrix\n - Bray curtis distance matrix\n - Unifrac distance metrix \n\n## Outputs\n\nIII-V:\n\n- Phylogenetic tree\n- Rarefaction curve\n- Taxonomic classification (as qza, barplot and table)\n\nVI:\n\n- Four collections containing: distance matrix, PCoA, Emperor plots, Richness and evenness\n- Visualization for alpha diversity: Pielou's eveness, Observed features, Shannons diversity index\n- Visualization for beta diversity: Jaccard, Bray curtis, Unifrac", "changelog": "# Changelog\n\n## [0.2] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.1] 2024-06-22\nFirst release.", + "diagrams": "# Workflow diagrams\n\n## QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Representative sequences\"]@{ shape: doc }\n1[\"\u2139\ufe0f Feature table\"]@{ shape: doc }\n2[\"\u2139\ufe0f Metadata\"]@{ shape: doc }\n3[\"\u2139\ufe0f Minimum depth\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Maximum depth\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f SEPP fragment insertion reference\"]@{ shape: doc }\n6[\"\u2139\ufe0f Taxonomic classifier\"]@{ shape: doc }\n7[\"\ud83d\udee0\ufe0f Phylogenetic tree for diversity analysis\"]@{ shape: subprocess }\n0 --> 7\n5 --> 7\n8[\"\ud83d\udee0\ufe0f Taxonomic analysis\"]@{ shape: subprocess }\n1 --> 8\n0 --> 8\n2 --> 8\n6 --> 8\n9[\"\ud83d\udee0\ufe0f Rarefaction\"]@{ shape: subprocess }\n1 --> 9\n4 --> 9\n2 --> 9\n3 --> 9\n7 --> 9\n```\n\n## QIIME2 IV: Rarefaction\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Metadata\"]@{ shape: doc }\n1[\"\u2139\ufe0f DADA2 feature table\"]@{ shape: doc }\n2[\"\u2139\ufe0f Rooted tree\"]@{ shape: doc }\n3[\"\u2139\ufe0f Minimum depth\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Maximum depth\"]@{ shape: lean-l }\n5[\"Alpha rarefaction\"]@{ shape: process }\n0 --> 5\n3 --> 5\n2 --> 5\n4 --> 5\n1 --> 5\n```\n\n## QIIME2 V: Taxonomic analysis\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Metadata\"]@{ shape: doc }\n1[\"\u2139\ufe0f DADA2 representative sequences\"]@{ shape: doc }\n2[\"\u2139\ufe0f Taxonomic classifier\"]@{ shape: doc }\n3[\"\u2139\ufe0f DADA2 feature table\"]@{ shape: doc }\n4[\"Taxonomy classification\"]@{ shape: process }\n2 --> 4\n1 --> 4\n5[\"Taxonomy barplot\"]@{ shape: process }\n0 --> 5\n4 --> 5\n3 --> 5\n6[\"Tabulate taxonomy classification\"]@{ shape: process }\n4 --> 6\n```\n\n## QIIME2 III: Phylogenetic tree for diversity analysis\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f DADA2 representative sequences\"]@{ shape: doc }\n1[\"\u2139\ufe0f SEPP fragment insertion source file\"]@{ shape: doc }\n2[\"Phylogenetic tree generation\"]@{ shape: process }\n1 --> 2\n0 --> 2\n```\n", "trsID": "#workflow/github.com/iwc-workflows/qiime2-III-VI-downsteam/QIIME2-III-V-Phylogeny-Rarefaction-Taxonomic-Analysis", "tests": [ { @@ -73927,6 +73992,7 @@ }, "readme": "# QIIME2 workflows\n\n## Available workflows\n\n- III-V Downstream analyses: III) reconstruct a taxonomy for diversity analysis, IV) rarefaction analysis, V) taxonomic analysis.\n- VI: Computation of diversity metrics and estimations\n\nAnalogous to the procedures described in the Parkinson\u2019s Mouse Tutorial: https://docs.qiime2.org/2024.5/tutorials/pd-mice/\n\n## Inputs\n\nThe two workflows have two inputs in common \n\n- Feature table: Count data\n- Metadata: Metadata table\n\nand the following extra inputs\n\nIII-V\n\n- Representative sequences: Representative (ASV) sequences\n- Minimum depth: Lower limit of the sampling depth for the alpha rarefaction analysis\n- Maximum depth: Upper limit of the sampling depth for the alpha rarefaction analysis\n- SEPP fragment insertion reference: used for the reconstruction of the phylogenetic tree\n- Taxonomic classifier: The classifier to assign taxonomic information to the ASVs\n\nVI:\n\nSampling depth: For the metric calculation (should be based on the rarefaction analysis done in IV)\nTarget metadata parameter: that should be used for beta diversity calculations\nRooted Tree: for instance the tree computed in III\n\n## Processing\n\nIII-V\n\n- Phylogenetic tree generation using `qiime2 fragment-insertion sepp`\n- Alpha rarefaction analysis using `qiime2 diversity alpha-rarefaction`\n- Taxonomic classification using `qiime2 feature-classifier classify-sklearn` and compute barplot and tabular output\n\nVI: \n\n- compute alpha and beta diversity metrics using `qiime2 diversity core-metrics-phylogenetic`\n- organize these metrics in 4 collections:\n 1. Distance matrix collection (weighted and unweighted unifrac, jaccard and bray curtis)\n 2. PCoA collection (same as the distance matrices)\n 3. Emperor plot collection (same as the distance matrices)\n 4. Richness and evenness collection (rarefied table, faith pd vector observed features vector, shannon vector, evenness vector)\n- get visualization for alpha diversity:\n - Pielou's eveness\n - Observed features\n - Shannons diversity index\n- get visualization for beta diversity\n - Jaccard distance matrix\n - Bray curtis distance matrix\n - Unifrac distance metrix \n\n## Outputs\n\nIII-V:\n\n- Phylogenetic tree\n- Rarefaction curve\n- Taxonomic classification (as qza, barplot and table)\n\nVI:\n\n- Four collections containing: distance matrix, PCoA, Emperor plots, Richness and evenness\n- Visualization for alpha diversity: Pielou's eveness, Observed features, Shannons diversity index\n- Visualization for beta diversity: Jaccard, Bray curtis, Unifrac", "changelog": "# Changelog\n\n## [0.2] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__fragment_insertion__sepp/qiime2__fragment_insertion__sepp/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_classifier__classify_sklearn/qiime2__feature_classifier__classify_sklearn/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__taxa__barplot/qiime2__taxa__barplot/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_rarefaction/qiime2__diversity__alpha_rarefaction/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2023.5.0+dist.h193f7cc9.3` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2_core__tools__import/qiime2_core__tools__import/2024.10.0+dist.h3d8a7e27`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__core_metrics_phylogenetic/qiime2__diversity__core_metrics_phylogenetic/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__alpha_group_significance/qiime2__diversity__alpha_group_significance/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2023.5.1+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__diversity__beta_group_significance/qiime2__diversity__beta_group_significance/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.1] 2024-06-22\nFirst release.", + "diagrams": "# Workflow diagrams\n\n## QIIME2 VI: Diversity metrics and estimations\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Sampling depth\"]@{ shape: lean-l }\n1[\"\u2139\ufe0f Metadata\"]@{ shape: doc }\n2[\"\u2139\ufe0f Feature table\"]@{ shape: doc }\n3[\"\u2139\ufe0f Rooted tree\"]@{ shape: doc }\n4[\"\u2139\ufe0f Target metadata parameter (for beta diversity)\"]@{ shape: lean-l }\n5[\"qiime2 tools import\"]@{ shape: process }\n1 --> 5\n6[\"Diversity metrics\"]@{ shape: process }\n1 --> 6\n3 --> 6\n0 --> 6\n2 --> 6\n7[\"Alpha diversity metrics - Pielou's evenness\"]@{ shape: process }\n6 --> 7\n1 --> 7\n8[\"Alpha diversity metrics - Observed features\"]@{ shape: process }\n6 --> 8\n1 --> 8\n9[\"Alpha diversity metrics - Shannon's diversity index\"]@{ shape: process }\n6 --> 9\n1 --> 9\n10[\"Beta diversity - Jaccard distance matrix\"]@{ shape: process }\n6 --> 10\n4 --> 10\n5 --> 10\n11[\"Beta diversity - Bray-Curtis distance matrix\"]@{ shape: process }\n6 --> 11\n4 --> 11\n5 --> 11\n12[\"Emperor plot collection\"]@{ shape: process }\n6 --> 12\n6 --> 12\n6 --> 12\n6 --> 12\n13[\"Beta diversity - weighted UniFrac distance matrix\"]@{ shape: process }\n6 --> 13\n4 --> 13\n5 --> 13\n14[\"PCoA collection\"]@{ shape: process }\n6 --> 14\n6 --> 14\n6 --> 14\n6 --> 14\n15[\"Distance matrix collection\"]@{ shape: process }\n6 --> 15\n6 --> 15\n6 --> 15\n6 --> 15\n16[\"Richness and evenness collection\"]@{ shape: process }\n6 --> 16\n6 --> 16\n6 --> 16\n6 --> 16\n6 --> 16\n```\n", "trsID": "#workflow/github.com/iwc-workflows/qiime2-III-VI-downsteam/QIIME2-VI-diversity-metrics-and-estimations", "tests": [ { @@ -74582,6 +74648,7 @@ }, "readme": "# QIIME2 workflows\n\n## Available workflows\n\nDenoising (using `qiime2`'s `dada2` integration for paired / single end data.\n\n## Inputs\n\n- Demultiplexed sequences as a qiime2 aertifact file (`qza`) containing the sequence information.\n- Metadata table (`tabular`)\n- Truncation length\n- Trimming length (optional)\n\nFor the paired end workflow the truncation and trimming length for the reverse reads can / has to be given.\n\n\n## Processing\n\n- Denoising with `qiime2 dada2 denoise-single`/`paired`\n- For each of the three outputs (see below) another tool is started to prepare a corresponding qzv file\n - representative sequences `qiime2 feature-table tabulate-seqs `\n - denoising statistics `qiime2 metadata tabulate`\n - summary of the feature table\n\n## Outputs\n\n - representative sequences \n - denoising statistics \n - summary of the feature table (how many sequences are lost in the corresponding steps)\n", "changelog": "# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml.\n\n## [0.1] 2024-04-08\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## QIIME2 IIa: Denoising (sequence quality control) and feature table creation (single-end)\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Metadata\"]@{ shape: doc }\n1[\"\u2139\ufe0f Demultiplexed sequences\"]@{ shape: doc }\n2[\"\u2139\ufe0f Truncation length\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Trimming length\"]@{ shape: lean-l }\n4[\"Denoising the datasets\"]@{ shape: process }\n3 --> 4\n1 --> 4\n2 --> 4\n5[\"Tabulate DADA2 denoised representative sequences\"]@{ shape: process }\n4 --> 5\n6[\"Tabulate DADA2 statistical metadata \"]@{ shape: process }\n4 --> 6\n7[\"Summing up the dada2 output table\"]@{ shape: process }\n0 --> 7\n4 --> 7\n```\n", "trsID": "#workflow/github.com/iwc-workflows/qiime2-II-denoising/IIa-denoising-se", "tests": [ { @@ -75145,6 +75212,7 @@ }, "readme": "# QIIME2 workflows\n\n## Available workflows\n\nDenoising (using `qiime2`'s `dada2` integration for paired / single end data.\n\n## Inputs\n\n- Demultiplexed sequences as a qiime2 aertifact file (`qza`) containing the sequence information.\n- Metadata table (`tabular`)\n- Truncation length\n- Trimming length (optional)\n\nFor the paired end workflow the truncation and trimming length for the reverse reads can / has to be given.\n\n\n## Processing\n\n- Denoising with `qiime2 dada2 denoise-single`/`paired`\n- For each of the three outputs (see below) another tool is started to prepare a corresponding qzv file\n - representative sequences `qiime2 feature-table tabulate-seqs `\n - denoising statistics `qiime2 metadata tabulate`\n - summary of the feature table\n\n## Outputs\n\n - representative sequences \n - denoising statistics \n - summary of the feature table (how many sequences are lost in the corresponding steps)\n", "changelog": "# Changelog\n\n## [0.3] 2024-11-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_single/qiime2__dada2__denoise_single/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__tabulate_seqs/qiime2__feature_table__tabulate_seqs/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__metadata__tabulate/qiime2__metadata__tabulate/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__feature_table__summarize/qiime2__feature_table__summarize/2024.10.0+q2galaxy.2024.10.0`\n- `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2023.5.0+q2galaxy.2023.5.0.2` was updated to `toolshed.g2.bx.psu.edu/repos/q2d2/qiime2__dada2__denoise_paired/qiime2__dada2__denoise_paired/2024.10.0+q2galaxy.2024.10.0`\n\n## [0.2] 2024-05-23\nFix dockstore.yml.\n\n## [0.1] 2024-04-08\nFirst release.\n", + "diagrams": "# Workflow diagrams\n\n## QIIME2 IIb: Denoising (sequence quality control) and feature table creation (paired-end)\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Metadata\"]@{ shape: doc }\n1[\"\u2139\ufe0f Demultiplexed sequences\"]@{ shape: doc }\n2[\"\u2139\ufe0f Truncation length (forward)\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Truncation length (reverse)\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Trimming length (forward)\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Trimming length (reverse)\"]@{ shape: lean-l }\n6[\"Denoising the datasets\"]@{ shape: process }\n4 --> 6\n5 --> 6\n1 --> 6\n2 --> 6\n3 --> 6\n7[\"Tabulate DADA2 denoised representative sequences\"]@{ shape: process }\n6 --> 7\n8[\"Tabulate DADA2 statistical metadata \"]@{ shape: process }\n6 --> 8\n9[\"Summing up the dada2 output table\"]@{ shape: process }\n0 --> 9\n6 --> 9\n```\n", "trsID": "#workflow/github.com/iwc-workflows/qiime2-II-denoising/IIb-denoising-pe", "tests": [ { @@ -75438,6 +75506,7 @@ }, "readme": "# RepeatMasking Workflow\n\nThis workflow uses RepeatModeler and RepeatMasker for genome analysis.\n\n- RepeatModeler is a software package for identifying and modeling de novo families of transposable elements (TEs). At the heart of RepeatModeler are three de novo repeat search programs (RECON, RepeatScout and LtrHarvest/Ltr_retriever) which use complementary computational methods to identify repeat element boundaries and family relationships from sequence data.\n\n- RepeatMasker is a program that analyzes DNA sequences for *interleaved repeats* and *low-complexity* DNA sequences. The result of the program is a detailed annotation of the repeats present in the query sequence, as well as a modified version of the query sequence in which all annotated repeats are present.\n\n## Input dataset for RepeatModeler\n- RepeatModeler requires a single input file, a genome in fasta format.\n\n\n## Outputs dataset for RepeatModeler\n- Two output files are generated:\n - summary file (.tbl)\n - fasta file containing alignments in order of appearance in the query sequence\n\n\n## Input dataset for RepeatMasker\n- ReapatMasker requires the fasta file generated by RepeatModeler\n\n## Outputs datasets for RepeatMasker\n- Five output files are generated:\n - a fasta file\n - .gff3 file\n - a table summarizing the repeated content of the sequence analyzed\n - a file with statistics related to the repeated content of the sequence analyzed\n - a summary of the mutation sites found and the order of grouping\n \n", "changelog": "# Changelog\n\n## [0.1]\n\nInitial version of the RepeatMasking workflow for genomic sequencing data.", + "diagrams": "# Workflow diagrams\n\n## Repeat masking with RepeatModeler and RepeatMasker\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f input\"]@{ shape: doc }\n1[\"RepeatModeler\"]@{ shape: process }\n0 --> 1\n2[\"RepeatMasker\"]@{ shape: process }\n1 --> 2\n```\n", "trsID": "#workflow/github.com/iwc-workflows/repeatmasking/main", "tests": [ { @@ -75981,6 +76050,7 @@ }, "readme": "# Mass spectrometry: GCMS with metaMS \n\nThis workflow uses the XCMS tool R package [(Smith, C.A. 2006)](https://bioconductor.org/packages/release/bioc/html/xcms.html) to extract, filter, align and fill gaps, and uses the CAMERA R package [(Kuhl, C 2012)](https://bioconductor.org/packages/release/bioc/html/CAMERA.html) to annotate isotopes, adducts and fragments.\n\nThis workflow is composed with the XCMS tool R package [(Smith, C.A. 2006)](https://bioconductor.org/packages/release/bioc/html/xcms.html) to extract and the metaMS R package [(Wehrens, R 2014)](https://bioconductor.org/packages/release/bioc/html/metaMS.html) for the field of untargeted metabolomics. \n\n\ud83c\udf93 For more information see the [Galaxy Training Network tutorial: Mass spectrometry: GC-MS analysis with metaMS package](https://training.galaxyproject.org/training-material/topics/metabolomics/tutorials/gcms/tutorial.html)\n\n## Inputs\n### sampleMetadata\nThe sampleMetadata tabular file corresponds to a table containing information about your samples\n\nA sample metadata file contains various information for each of your raw files:\n- Classes which will be used during the preprocessing steps\n- Analytical batches which will be useful for a batch correction step, along with sample types (pool/sample) and injection order\n- Different experimental conditions which can be used for statistics\n- Any information about samples that you want to keep, in a column format\n\nThe content of your sample metadata file has to be filled by you, since it is not contained in your raw data. Note that you can either:\n- Upload an existing metadata file\n- Use a template to create one (because it can be painful to get the sample list without misspelling or omission)\n - Generate a template with the `xcms get a sampleMetadata file` tool available in Galaxy\n - Fill it using your favorite table editor (Excel, LibreOffice)\n - Upload it within Galaxy\n\n**Formats:** tab-separated values as tsv, tab, txt, ...\n\n### Mass-spectrometry Dataset Collection\nMass-spectrometry data files gathered in a Galaxy Dataser Collection\n\n**Formats:** open format as mzXML, mzMl, mzData and netCDF\n\n## Main steps\n1. MSnbase readMSData: read the mzXML and prepare for xcms\n2. XCMS findChromPeaks: peak picking\n3. metaMS.runGC: definition of pseudo-spectra\n", "changelog": "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\n## [0.1] - 2023-11-22\n\nFirst release\n", + "diagrams": "# Workflow diagrams\n\n## Mass spectrometry: GCMS with metaMS\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Mass-spectrometry Dataset Collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f sampleMetadata\"]@{ shape: doc }\n2[\"MSnbase readMSData\"]@{ shape: process }\n0 --> 2\n3[\"xcms findChromPeaks (xcmsSet)\"]@{ shape: process }\n2 --> 3\n4[\"xcms plot chromatogram\"]@{ shape: process }\n3 --> 4\n1 --> 4\n5[\"xcms findChromPeaks Merger\"]@{ shape: process }\n3 --> 5\n1 --> 5\n6[\"metaMS.runGC\"]@{ shape: process }\n5 --> 6\n7[\"Check Format\"]@{ shape: process }\n6 --> 7\n1 --> 7\n6 --> 7\n8[\"Multivariate\"]@{ shape: process }\n7 --> 8\n7 --> 8\n7 --> 8\n```\n", "trsID": "#workflow/github.com/iwc-workflows/gcms-metams/main", "tests": [ { @@ -76753,6 +76823,7 @@ }, "readme": "# Mass spectrometry: LC-MS preprocessing with XCMS \n\nThis workflow uses the XCMS tool R package [(Smith, C.A. 2006)](https://bioconductor.org/packages/release/bioc/html/xcms.html) to extract, filter, align and fill gaps, and uses the CAMERA R package [(Kuhl, C 2012)](https://bioconductor.org/packages/release/bioc/html/CAMERA.html) to annotate isotopes, adducts and fragments.\n\n\ud83c\udf93 For more information see the [Galaxy Training Network tutorial: Mass spectrometry: LC-MS preprocessing with XCMS](https://training.galaxyproject.org/training-material/topics/metabolomics/tutorials/lcms-preprocessing/tutorial.html)\n\n## Inputs\n### sampleMetadata\nThe sampleMetadata tabular file corresponds to a table containing information about your samples\n\nA sample metadata file contains various information for each of your raw files:\n- Classes which will be used during the preprocessing steps\n- Analytical batches which will be useful for a batch correction step, along with sample types (pool/sample) and injection order\n- Different experimental conditions which can be used for statistics\n- Any information about samples that you want to keep, in a column format\n\nThe content of your sample metadata file has to be filled by you, since it is not contained in your raw data. Note that you can either:\n- Upload an existing metadata file\n- Use a template to create one (because it can be painful to get the sample list without misspelling or omission)\n - Generate a template with the `xcms get a sampleMetadata file` tool available in Galaxy\n - Fill it using your favorite table editor (Excel, LibreOffice)\n - Upload it within Galaxy\n\n**Formats:** tab-separated values as tsv, tab, txt, ...\n\n### Mass-spectrometry Dataset Collection\nMass-spectrometry data files gathered in a Galaxy Dataser Collection\n\n**Formats:** open format as mzXML, mzMl, mzData and netCDF\n\n## Main steps\n1. MSnbase readMSData: read the mzXML and prepare for xcms\n2. XCMS findChromPeaks: peak picking\n3. XCMS groupChromPeaks: determining shared ions across samples\n4. XCMS adjustRtime: retention time correction\n5. XCMS fillChromPeaks: integrating areas of missing peaks\n6. CAMERA.annotate: annotation\n", "changelog": "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\n## [1.0] - 2023-11-22\n\nFirst release\n\n", + "diagrams": "# Workflow diagrams\n\n## Mass spectrometry: LC-MS preprocessing with XCMS\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f SampleMetadata\"]@{ shape: doc }\n1[\"\u2139\ufe0f Mass-spectrometry Dataset Collection\"]@{ shape: docs }\n2[\"MSnbase readMSData\"]@{ shape: process }\n1 --> 2\n3[\"xcms plot chromatogram\"]@{ shape: process }\n2 --> 3\n0 --> 3\n4[\"xcms findChromPeaks (xcmsSet)\"]@{ shape: process }\n2 --> 4\n5[\"xcms findChromPeaks Merger\"]@{ shape: process }\n4 --> 5\n0 --> 5\n6[\"xcms groupChromPeaks (group)\"]@{ shape: process }\n5 --> 6\n7[\"xcms adjustRtime (retcor)\"]@{ shape: process }\n6 --> 7\n8[\"Intensity Check\"]@{ shape: process }\n6 --> 8\n0 --> 8\n6 --> 8\n9[\"xcms plot chromatogram\"]@{ shape: process }\n7 --> 9\n0 --> 9\n10[\"xcms groupChromPeaks (group)\"]@{ shape: process }\n7 --> 10\n11[\"xcms fillChromPeaks (fillPeaks)\"]@{ shape: process }\n10 --> 11\n12[\"CAMERA.annotate\"]@{ shape: process }\n11 --> 12\n```\n", "trsID": "#workflow/github.com/iwc-workflows/lcms-preprocessing/main", "tests": [ { @@ -79249,6 +79320,7 @@ }, "readme": "# Pox Virus Illumina Amplicon Workflow for half-genomes sequencing data\n\nThis workflow generates consensus sequences from Illumina PE-sequenced ARTIC data of pox virus samples.\n\nIt requires that all samples have been sequenced in two halves in two separate sequencing runs, and utilizes this property to resolve the inverted terminal repeat (ITR) sequences of pox virus genomes.\n\nThe workflow uses BWA-MEM for mapping the reads from each half-genome sequencing run to a correspondingly masked version of the reference genome, merges the resulting two read mappings, and uses iVar for primer trimming and consensus sequence generation.\n\nConceptually, this workflow builds on https://github.com/iwc-workflows/sars-cov-2-pe-illumina-artic-ivar-analysis and adds the logic for the split genome mapping and merging of the results.", "changelog": "# Changelog\n\n## [0.2] 2024-06-19\n\n### Tool version updates\n\n- `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/0.23.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated tp `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2`\n- `toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.2` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.18`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.15.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.4` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats/samtools_stats/2.0.5`\n- `toolshed.g2.bx.psu.edu/repos/iuc/samtools_merge/samtools_merge/1.15.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/samtools_merge/samtools_merge/1.15.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.3.1+galaxy6` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ivar_trim/ivar_trim/1.4.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ivar_consensus/ivar_consensus/1.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ivar_consensus/ivar_consensus/1.4.2+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n\n## [0.1]\n\nInitial version of Pox Virus Illumina Amplicon workflow (iVar based) for half-genomes sequencing data\n", + "diagrams": "# Workflow diagrams\n\n## Pox Virus Illumina Amplicon Workflow from half-genomes\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Reference FASTA\"]@{ shape: doc }\n1[\"\u2139\ufe0f Primer Scheme\"]@{ shape: doc }\n2[\"\u2139\ufe0f PE Reads Pool1\"]@{ shape: docs }\n3[\"\u2139\ufe0f PE Reads Pool2\"]@{ shape: docs }\n4[\"\u2139\ufe0f Minimum quality score to call base\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Allele frequency to call SNV\"]@{ shape: lean-l }\n6[\"\u2139\ufe0f Allele frequency to call indel\"]@{ shape: lean-l }\n7[\"Compute sequence length\"]@{ shape: process }\n0 --> 7\n8[\"Select pool1 primers\"]@{ shape: process }\n1 --> 8\n9[\"Select pool2 primers\"]@{ shape: process }\n1 --> 9\n10[\"Extract element identifiers\"]@{ shape: process }\n2 --> 10\n11[\"fastp: Trimmed Illumina Reads Pool1\"]@{ shape: process }\n2 --> 11\n12[\"Cut\"]@{ shape: process }\n7 --> 12\n13[\"Datamash\"]@{ shape: process }\n8 --> 13\n14[\"Datamash\"]@{ shape: process }\n9 --> 14\n15[\"Split file\"]@{ shape: process }\n10 --> 15\n16[\"Sort collection\"]@{ shape: process }\n3 --> 16\n10 --> 16\n17[\"Get end position of sequence\"]@{ shape: process }\n12 --> 17\n18[\"Get end position of Pool1\"]@{ shape: process }\n13 --> 18\n19[\"Get start position of Pool2\"]@{ shape: process }\n14 --> 19\n20[\"Parse parameter value\"]@{ shape: process }\n15 --> 20\n21[\"fastp: Trimmed Illumina Reads Pool2\"]@{ shape: process }\n16 --> 21\n22[\"Compose text parameter value\"]@{ shape: process }\n18 --> 22\n17 --> 22\n23[\"Compose text parameter value\"]@{ shape: process }\n19 --> 23\n24[\"Compose text parameter value\"]@{ shape: process }\n20 --> 24\n25[\"Compose text parameter value\"]@{ shape: process }\n20 --> 25\n26[\"Mask Reference for Pool1\"]@{ shape: process }\n0 --> 26\n22 --> 26\n27[\"Mask Reference for Pool2\"]@{ shape: process }\n0 --> 27\n23 --> 27\n28[\"Map with BWA-MEM\"]@{ shape: process }\n11 --> 28\n26 --> 28\n24 --> 28\n29[\"Map with BWA-MEM\"]@{ shape: process }\n21 --> 29\n27 --> 29\n25 --> 29\n30[\"Samtools view\"]@{ shape: process }\n28 --> 30\n31[\"Samtools stats\"]@{ shape: process }\n28 --> 31\n32[\"Samtools view\"]@{ shape: process }\n29 --> 32\n33[\"Samtools stats\"]@{ shape: process }\n29 --> 33\n34[\"MultiQC\"]@{ shape: process }\n11 --> 34\n31 --> 34\n35[\"Zip collections\"]@{ shape: process }\n30 --> 35\n32 --> 35\n36[\"MultiQC\"]@{ shape: process }\n21 --> 36\n33 --> 36\n37[\"Apply rules\"]@{ shape: process }\n35 --> 37\n38[\"Samtools merge\"]@{ shape: process }\n37 --> 38\n39[\"QualiMap BamQC\"]@{ shape: process }\n38 --> 39\n40[\"ivar trim\"]@{ shape: process }\n38 --> 40\n1 --> 40\n41[\"Filter failed datasets\"]@{ shape: process }\n39 --> 41\n42[\"ivar consensus\"]@{ shape: process }\n40 --> 42\n5 --> 42\n6 --> 42\n4 --> 42\n43[\"Flatten collection\"]@{ shape: process }\n41 --> 43\n44[\"Text transformation\"]@{ shape: process }\n42 --> 44\n45[\"MultiQC\"]@{ shape: process }\n43 --> 45\n46[\"Concatenate datasets\"]@{ shape: process }\n44 --> 46\n```\n", "trsID": "#workflow/github.com/iwc-workflows/pox-virus-amplicon/main" } ], @@ -82665,6 +82737,7 @@ }, "readme": "# Purge Duplicate Contigs\n\nPurge contigs marked as duplicates by purge_dups in a single haplotype(could be haplotypic duplication or overlap duplication)\nThis workflow is the 6th workflow of the VGP pipeline. It is meant to be run after one of the contigging steps (Workflow 3, 4, or 5)\n\n## Inputs\n\n1. Genomescope model parameters [txt] (Generated by the k-mer profiling workflow)\n2. Hifi long reads - trimmed [fastq] (Generated by Cutadapt in the contigging workflow)\n3. Assembly to purge (e.g. hap1) [fasta] (Generated by the contigging workflow)\n4. K-mer database [meryldb] (Generated by the k-mer profiling workflow)\n5. Assembly to leave alone (used for merqury statistics) (e.g. hap2) [fasta] (Generated by the contigging workflow)\n6. Estimated Genome Size [txt]\n7. Database for busco lineage (recommended: latest)\n8. Busco lineage (recommended: vertebrata)\n9. Name of un-altered assembly\n10. Name of purged assembly\n\n\n## Outputs\n\n1. Haplotype 1 purged assembly (Fasta and gfa)\n2. Haplotype 2 purged assembly (Fasta and gfa)\n3. QC: BUSCO report for both assemblies\n4. QC: Merqury report for both assemblies\n5. QC: Assembly statistics for both assemblies\n6. QC: Nx plot for both assemblies\n7. QC: Size plot for both assemblies", "changelog": "# Changelog\n\n## [0.7.1] 2024-08-13\n\n- Expose Busco parameters : \n - Lineage database \n - Lineage\n\n## [0.7] 2024-07-24\n\n### Added\n\n- Workflow report\n\n### Changed\n\n- Fix bug where the columns of the assembly statistics didn't join properly.\n- Rename some outputs for clarity\n\n## [0.6] 2024-04-23\n\n### Changed\n\n- Add Merqury histogram output\n- Add Busco gff output\n- Unhide Merqury QV output\n\n## [0.5] 2024-04-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy4`\n- `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.27+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.28+galaxy0`\n\n## [0.4] 2024-03-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.27+galaxy0`\n\n## [0.2] 2024-02-19\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.24+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.5.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n## [0.1] - 2024-02-07\n\n### Added\n\n- Workflow for purging duplication in contigs in single haplotype\n", + "diagrams": "# Workflow diagrams\n\n## Purging-duplicates-one-haplotype-VGP6b \n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Genomescope model parameters\"]@{ shape: doc }\n1[\"\u2139\ufe0f Pacbio Reads Collection - Trimmed\"]@{ shape: docs }\n2[\"\u2139\ufe0f Assembly to purge\"]@{ shape: doc }\n3[\"\u2139\ufe0f Meryl Database\"]@{ shape: doc }\n4[\"\u2139\ufe0f Assembly to leave alone (For Merqury comparison)\"]@{ shape: doc }\n5[\"\u2139\ufe0f Estimated genome size - Parameter File\"]@{ shape: doc }\n6[\"\u2139\ufe0f Database for Busco Lineage\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f Lineage\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f Name of purged assembly\"]@{ shape: lean-l }\n9[\"\u2139\ufe0f Name of un-altered assembly\"]@{ shape: lean-l }\n10[\"Compute\"]@{ shape: process }\n0 --> 10\n11[\"Map with minimap2\"]@{ shape: process }\n1 --> 11\n2 --> 11\n12[\"Purge overlaps\"]@{ shape: process }\n2 --> 12\n13[\"gfastats\"]@{ shape: process }\n4 --> 13\n14[\"Estimated genome size\"]@{ shape: process }\n5 --> 14\n15[\"Cut\"]@{ shape: process }\n10 --> 15\n16[\"Cut\"]@{ shape: process }\n10 --> 16\n17[\"Map with minimap2\"]@{ shape: process }\n12 --> 17\n12 --> 17\n18[\"\ud83d\udee0\ufe0f gfastats_data_prep\"]@{ shape: subprocess }\n13 --> 18\n19[\"gfastats\"]@{ shape: process }\n4 --> 19\n14 --> 19\n20[\"Parse parameter value\"]@{ shape: process }\n15 --> 20\n21[\"Parse parameter value\"]@{ shape: process }\n16 --> 21\n22[\"Text reformatting\"]@{ shape: process }\n19 --> 22\n23[\"Purge overlaps\"]@{ shape: process }\n11 --> 23\n21 --> 23\n20 --> 23\n24[\"Purge overlaps\"]@{ shape: process }\n23 --> 24\n23 --> 24\n17 --> 24\n25[\"Remove REPEATs from BED\"]@{ shape: process }\n24 --> 25\n26[\"Purge overlaps\"]@{ shape: process }\n25 --> 26\n2 --> 26\n27[\"Merqury\"]@{ shape: process }\n26 --> 27\n4 --> 27\n3 --> 27\n28[\"gfastats\"]@{ shape: process }\n26 --> 28\n29[\"Busco\"]@{ shape: process }\n26 --> 29\n6 --> 29\n7 --> 29\n30[\"Convert purged fasta to gfa\"]@{ shape: process }\n26 --> 30\n31[\"gfastats\"]@{ shape: process }\n26 --> 31\n14 --> 31\n32[\"merqury_QV\"]@{ shape: process }\n27 --> 32\n33[\"output_merqury.spectra-cn.fl\"]@{ shape: process }\n27 --> 33\n34[\"output_merqury.spectra-asm.fl\"]@{ shape: process }\n27 --> 34\n35[\"output_merqury.assembly_01.spectra-cn.fl\"]@{ shape: process }\n27 --> 35\n36[\"merqury_stats\"]@{ shape: process }\n27 --> 36\n37[\"output_merqury.assembly_02.spectra-cn.fl\"]@{ shape: process }\n27 --> 37\n38[\"\ud83d\udee0\ufe0f gfastats_data_prep\"]@{ shape: subprocess }\n28 --> 38\n39[\"Text reformatting\"]@{ shape: process }\n31 --> 39\n40[\"\ud83d\udee0\ufe0f gfastats_plot\"]@{ shape: subprocess }\n18 --> 40\n9 --> 40\n8 --> 40\n38 --> 40\n41[\"Join two Datasets\"]@{ shape: process }\n39 --> 41\n22 --> 41\n42[\"Advanced Cut\"]@{ shape: process }\n41 --> 42\n43[\"Replace\"]@{ shape: process }\n42 --> 43\n```\n\n## gfastats_plot\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Primary data\"]@{ shape: doc }\n1[\"\u2139\ufe0f Alternate data\"]@{ shape: doc }\n2[\"\u2139\ufe0f Name of primary assembly\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Name of alternate assembly\"]@{ shape: lean-l }\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n0 --> 4\n5[\"Add column\"]@{ shape: process }\n3 --> 5\n1 --> 5\n6[\"Concatenate datasets\"]@{ shape: process }\n4 --> 6\n5 --> 6\n7[\"Cut\"]@{ shape: process }\n6 --> 7\n8[\"Cut\"]@{ shape: process }\n6 --> 8\n9[\"Nx Plot\"]@{ shape: process }\n7 --> 9\n10[\"Size Plot\"]@{ shape: process }\n8 --> 10\n```\n\n## gfastats_data_prep\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f gfa_stats\"]@{ shape: doc }\n1[\"Sort\"]@{ shape: process }\n0 --> 1\n2[\"Text reformatting\"]@{ shape: process }\n1 --> 2\n3[\"Datamash\"]@{ shape: process }\n2 --> 3\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n5[\"Parse parameter value\"]@{ shape: process }\n3 --> 5\n6[\"Compose text parameter value\"]@{ shape: process }\n5 --> 6\n7[\"Compute\"]@{ shape: process }\n4 --> 7\n6 --> 7\n```\n", "trsID": "#workflow/github.com/iwc-workflows/Purge-duplicates-one-haplotype-VGP6b/main", "tests": [ { @@ -83507,6 +83580,7 @@ }, "readme": "## Generate Nx and Size plot for multiple assemblies\n\n\n### Inputs\n\nCollection of fasta files. The name of each item in the collection will be used as label for the Nx and Size plots.\n\n### Outputs\n\n\n1. Nx plot \n2. Size plot ", "changelog": "# Changelog\n\n## [0.1.1] 2024-06-24\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n\n## [0.1] - 2024-05-11\n\nAddition of the workflow to the iwc repository.", + "diagrams": "# Workflow diagrams\n\n## Generate Nx and Size plots for multiple assemblies\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Collection of genomes to plot\"]@{ shape: docs }\n1[\"gfastats\"]@{ shape: process }\n0 --> 1\n2[\"Sort\"]@{ shape: process }\n1 --> 2\n3[\"Text reformatting\"]@{ shape: process }\n2 --> 3\n4[\"Datamash\"]@{ shape: process }\n3 --> 4\n5[\"Add column\"]@{ shape: process }\n3 --> 5\n6[\"Parse parameter value\"]@{ shape: process }\n4 --> 6\n7[\"Compose text parameter value\"]@{ shape: process }\n6 --> 7\n8[\"Compute\"]@{ shape: process }\n5 --> 8\n7 --> 8\n9[\"Add input name as column\"]@{ shape: process }\n8 --> 9\n10[\"Collapse Collection\"]@{ shape: process }\n9 --> 10\n11[\"Cut\"]@{ shape: process }\n10 --> 11\n12[\"Cut\"]@{ shape: process }\n10 --> 12\n13[\"Nx Plot\"]@{ shape: process }\n11 --> 13\n14[\"Size Plot\"]@{ shape: process }\n12 --> 14\n```\n", "trsID": "#workflow/github.com/iwc-workflows/Plot-Nx-Size/main", "tests": [ { @@ -83933,6 +84007,9 @@ "uuid": "57920bf9-1741-4170-badf-39fdfcdaa2e9", "version": 4 }, + "readme": null, + "changelog": null, + "diagrams": "# Workflow diagrams\n\n## Mitogenome-Assembly-VGP0\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Collection of Pacbio Data\"]@{ shape: docs }\n1[\"\u2139\ufe0f Species name (latin name)\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Email adress\"]@{ shape: lean-l }\n3[\"MitoHiFi\"]@{ shape: process }\n2 --> 3\n1 --> 3\n4[\"MitoHiFi\"]@{ shape: process }\n0 --> 4\n3 --> 4\n3 --> 4\n5[\"Compress file(s)\"]@{ shape: process }\n4 --> 5\n```\n", "trsID": "#workflow/github.com/iwc-workflows/Mitogenome-assembly-VGP0/main", "tests": [ { @@ -87982,6 +88059,7 @@ }, "readme": "# Purge Duplicate Contigs\n\nPurge contigs marked as duplicates by purge_dups (could be haplotypic duplication or overlap duplication)\nThis workflow is the 6th workflow of the VGP pipeline. It is meant to be run after one of the contigging steps (Workflow 3, 4, or 5)\n\n## Inputs\n\n1. Hifi long reads - trimmed [fastq] (Generated by Cutadapt in the contigging workflow)\n2. Primary Assembly (hap1) [fasta] (Generated by the contigging workflow)\n3. Alternate Assembly (hap2) [fasta] (Generated by the contigging workflow)\n4. K-mer database [meryldb] (Generated by the k-mer profiling workflow)\n5. Genomescope model parameters [txt] (Generated by the k-mer profiling workflow)\n6. Estimated Genome Size [txt]\n7. Database for busco lineage (recommended: latest) \n8. Lineage of your species for Busco Orthologs (recommended: vertebrata)\n9. Name of first haplotype\n10. Name of second haplotype\n\n\n## Outputs\n\n1. Haplotype 1 purged assembly (Fasta and gfa)\n2. Haplotype 2 purged assembly (Fasta and gfa)\n3. QC: BUSCO report for both assemblies\n4. QC: Merqury report for both assemblies\n5. QC: Assembly statistics for both assemblies\n6. QC: Nx plot for both assemblies\n7. QC: Size plot for both assemblies\n", "changelog": "# Changelog\n\n## [0.4] 2024-08-13\n\n### Added\n\n- Workflow report\n\n### Changed\n\n- Expose Busco lineage database parameter\n- Fix bug that was causing issues when merging the assembly statistics: The presence of the '#' character caused the tables to join incorrectly, and the numbers did not match the metrics\n\n## [0.3.8] 2024-04-23\n\n### Added\n\n- Add Busco Gff output\n\n## [0.3.7] 2024-04-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.27+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.28+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy4`\n\n## [0.3.6] 2024-03-25\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.27+galaxy0`\n\n## [0.3.5] 2024-03-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0`\n\n## [0.3.4] 2024-02-15\n\n- Remove tag filtering\n- Add merqury histogram outputs\n\n## [0.3.3] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.3.2] - 2023-11-15\n\n### Added\n\n- more descriptive lables for inputs\n\n## [0.3.1] 2023-11-09\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.24+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.26+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n## [0.3] - 2023-11-08\n\n### Added\n\n- Made BUSCO lineage selectable from workflow launch interface\n\n### Changed\n\n- Change BUSCO lineage input parameter name from `Provide lineage for BUSCO (e.g., Vertebrata)` to `Lineage`\n\n\n## [0.2.0] - 2023-11-07\n\n### Added\n\n- Tag filtering for inputs\n- Changed parameters of gfastats for postprocessing of contigs generated with purge_dups. Specfically:\n - \"Terminal overlap selection\" is set to \"Yes\"\n - \"Generated the initial set of paths\" is set to \"No\"\n\n\n## [0.1.1] - 2023-11-01\n\n### Added\n\n- More explicit tags for readability\n\n\n## [0.1] - 2023-10-26\n\n### Added\n\n- Workflow for purging duplication in contigs\n", + "diagrams": "# Workflow diagrams\n\n## Purge-duplicate-contigs-VGP6\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Pacbio Reads Collection - Trimmed\"]@{ shape: docs }\n1[\"\u2139\ufe0f Hifiasm Primary assembly\"]@{ shape: doc }\n2[\"\u2139\ufe0f Hifiasm Alternate assembly\"]@{ shape: doc }\n3[\"\u2139\ufe0f Meryl Database\"]@{ shape: doc }\n4[\"\u2139\ufe0f Genomescope model parameters\"]@{ shape: doc }\n5[\"\u2139\ufe0f Estimated genome size - Parameter File\"]@{ shape: doc }\n6[\"\u2139\ufe0f Database for Busco Lineage\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f Lineage\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f SAK input file\"]@{ shape: doc }\n9[\"\u2139\ufe0f Name of primary assembly\"]@{ shape: lean-l }\n10[\"\u2139\ufe0f Name of alternate assembly\"]@{ shape: lean-l }\n11[\"Map with minimap2\"]@{ shape: process }\n0 --> 11\n1 --> 11\n12[\"Purge overlaps\"]@{ shape: process }\n1 --> 12\n13[\"Compute\"]@{ shape: process }\n4 --> 13\n14[\"Estimated genome size\"]@{ shape: process }\n5 --> 14\n15[\"Awk command for primary assembly\"]@{ shape: process }\n9 --> 15\n16[\"Awk command for alternate assembly 2\"]@{ shape: process }\n10 --> 16\n17[\"Map with minimap2\"]@{ shape: process }\n12 --> 17\n12 --> 17\n18[\"Cut\"]@{ shape: process }\n13 --> 18\n19[\"Cut\"]@{ shape: process }\n13 --> 19\n20[\"Parse parameter value\"]@{ shape: process }\n18 --> 20\n21[\"Parse parameter value\"]@{ shape: process }\n19 --> 21\n22[\"Purge overlaps\"]@{ shape: process }\n11 --> 22\n21 --> 22\n20 --> 22\n23[\"Purge overlaps\"]@{ shape: process }\n22 --> 23\n22 --> 23\n17 --> 23\n24[\"Purge overlaps\"]@{ shape: process }\n23 --> 24\n1 --> 24\n25[\"Concatenate datasets\"]@{ shape: process }\n24 --> 25\n2 --> 25\n26[\"Busco\"]@{ shape: process }\n24 --> 26\n6 --> 26\n7 --> 26\n27[\"gfastats\"]@{ shape: process }\n24 --> 27\n8 --> 27\n28[\"gfastats\"]@{ shape: process }\n24 --> 28\n14 --> 28\n29[\"gfastats\"]@{ shape: process }\n24 --> 29\n30[\"Map with minimap2\"]@{ shape: process }\n0 --> 30\n25 --> 30\n31[\"Purge overlaps\"]@{ shape: process }\n25 --> 31\n32[\"Text reformatting\"]@{ shape: process }\n15 --> 32\n28 --> 32\n33[\"\ud83d\udee0\ufe0f gfastats_data_prep\"]@{ shape: subprocess }\n29 --> 33\n34[\"Purge overlaps\"]@{ shape: process }\n30 --> 34\n21 --> 34\n20 --> 34\n35[\"Map with minimap2\"]@{ shape: process }\n31 --> 35\n31 --> 35\n36[\"Purge overlaps\"]@{ shape: process }\n34 --> 36\n34 --> 36\n35 --> 36\n37[\"Purge overlaps\"]@{ shape: process }\n36 --> 37\n25 --> 37\n38[\"gfastats\"]@{ shape: process }\n37 --> 38\n14 --> 38\n39[\"gfastats\"]@{ shape: process }\n37 --> 39\n40[\"Merqury\"]@{ shape: process }\n24 --> 40\n37 --> 40\n3 --> 40\n41[\"gfastats\"]@{ shape: process }\n37 --> 41\n8 --> 41\n42[\"Text reformatting\"]@{ shape: process }\n16 --> 42\n38 --> 42\n43[\"\ud83d\udee0\ufe0f gfastats_data_prep\"]@{ shape: subprocess }\n39 --> 43\n44[\"merqury_QV\"]@{ shape: process }\n40 --> 44\n45[\"output_merqury.spectra-cn.fl\"]@{ shape: process }\n40 --> 45\n46[\"output_merqury.spectra-asm.fl\"]@{ shape: process }\n40 --> 46\n47[\"output_merqury.assembly_01.spectra-cn.fl\"]@{ shape: process }\n40 --> 47\n48[\"merqury_stats\"]@{ shape: process }\n40 --> 48\n49[\"output_merqury.assembly_02.spectra-cn.fl\"]@{ shape: process }\n40 --> 49\n50[\"Join two Datasets\"]@{ shape: process }\n32 --> 50\n42 --> 50\n51[\"\ud83d\udee0\ufe0f gfastats_plot\"]@{ shape: subprocess }\n43 --> 51\n10 --> 51\n9 --> 51\n33 --> 51\n52[\"Advanced Cut\"]@{ shape: process }\n50 --> 52\n53[\"Replace\"]@{ shape: process }\n52 --> 53\n```\n\n## gfastats_plot\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Primary data\"]@{ shape: doc }\n1[\"\u2139\ufe0f Alternate data\"]@{ shape: doc }\n2[\"\u2139\ufe0f Name of primary assembly\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Name of alternate assembly\"]@{ shape: lean-l }\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n0 --> 4\n5[\"Add column\"]@{ shape: process }\n3 --> 5\n1 --> 5\n6[\"Concatenate datasets\"]@{ shape: process }\n4 --> 6\n5 --> 6\n7[\"Cut\"]@{ shape: process }\n6 --> 7\n8[\"Cut\"]@{ shape: process }\n6 --> 8\n9[\"Nx Plot\"]@{ shape: process }\n7 --> 9\n10[\"Size Plot\"]@{ shape: process }\n8 --> 10\n```\n\n## gfastats_data_prep\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f gfa_stats\"]@{ shape: doc }\n1[\"Sort\"]@{ shape: process }\n0 --> 1\n2[\"Text reformatting\"]@{ shape: process }\n1 --> 2\n3[\"Datamash\"]@{ shape: process }\n2 --> 3\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n5[\"Parse parameter value\"]@{ shape: process }\n3 --> 5\n6[\"Compose text parameter value\"]@{ shape: process }\n5 --> 6\n7[\"Compute\"]@{ shape: process }\n4 --> 7\n6 --> 7\n```\n", "trsID": "#workflow/github.com/iwc-workflows/Purge-duplicate-contigs-VGP6/main" } ], @@ -88568,7 +88646,9 @@ "uuid": "aa4960d9-198d-4990-a393-a98efcd3070a", "version": 3 }, + "readme": null, "changelog": "# Changelog\n\n## [0.3] 2024-08-26\n\n- Changed the regex to only change the sequences. The workflow is now more robust to different (non VGP) scaffold names and VGP names with prefixes. \n- Reduce the number of steps in the workflow. \n\n## [0.2] 2024-08-15\n\n- Bug Fix: a missing regex caused the list of contaminants to empty out and the contaminants were not removed. \n\n## [0.1.6] 2024-06-10\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/kraken2/kraken2/2.1.3+galaxy1`\n\n## [0.1.5] 2024-04-01\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.14.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.14.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.14.1+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.14.1+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/1.1.4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n\n\n## [0.1.4] 2024-03-11\n\n- Fix regex that was causing the headers to change. \n\n\n## [0.1.3] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1.2] 2023-11-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.14.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.14.1+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.14.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.14.1+galaxy1`\n\n## [0.1.1] 2023-11-09\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.10.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.14.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.10.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.14.1+galaxy0`\n\n## [0.1] - 2023-11-07\n\n- Creation of workflow for Assembly decontamination\n", + "diagrams": "# Workflow diagrams\n\n## Assembly-decontamination-VGP9\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Scaffolded assembly (fasta)\"]@{ shape: doc }\n1[\"\u2139\ufe0f Database for Kraken2\"]@{ shape: lean-l }\n2[\"soft-masking \"]@{ shape: process }\n0 --> 2\n3[\"hard-masking\"]@{ shape: process }\n2 --> 3\n4[\"ID non-target contaminants\"]@{ shape: process }\n1 --> 4\n3 --> 4\n5[\"blast mitochondria DB\"]@{ shape: process }\n3 --> 5\n6[\"Cut\"]@{ shape: process }\n4 --> 6\n7[\"parsing blast output\"]@{ shape: process }\n5 --> 7\n8[\"Filter\"]@{ shape: process }\n6 --> 8\n9[\"Cut\"]@{ shape: process }\n8 --> 9\n10[\"concatenate scaffold lists\"]@{ shape: process }\n7 --> 10\n9 --> 10\n11[\"removing scaffolds \"]@{ shape: process }\n0 --> 11\n10 --> 11\n```\n", "trsID": "#workflow/github.com/iwc-workflows/Assembly-decontamination-VGP9/main", "tests": [ { @@ -92188,6 +92268,7 @@ }, "readme": "## Contiging Solo:\n\nGenerate assembly based on PacBio Hifi Reads.\n\n\n### Inputs\n\n\n1. Hifi long reads [fastq]\n2. K-mer database [meryldb]\n3. Genome profile summary generated by Genomescope [txt]\n4. Homozygous Read Coverage. Optional, use if you think the estimation from Genomescope is inacurate. \n5. Genomescope Model Parameters generated by Genomescope [tabular]\n6. Database for busco lineage (recommended: latest)\n7. Busco lineage (recommended: vertebrata)\n8. Name of first assembly\n9. Name of second assembly\n\n\n### Outputs\n\n1. Primary assembly\n2. Alternate assembly\n3. QC: Bandage image for the raw unitigs\n4. QC: BUSCO report for both assemblies\n5. QC: Merqury report for both assemblies\n6. QC: Assembly statistics for both assemblies\n7. QC: Nx plot for both assemblies\n8. QC: Size plot for both assemblie\n", "changelog": "# Changelog\n\n## [0.2.2] 2024-10-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.7.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy2`\n\n## [0.2.1] 2024-08-13\n\n- Expose Busco lineage database parameter\n\n## [0.2] 2024-08-01\n\n### Added\n\n- Add bandage image\n- Add workflow report\n\n### Changed\n\n- Fix bug in merging assembly statistics\n\n## [0.1.8] 2024-07-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n\n## [0.1.7] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.9+galaxy0`\n\n## [0.1.6] 2024-05-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.1.0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0`\n\n\n## [0.1.5] 2024-04-23\n\n### Changed\n\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n\n## [0.1.4] 2024-04-19\n\n### Manual Updates\n\n- Add Homozygous Read coverage parameter and calculation\n- Expose Lineage parameter\n\n### Automatic update\n\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy4`\n\n## [0.1.3] 2024-03-25\n\n### Manual Updates\n- Add Gff outputs to Busco\n- Add histogram outputs to Merqury\n- Add labels to subworkflows\n\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1`\n\n\n## [0.1.2] 2023-11-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.16.1+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n\n## [0.1.1] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1] - 2023-09-26\n\nAddition of the workflow to the iwc repository.\n", + "diagrams": "# Workflow diagrams\n\n## Assembly-Hifi-only-VGP3\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Pacbio Reads Collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f Meryl Database\"]@{ shape: doc }\n2[\"\u2139\ufe0f Genomescope Summary\"]@{ shape: doc }\n3[\"\u2139\ufe0f Bits for Hifiasm bloom filter\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Homozygous Read Coverage\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f Genomescope Model Parameters\"]@{ shape: doc }\n6[\"\u2139\ufe0f Database for Busco Lineage\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f Lineage\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f SAK input file (Optional)\"]@{ shape: doc }\n9[\"\u2139\ufe0f Name of primary assembly\"]@{ shape: lean-l }\n10[\"\u2139\ufe0f Name of alternate assembly\"]@{ shape: lean-l }\n11[\"Cutadapt\"]@{ shape: process }\n0 --> 11\n12[\"Search in textfiles\"]@{ shape: process }\n2 --> 12\n13[\"Pick parameter value\"]@{ shape: process }\n3 --> 13\n14[\"Compute\"]@{ shape: process }\n5 --> 14\n15[\"MultiQC\"]@{ shape: process }\n11 --> 15\n16[\"Replace Text\"]@{ shape: process }\n12 --> 16\n17[\"Cut\"]@{ shape: process }\n14 --> 17\n18[\"Convert\"]@{ shape: process }\n16 --> 18\n19[\"Parse parameter value\"]@{ shape: process }\n17 --> 19\n20[\"Cut\"]@{ shape: process }\n18 --> 20\n21[\"Homozygous read coverage for Hifiasm\"]@{ shape: process }\n4 --> 21\n19 --> 21\n22[\"Estimated genome size\"]@{ shape: process }\n20 --> 22\n23[\"Hifiasm\"]@{ shape: process }\n21 --> 23\n13 --> 23\n11 --> 23\n24[\"Raw Unitig Image\"]@{ shape: process }\n23 --> 24\n25[\"gfastats\"]@{ shape: process }\n23 --> 25\n8 --> 25\n26[\"gfastats\"]@{ shape: process }\n23 --> 26\n8 --> 26\n27[\"gfastats\"]@{ shape: process }\n23 --> 27\n8 --> 27\n28[\"gfastats\"]@{ shape: process }\n23 --> 28\n8 --> 28\n29[\"gfastats\"]@{ shape: process }\n23 --> 29\n22 --> 29\n30[\"gfastats\"]@{ shape: process }\n23 --> 30\n22 --> 30\n31[\"gfastats\"]@{ shape: process }\n23 --> 31\n32[\"gfastats\"]@{ shape: process }\n23 --> 32\n33[\"Busco\"]@{ shape: process }\n27 --> 33\n6 --> 33\n7 --> 33\n34[\"Merqury\"]@{ shape: process }\n27 --> 34\n28 --> 34\n1 --> 34\n35[\"Text reformatting\"]@{ shape: process }\n29 --> 35\n36[\"Text reformatting\"]@{ shape: process }\n30 --> 36\n37[\"\ud83d\udee0\ufe0f Data Prep Primary\"]@{ shape: subprocess }\n31 --> 37\n38[\"\ud83d\udee0\ufe0f Data Prep Alternate\"]@{ shape: subprocess }\n32 --> 38\n39[\"merqury_qv\"]@{ shape: process }\n34 --> 39\n40[\"output_merqury.spectra-cn.fl\"]@{ shape: process }\n34 --> 40\n41[\"output_merqury.spectra-asm.fl\"]@{ shape: process }\n34 --> 41\n42[\"output_merqury.assembly_01.spectra-cn.fl\"]@{ shape: process }\n34 --> 42\n43[\"merqury_stats\"]@{ shape: process }\n34 --> 43\n44[\"Join two Datasets\"]@{ shape: process }\n35 --> 44\n36 --> 44\n45[\"\ud83d\udee0\ufe0f Plotting Nx and Sizes\"]@{ shape: subprocess }\n38 --> 45\n10 --> 45\n9 --> 45\n37 --> 45\n46[\"Advanced Cut\"]@{ shape: process }\n44 --> 46\n47[\"Replace\"]@{ shape: process }\n46 --> 47\n```\n\n## gfastats_plot\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Primary data\"]@{ shape: doc }\n1[\"\u2139\ufe0f Alternate data\"]@{ shape: doc }\n2[\"\u2139\ufe0f Name of primary assembly\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Name of alternate assembly\"]@{ shape: lean-l }\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n0 --> 4\n5[\"Add column\"]@{ shape: process }\n3 --> 5\n1 --> 5\n6[\"Concatenate datasets\"]@{ shape: process }\n4 --> 6\n5 --> 6\n7[\"Cut\"]@{ shape: process }\n6 --> 7\n8[\"Cut\"]@{ shape: process }\n6 --> 8\n9[\"Nx Plot\"]@{ shape: process }\n7 --> 9\n10[\"Size Plot\"]@{ shape: process }\n8 --> 10\n```\n\n## gfastats_data_prep\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f gfa_stats\"]@{ shape: doc }\n1[\"Sort\"]@{ shape: process }\n0 --> 1\n2[\"Text reformatting\"]@{ shape: process }\n1 --> 2\n3[\"Datamash\"]@{ shape: process }\n2 --> 3\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n5[\"Parse parameter value\"]@{ shape: process }\n3 --> 5\n6[\"Compose text parameter value\"]@{ shape: process }\n5 --> 6\n7[\"Compute\"]@{ shape: process }\n4 --> 7\n6 --> 7\n```\n", "trsID": "#workflow/github.com/iwc-workflows/Assembly-Hifi-only-VGP3/main", "tests": [ { @@ -93328,6 +93409,7 @@ }, "readme": "# VGP Workflow #1\n\nThis workflow collects the metrics on the properties of the genome under consideration by analyzing the *k*-mer frequencies. It provides information about the genomic complexity, such as the genome size and levels of heterozygosity and repeat content, as well about the data quality. It uses reads from two parental genomes to partition long reads from the offspring into haplotype-specific *k*-mer databases.\n\n### Inputs\n\n- Collection of Hifi long reads [fastq] (Collection)\n- Paternal short-read Illumina sequencing reads [fastq] (Collection)\n- Maternal short-read Illumina sequencing reads [fastq] (Collection)\n- *k*-mer length\n- Ploidy\n\n### Outputs\n\n- Meryl databases of k-mer counts\n - Child\n - Paternal haplotype\n - Maternal haplotype\n- GenomeScope metrics for child and the two parental genomes (three GenomeScope profiles in total)\n - Linear plot\n - Log plot\n - Transformed linear plot\n - Transformed log plot\n - Summary\n - Model\n - Model parameteres\n \n ![image](https://github.com/galaxyproject/iwc/assets/4291636/35282f8e-d021-44f6-8e03-7b58b32d6d00)\n", "changelog": "# Changelog\n\n## [0.1.4] 2024-08-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0`\n\n## [0.1.3] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1.2] 2023-11-09\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0+galaxy2`\n\n## [0.1] - 2023-10-30\n\n### Added\n- Clearer labels\n\n### Removed\n- Interlacing step that was unneccessary\n- Requirement for paired list inputs for the Illumina parental reads. A dataset collection list is sufficient now.\n- Unnecessary workflow intputs\n\n## [0.1] - 2021-08-26\n### Added\n- First version of the workflow. \n", + "diagrams": "# Workflow diagrams\n\n## kmer-profiling-hifi-trio-VGP2\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Pacbio Hifi reads\"]@{ shape: docs }\n1[\"\u2139\ufe0f Paternal reads\"]@{ shape: docs }\n2[\"\u2139\ufe0f Maternal reads\"]@{ shape: docs }\n3[\"\u2139\ufe0f K-mer length\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Ploidy\"]@{ shape: lean-l }\n5[\"Meryl\"]@{ shape: process }\n1 --> 5\n3 --> 5\n6[\"Meryl\"]@{ shape: process }\n0 --> 6\n2 --> 6\n3 --> 6\n1 --> 6\n7[\"Meryl\"]@{ shape: process }\n2 --> 7\n3 --> 7\n8[\"Meryl\"]@{ shape: process }\n5 --> 8\n9[\"GenomeScope\"]@{ shape: process }\n6 --> 9\n3 --> 9\n4 --> 9\n10[\"Meryl\"]@{ shape: process }\n7 --> 10\n11[\"Meryl\"]@{ shape: process }\n8 --> 11\n12[\"Meryl\"]@{ shape: process }\n10 --> 12\n13[\"Genomescope on paternal haplotype\"]@{ shape: process }\n11 --> 13\n3 --> 13\n4 --> 13\n14[\"Genomescope on maternal haplotype\"]@{ shape: process }\n12 --> 14\n3 --> 14\n4 --> 14\n```\n", "trsID": "#workflow/github.com/iwc-workflows/kmer-profiling-hifi-trio-VGP2/main", "tests": [ { @@ -94618,6 +94700,7 @@ }, "readme": "# Scaffolding with Bionano\n\nScaffolding using Bionano optical map data\n\n## Inputs\n\n1. Bionano data [cmap]\n2. Estimated genome size [txt]\n3. Phased assembly generated by Hifiasm [gfa1]\n\n## Outputs\n\n1. Scaffolds\n2. Non-scaffolded contigs\n3. QC: Assembly statistics\n4. QC: Nx plot\n5. QC: Size plot", "changelog": "# Changelog\n\n## [0.1.4] 2024-08-13\n\n- Addition of workflow report\n\n## [0.1.3] 2024-04-01\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n\n## [0.1.2] 2024-03-04\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n\n## [0.1.1] 2023-11-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/bionano_scaffold/bionano_scaffold/3.7.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/bionano_scaffold/bionano_scaffold/3.7.0+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n## [0.1] - 2023-11-01\n\nAddition of the workflow to the iwc repository.\n", + "diagrams": "# Workflow diagrams\n\n## Scaffolding-BioNano-VGP7\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Bionano Data\"]@{ shape: doc }\n1[\"\u2139\ufe0f Estimated genome size - Parameter File\"]@{ shape: doc }\n2[\"\u2139\ufe0f Input GFA\"]@{ shape: doc }\n3[\"\u2139\ufe0f Conflict resolution files\"]@{ shape: doc }\n4[\"Parse parameter value\"]@{ shape: process }\n1 --> 4\n5[\"gfastats\"]@{ shape: process }\n2 --> 5\n6[\"Bionano Hybrid Scaffold\"]@{ shape: process }\n0 --> 6\n3 --> 6\n5 --> 6\n7[\"gfastats\"]@{ shape: process }\n2 --> 7\n6 --> 7\n8[\"gfastats\"]@{ shape: process }\n7 --> 8\n9[\"gfastats\"]@{ shape: process }\n7 --> 9\n4 --> 9\n10[\"gfastats\"]@{ shape: process }\n7 --> 10\n11[\"Replace\"]@{ shape: process }\n9 --> 11\n12[\"\ud83d\udee0\ufe0f gfastats_data_prep\"]@{ shape: subprocess }\n10 --> 12\n13[\"Cut\"]@{ shape: process }\n12 --> 13\n14[\"Cut\"]@{ shape: process }\n12 --> 14\n15[\"Scatterplot with ggplot2\"]@{ shape: process }\n13 --> 15\n16[\"Scatterplot with ggplot2\"]@{ shape: process }\n14 --> 16\n```\n\n## gfastats_data_prep\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f gfa_stats\"]@{ shape: doc }\n1[\"Sort\"]@{ shape: process }\n0 --> 1\n2[\"Text reformatting\"]@{ shape: process }\n1 --> 2\n3[\"Datamash\"]@{ shape: process }\n2 --> 3\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n5[\"Parse parameter value\"]@{ shape: process }\n3 --> 5\n6[\"Compose text parameter value\"]@{ shape: process }\n5 --> 6\n7[\"Compute\"]@{ shape: process }\n4 --> 7\n6 --> 7\n```\n", "trsID": "#workflow/github.com/iwc-workflows/Scaffolding-Bionano-VGP7/main", "tests": [ { @@ -98629,6 +98712,7 @@ }, "readme": "# Assembly with Hifi reads and Trio Data\n\nGenerate phased assembly based on PacBio Hifi Reads using parental Illumina data for phasing\n\n## Inputs\n\n1. Hifi long reads [fastq]\n2. Concatenated Illumina reads : Paternal [fastq]\n3. Concatenated Illumina reads : Maternal [fastq]\n4. K-mer database [meryldb]\n5. Paternal hapmer database [meryldb]\n6. Maternal hapmer database [meryldb]\n7. Genome profile summary generated by Genomescope [txt]\n8. Genome model parameters generated by Genomescope [tabular]\n9. Homozygous read coverage (Estimated from the Genomescope model if not provided)\n10. Lineage of the species being assembled\n11. Bloom Filter\n12. Name of first haplotype\n13. Name of second haplotype\n\n## Outputs\n\n1. Haplotype 1 assembly\n2. Haplotype 2 assembly\n3. QC: BUSCO report for both assemblies\n4. Merqury report for both assemblies\n5. Assembly statistics for both assemblies\n6. Nx Plot for both assemblies\n7. Size plot for both assemblies\n\n\n", "changelog": "# Changelog\n\n## [0.3] 2024-11-11\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.20.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.6+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.5.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.8.0+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.3+galaxy2`\n\n## [0.2] 2024-08-12\n\n### Added\n\n- Workflow report\n\n### Changed \n\n- Expose the Busco lineage database parameter\n- Fix a bug happening when merging assembly statistics : The presence of the '#' character caused the tables to join incorrectly, and the numbers did not match the metrics\n\n## [0.1.8] 2024-07-22\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n\n## [0.1.7] 2024-07-15\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.9+galaxy0`\n\n## [0.1.6] 2024-05-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n\n## [0.1.5] 2024-05-06\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1`\n\n## [0.1.4] 2024-04-22\n\n### Added\n\n- Add Homozygous Read coverage parameter and calculation\n- Expose Lineage parameter\n\n### Automatic update\n\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy4`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n\n## [0.1.3] 2024-03-25\n\n### Manual update\n\n- Add gff output to Busco\n- Add histogram output to Merqury\n- Label subworkflows\n\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1`\n\n## [0.1.2] 2023-11-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.16.1+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n## [0.1.1] 2023-11-20\n\n- Fix author in dockstore\n\n\n## [0.1] - 2023-09-27\n\nCreation of workflow for Trio assembly. \n\n", + "diagrams": "# Workflow diagrams\n\n## Assembly-Hifi-Trio-phasing-VGP5\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Pacbio Reads Collection : child\"]@{ shape: docs }\n1[\"\u2139\ufe0f Paternal Illumina reads (hap1)\"]@{ shape: docs }\n2[\"\u2139\ufe0f Maternal Illumina reads (hap2)\"]@{ shape: docs }\n3[\"\u2139\ufe0f Meryl Database : Child\"]@{ shape: doc }\n4[\"\u2139\ufe0f Hapmer Database : Paternal\"]@{ shape: doc }\n5[\"\u2139\ufe0f Hapmer Database : Maternal\"]@{ shape: doc }\n6[\"\u2139\ufe0f Bits for bloom filter\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f Database for Busco Lineage\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f Lineage\"]@{ shape: lean-l }\n9[\"\u2139\ufe0f Homozygous Read Coverage\"]@{ shape: lean-l }\n10[\"\u2139\ufe0f Genomescope Model Parameters\"]@{ shape: doc }\n11[\"\u2139\ufe0f Genomescope Summary\"]@{ shape: doc }\n12[\"\u2139\ufe0f Utilize homology information to correct trio-phasing errors\"]@{ shape: lean-l }\n13[\"\u2139\ufe0f SAK input file (Optional)\"]@{ shape: doc }\n14[\"\u2139\ufe0f Name for Haplotype 1\"]@{ shape: lean-l }\n15[\"\u2139\ufe0f Name for Haplotype 2\"]@{ shape: lean-l }\n16[\"Cutadapt\"]@{ shape: process }\n0 --> 16\n17[\"Pick parameter value\"]@{ shape: process }\n6 --> 17\n18[\"Compute\"]@{ shape: process }\n10 --> 18\n19[\"Search in textfiles\"]@{ shape: process }\n11 --> 19\n20[\"Pick parameter value\"]@{ shape: process }\n12 --> 20\n21[\"MultiQC\"]@{ shape: process }\n16 --> 21\n22[\"Cut\"]@{ shape: process }\n18 --> 22\n23[\"Replace Text\"]@{ shape: process }\n19 --> 23\n24[\"Parse parameter value\"]@{ shape: process }\n22 --> 24\n25[\"Convert\"]@{ shape: process }\n23 --> 25\n26[\"Homozygous read coverage for Hifiasm\"]@{ shape: process }\n9 --> 26\n24 --> 26\n27[\"Cut\"]@{ shape: process }\n25 --> 27\n28[\"Hifiasm\"]@{ shape: process }\n26 --> 28\n17 --> 28\n16 --> 28\n20 --> 28\n1 --> 28\n2 --> 28\n29[\"Estimated genome size\"]@{ shape: process }\n27 --> 29\n30[\"gfastats\"]@{ shape: process }\n28 --> 30\n13 --> 30\n31[\"gfastats\"]@{ shape: process }\n28 --> 31\n13 --> 31\n32[\"Raw Unitig Image\"]@{ shape: process }\n28 --> 32\n33[\"gfastats\"]@{ shape: process }\n28 --> 33\n13 --> 33\n34[\"gfastats\"]@{ shape: process }\n28 --> 34\n13 --> 34\n35[\"gfastats\"]@{ shape: process }\n28 --> 35\n36[\"gfastats\"]@{ shape: process }\n28 --> 36\n37[\"gfastats\"]@{ shape: process }\n28 --> 37\n29 --> 37\n38[\"gfastats\"]@{ shape: process }\n28 --> 38\n29 --> 38\n39[\"Busco\"]@{ shape: process }\n33 --> 39\n7 --> 39\n8 --> 39\n40[\"Busco\"]@{ shape: process }\n34 --> 40\n7 --> 40\n8 --> 40\n41[\"Merqury\"]@{ shape: process }\n33 --> 41\n34 --> 41\n3 --> 41\n5 --> 41\n4 --> 41\n42[\"\ud83d\udee0\ufe0f Data prep Hap1\"]@{ shape: subprocess }\n35 --> 42\n43[\"\ud83d\udee0\ufe0f Data Prep Hap2\"]@{ shape: subprocess }\n36 --> 43\n44[\"Text reformatting\"]@{ shape: process }\n37 --> 44\n45[\"Text reformatting\"]@{ shape: process }\n38 --> 45\n46[\"merqury_qv\"]@{ shape: process }\n41 --> 46\n47[\"output_merqury.spectra-cn.fl\"]@{ shape: process }\n41 --> 47\n48[\"output_merqury.spectra-asm.fl\"]@{ shape: process }\n41 --> 48\n49[\"output_merqury.assembly_01.spectra-cn.fl\"]@{ shape: process }\n41 --> 49\n50[\"output_merqury.assembly_02.spectra-cn.fl\"]@{ shape: process }\n41 --> 50\n51[\"merqury_stats\"]@{ shape: process }\n41 --> 51\n52[\"\ud83d\udee0\ufe0f Plots\"]@{ shape: subprocess }\n43 --> 52\n15 --> 52\n14 --> 52\n42 --> 52\n53[\"Join two Datasets\"]@{ shape: process }\n45 --> 53\n44 --> 53\n54[\"Advanced Cut\"]@{ shape: process }\n53 --> 54\n55[\"Replace\"]@{ shape: process }\n54 --> 55\n```\n\n## gfastats_plot\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Primary data\"]@{ shape: doc }\n1[\"\u2139\ufe0f Alternate data\"]@{ shape: doc }\n2[\"\u2139\ufe0f Name of primary assembly\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Name of alternate assembly\"]@{ shape: lean-l }\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n0 --> 4\n5[\"Add column\"]@{ shape: process }\n3 --> 5\n1 --> 5\n6[\"Concatenate datasets\"]@{ shape: process }\n4 --> 6\n5 --> 6\n7[\"Cut\"]@{ shape: process }\n6 --> 7\n8[\"Cut\"]@{ shape: process }\n6 --> 8\n9[\"Nx Plot\"]@{ shape: process }\n7 --> 9\n10[\"Size Plot\"]@{ shape: process }\n8 --> 10\n```\n\n## gfastats_data_prep\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f gfa_stats\"]@{ shape: doc }\n1[\"Sort\"]@{ shape: process }\n0 --> 1\n2[\"Text reformatting\"]@{ shape: process }\n1 --> 2\n3[\"Datamash\"]@{ shape: process }\n2 --> 3\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n5[\"Parse parameter value\"]@{ shape: process }\n3 --> 5\n6[\"Compose text parameter value\"]@{ shape: process }\n5 --> 6\n7[\"Compute\"]@{ shape: process }\n4 --> 7\n6 --> 7\n```\n", "trsID": "#workflow/github.com/iwc-workflows/Assembly-Hifi-Trio-phasing-VGP5/main", "tests": [ { @@ -99188,6 +99272,7 @@ }, "readme": "# VGP Workflow #1\n\nThis workflow produces a Meryl database and Genomescope outputs that will be used to determine parameters for following workflows, and assess the quality of genome assemblies. Specifically, it provides information about the genomic complexity, such as the genome size and levels of heterozygosity and repeat content, as well about the data quality.\n\n### Inputs\n\n- A collection of Hifi long reads in FASTQ format\n- *k*-mer length\n- Ploidy\n\n### Outputs\n\n- Meryl Database of kmer counts\n- GenomeScope\n - Linear plot\n - Log plot\n - Transformed linear plot\n - Transformed log plot\n - Summary\n - Model\n - Model parameteres\n\n ![image](https://github.com/galaxyproject/iwc/assets/4291636/565238fc-f8a9-46ac-8b31-6276410fa436)\n", "changelog": "# Changelog\n\n## [0.1.7] 2024-08-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0.1+galaxy0`\n\n## [0.1.6] 2024-07-12\n\n- Add workflow report\n\n## [0.1.5] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1.4] 2023-11-15\n\n### Added\n\n- more descriptive labels for inputs\n\n## [0.1.3] 2023-11-09\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.0+galaxy2`\n\n## [0.1.2] - 2023-11-07\n### Changed\n- Added tag filtering for inputs\n\n## [0.1.1] - 2023-10-30\n### Changed\n- Names of the workflow and viles for consistency with other VGP workflows\n- Labels and tags for user readability\n \n## [0.1] - 2021-08-26\n### Added\n- First version of the workflow. \n", + "diagrams": "# Workflow diagrams\n\n## kmer-profiling-hifi-VGP1\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Collection of Pacbio Data\"]@{ shape: docs }\n1[\"\u2139\ufe0f K-mer length \"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Ploidy\"]@{ shape: lean-l }\n3[\"Meryl\"]@{ shape: process }\n0 --> 3\n1 --> 3\n4[\"Meryl\"]@{ shape: process }\n3 --> 4\n5[\"Meryl\"]@{ shape: process }\n4 --> 5\n6[\"GenomeScope\"]@{ shape: process }\n5 --> 6\n1 --> 6\n2 --> 6\n```\n", "trsID": "#workflow/github.com/iwc-workflows/kmer-profiling-hifi-VGP1/main", "tests": [ { @@ -103167,6 +103252,7 @@ }, "readme": "# Contiging Solo w/HiC:\n\nGenerate phased assembly based on PacBio Hifi Reads using HiC data from the same individual for phasing.\n\n## Inputs\n\n1. Hifi long reads [fastq]\n2. HiC forward reads (if multiple input files, concatenated in same order as reverse reads) [fastq]\n3. HiC reverse reads (if multiple input files, concatenated in same order as forward reads) [fastq]\n4. K-mer database [meryldb]\n5. Genome profile summary generated by Genomescope [txt]\n6. Name of first assembly\n7. Name of second assembly\n\n## Outputs\n\n1. Haplotype 1 assembly ([fasta] and [gfa])\n2. Haplotype 2 assembly ([fasta] and [gfa])\n3. QC: BUSCO report for both assemblies\n4. QC: Merqury report for both assemblies\n5. QC: Assembly statistics for both assemblies\n6. QC: Nx plot for both assemblies\n7. QC: Size plot for both assemblies", "changelog": "# Changelog\n\n## [0.2.2] 2024-08-07\n\n- Expose parameter: Busco lineage database\n\n## [0.2.1] 2024-07-29\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.9+galaxy0`\n\n## [0.2] 2024-07-12\n\n### Added \n\n- Workflow report\n\n### Changed\n\n- Fix bug where the columns of the assembly statistics didn't join properly. \n \n\n## [0.1.11] 2024-05-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy1`\n\n\n\n## [0.1.10] 2024-04-23\n\n### Changed\n\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.8+galaxy0`\n\n\n## [0.1.9] 2024-04-19\n\n### Manual Updates\n\n- Add the option to provide Homozygous Read coverage parameter\n\n### Automatic update\n\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy4`\n\n\n## [0.1.8] 2024-03-25\n\n### Manual update\n\n- Remove tag filtering\n- Add merqury histogram output\n- Add output for cutadapt\n- Output Gff files in Busco \n\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/0.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.7+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy1`\n\n## [0.1.7] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.1.5] 2023-11-15\n\n### Added\n\n- more descriptive labels for inputs\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.5.0+galaxy0`\n\n## [0.1.4] 2023-11-08\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.0+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/4.4+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.16.1+galaxy4` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.19.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy3`\n- `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0` was updated to `toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n## [0.1.3] - 2023-11-08\n\n- Added tags `hifiasm_Assembly_Haplotype_1` and `hifiasm_Assembly_Haplotype_2` to fasta outputs of hifiasm, so they can be easily identified for feeding to purge_dups workflow\n- Made BUSCO lineages selectable from workflow launch interface\n\n## [0.1.2] - 2023-11-07\n\n- Added input filtering based on tags. Rearranged input ordering.\n\n## [0.1] - 2023-09-27\n\n- Creation of workflow for HiFi assembly with Hi-C phasing.\n", + "diagrams": "# Workflow diagrams\n\n## Assembly-Hifi-HiC-phasing-VGP4\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Pacbio Reads Collection\"]@{ shape: docs }\n1[\"\u2139\ufe0f HiC forward reads\"]@{ shape: doc }\n2[\"\u2139\ufe0f HiC reverse reads\"]@{ shape: doc }\n3[\"\u2139\ufe0f Genomescope Summary\"]@{ shape: doc }\n4[\"\u2139\ufe0f Meryl Database\"]@{ shape: doc }\n5[\"\u2139\ufe0f Database for Busco Lineage\"]@{ shape: lean-l }\n6[\"\u2139\ufe0f Lineage\"]@{ shape: lean-l }\n7[\"\u2139\ufe0f Name for Haplotype 1\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f Name for Haplotype 2\"]@{ shape: lean-l }\n9[\"\u2139\ufe0f Bits for bloom filter\"]@{ shape: lean-l }\n10[\"\u2139\ufe0f SAK input file\"]@{ shape: doc }\n11[\"\u2139\ufe0f Homozygous Read Coverage\"]@{ shape: lean-l }\n12[\"\u2139\ufe0f Genomescope Model Parameters\"]@{ shape: doc }\n13[\"Cutadapt\"]@{ shape: process }\n0 --> 13\n14[\"Search in textfiles\"]@{ shape: process }\n3 --> 14\n15[\"Compute\"]@{ shape: process }\n12 --> 15\n16[\"MultiQC\"]@{ shape: process }\n13 --> 16\n17[\"Replace Text\"]@{ shape: process }\n14 --> 17\n18[\"Cut\"]@{ shape: process }\n15 --> 18\n19[\"Convert\"]@{ shape: process }\n17 --> 19\n20[\"Estimated homozygous read coverage\"]@{ shape: process }\n18 --> 20\n21[\"Cut\"]@{ shape: process }\n19 --> 21\n22[\"Homozygous read coverage for Hifiasm\"]@{ shape: process }\n11 --> 22\n20 --> 22\n23[\"Estimated genome size\"]@{ shape: process }\n21 --> 23\n24[\"Hifiasm\"]@{ shape: process }\n22 --> 24\n9 --> 24\n1 --> 24\n2 --> 24\n13 --> 24\n25[\"Raw Unitig Image\"]@{ shape: process }\n24 --> 25\n26[\"gfastats\"]@{ shape: process }\n24 --> 26\n23 --> 26\n27[\"gfastats\"]@{ shape: process }\n24 --> 27\n23 --> 27\n28[\"gfastats\"]@{ shape: process }\n24 --> 28\n29[\"gfastats\"]@{ shape: process }\n24 --> 29\n30[\"gfastats\"]@{ shape: process }\n24 --> 30\n31[\"gfastats\"]@{ shape: process }\n24 --> 31\n32[\"gfastats\"]@{ shape: process }\n24 --> 32\n10 --> 32\n33[\"gfastats\"]@{ shape: process }\n24 --> 33\n10 --> 33\n34[\"Text reformatting\"]@{ shape: process }\n26 --> 34\n35[\"Text reformatting\"]@{ shape: process }\n27 --> 35\n36[\"\ud83d\udee0\ufe0f Data Prep Hap2\"]@{ shape: subprocess }\n28 --> 36\n37[\"\ud83d\udee0\ufe0f Data Prep Hap1\"]@{ shape: subprocess }\n30 --> 37\n38[\"Text transformation\"]@{ shape: process }\n32 --> 38\n39[\"Text transformation\"]@{ shape: process }\n33 --> 39\n40[\"Join two Datasets\"]@{ shape: process }\n35 --> 40\n34 --> 40\n41[\"\ud83d\udee0\ufe0f Plot Data\"]@{ shape: subprocess }\n36 --> 41\n8 --> 41\n7 --> 41\n37 --> 41\n42[\"Busco\"]@{ shape: process }\n38 --> 42\n5 --> 42\n6 --> 42\n43[\"Merqury\"]@{ shape: process }\n39 --> 43\n38 --> 43\n4 --> 43\n44[\"Busco\"]@{ shape: process }\n39 --> 44\n5 --> 44\n6 --> 44\n45[\"Advanced Cut\"]@{ shape: process }\n40 --> 45\n46[\"output_merqury.spectra-cn.fl\"]@{ shape: process }\n43 --> 46\n47[\"output_merqury.spectra-asm.fl\"]@{ shape: process }\n43 --> 47\n48[\"merqury_qv\"]@{ shape: process }\n43 --> 48\n49[\"output_merqury.assembly_01.spectra-cn.fl\"]@{ shape: process }\n43 --> 49\n50[\"merqury_stats\"]@{ shape: process }\n43 --> 50\n51[\"output_merqury.assembly_02.spectra-cn.fl\"]@{ shape: process }\n43 --> 51\n52[\"Replace\"]@{ shape: process }\n45 --> 52\n```\n\n## gfastats_plot\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Primary data\"]@{ shape: doc }\n1[\"\u2139\ufe0f Alternate data\"]@{ shape: doc }\n2[\"\u2139\ufe0f Name of primary assembly\"]@{ shape: lean-l }\n3[\"\u2139\ufe0f Name of alternate assembly\"]@{ shape: lean-l }\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n0 --> 4\n5[\"Add column\"]@{ shape: process }\n3 --> 5\n1 --> 5\n6[\"Concatenate datasets\"]@{ shape: process }\n4 --> 6\n5 --> 6\n7[\"Cut\"]@{ shape: process }\n6 --> 7\n8[\"Cut\"]@{ shape: process }\n6 --> 8\n9[\"Nx Plot\"]@{ shape: process }\n7 --> 9\n10[\"Size Plot\"]@{ shape: process }\n8 --> 10\n```\n\n## gfastats_data_prep\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f gfa_stats\"]@{ shape: doc }\n1[\"Sort\"]@{ shape: process }\n0 --> 1\n2[\"Text reformatting\"]@{ shape: process }\n1 --> 2\n3[\"Datamash\"]@{ shape: process }\n2 --> 3\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n5[\"Parse parameter value\"]@{ shape: process }\n3 --> 5\n6[\"Compose text parameter value\"]@{ shape: process }\n5 --> 6\n7[\"Compute\"]@{ shape: process }\n4 --> 7\n6 --> 7\n```\n", "trsID": "#workflow/github.com/iwc-workflows/Assembly-Hifi-HiC-phasing-VGP4/main", "tests": [ { @@ -105507,6 +105593,7 @@ }, "readme": "# Scaffolding with HiC data\n\nThis workflow perfoms scaffolding using HiC data with YAHS. It is designed to be run as part of one the VGP analysis trajectories. \nExample of trajectory : \n- VGP1 : Kmer profiling \n- VGP4 : Genome assembly with HiC phasing\n- VGP6 : Purge duplicated haplotigs\n- VGP8 : Scaffolding with HiC\n\n## Inputs\n\n1. Scaffolded assembly [fasta]\n2. Database for busco lineage (recommended: latest)\n3. Busco lineage (recommended: vertebrata)\n4. Concatenated HiC forward reads [fastq]\n5. Concatenated HiC reverse reads [fastq]\n6. Restriction enzyme sequence (recommended for VGP data: Arima Hi-C 2.0)\n7. Estimated genome size [txt]\n8. Haplotype name \n\n\n### Outputs\n\n1. Scaffolds in [fasta] and [gfa] format\n2. QC: Assembly statistics\n3. QC: Nx plot\n4. QC: Size plot\n5. QC: BUSCO report\n6. QC: Pretext Maps before and after scaffolding", "changelog": "# Changelog\n\n\n## [0.2.8] 2024-09-12\n\n- Add suffix to the scaffold names corresponding to the haplotype being assembled\n\n## [0.2.7] 2024-08-13\n\n- Expose Busco lineage database parameter\n\n## [0.2.6] 2024-08-05\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/yahs/yahs/1.2a.2+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/yahs/yahs/1.2a.2+galaxy2`\n\n## [0.2.5] 2024-07-31\n\n- Addition of Workflow report\n\n## [0.2.4] 2024-05-20\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.30.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_bamtobed/2.31.1+galaxy0`\n\n## [0.2.3] 2024-04-01\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/9.3+galaxy1`\n\n## [0.2.2] 2024-02-05\n\n### Manual update\n\n- remove tag filtering\n- set \"Show grid\" of Pretext Snapshot to \"yes\"\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/pretext_map/pretext_map/0.1.9+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/pretext_map/pretext_map/0.1.9+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/pretext_snapshot/pretext_snapshot/0.0.3+galaxy1` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/pretext_snapshot/pretext_snapshot/0.0.3+galaxy2`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/1.1.2` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/1.1.1` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/9.3+galaxy0`\n\n\n## [0.2.1] 2023-11-20\n\n- Fix author in dockstore\n\n## [0.2] - 2023-11-15\n\n### Added\n\n- more descriptive labels for inputs\n\n## [0.1.2] 2023-11-14\n\n### Automatic update\n- `toolshed.g2.bx.psu.edu/repos/iuc/bwa_mem2/bwa_mem2/2.2.1+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bwa_mem2/bwa_mem2/2.2.1+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/bellerophon/bellerophon/1.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/bellerophon/bellerophon/1.0+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/yahs/yahs/1.2a.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/yahs/yahs/1.2a.2+galaxy1`\n- `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.3.2+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/busco/busco/5.4.6+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.1.0+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0`\n- `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_point/ggplot2_point/3.4.0+galaxy1`\n\n## [0.1.1] - 2023-10-26\n\nAdded tags for better visibility of outputs in the history, and exposure of the BUSCO lineage parameter\n\n## [0.1] - 2023-09-27\n\nCreation of the workflow and tests\n\n", + "diagrams": "# Workflow diagrams\n\n## Scaffolding with Hi-C data VGP8\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f Input GFA\"]@{ shape: doc }\n1[\"\u2139\ufe0f Haplotype\"]@{ shape: lean-l }\n2[\"\u2139\ufe0f Sequence graph\"]@{ shape: doc }\n3[\"\u2139\ufe0f Database for Busco Lineage\"]@{ shape: lean-l }\n4[\"\u2139\ufe0f Lineage\"]@{ shape: lean-l }\n5[\"\u2139\ufe0f HiC Forward reads\"]@{ shape: doc }\n6[\"\u2139\ufe0f HiC reverse reads\"]@{ shape: doc }\n7[\"\u2139\ufe0f Restriction enzymes\"]@{ shape: lean-l }\n8[\"\u2139\ufe0f Estimated genome size - Parameter File\"]@{ shape: doc }\n9[\"\u2139\ufe0f SAK input file\"]@{ shape: doc }\n10[\"Compose text parameter value\"]@{ shape: process }\n1 --> 10\n11[\"Parse parameter value\"]@{ shape: process }\n8 --> 11\n12[\"gfastats\"]@{ shape: process }\n0 --> 12\n9 --> 12\n13[\"BWA-MEM2\"]@{ shape: process }\n5 --> 13\n12 --> 13\n14[\"BWA-MEM2\"]@{ shape: process }\n6 --> 14\n12 --> 14\n15[\"Filter and merge\"]@{ shape: process }\n13 --> 15\n14 --> 15\n16[\"PretextMap\"]@{ shape: process }\n15 --> 16\n17[\"YAHS\"]@{ shape: process }\n2 --> 17\n15 --> 17\n7 --> 17\n12 --> 17\n18[\"Pretext Snapshot\"]@{ shape: process }\n16 --> 18\n19[\"Replace\"]@{ shape: process }\n10 --> 19\n17 --> 19\n20[\"Extract dataset\"]@{ shape: process }\n18 --> 20\n21[\"gfastats\"]@{ shape: process }\n12 --> 21\n19 --> 21\n22[\"gfastats\"]@{ shape: process }\n21 --> 22\n9 --> 22\n23[\"gfastats\"]@{ shape: process }\n21 --> 23\n11 --> 23\n24[\"gfastats\"]@{ shape: process }\n21 --> 24\n25[\"BWA-MEM2\"]@{ shape: process }\n5 --> 25\n22 --> 25\n26[\"BWA-MEM2\"]@{ shape: process }\n6 --> 26\n22 --> 26\n27[\"Busco\"]@{ shape: process }\n22 --> 27\n3 --> 27\n4 --> 27\n28[\"Replace\"]@{ shape: process }\n23 --> 28\n29[\"\ud83d\udee0\ufe0f gfastats_data_prep\"]@{ shape: subprocess }\n24 --> 29\n30[\"Filter and merge\"]@{ shape: process }\n25 --> 30\n26 --> 30\n31[\"Cut\"]@{ shape: process }\n29 --> 31\n32[\"Cut\"]@{ shape: process }\n29 --> 32\n33[\"PretextMap\"]@{ shape: process }\n30 --> 33\n34[\"bedtools BAM to BED\"]@{ shape: process }\n30 --> 34\n35[\"Nx Plot\"]@{ shape: process }\n31 --> 35\n36[\"Size Plot\"]@{ shape: process }\n32 --> 36\n37[\"Pretext Snapshot\"]@{ shape: process }\n33 --> 37\n38[\"Sort\"]@{ shape: process }\n34 --> 38\n39[\"Extract dataset\"]@{ shape: process }\n37 --> 39\n```\n\n## gfastats_data_prep\n\n```mermaid\ngraph LR\n0[\"\u2139\ufe0f gfa_stats\"]@{ shape: doc }\n1[\"Sort\"]@{ shape: process }\n0 --> 1\n2[\"Text reformatting\"]@{ shape: process }\n1 --> 2\n3[\"Datamash\"]@{ shape: process }\n2 --> 3\n4[\"Add column\"]@{ shape: process }\n2 --> 4\n5[\"Parse parameter value\"]@{ shape: process }\n3 --> 5\n6[\"Compose text parameter value\"]@{ shape: process }\n5 --> 6\n7[\"Compute\"]@{ shape: process }\n4 --> 7\n6 --> 7\n```\n", "trsID": "#workflow/github.com/iwc-workflows/Scaffolding-HiC-VGP8/main", "tests": [ {