From 1b108e87f80a2b68156bd0ff15c4fdef89bddd8d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 17:26:10 +0000 Subject: [PATCH] deploy: 9345acfe2a7540fbeb36d76cca27e84f93728079 --- 404.html | 8 ++--- ...sheet-702edda846ed9996eaec518b0f5f0e0b.png | Bin 0 -> 112863 bytes ...table-e3acf47614004f05e0ee5b8980f1ffed.png | Bin 0 -> 123762 bytes ...plete-76f700aad1d42edc7c2cbc37311f391f.png | Bin 0 -> 56907 bytes ..._sync-3f705ddb5b4dade3d39a664b090ded8e.png | Bin 0 -> 29734 bytes ..._edit-4385731df101f12c4815b30dbefb6de7.png | Bin 0 -> 72408 bytes assets/js/0e33d78a.b0d11842.js | 1 + assets/js/1f366607.9e1475c8.js | 1 - assets/js/1f366607.aa680bf2.js | 1 + assets/js/2367c334.38dd7012.js | 1 + assets/js/2367c334.8d87bd73.js | 1 - assets/js/4c0219fe.0ac61e89.js | 1 - assets/js/4c0219fe.b92dce3c.js | 1 + assets/js/4d19d8bc.172b74c7.js | 1 - assets/js/4d19d8bc.fae60a4f.js | 1 + ...fd5dd.6ce7c0f8.js => 5d9fd5dd.21036679.js} | 2 +- assets/js/708a3a2f.52b732d9.js | 1 - assets/js/708a3a2f.c0c19203.js | 1 + assets/js/8cd595a7.81188f9c.js | 1 + assets/js/8cd595a7.c7e01c94.js | 1 - assets/js/935f2afb.4a27909c.js | 1 + assets/js/935f2afb.769051cc.js | 1 - assets/js/a1b719ab.3af52d9f.js | 1 + assets/js/a1b719ab.8ef482e5.js | 1 - assets/js/a3562974.3aff8cda.js | 1 + assets/js/a3562974.a6ad3c32.js | 1 - assets/js/a925dbbb.d0a6b34e.js | 1 - assets/js/b0bf1abf.49641760.js | 1 - assets/js/b0bf1abf.8e623bf1.js | 1 + assets/js/b270851a.2e338af0.js | 1 - assets/js/b270851a.386f7e62.js | 1 + assets/js/c2abd45e.21e93a42.js | 1 - assets/js/c2abd45e.7f60e394.js | 1 + ...0799b.9466a5a6.js => c4a0799b.87c306f5.js} | 2 +- ...6ab22.681fd557.js => c4e6ab22.0d84b140.js} | 2 +- ...e48a3.ef5ed1ff.js => f72e48a3.22f1690a.js} | 2 +- assets/js/f8f8f85a.437ed9fc.js | 1 - assets/js/f8f8f85a.8aaeec39.js | 1 + assets/js/fb8c922a.0750dc94.js | 1 + assets/js/fb8c922a.6514f1c4.js | 1 - assets/js/main.1bfc1d15.js | 2 -- assets/js/main.523dc8a1.js | 2 ++ ...CENSE.txt => main.523dc8a1.js.LICENSE.txt} | 0 assets/js/runtime~main.764cc996.js | 1 - assets/js/runtime~main.b5344f23.js | 1 + blog.html | 8 ++--- blog/2024/1/31/new-year.html | 8 ++--- blog/announcing-ns-compose.html | 8 ++--- blog/archive.html | 8 ++--- blog/tags.html | 8 ++--- blog/tags/hello.html | 8 ++--- blog/tags/neurosynth.html | 8 ++--- blog/tutorials-updates.html | 8 ++--- guide.html | 10 +++--- guide/Explore.html | 12 ++++---- guide/Explore/Searching.html | 12 ++++---- guide/Project.html | 12 ++++---- guide/Project/Curation.html | 14 ++++----- guide/Project/Extraction.html | 29 ++++++++++-------- guide/{ => Project}/Running.html | 16 +++++----- guide/Project/Specification.html | 12 ++++---- guide/annotation_spreadsheet.png | Bin 0 -> 112863 bytes guide/extraction_table.png | Bin 0 -> 123762 bytes guide/glossary.html | 12 ++++---- guide/mark_all_as_complete.png | Bin 0 -> 56907 bytes guide/out_of_sync.png | Bin 0 -> 29734 bytes guide/study_edit.png | Bin 0 -> 72408 bytes index.html | 10 +++--- introduction/ecosystem.html | 10 +++--- introduction/faq.html | 10 +++--- introduction/team.html | 10 +++--- markdown-page.html | 8 ++--- sitemap.xml | 2 +- tutorial.html | 10 +++--- tutorial/advanced.html | 10 +++--- tutorial/advanced/mkda_association.html | 10 +++--- tutorial/automated.html | 10 +++--- tutorial/manual.html | 10 +++--- 78 files changed, 174 insertions(+), 171 deletions(-) create mode 100644 assets/images/annotation_spreadsheet-702edda846ed9996eaec518b0f5f0e0b.png create mode 100644 assets/images/extraction_table-e3acf47614004f05e0ee5b8980f1ffed.png create mode 100644 assets/images/mark_all_as_complete-76f700aad1d42edc7c2cbc37311f391f.png create mode 100644 assets/images/out_of_sync-3f705ddb5b4dade3d39a664b090ded8e.png create mode 100644 assets/images/study_edit-4385731df101f12c4815b30dbefb6de7.png create mode 100644 assets/js/0e33d78a.b0d11842.js delete mode 100644 assets/js/1f366607.9e1475c8.js create mode 100644 assets/js/1f366607.aa680bf2.js create mode 100644 assets/js/2367c334.38dd7012.js delete mode 100644 assets/js/2367c334.8d87bd73.js delete mode 100644 assets/js/4c0219fe.0ac61e89.js create mode 100644 assets/js/4c0219fe.b92dce3c.js delete mode 100644 assets/js/4d19d8bc.172b74c7.js create mode 100644 assets/js/4d19d8bc.fae60a4f.js rename assets/js/{5d9fd5dd.6ce7c0f8.js => 5d9fd5dd.21036679.js} (81%) delete mode 100644 assets/js/708a3a2f.52b732d9.js create mode 100644 assets/js/708a3a2f.c0c19203.js create mode 100644 assets/js/8cd595a7.81188f9c.js delete mode 100644 assets/js/8cd595a7.c7e01c94.js create mode 100644 assets/js/935f2afb.4a27909c.js delete mode 100644 assets/js/935f2afb.769051cc.js create mode 100644 assets/js/a1b719ab.3af52d9f.js delete mode 100644 assets/js/a1b719ab.8ef482e5.js create mode 100644 assets/js/a3562974.3aff8cda.js delete mode 100644 assets/js/a3562974.a6ad3c32.js delete mode 100644 assets/js/a925dbbb.d0a6b34e.js delete mode 100644 assets/js/b0bf1abf.49641760.js create mode 100644 assets/js/b0bf1abf.8e623bf1.js delete mode 100644 assets/js/b270851a.2e338af0.js create mode 100644 assets/js/b270851a.386f7e62.js delete mode 100644 assets/js/c2abd45e.21e93a42.js create mode 100644 assets/js/c2abd45e.7f60e394.js rename assets/js/{c4a0799b.9466a5a6.js => c4a0799b.87c306f5.js} (86%) rename assets/js/{c4e6ab22.681fd557.js => c4e6ab22.0d84b140.js} (50%) rename assets/js/{f72e48a3.ef5ed1ff.js => f72e48a3.22f1690a.js} (86%) delete mode 100644 assets/js/f8f8f85a.437ed9fc.js create mode 100644 assets/js/f8f8f85a.8aaeec39.js create mode 100644 assets/js/fb8c922a.0750dc94.js delete mode 100644 assets/js/fb8c922a.6514f1c4.js delete mode 100644 assets/js/main.1bfc1d15.js create mode 100644 assets/js/main.523dc8a1.js rename assets/js/{main.1bfc1d15.js.LICENSE.txt => main.523dc8a1.js.LICENSE.txt} (100%) delete mode 100644 assets/js/runtime~main.764cc996.js create mode 100644 assets/js/runtime~main.b5344f23.js rename guide/{ => Project}/Running.html (59%) create mode 100644 guide/annotation_spreadsheet.png create mode 100644 guide/extraction_table.png create mode 100644 guide/mark_all_as_complete.png create mode 100644 guide/out_of_sync.png create mode 100644 guide/study_edit.png diff --git a/404.html b/404.html index 07a09aa..13d8266 100644 --- a/404.html +++ b/404.html @@ -5,13 +5,13 @@ Page Not Found | Neurosynth Compose Docs - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - + + \ No newline at end of file diff --git a/assets/images/annotation_spreadsheet-702edda846ed9996eaec518b0f5f0e0b.png b/assets/images/annotation_spreadsheet-702edda846ed9996eaec518b0f5f0e0b.png new file mode 100644 index 0000000000000000000000000000000000000000..f198eb73425613458fe59cdfbdc4931fe54f6e66 GIT binary patch literal 112863 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

wESTzbXFE+cTjm%gEvGRkIpOHT^UT`b^BE!C}cR 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 >*g+Dm%0E}w>q8XcA^{Q`cQ2aEe{-SN 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 z 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

$uY|DSKe{S!ZwOlwxY+n++JfBh#)8lZm= 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%0A_BG<&$hgDc8PhUdN({U1I0bQfL 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 literal 0 HcmV?d00001 diff --git a/assets/images/study_edit-4385731df101f12c4815b30dbefb6de7.png b/assets/images/study_edit-4385731df101f12c4815b30dbefb6de7.png new file mode 100644 index 0000000000000000000000000000000000000000..e94a121df3bbf5ddfbff8842845867c75d9a050a GIT binary patch literal 72408 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 P_@^MNBJ<&n@$>%$>bS*_ literal 0 HcmV?d00001 diff --git a/assets/js/0e33d78a.b0d11842.js b/assets/js/0e33d78a.b0d11842.js new file mode 100644 index 0000000..f24edd3 --- /dev/null +++ b/assets/js/0e33d78a.b0d11842.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[4755],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>h});var o=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function i(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=o.createContext({}),u=function(e){var n=o.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=u(e.components);return o.createElement(s.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},m=o.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=u(t),m=r,h=p["".concat(s,".").concat(m)]||p[m]||d[m]||a;return t?o.createElement(h,i(i({ref:n},c),{},{components:t})):o.createElement(h,i({ref:n},c))}));function h(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,i=new Array(a);i[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[p]="string"==typeof e?e:r,i[1]=l;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>u});var o=t(7462),r=(t(7294),t(3905));const a={title:"Running Analyses",sidebar_position:3},i="Running Analyses",l={unversionedId:"guide/Project/Running",id:"guide/Project/Running",title:"Running Analyses",description:"You have a several options for running the analysis. In all cases, you will need your unique ``, which you can access for each Meta-Analysis within your Project.",source:"@site/docs/guide/Project/Running.md",sourceDirName:"guide/Project",slug:"/guide/Project/Running",permalink:"/compose-docs/guide/Project/Running",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Project/Running.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:3,frontMatter:{title:"Running Analyses",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Specification",permalink:"/compose-docs/guide/Project/Specification"},next:{title:"Explore",permalink:"/compose-docs/guide/Explore/"}},s={},u=[{value:"Google Colab",id:"google-colab",level:2},{value:"Docker",id:"docker",level:2},{value:"Updating the Docker image",id:"updating-the-docker-image",level:3},{value:"Manually prepared environment using pip",id:"manually-prepared-environment-using-pip",level:2}],c={toc:u},p="wrapper";function d(e){let{components:n,...a}=e;return(0,r.kt)(p,(0,o.Z)({},c,a,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"running-analyses"},"Running Analyses"),(0,r.kt)("p",null,"You have a several options for running the analysis. In all cases, you will need your unique ",(0,r.kt)("inlineCode",{parentName:"p"},""),", which you can access for each Meta-Analysis within your Project."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Meta-analysis run",src:t(3349).Z,width:"2994",height:"1030"})),(0,r.kt)("p",null,"Under the hood, analyses are managed by the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/neurostuff/nsc-runner"},"nsc-runner")," Python package, and executed by the ",(0,r.kt)("a",{parentName:"p",href:"https://nimare.readthedocs.io/en/stable/"},"NiMARE")," (Neuroimaging Meta-Analysis Research Environment) Python package."),(0,r.kt)("h2",{id:"google-colab"},"Google Colab"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://colab.research.google.com/github/neurostuff/neurosynth-compose-notebook/blob/main/run_and_explore.ipynb"},(0,r.kt)("img",{parentName:"a",src:"https://colab.research.google.com/assets/colab-badge.svg",alt:"text"}))),(0,r.kt)("p",null,"The easiest way to run an analysis is to use the ",(0,r.kt)("a",{parentName:"p",href:"https://colab.research.google.com/"},"Google Colab")," notebook linked above."),(0,r.kt)("p",null,"The provided notebook runs entirely in the cloud, and does not require any local installation of software.\nTo use simply paste your analysis ID into the first cell (",(0,r.kt)("inlineCode",{parentName:"p"},"META_ID"),"), and using the Toolbar selet (Runtime -> Run All)\nor the keyboard shortcut (Ctrl or \u2318 + F9) to run the notebook."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Colab notebook",src:t(9128).Z,width:"971",height:"1046"})),(0,r.kt)("p",null,"The notebook will install all required software, run the analysis, and upload the results to Neurosynth Compose.\nOnce the analysis is complete, you can use the notebook to explore the results using the interative report, download an archive\nof the results, or browse the results in the Neurosynth Compose web interface, in the Meta-Analysis section of your Project."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"The Colab notebook has limited and varying freely available resources, and may not be able to run large analyses.\nIf your analysis fails, try running it again, or using one of the other methods below.")),(0,r.kt)("h2",{id:"docker"},"Docker"),(0,r.kt)("p",null,"The easiest way to run analyses locally is to use the ",(0,r.kt)("inlineCode",{parentName:"p"},"nsc-runner")," ",(0,r.kt)("a",{parentName:"p",href:"https://www.docker.com/"},"Docker")," image provided by Neurosynth Compose."),(0,r.kt)("p",null,"Docker is a containerization technology that allows you to run software in a consistent environment, regardless of the underlying operating system."),(0,r.kt)("p",null,"To run the Docker image, you will need to install Docker on your local machine.\nInstructions for installing Docker can be found ",(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/get-docker/"},"here"),"."),(0,r.kt)("p",null,"Once Docker is installed, you can run your analysis using the using the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"docker run -it -v -v /local/dir:/results ghcr.io/neurostuff/nsc-runner:latest \n")),(0,r.kt)("p",null,"where ",(0,r.kt)("inlineCode",{parentName:"p"},"/local/dir")," is the path to a local directory where you would like to save the results of your analysis, and ",(0,r.kt)("inlineCode",{parentName:"p"},"")," is the ID of the meta-analysis you would like to run."),(0,r.kt)("p",null,"If you are trying to run the analysis from a mac with an ARM chip (eg an M1 Macbook air) use this command instead:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"docker run -it --platform=linux/amd64 -v /local/dir:/results ghcr.io/neurostuff/nsc-runner:latest \n")),(0,r.kt)("p",null,"The Docker image will download all required software, run the analysis, and upload the results to Neurovault & Neurosynth Compose.\nAn HTML report will be saved in the results directory, and the results will be available in the Meta-Analysis section of your Project on Neurosynth Compose."),(0,r.kt)("h3",{id:"updating-the-docker-image"},"Updating the Docker image"),(0,r.kt)("p",null,"For every release of ",(0,r.kt)("inlineCode",{parentName:"p"},"nsc-runner"),", we publish a corresponding Docker image."),(0,r.kt)("p",null,"You can manually download a specific neuroscout-cli release as follows:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"docker pull ghcr.io/neurostuff/nsc-runner:\n")),(0,r.kt)("p",null,"where ",(0,r.kt)("inlineCode",{parentName:"p"},"")," is the version of ",(0,r.kt)("inlineCode",{parentName:"p"},"nsc-runner")," that you want to download. If you omit version, the latest stable version will be downloaded."),(0,r.kt)("p",null,"You can see the tags available for download on ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/neurostuff/compose-runner/pkgs/container/nsc-runner"},"GitHub")),(0,r.kt)("h2",{id:"manually-prepared-environment-using-pip"},"Manually prepared environment using pip"),(0,r.kt)("admonition",{type:"warning"},(0,r.kt)("p",{parentName:"admonition"},"Manually installing ",(0,r.kt)("inlineCode",{parentName:"p"},"nsc-runner")," may be difficult due to complex dependencies in the SciPy stack, or fMRI-specific tooling. Proceed only if you know what you\u2019re doing.")),(0,r.kt)("p",null,"Use pip to install ",(0,r.kt)("inlineCode",{parentName:"p"},"nsc-runner")," from PyPI:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"pip install nsc-runner\n")),(0,r.kt)("p",null,"and then run the analysis using the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"nsc-runner \n")))}d.isMDXComponent=!0},9128:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/nsc_colab_notebook-6dd430542ed9282c3b94937633f9c1d2.png"},3349:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/ma_run-21ff60898e902524975d8fc965d4a08c.png"}}]); \ No newline at end of file diff --git a/assets/js/1f366607.9e1475c8.js b/assets/js/1f366607.9e1475c8.js deleted file mode 100644 index ccff58a..0000000 --- a/assets/js/1f366607.9e1475c8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[8755],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),s=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(p.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,c=e.originalType,p=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),l=s(r),f=o,m=l["".concat(p,".").concat(f)]||l[f]||d[f]||c;return r?n.createElement(m,i(i({ref:t},u),{},{components:r})):n.createElement(m,i({ref:t},u))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var c=r.length,i=new Array(c);i[0]=f;var a={};for(var p in t)hasOwnProperty.call(t,p)&&(a[p]=t[p]);a.originalType=e,a[l]="string"==typeof e?e:o,i[1]=a;for(var s=2;s{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>c,metadata:()=>a,toc:()=>s});var n=r(7462),o=(r(7294),r(3905));const c={},i=void 0,a={unversionedId:"guide/Project/Specification",id:"guide/Project/Specification",title:"Specification",description:"",source:"@site/docs/guide/Project/Specification.md",sourceDirName:"guide/Project",slug:"/guide/Project/Specification",permalink:"/compose-docs/guide/Project/Specification",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Project/Specification.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Extraction",permalink:"/compose-docs/guide/Project/Extraction"},next:{title:"Explore",permalink:"/compose-docs/guide/Explore/"}},p={},s=[],u={toc:s},l="wrapper";function d(e){let{components:t,...r}=e;return(0,o.kt)(l,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1f366607.aa680bf2.js b/assets/js/1f366607.aa680bf2.js new file mode 100644 index 0000000..65fc1c0 --- /dev/null +++ b/assets/js/1f366607.aa680bf2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[8755],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>m});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),p=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),u=p(r),f=o,m=u["".concat(s,".").concat(f)]||u[f]||d[f]||i;return r?n.createElement(m,c(c({ref:t},l),{},{components:r})):n.createElement(m,c({ref:t},l))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,c=new Array(i);c[0]=f;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[u]="string"==typeof e?e:o,c[1]=a;for(var p=2;p{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>p});var n=r(7462),o=(r(7294),r(3905));const i={title:"Specification",sidebar_position:2},c=void 0,a={unversionedId:"guide/Project/Specification",id:"guide/Project/Specification",title:"Specification",description:"Work in progress!",source:"@site/docs/guide/Project/Specification.md",sourceDirName:"guide/Project",slug:"/guide/Project/Specification",permalink:"/compose-docs/guide/Project/Specification",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Project/Specification.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:2,frontMatter:{title:"Specification",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Extraction",permalink:"/compose-docs/guide/Project/Extraction"},next:{title:"Running Analyses",permalink:"/compose-docs/guide/Project/Running"}},s={},p=[{value:"Work in progress!",id:"work-in-progress",level:2}],l={toc:p},u="wrapper";function d(e){let{components:t,...r}=e;return(0,o.kt)(u,(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"work-in-progress"},"Work in progress!"),(0,o.kt)("p",null,"We're still working on completing the documentation for this. Please check back later."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2367c334.38dd7012.js b/assets/js/2367c334.38dd7012.js new file mode 100644 index 0000000..47f2daf --- /dev/null +++ b/assets/js/2367c334.38dd7012.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[7068],{4894:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var i=a(7462),n=(a(7294),a(3905)),o=a(5154);const s={sidebar_label:"Manual Meta-Analysis",sidebar_position:1},l="Manual Meta-Analysis",r={unversionedId:"tutorial/manual",id:"tutorial/manual",title:"Manual Meta-Analysis",description:"How to create a custom, manual meta-analysis.",source:"@site/docs/tutorial/manual.md",sourceDirName:"tutorial",slug:"/tutorial/manual",permalink:"/compose-docs/tutorial/manual",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/tutorial/manual.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:1,frontMatter:{sidebar_label:"Manual Meta-Analysis",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Tutorials",permalink:"/compose-docs/tutorial/"},next:{title:"Automated Meta-Analysis",permalink:"/compose-docs/tutorial/automated"}},d={},c=[{value:"Creating a new Project",id:"creating-a-new-project",level:2},{value:"Search & Curate",id:"search--curate",level:2},{value:"Importing studies",id:"importing-studies",level:3},{value:"Searching PubMed",id:"searching-pubmed",level:4},{value:"Identification",id:"identification",level:3},{value:"Screening",id:"screening",level:3},{value:"Eligibility",id:"eligibility",level:3},{value:"Included",id:"included",level:3},{value:"Extract and Annotation",id:"extract-and-annotation",level:2},{value:"Ingestion",id:"ingestion",level:3},{value:"Editing studies",id:"editing-studies",level:3},{value:"Analysis Data",id:"analysis-data",level:4},{value:"Annotations",id:"annotations",level:4},{value:"Meta-analysis specification",id:"meta-analysis-specification",level:2},{value:"Run your meta-analysis!",id:"run-your-meta-analysis",level:2}],u={toc:c},p="wrapper";function m(e){let{components:t,...s}=e;return(0,n.kt)(p,(0,i.Z)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"manual-meta-analysis"},"Manual Meta-Analysis"),(0,n.kt)("p",null,(0,n.kt)("em",{parentName:"p"},"How to create a custom, manual meta-analysis.")),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"This is a condensed adaptation of a course taught at OHBM 2023.\nSee the ",(0,n.kt)("a",{parentName:"p",href:"https://neurostuff.github.io/meta-analysis-book/"},"course materials")," for a complete overview.")),(0,n.kt)("p",null,(0,n.kt)("em",{parentName:"p"},"Neurosynth Compose")," provides a streamlined workflow to facilitate study selection and\ndata extraction. You can then easily specify a high-quality manual meta-analysis and execute it in the cloud,\nrapidly generating results that you can inspect and share."),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"We will perform a slimmed down replication of the following meta-analysis:\n",(0,n.kt)("a",{parentName:"p",href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4494985/"},"Neurobiological impact of nicotinic acetylcholine receptor agonists: An ALE meta-analysis of pharmacological neuroimaging studies"),"."),(0,n.kt)("p",{parentName:"admonition"},"For more guidance on how to choose a topic for meta-analysis, see the ",(0,n.kt)("a",{parentName:"p",href:"https://www.bmj.com/content/372/bmj.n71"},"PRISMA statement")," and the ",(0,n.kt)("a",{parentName:"p",href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5918306/"},"10 simple rules for neuroimaging meta-analyses"),".")),(0,n.kt)("h2",{id:"creating-a-new-project"},"Creating a new Project"),(0,n.kt)("p",null,(0,n.kt)("em",{parentName:"p"},"Projects")," contain all the Steps necessary to create a new meta-analysis in Neurosynth Compose.\nWe'll step through this process in detail."),(0,n.kt)("p",null,"To get started, ",(0,n.kt)("em",{parentName:"p"},"sign in"),", and select ",(0,n.kt)("strong",{parentName:"p"},"New Project"),". "),(0,n.kt)("p",null,"You'll now see the Project page, showing the three stages of a meta-analysis:\n",(0,n.kt)("strong",{parentName:"p"},"Search & Curate, Extract & Annotate")," and ",(0,n.kt)("strong",{parentName:"p"},"Specify Meta-Analyses"),"."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"New Project",src:a(4819).Z,width:"1557",height:"501"}),". "),(0,n.kt)("h2",{id:"search--curate"},"Search & Curate"),(0,n.kt)("p",null,"The first step in a meta-analysis is to ",(0,n.kt)("em",{parentName:"p"},"Search")," for studies, and ",(0,n.kt)("em",{parentName:"p"},"Curate")," these studies into a\nfinal ",(0,n.kt)("em",{parentName:"p"},"StudySet")," that contains the studies we want to include in a Meta-Analysis."),(0,n.kt)("p",null,"To get started, we must choose a Curation workflow. There are three options: Simple, PRISMA and Custom. The main difference between these options is the number of review steps involved in creating a final list of studies. ",(0,n.kt)("strong",{parentName:"p"},'For a rigorous Manual Meta-Analysis, select "PRISMA".')),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Reviewers typically require Preferred Reporting Items for Systematic Reviews and Meta-Analyses (PRISMA) reporting\nfor gold-standard meta-analyses. The PRISMA guidelines ensure a systematic selection and reporting process.\nHowever, a Simple workflow may be useful for exploratory and automated meta-analyses. ")),(0,n.kt)("p",null,"Next, you will be presented with the Curation board, consisting of four columns representing\nthe steps of a PRISMA workflow:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Identification"),": Remove duplicate studies")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Screening"),": Remove irrelevant studies")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Elibility"),": Remove studies that do not meet inclusion criteria or do not have retrievable information")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Included"),": Double check the studies and view which studies will be included in the meta-analysis"))),(0,n.kt)("p",null,"The overall goal is to go from a large number of studies from a broad search results, to only the\nstudies that are relevant to your research question. These steps should be completed in order!"),(0,n.kt)("h3",{id:"importing-studies"},"Importing studies"),(0,n.kt)("p",null,"But first, we must add studies to our Project. Click the ",(0,n.kt)("strong",{parentName:"p"},"Import Studies")," button. "),(0,n.kt)("p",null,"You can search for studies within the ",(0,n.kt)("em",{parentName:"p"},"NeuroStore")," database\u2014which we maintain and indexes over 20,000 pre-processed neuroimaging studies\u2014or from external sources, such as PubMed or a Citation manager file. "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Import Studies",src:a(3569).Z,width:"622",height:"238"}),". "),(0,n.kt)("p",null,(0,n.kt)("em",{parentName:"p"},"Import via NeuroStore")," is simpler and faster, as these studies already exist on in our system\nand have pre-extracted imaging data (e.g. coordinates).\nAs a result, there will be fewer irrelevant studies to exclude, and less data extraction to complete."),(0,n.kt)("p",null,"However, ",(0,n.kt)("em",{parentName:"p"},"searching other sources")," is often recommended for a comprehensive literature search, as a single source can never index all possible studies."),(0,n.kt)("p",null,"To replicate the Nicotine meta-analysis, we will replicate the author's PubMed search."),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Searching NeuroStore is a valid option for a manual meta-analysis to balance rigor and efficiency. To learn more, see the ",(0,n.kt)("a",{parentName:"p",href:"/compose-docs/tutorial/automated"},"Automated Meta-Analysis tutorial"),". ")),(0,n.kt)("h4",{id:"searching-pubmed"},"Searching PubMed"),(0,n.kt)("p",null,"We can export any PubMed search result to file, and import that file into Neurosynth Compose.\nIn this example, we perform the following search which in the ",(0,n.kt)("a",{parentName:"p",href:"https://pubmed.ncbi.nlm.nih.gov/"},"PubMed")," search field:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},'("fMRI" OR "PET" OR "neuroimaging" OR "Functional magnetic resonance imaging" OR "functional MRI") \nAND ("nicotine" OR "cigarette" OR "smok*" OR "DMXB-A")\n')),(0,n.kt)("p",null,"This results in over 3,000 studies that are potentially relevant for this meta-analysis."),(0,n.kt)("p",null,"Next, we save the results to ",(0,n.kt)("inlineCode",{parentName:"p"},"PMID")," format, with a PubMed ID on each line."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Download PubMed",src:a(6652).Z,width:"1053",height:"475"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Reviewing 3,000 studies can take a long time!\nOnly a small percentage of these studies will meet all inclusion criteria. For the sake of the tutorial, we provide a shortened list of ",(0,n.kt)(o.aBF,{size:20,mdxType:"FaDownload"})," ",(0,n.kt)("a",{target:"_blank",href:a(7555).Z},"PUBMED IDS"),".")),(0,n.kt)("p",null,"We can import this file into our Project by clicking ",(0,n.kt)("strong",{parentName:"p"},"Upload File"),". Give this import a name for future reference.\nAll studies imported from this search will be ",(0,n.kt)("strong",{parentName:"p"},"Tagged")," with the search name. "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Import name",src:a(212).Z,width:"1282",height:"354"})),(0,n.kt)("h3",{id:"identification"},"Identification"),(0,n.kt)("p",null,"All the imported studies are now visible in the first column of our PRISMA curation board. "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Identification",src:a(8665).Z,width:"3595",height:"939"})),(0,n.kt)("p",null,"The purpose ",(0,n.kt)("strong",{parentName:"p"},"Identification")," is to find ",(0,n.kt)("em",{parentName:"p"},"duplicate studies"),", which is common when importing from multiple sources.\n",(0,n.kt)("em",{parentName:"p"},"Neurosynth Compose")," will automatically find potential duplicates (based on the Title, DOI, and PMID).\nHowever, you can also manually review studies to identify any duplicates we might have missed."),(0,n.kt)("p",null,"To review studies, click on the ",(0,n.kt)("strong",{parentName:"p"},"Identification"),' column header, or an individual study.\nFor each study, you can choose to "Promote" it to the next phase, "Exclude" as a duplicate, or flag for later review.'),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Identification review",src:a(3615).Z,width:"2251",height:"1211"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"To remain PRISMA compliant, you should only exclude studies for being a duplicate in the Identification step.")),(0,n.kt)("p",null,"In this example, there are no duplicates. To quickly advance, click ",(0,n.kt)("strong",{parentName:"p"},"Promote All Uncategorized Studies")," under ",(0,n.kt)("em",{parentName:"p"},"Identification"),"."),(0,n.kt)("h3",{id:"screening"},"Screening"),(0,n.kt)("p",null,"The goal of ",(0,n.kt)("em",{parentName:"p"},"Screening")," is to determine if imported studies are relevant to your research question, based on the the Tile\nand Abstract of each."),(0,n.kt)("p",null,"To begin, click on the Screening column header from the main Curation board. The interface is\nidentical to the previous phase, except the default Exclusion reason is now ",(0,n.kt)("strong",{parentName:"p"},"irrelevant"),". "),(0,n.kt)("p",null,"Go ahead and review all 13 studies to determine if they are relevant to the topic of ",(0,n.kt)("em",{parentName:"p"},'"Nicotine administration'),'".\nAny studies that are not relevant will remain in this column and not advance.'),(0,n.kt)("h3",{id:"eligibility"},"Eligibility"),(0,n.kt)("p",null,"The goal ",(0,n.kt)("em",{parentName:"p"},"Eligibility")," is to determine studies meet the eligibility criteria of your meta-analysis.\nYou will need to read the ",(0,n.kt)("strong",{parentName:"p"},"full text")," to make this determination. "),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"The eligibility criteria depends on your research question!\nThis is where your expertise is most necessary, in order to create an interesting research question,\nand filter studies accordingly. The results of this step depends on the researcher, and there may be reasonable scientific disagreements.")),(0,n.kt)("p",null,'To begin, click on the "Eligibility" column header, or a study, as before.'),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Custom Eligibility",src:a(940).Z,width:"2341",height:"1449"})),(0,n.kt)("p",null,"For this example, we will include studies that meet these criteria:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"* fMRI or PET\n* Reported brain activity in stereotaxic coordinates (Talairach or MNI space)\n* Reported a set of coordinates (i.e., foci) from a within-subjects or between-subjects contrast assessing the effects of nAChR agonist administration (i.e., pharmacological administration or cigarette smoking) relative to a baseline condition (i.e., placebo administration or smoking-abstinence condition)\n* Examined brain activity using a cognitive or affective task paradigm or at rest. \n* Studies examining functional connectivity, brain morphology, or neurochemistry are excluded.\n")),(0,n.kt)("p",null,"For this tutorial, go ahead and review all studies in this column, and Promote relevant studies to the next phase."),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Given that this phase is more open-ended, there is no default Exclusion reason. We provide four default options for you, and\nyou may define custom Exclusion reasons if you see fit.")),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},'For open source studies, we will link to the article full text (PDF). If not available, click\n"view article link" to view article\'s PubMed page, and access the full text using your credentials.')),(0,n.kt)("h3",{id:"included"},"Included"),(0,n.kt)("p",null,"Congratulations! Once you have reviewed all studies, you should have a set of studies that you want to include in your meta-analysis. "),(0,n.kt)("p",null,"At this point, you can review this final list, and view a PRISMA diagram visually outlining your review process:"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"PRISMA",src:a(8718).Z,width:"1714",height:"1448"})),(0,n.kt)("p",null,"To finish ",(0,n.kt)("em",{parentName:"p"},"Curation"),", and create a final StudySet, click ",(0,n.kt)("em",{parentName:"p"},"Move on to Extraction")," at the top right. "),(0,n.kt)("h2",{id:"extract-and-annotation"},"Extract and Annotation"),(0,n.kt)("p",null,"The goal of this phase is to ",(0,n.kt)("strong",{parentName:"p"},"extract data")," from the text of studies (such as coordinates)\nthat will be used in the meta-analysis. You will also want to ",(0,n.kt)("strong",{parentName:"p"},"annotate")," relevant Study meta-data.\nMost commonly, for each Study you will designate which Analyses (i.e. Contrasts) to included in your meta-analysis."),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Studies that are already indexed by NeuroStore will have automatically extracted data (such as coordinates)\nsaving you a lot of time and effort. However, you may want to verify and improve this information.")),(0,n.kt)("h3",{id:"ingestion"},"Ingestion"),(0,n.kt)("p",null,"But first, we must create a StudySet containing your studies! "),(0,n.kt)("p",null,"New studies not in the NeuroStore database will be created, and studies that match existing studies will be added to a newly created StudySet."),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Studies in NeuroStore have multiple Versions, including those created by other users, as well as the original copy."),(0,n.kt)("p",{parentName:"admonition"},"If you ingest a study that is already indexed in the database, we will match to the newest possible Version, by default.\nIdeally, this will be a Version that another user has already improved, saving you even more time!"),(0,n.kt)("p",{parentName:"admonition"},"You can switch Study Versions at anytime (including to the original automate copy) by clicking ",(0,n.kt)("em",{parentName:"p"},"Switch Study Version")," at the bottom\nof Study's page. Any edits you make will automatically be saved as a new Version.")),(0,n.kt)("h3",{id:"editing-studies"},"Editing studies"),(0,n.kt)("p",null,"Once your StudySet is created, it's time to edit studies. You will see a list of your studies:"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Extraction",src:a(9774).Z,width:"1655",height:"799"})),(0,n.kt)("p",null,"Click on any Study to edit:"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Extraction study view",src:a(5362).Z,width:"2418",height:"856"})),(0,n.kt)("h4",{id:"analysis-data"},"Analysis Data"),(0,n.kt)("p",null,"Let's start by editing a Study's Analyses."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Extraction study view",src:a(369).Z,width:"2128",height:"923"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},(0,n.kt)("em",{parentName:"p"},"Analyses"),' are groups of images or coordinates reported in a given study fir a specific analysis. This is often referred to as "Contrasts", but we use the more general term "Analyses" to accommodate a wider range of fMRI models. ')),(0,n.kt)("p",null,"For new studies, we will not have any data, and it is necessary to manually enter these data from the text of a study.\nWe can create a new Analysis for each group of Coordinates, and input the data from the text:"),(0,n.kt)("p",null,"For studies already indexed by NeuroStore, we will already have pre-extracted Coordinates. You can use this same interface to verify and correct these data. "),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"Automatically extracted coordinates can contain a number of errors. Mostly commonly, several distinct Analyses (i.e. contrasts), will get grouped into a single Analyses. You will want to create new Analyses to split up the Coordinates into distinct units. "),(0,n.kt)("p",{parentName:"admonition"},"Another common error is that Analyses are duplicated, meaning you may want to delete extra Analyses. ")),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"You can copy and paste coordinates from Microsoft Excel or Google Sheets.")),(0,n.kt)("h4",{id:"annotations"},"Annotations"),(0,n.kt)("p",null,"A key goal of the Extraction phase, is to add Annotations that can help us distinguish Analyses, and include/exclude specific Analyses from a meta-analysis. Annotations are simply columns of data with a value for all Analyses within a StudySet."),(0,n.kt)("p",null,"Annotations can be explained as a way to categorize analyses within each study. For example, they can be categorized by task (e.g., Stroop, N-back, etc.), by modality (e.g., fMRI, PET, etc.), or by any other category that you want to use to filter the analyses. "),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},'By default, a single Annotation called "included" is created, which includes all Analyses.\nYou can modify this Annotation to select the relevant Analyses of interest to your research question')),(0,n.kt)("p",null,"For this replication, we are interested in the effects of nAChR agonists on the brain, which can either be excitatory or inhibitory, so we add both an \u201cactivation\u201d and \u201cdeactivation\u201d column. "),(0,n.kt)("p",null,'First create an Annotation. From the main Extraction page, click "View Annotations" on the top right. Here you can view all annotations and the value for each Analyses, as well as create new Annotations. You can choose the data type of each column as either a Number, String, or Boolean. Selected a Boolean data type for the \u201cactivation\u201d and \u201cdeactivation\u201d columns, which will allow you to filter the analyses by whether they are excitatory or inhibitory. By default you will have an \u201cinclude\u201d column to help get you started.'),(0,n.kt)("p",null,'Below, I am creating a new Annotation for "deactivations"'),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"annotation for a study",src:a(8669).Z,width:"1795",height:"758"})),(0,n.kt)("p",null,'Now, when I look at a study, I can edit the value for Analyses, assigning each group of coordinates as "activations" or "deactivations":'),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"annotation for a study",src:a(4235).Z,width:"850",height:"128"})),(0,n.kt)("h2",{id:"meta-analysis-specification"},"Meta-analysis specification"),(0,n.kt)("p",null,"You are finally ready to specify a meta-analysis! "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"start meta-analysis specification",src:a(234).Z,width:"834",height:"308"})),(0,n.kt)("p",null,"After clicking ",(0,n.kt)("strong",{parentName:"p"},'"+ Meta-Analysis Specification"'),", you'll see the following dialog:"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Meta-analysis wizard",src:a(588).Z,width:"1762",height:"1014"})),(0,n.kt)("p",null,'For each Meta-Analysis, you will select an Annotation to filter the Analyses to include.\nRemember, by default, the "included" column will be created and include ',(0,n.kt)("em",{parentName:"p"},"all")," Analyses. "),(0,n.kt)("p",null,"Next, you will ",(0,n.kt)("strong",{parentName:"p"},"select a meta-analysis Algorithm and Corrector"),":"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Meta-analysis algorithm",src:a(3556).Z,width:"1762",height:"1014"})),(0,n.kt)("p",null,'A variety of common meta-analysis algorithms such as "ALE" and "MKDA" are available, as well as two\nstrategies for controlling for multiple comparisons: FDR (false detection rate) and FWE (family wise error).'),(0,n.kt)("p",null,'For this example, we\'ll choose "MKDADensity" and and "FDRCorrection". You can modify the parameters for each, if you want,\nbut we provide sane defaults for all. '),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Learn more about meta-analysis algorithms in the ",(0,n.kt)("a",{parentName:"p",href:"https://nimare.readthedocs.io/en/stable/index.html"},"NiMARE Documentation"))),(0,n.kt)("p",null,"Next, you'll give your meta-analysis a name, and review the details of your specification. "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Meta-analysis review",src:a(7832).Z,width:"1771",height:"1575"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"You can define multiple Meta-Analysis specifications in a Project, paired to the same StudySet")),(0,n.kt)("h2",{id:"run-your-meta-analysis"},"Run your meta-analysis!"),(0,n.kt)("p",null,"Congratulations! You now have a Meta-Analysis specification that is ready to run."),(0,n.kt)("p",null,"You can execute your Meta-Analysis for free in the cloud on Google Colab by copying the unique ",(0,n.kt)("em",{parentName:"p"},"meta-analysis id"),"\nand pasting it into our Google Colab notebook."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Meta-analysis run",src:a(3349).Z,width:"2994",height:"1030"})))}m.isMDXComponent=!0},7555:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/files/tutorial_pmids-434d072c0087956ffdef61013ba6d0da.txt"},369:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/add_coordinates-8bea486d4904648bcafa7ea0aa3ccf05.png"},5362:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/annotate_and_extract_study-ca3e4d3930ebf9dc60ad23185a36eefc.png"},8669:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/annotation_create-1b42a849c3fa25379a4492e899c883bd.png"},4235:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/annotation_view-bb152fb9777b96fa48ecf95ada750d97.png"},940:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/custom_exclusion-16ad73f8fbab6041651f04bf3deb4f80.png"},6652:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/download_search_results-d5ec087db9b8527d9891715d987540a0.png"},9774:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/extraction_and_annotation-3f2588aa81794ea975ca13e54b3ae968.png"},8665:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/identification-7f834ceb21aa8027ee29b527ead7700d.png"},3615:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/identification_review-95da15912e8e3b0ecd45612d88ce8ae7.png"},212:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/import_name-47b2b52fb0476898def227448666b9c9.png"},3569:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/import_studies_options-d58951af444810f76b35e77050c7deb4.png"},3556:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/ma_algorithm-76b551077f36af384173d025dd8d39cb.png"},7832:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/ma_review-dca9072320631a4c2b7bd8a3939763bf.png"},3349:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/ma_run-21ff60898e902524975d8fc965d4a08c.png"},588:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/ma_wizard-94f17423e2d4a4df7e23f88cb26c4595.png"},4819:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/new_project_view-865234e6c83825dde8320121d1d9c773.png"},8718:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/prisma_diagram-399aba8441e1b00d3ffb3cdc7b5c6d9c.png"},234:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/proceed_meta_analysis-ccd673905b3f5425823cc947b282bd48.png"}}]); \ No newline at end of file diff --git a/assets/js/2367c334.8d87bd73.js b/assets/js/2367c334.8d87bd73.js deleted file mode 100644 index c333f56..0000000 --- a/assets/js/2367c334.8d87bd73.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[7068],{4894:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var i=a(7462),n=(a(7294),a(3905)),o=a(5154);const s={sidebar_label:"Manual Meta-Analysis",sidebar_position:1},l="Manual Meta-Analysis",r={unversionedId:"tutorial/manual",id:"tutorial/manual",title:"Manual Meta-Analysis",description:"How to create a custom, manual meta-analysis.",source:"@site/docs/tutorial/manual.md",sourceDirName:"tutorial",slug:"/tutorial/manual",permalink:"/compose-docs/tutorial/manual",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/tutorial/manual.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:1,frontMatter:{sidebar_label:"Manual Meta-Analysis",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Tutorials",permalink:"/compose-docs/tutorial/"},next:{title:"Automated Meta-Analysis",permalink:"/compose-docs/tutorial/automated"}},d={},c=[{value:"Creating a new Project",id:"creating-a-new-project",level:2},{value:"Search & Curate",id:"search--curate",level:2},{value:"Importing studies",id:"importing-studies",level:3},{value:"Searching PubMed",id:"searching-pubmed",level:4},{value:"Identification",id:"identification",level:3},{value:"Screening",id:"screening",level:3},{value:"Eligibility",id:"eligibility",level:3},{value:"Included",id:"included",level:3},{value:"Extract and Annotation",id:"extract-and-annotation",level:2},{value:"Ingestion",id:"ingestion",level:3},{value:"Editing studies",id:"editing-studies",level:3},{value:"Analysis Data",id:"analysis-data",level:4},{value:"Annotations",id:"annotations",level:4},{value:"Meta-analysis specification",id:"meta-analysis-specification",level:2},{value:"Run your meta-analysis!",id:"run-your-meta-analysis",level:2}],u={toc:c},p="wrapper";function m(e){let{components:t,...s}=e;return(0,n.kt)(p,(0,i.Z)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"manual-meta-analysis"},"Manual Meta-Analysis"),(0,n.kt)("p",null,(0,n.kt)("em",{parentName:"p"},"How to create a custom, manual meta-analysis.")),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"This is a condensed adaptation of a course taught at OHBM 2023.\nSee the ",(0,n.kt)("a",{parentName:"p",href:"https://neurostuff.github.io/meta-analysis-book/"},"course materials")," for a complete overview.")),(0,n.kt)("p",null,(0,n.kt)("em",{parentName:"p"},"Neurosynth Compose")," provides a streamlined workflow to facilitate study selection and\ndata extraction. You can then easily specify a high-quality manual meta-analysis and execute it in the cloud,\nrapidly generating results that you can inspect and share."),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"We will perform a slimmed down replication of the following meta-analysis:\n",(0,n.kt)("a",{parentName:"p",href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4494985/"},"Neurobiological impact of nicotinic acetylcholine receptor agonists: An ALE meta-analysis of pharmacological neuroimaging studies"),"."),(0,n.kt)("p",{parentName:"admonition"},"For more guidance on how to choose a topic for meta-analysis, see the ",(0,n.kt)("a",{parentName:"p",href:"https://www.bmj.com/content/372/bmj.n71"},"PRISMA statement")," and the ",(0,n.kt)("a",{parentName:"p",href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5918306/"},"10 simple rules for neuroimaging meta-analyses"),".")),(0,n.kt)("h2",{id:"creating-a-new-project"},"Creating a new Project"),(0,n.kt)("p",null,(0,n.kt)("em",{parentName:"p"},"Projects")," contain all the Steps necessary to create a new meta-analysis in Neurosynth Compose.\nWe'll step through this process in detail."),(0,n.kt)("p",null,"To get started, ",(0,n.kt)("em",{parentName:"p"},"sign in"),", and select ",(0,n.kt)("strong",{parentName:"p"},"New Project"),". "),(0,n.kt)("p",null,"You'll now see the Project page, showing the three stages of a meta-analysis:\n",(0,n.kt)("strong",{parentName:"p"},"Search & Curate, Extract & Annotate")," and ",(0,n.kt)("strong",{parentName:"p"},"Specify Meta-Analyses"),"."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"New Project",src:a(4819).Z,width:"1557",height:"501"}),". "),(0,n.kt)("h2",{id:"search--curate"},"Search & Curate"),(0,n.kt)("p",null,"The first step in a meta-analysis is to ",(0,n.kt)("em",{parentName:"p"},"Search")," for studies, and ",(0,n.kt)("em",{parentName:"p"},"Curate")," these studies into a\nfinal ",(0,n.kt)("em",{parentName:"p"},"StudySet")," that contains the studies we want to include in a Meta-Analysis."),(0,n.kt)("p",null,"To get started, we must choose a Curation workflow. There are three options: Simple, PRISMA and Custom. The main difference between these options is the number of review steps involved in creating a final list of studies. ",(0,n.kt)("strong",{parentName:"p"},'For a rigorous Manual Meta-Analysis, select "PRISMA".')),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Reviewers typically require Preferred Reporting Items for Systematic Reviews and Meta-Analyses (PRISMA) reporting\nfor gold-standard meta-analyses. The PRISMA guidelines ensure a systematic selection and reporting process.\nHowever, a Simple workflow may be useful for exploratory and automated meta-analyses. ")),(0,n.kt)("p",null,"Next, you will be presented with the Curation board, consisting of four columns representing\nthe steps of a PRISMA workflow:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Identification"),": Remove duplicate studies")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Screening"),": Remove irrelevant studies")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Elibility"),": Remove studies that do not meet inclusion criteria or do not have retrievable information")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Included"),": Double check the studies and view which studies will be included in the meta-analysis"))),(0,n.kt)("p",null,"The overall goal is to go from a large number of studies from a broad search results, to only the\nstudies that are relevant to your research question. These steps should be completed in order!"),(0,n.kt)("h3",{id:"importing-studies"},"Importing studies"),(0,n.kt)("p",null,"But first, we must add studies to our Project. Click the ",(0,n.kt)("strong",{parentName:"p"},"Import Studies")," button. "),(0,n.kt)("p",null,"You can search for studies within the ",(0,n.kt)("em",{parentName:"p"},"NeuroStore")," database\u2014which we maintain and indexes over 20,000 pre-processed neuroimaging studies\u2014or from external sources, such as PubMed or a Citation manager file. "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Import Studies",src:a(3569).Z,width:"622",height:"238"}),". "),(0,n.kt)("p",null,(0,n.kt)("em",{parentName:"p"},"Import via NeuroStore")," is simpler and faster, as these studies already exist on in our system\nand have pre-extracted imaging data (e.g. coordinates).\nAs a result, there will be fewer irrelevant studies to exclude, and less data extraction to complete."),(0,n.kt)("p",null,"However, ",(0,n.kt)("em",{parentName:"p"},"searching other sources")," is often recommended for a comprehensive literature search, as a single source can never index all possible studies."),(0,n.kt)("p",null,"To replicate the Nicotine meta-analysis, we will replicate the author's PubMed search."),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Searching NeuroStore is a valid option for a manual meta-analysis to balance rigor and efficiency. To learn more, see the ",(0,n.kt)("a",{parentName:"p",href:"/compose-docs/tutorial/automated"},"Automated Meta-Analysis tutorial"),". ")),(0,n.kt)("h4",{id:"searching-pubmed"},"Searching PubMed"),(0,n.kt)("p",null,"We can export any PubMed search result to file, and import that file into Neurosynth Compose.\nIn this example, we perform the following search which in the ",(0,n.kt)("a",{parentName:"p",href:"https://pubmed.ncbi.nlm.nih.gov/"},"PubMed")," search field:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},'("fMRI" OR "PET" OR "neuroimaging" OR "Functional magnetic resonance imaging" OR "functional MRI") \nAND ("nicotine" OR "cigarette" OR "smok*" OR "DMXB-A")\n')),(0,n.kt)("p",null,"This results in over 3,000 studies that are potentially relevant for this meta-analysis."),(0,n.kt)("p",null,"Next, we save the results to ",(0,n.kt)("inlineCode",{parentName:"p"},"PMID")," format, with a PubMed ID on each line."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Download PubMed",src:a(6652).Z,width:"1053",height:"475"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Reviewing 3,000 studies can take a long time!\nOnly a small percentage of these studies will meet all inclusion criteria. For the sake of the tutorial, we provide a shortened list of ",(0,n.kt)(o.aBF,{size:20,mdxType:"FaDownload"})," ",(0,n.kt)("a",{target:"_blank",href:a(7555).Z},"PUBMED IDS"),".")),(0,n.kt)("p",null,"We can import this file into our Project by clicking ",(0,n.kt)("strong",{parentName:"p"},"Upload File"),". Give this import a name for future reference.\nAll studies imported from this search will be ",(0,n.kt)("strong",{parentName:"p"},"Tagged")," with the search name. "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Import name",src:a(212).Z,width:"1282",height:"354"})),(0,n.kt)("h3",{id:"identification"},"Identification"),(0,n.kt)("p",null,"All the imported studies are now visible in the first column of our PRISMA curation board. "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Identification",src:a(8665).Z,width:"3595",height:"939"})),(0,n.kt)("p",null,"The purpose ",(0,n.kt)("strong",{parentName:"p"},"Identification")," is to find ",(0,n.kt)("em",{parentName:"p"},"duplicate studies"),", which is common when importing from multiple sources.\n",(0,n.kt)("em",{parentName:"p"},"Neurosynth Compose")," will automatically find potential duplicates (based on the Title, DOI, and PMID).\nHowever, you can also manually review studies to identify any duplicates we might have missed."),(0,n.kt)("p",null,"To review studies, click on the ",(0,n.kt)("strong",{parentName:"p"},"Identification"),' column header, or an individual study.\nFor each study, you can choose to "Promote" it to the next phase, "Exclude" as a duplicate, or flag for later review.'),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Identification review",src:a(3615).Z,width:"2251",height:"1211"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"To remain PRISMA compliant, you should only exclude studies for being a duplicate in the Identification step.")),(0,n.kt)("p",null,"In this example, there are no duplicates. To quickly advance, click ",(0,n.kt)("strong",{parentName:"p"},"Promote All Uncategorized Studies")," under ",(0,n.kt)("em",{parentName:"p"},"Identification"),"."),(0,n.kt)("h3",{id:"screening"},"Screening"),(0,n.kt)("p",null,"The goal of ",(0,n.kt)("em",{parentName:"p"},"Screening")," is to determine if imported studies are relevant to your research question, based on the the Tile\nand Abstract of each."),(0,n.kt)("p",null,"To begin, click on the Screening column header from the main Curation board. The interface is\nidentical to the previous phase, except the default Exclusion reason is now ",(0,n.kt)("strong",{parentName:"p"},"irrelevant"),". "),(0,n.kt)("p",null,"Go ahead and review all 13 studies to determine if they are relevant to the topic of ",(0,n.kt)("em",{parentName:"p"},'"Nicotine administration'),'".\nAny studies that are not relevant will remain in this column and not advance.'),(0,n.kt)("h3",{id:"eligibility"},"Eligibility"),(0,n.kt)("p",null,"The goal ",(0,n.kt)("em",{parentName:"p"},"Eligibility")," is to determine studies meet the eligibility criteria of your meta-analysis.\nYou will need to read the ",(0,n.kt)("strong",{parentName:"p"},"full text")," to make this determination. "),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"The eligibility criteria depends on your research question!\nThis is where your expertise is most necessary, in order to create an interesting research question,\nand filter studies accordingly. The results of this step depends on the researcher, and there may be reasonable scientific disagreements.")),(0,n.kt)("p",null,'To begin, click on the "Eligibility" column header, or a study, as before.'),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Custom Eligibility",src:a(940).Z,width:"2341",height:"1449"})),(0,n.kt)("p",null,"For this example, we will include studies that meet these criteria:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"* fMRI or PET\n* Reported brain activity in stereotaxic coordinates (Talairach or MNI space)\n* Reported a set of coordinates (i.e., foci) from a within-subjects or between-subjects contrast assessing the effects of nAChR agonist administration (i.e., pharmacological administration or cigarette smoking) relative to a baseline condition (i.e., placebo administration or smoking-abstinence condition)\n* Examined brain activity using a cognitive or affective task paradigm or at rest. \n* Studies examining functional connectivity, brain morphology, or neurochemistry are excluded.\n")),(0,n.kt)("p",null,"For this tutorial, go ahead and review all studies in this column, and Promote relevant studies to the next phase."),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Given that this phase is more open-ended, there is no default Exclusion reason. We provide four default options for you, and\nyou may define custom Exclusion reasons if you see fit.")),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},'For open source studies, we will link to the article full text (PDF). If not available, click\n"view article link" to view article\'s PubMed page, and access the full text using your credentials.')),(0,n.kt)("h3",{id:"included"},"Included"),(0,n.kt)("p",null,"Congratulations! Once you have reviewed all studies, you should have a set of studies that you want to include in your meta-analysis. "),(0,n.kt)("p",null,"At this point, you can review this final list, and view a PRISMA diagram visually outlining your review process:"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"PRISMA",src:a(8718).Z,width:"1714",height:"1448"})),(0,n.kt)("p",null,"To finish ",(0,n.kt)("em",{parentName:"p"},"Curation"),", and create a final StudySet, click ",(0,n.kt)("em",{parentName:"p"},"Move on to Extraction")," at the top right. "),(0,n.kt)("h2",{id:"extract-and-annotation"},"Extract and Annotation"),(0,n.kt)("p",null,"The goal of this phase is to ",(0,n.kt)("strong",{parentName:"p"},"extract data")," from the text of studies (such as coordinates)\nthat will be used in the meta-analysis. You will also want to ",(0,n.kt)("strong",{parentName:"p"},"annotate")," relevant Study meta-data.\nMost commonly, for each Study you will designate which Analyses (i.e. Contrasts) to included in your meta-analysis."),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Studies that are already indexed by NeuroStore will have automatically extracted data (such as coordinates)\nsaving you a lot of time and effort. However, you may want to verify and improve this information.")),(0,n.kt)("h3",{id:"ingestion"},"Ingestion"),(0,n.kt)("p",null,"But first, we must create a StudySet containing your studies! "),(0,n.kt)("p",null,"New studies not in the NeuroStore database will be created, and studies that match existing studies will be added to a newly created StudySet."),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Studies in NeuroStore have multiple Versions, including those created by other users, as well as the original copy."),(0,n.kt)("p",{parentName:"admonition"},"If you ingest a study that is already indexed in the database, we will match to the newest possible Version, by default.\nIdeally, this will be a Version that another user has already improved, saving you even more time!"),(0,n.kt)("p",{parentName:"admonition"},"You can switch Study Versions at anytime (including to the original automate copy) by clicking ",(0,n.kt)("em",{parentName:"p"},"Switch Study Version")," at the bottom\nof Study's page. Any edits you make will automatically be saved as a new Version.")),(0,n.kt)("h3",{id:"editing-studies"},"Editing studies"),(0,n.kt)("p",null,"Once your StudySet is created, it's time to edit studies. You will see a list of your studies:"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Extraction",src:a(9774).Z,width:"1655",height:"799"})),(0,n.kt)("p",null,"Click on any Study to edit:"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Extraction study view",src:a(5362).Z,width:"2418",height:"856"})),(0,n.kt)("h4",{id:"analysis-data"},"Analysis Data"),(0,n.kt)("p",null,"Let's start by editing a Study's Analyses."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Extraction study view",src:a(369).Z,width:"2128",height:"923"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},(0,n.kt)("em",{parentName:"p"},"Analyses"),' are groups of images or coordinates reported in a given study fir a specific analysis. This is often referred to as "Contrasts", but we use the more general term "Analyses" to accommodate a wider range of fMRI models. ')),(0,n.kt)("p",null,"For new studies, we will not have any data, and it is necessary to manually enter these data from the text of a study.\nWe can create a new Analysis for each group of Coordinates, and input the data from the text:"),(0,n.kt)("p",null,"For studies already indexed by NeuroStore, we will already have pre-extracted Coordinates. You can use this same interface to verify and correct these data. "),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"Automatically extracted coordinates can contain a number of errors. Mostly commonly, several distinct Analyses (i.e. contrasts), will get grouped into a single Analyses. You will want to create new Analyses to split up the Coordinates into distinct units. "),(0,n.kt)("p",{parentName:"admonition"},"Another common error is that Analyses are duplicated, meaning you may want to delete extra Analyses. ")),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"You can copy and paste coordinates from Microsoft Excel or Google Sheets.")),(0,n.kt)("h4",{id:"annotations"},"Annotations"),(0,n.kt)("p",null,"A key goal of the Extraction phase, is to add Annotations that can help us distinguish Analyses, and include/exclude specific Analyses from a meta-analysis. Annotations are simply columns of data with a value for all Analyses within a StudySet."),(0,n.kt)("p",null,"Annotations can be explained as a way to categorize analyses within each study. For example, they can be categorized by task (e.g., Stroop, N-back, etc.), by modality (e.g., fMRI, PET, etc.), or by any other category that you want to use to filter the analyses. "),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},'By default, a single Annotation called "included" is created, which includes all Analyses.\nYou can modify this Annotation to select the relevant Analyses of interest to your research question')),(0,n.kt)("p",null,"For this replication, we are interested in the effects of nAChR agonists on the brain, which can either be excitatory or inhibitory, so we add both an \u201cactivation\u201d and \u201cdeactivation\u201d column. "),(0,n.kt)("p",null,'First create an Annotation. From the main Extraction page, click "View Annotations" on the top right. Here you can view all annotations and the value for each Analyses, as well as create new Annotations. You can choose the data type of each column as either a Number, String, or Boolean. Selected a Boolean data type for the \u201cactivation\u201d and \u201cdeactivation\u201d columns, which will allow you to filter the analyses by whether they are excitatory or inhibitory. By default you will have an \u201cinclude\u201d column to help get you started.'),(0,n.kt)("p",null,'Below, I am creating a new Annotation for "deactivations"'),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"annotation for a study",src:a(8669).Z,width:"1795",height:"758"})),(0,n.kt)("p",null,'Now, when I look at a study, I can edit the value for Analyses, assigning each group of coordinates as "activations" or "deactivations":'),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"annotation for a study",src:a(4235).Z,width:"850",height:"128"})),(0,n.kt)("h2",{id:"meta-analysis-specification"},"Meta-analysis specification"),(0,n.kt)("p",null,"You are finally ready to specify a meta-analysis! "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"start meta-analysis specification",src:a(234).Z,width:"834",height:"308"})),(0,n.kt)("p",null,"After clicking ",(0,n.kt)("strong",{parentName:"p"},'"+ Meta-Analysis Specification"'),", you'll see the following dialog:"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Meta-analysis wizard",src:a(588).Z,width:"1762",height:"1014"})),(0,n.kt)("p",null,'For each Meta-Analysis, you will select an Annotation to filter the Analyses to include.\nRemember, by default, the "included" column will be created and include ',(0,n.kt)("em",{parentName:"p"},"all")," Analyses. "),(0,n.kt)("p",null,"Next, you will ",(0,n.kt)("strong",{parentName:"p"},"select a meta-analysis Algorithm and Corrector"),":"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Meta-analysis algorithm",src:a(3556).Z,width:"1762",height:"1014"})),(0,n.kt)("p",null,'A variety of common meta-analysis algorithms such as "ALE" and "MKDA" are available, as well as two\nstrategies for controlling for multiple comparisons: FDR (false detection rate) and FWE (family wise error).'),(0,n.kt)("p",null,'For this example, we\'ll choose "MKDADensity" and and "FDRCorrection". You can modify the parameters for each, if you want,\nbut we provide sane defaults for all. '),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Learn more about meta-analysis algorithms in the ",(0,n.kt)("a",{parentName:"p",href:"https://nimare.readthedocs.io/en/stable/index.html"},"NiMARE Documentation"))),(0,n.kt)("p",null,"Next, you'll give your meta-analysis a name, and review the details of your specification. "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Meta-analysis review",src:a(7832).Z,width:"1771",height:"1575"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"You can define multiple Meta-Analysis specifications in a Project, paired to the same StudySet")),(0,n.kt)("h2",{id:"run-your-meta-analysis"},"Run your meta-analysis!"),(0,n.kt)("p",null,"Congratulations! You now have a Meta-Analysis specification that is ready to run."),(0,n.kt)("p",null,"You can execute your Meta-Analysis for free in the cloud on Google Colab by copying the unique ",(0,n.kt)("em",{parentName:"p"},"meta-analysis id"),"\nand pasting it into our Google Colab notebook."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Meta-analysis run",src:a(3349).Z,width:"2994",height:"1030"})))}m.isMDXComponent=!0},7555:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/files/tutorial_pmids-434d072c0087956ffdef61013ba6d0da.txt"},369:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/add_coordinates-8bea486d4904648bcafa7ea0aa3ccf05.png"},5362:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/annotate_and_extract_study-ca3e4d3930ebf9dc60ad23185a36eefc.png"},8669:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/annotation_create-1b42a849c3fa25379a4492e899c883bd.png"},4235:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/annotation_view-bb152fb9777b96fa48ecf95ada750d97.png"},940:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/custom_exclusion-16ad73f8fbab6041651f04bf3deb4f80.png"},6652:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/download_search_results-d5ec087db9b8527d9891715d987540a0.png"},9774:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/extraction_and_annotation-3f2588aa81794ea975ca13e54b3ae968.png"},8665:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/identification-7f834ceb21aa8027ee29b527ead7700d.png"},3615:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/identification_review-95da15912e8e3b0ecd45612d88ce8ae7.png"},212:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/import_name-47b2b52fb0476898def227448666b9c9.png"},3569:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/import_studies_options-d58951af444810f76b35e77050c7deb4.png"},3556:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/ma_algorithm-76b551077f36af384173d025dd8d39cb.png"},7832:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/ma_review-dca9072320631a4c2b7bd8a3939763bf.png"},3349:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/ma_run-21ff60898e902524975d8fc965d4a08c.png"},588:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/ma_wizard-94f17423e2d4a4df7e23f88cb26c4595.png"},4819:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/new_project_view-865234e6c83825dde8320121d1d9c773.png"},8718:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/prisma_diagram-399aba8441e1b00d3ffb3cdc7b5c6d9c.png"},234:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/proceed_meta_analysis-ccd673905b3f5425823cc947b282bd48.png"}}]); \ No newline at end of file diff --git a/assets/js/4c0219fe.0ac61e89.js b/assets/js/4c0219fe.0ac61e89.js deleted file mode 100644 index bd61210..0000000 --- a/assets/js/4c0219fe.0ac61e89.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[3730],{5267:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var n=a(7462),i=(a(7294),a(3905)),s=a(6464);const o={sidebar_label:"MKDA Chi-Squared Association",sidebar_position:3},r="MKDA Chi-Squared and large-scale association tests",l={unversionedId:"tutorial/advanced/mkda_association",id:"tutorial/advanced/mkda_association",title:"MKDA Chi-Squared and large-scale association tests",description:"How to perform large-scale association tests using MKDA Chi-Squared Meta-Analysis, with a Social Processing example",source:"@site/docs/tutorial/advanced/mkda_association.md",sourceDirName:"tutorial/advanced",slug:"/tutorial/advanced/mkda_association",permalink:"/compose-docs/tutorial/advanced/mkda_association",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/tutorial/advanced/mkda_association.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:3,frontMatter:{sidebar_label:"MKDA Chi-Squared Association",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Advanced tutorials",permalink:"/compose-docs/tutorial/advanced/"}},c={},p=[{value:"The Reverse Inference Problem",id:"the-reverse-inference-problem",level:2},{value:"MKDA Chi-Squared",id:"mkda-chi-squared",level:2},{value:"How to run MKDA Chi-Squared on Neurosynth Compose",id:"how-to-run-mkda-chi-squared-on-neurosynth-compose",level:2},{value:"Specification",id:"specification",level:3},{value:"Executing your analysis",id:"executing-your-analysis",level:3},{value:"Interpreting results",id:"interpreting-results",level:2},{value:"Example: Pintos Lobo (2022) - All Social Processing Tasks",id:"example-pintos-lobo-2022---all-social-processing-tasks",level:2},{value:"Results",id:"results",level:3},{value:"Footnotes & Limitations",id:"footnotes--limitations",level:2},{value:"References & Further Reading",id:"references--further-reading",level:2}],d={toc:p},m="wrapper";function h(e){let{components:t,...o}=e;return(0,i.kt)(m,(0,n.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"mkda-chi-squared-and-large-scale-association-tests"},"MKDA Chi-Squared and large-scale association tests"),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"How to perform large-scale association tests using MKDA Chi-Squared Meta-Analysis, with a Social Processing example")),(0,i.kt)("h2",{id:"the-reverse-inference-problem"},"The Reverse Inference Problem"),(0,i.kt)("p",null,"A common goal of neuroimaging meta-analysis, is to pool a set of studies that invoke common psychological constructs to identify where brain activity is consistently activated."),(0,i.kt)("p",null,"Although this is a useful approach, there is a significant inferential challenge-- namely, determining how ",(0,i.kt)("em",{parentName:"p"},"specific")," the relationship between activity in a given region and the cognitive state invoked by the target task. Ideally, we would like to infer the probability of a mental state given activity in a given region. However, this is exceedingly difficult due to the well-established problem of ",(0,i.kt)("em",{parentName:"p"},"reverse inference")," (Poldrack, 2011). "),(0,i.kt)("p",null,"Even if we establish that a given task (e.g. working memory) activates a region 100% of the time (e.g. lateral prefrontal cortex), this observation only establishes that working memory engagement is a sufficient condition for LPFC activity, but ",(0,i.kt)("em",{parentName:"p"},"not")," that LPFC activity indicates working memory engagement (Poldrack & Yarkoni, 2015). In practice, we know that brain regions are activated by a variety of cognitive processes, and that certain regions of the brain- such as the insula, lateral PFC and medial frontal cingulate cotex (MFCC)- have a high base rate of activation, making it difficult to establish specificity. Using the Neurosynth database (15,000+ studies), we can map the probability of activation of all voxels. Across this large and diverse dataset, certain voxels in MFCC and insula are activate in as many as 20% of studies. "),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Prob-A",src:a(9569).Z,width:"1000",height:"180"}),"\n",(0,i.kt)("em",{parentName:"p"},"Probability of Activity for all Voxels across the Neurosynth Dataset")),(0,i.kt)("p",null,"The reverse inference problem is a challenge even for rigorous, high-quality meta-analyses. For example, a recent meta-analysis of RDoC social constructs across 864 fMRI contrasts, ",(0,i.kt)("a",{parentName:"p",href:"https://pubmed.ncbi.nlm.nih.gov/36436737/"},"Pintos Lobo et al., (2022)"),' found converging activation across a variety of regions for "All Social Processing Tasks", including mPFC, ACC, PCC, TPJ, bilateral insula, amygdala, fusiform gyrus, precuneus, and thalamus. However, some of the regions have a high base rate of activation, making it difficult to know how strongly associated their activity is with social processing.'),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Lobos Pinto",src:a(9377).Z,width:"517",height:"135"})),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"Fig 5a (condensed) from Pintos Lobo et al., (2022). Convergent Activation Patterns Across all social processing tasks (864 contrasts, 1,109 total annotations). ")),(0,i.kt)("p",null,"Although reverse inference poses a serious challenge, there are certain questions we can ask using large-scale meta-analytic databases that can help. Specifically: ",(0,i.kt)("strong",{parentName:"p"},"does activity occur ",(0,i.kt)("em",{parentName:"strong"},"more consistently")," for studies that elicit by the mental construct of interest (in this case, social processing) than studies that ",(0,i.kt)("em",{parentName:"strong"},"do not")," elicit that construct")," Large-scale meta-analytic datasets can serve as a useful reference, as they consists of tens of thousands of diverse neuroimaging studies automatically sampled from the literature."),(0,i.kt)("h2",{id:"mkda-chi-squared"},"MKDA Chi-Squared"),(0,i.kt)("p",null,"We can answer this question using a ",(0,i.kt)("inlineCode",{parentName:"p"},"Multilevel kernel density (MKDA) analysis - Chi-square")," analysis, originally introduced in ",(0,i.kt)("a",{parentName:"p",href:"https://doi.org/10.1093/scan/nsm015"},"Wager et al.,"),". For every voxel, we test if a greater proportion of studies in our meta-analysis activate a given voxel than in a large set of studies that ",(0,i.kt)("em",{parentName:"p"},"we did not select")," for our inclusion criteria. "),(0,i.kt)("p",null,"Conceptually, this tests if there's evidence of a ",(0,i.kt)("em",{parentName:"p"},"population level")," association between the task or psychological construct in our meta-analysis and brain activation (for every voxel). It is equivalent to conducting a chi-squared test of independence for a 2-by-2 table of counts for each voxel, where the binary variables are foci occurrence in the meta-analysis of interest and foci occurrence in the reference set of unselected studies."),(0,i.kt)("h2",{id:"how-to-run-mkda-chi-squared-on-neurosynth-compose"},"How to run MKDA Chi-Squared on Neurosynth Compose"),(0,i.kt)("h3",{id:"specification"},"Specification"),(0,i.kt)("p",null,"Specifying an MKDA Chi-Square meta-analysis in Neurosynth is easy. Simply, select a target set of Analyses to include from your StudySet as you would for any other meta-analysis. "),(0,i.kt)("p",null,'In Step 3 ("Create Meta-Analysis Specification") of your Project, select ',(0,i.kt)("em",{parentName:"p"},"MKDAChi2")," as the ",(0,i.kt)("em",{parentName:"p"},"algorithm"),". "),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"MKDA Chi Squared",src:a(541).Z,width:"1169",height:"408"})),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"By default, the ",(0,i.kt)("inlineCode",{parentName:"p"},"FDRCorrector")," is selected, which will perform cluster correction using False Detection Rate with an ",(0,i.kt)("em",{parentName:"p"},"alpha")," of 0.05.\nThis is a fast algorithm, however, it is recommended to use ",(0,i.kt)("inlineCode",{parentName:"p"},"FWECorrector")," (family-wise-error) with the ",(0,i.kt)("inlineCode",{parentName:"p"},"montecarlo")," method for more accurate, publication-quality results.")),(0,i.kt)("p",null,'Next, select the annotation inclusion column you want to use, as before (by default, the "included" column will be used).'),(0,i.kt)("p",null,"Now, select a reference dataset from the dropdown list below. The Neurosynth dataset represents the latest release of the legacy ",(0,i.kt)("em",{parentName:"p"},"Neurosynth")," dataset (version 7), released July, 2018. The ",(0,i.kt)("em",{parentName:"p"},"Neurostore"),' dataset represents the latest update of our continuously updating "live" dataset, spanning over 20,000 neuroimaging studies. '),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"MKDA Chi Squared Reference",src:a(6344).Z,width:"1136",height:"243"})),(0,i.kt)("p",null,"Now simply complete the rest of the meta-analysis specification wizard to finish. "),(0,i.kt)("h3",{id:"executing-your-analysis"},"Executing your analysis"),(0,i.kt)("p",null,"As usual, you can execute your meta-analysis using Google Colab or on a local computational resource using Docker. "),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"The ",(0,i.kt)("inlineCode",{parentName:"p"},"MKDAChi2")," algorithm takes between ~30s-2minutes to run. However, the ",(0,i.kt)("inlineCode",{parentName:"p"},"FWECorrector")," with 5,000+ montecarlo iterations can take several hours to complete.\nWe recommend using a workstation or HPC and specifying ",(0,i.kt)("inlineCode",{parentName:"p"},"--n-cores")," at run-time.")),(0,i.kt)("h2",{id:"interpreting-results"},"Interpreting results"),(0,i.kt)("p",null,"The ",(0,i.kt)("em",{parentName:"p"},"MKDA Chi-Squared")," Workflow outputs two key maps: ",(0,i.kt)("strong",{parentName:"p"},"uniformity")," and ",(0,i.kt)("strong",{parentName:"p"},"association")," test maps."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Uniformity test map:")," z-scores from a one-way ANOVA testing whether the proportion of studies that report activation at a given voxel differs from the rate that would be expected if activations were uniformly distributed throughout gray matter.")),(0,i.kt)("p",null,'The uniformity test map can be interpreted in roughly the same way as most standard whole-brain fMRI analysis: it displays the degree to which each voxel is consistently activated in studies that use a given term. For instance, for a meta-analysis of "emotion" high z-scores in the amygdala implies that studies that use the word emotion a lot tend to consistently report activation in the amygdala--at least, more consistently than one would expect if activation were uniformly distributed throughout gray matter. '),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Association test map"),": z-scores from a two-way ANOVA testing for the presence of a non-zero association between term use and voxel activation.")),(0,i.kt)("p",null,"The association test maps tell you whether activation in a region ",(0,i.kt)("strong",{parentName:"p"},"XXX")," occurs more consistently for studies in your meta-analytic sample ",(0,i.kt)("strong",{parentName:"p"},"m")," than for other studies in the reference dataset. In other words, a large positive z-score implies that studies in a meta-analysis are more likely to report ",(0,i.kt)("strong",{parentName:"p"},"XXX")," activation than studies whose abstracts don't include the word 'emotion'. "),(0,i.kt)("p",null,"Note that association maps ",(0,i.kt)("em",{parentName:"p"},"do not")," tell you what the probability of a given psychological concept or task is. High Z-scores do not imply that a certain region or voxel is ",(0,i.kt)("em",{parentName:"p"},"selective")," for a given concept or task. Instead, it just means there is evidence that there is at least a non-zero difference between reference studies, and studies in the meta-analysis."),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},(0,i.kt)("em",{parentName:"p"},"NiMARE")," outputs a variety of maps, including cluster-corrected and uncorrected versions of all maps. "),(0,i.kt)("p",{parentName:"admonition"},"See the documentation sections on ",(0,i.kt)("a",{parentName:"p",href:"https://nimare.readthedocs.io/en/stable/outputs.html"},"Outputs of NIMARE")," and ",(0,i.kt)("a",{parentName:"p",href:"https://nimare.readthedocs.io/en/stable/cbma.html#the-monte-carlo-multiple-comparisons-correction-method"},"Monte Carlo multiple comparisons")," for more details.")),(0,i.kt)("h2",{id:"example-pintos-lobo-2022---all-social-processing-tasks"},"Example: Pintos Lobo (2022) - All Social Processing Tasks"),(0,i.kt)("p",null,"To demonstrate, we used Neurosynth-Compose to replicate the ",(0,i.kt)("a",{parentName:"p",href:"https://pubmed.ncbi.nlm.nih.gov/36436737/"},"Pintos Lobo et al., (2022)")," meta-analysis for All Social Processing Tasks. For this example, we have already created a ",(0,i.kt)("inlineCode",{parentName:"p"},"Project")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"StudySet")," with the coordinates used in this meta-analysis."),(0,i.kt)("p",null,"We then specified a ",(0,i.kt)("inlineCode",{parentName:"p"},"MKDAChi2")," Meta-Analysis with ",(0,i.kt)("inlineCode",{parentName:"p"},"FWECorrector")," with the ",(0,i.kt)("inlineCode",{parentName:"p"},"montecarlo")," method with 5,000 iterations. "),(0,i.kt)(s.Z,{variant:"contained",color:"primary",href:"https://compose.neurosynth.org/projects/4x4NsrWg8heS/meta-analyses/7K9BVG9hJQRu",mdxType:"Button"},"Meta-Analysis Specification and Results on Neurosynth Compose"),(0,i.kt)("h3",{id:"results"},"Results"),(0,i.kt)("p",null,"First, let's look at the FWE cluster corrected ",(0,i.kt)("strong",{parentName:"p"},"uniformity test")," map."),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"z_desc-uniformityMass_level-cluster_corr-FWE_method-montecarlo"),"\n",(0,i.kt)("img",{alt:"Uniformity",src:a(4568).Z,width:"950",height:"180"})),(0,i.kt)("p",null,"In this analysis, we replicate the findings of Pinto Lobos (2022), showing consistent activation for social processing across a variety of regions."),(0,i.kt)("p",null,"Next, let's look at the FWE cluster corrected ",(0,i.kt)("strong",{parentName:"p"},"association map"),":"),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"z_desc-associationMass_level-cluster_corr-FWE_method-montecarlo"),"\n",(0,i.kt)("img",{alt:"Association",src:a(2167).Z,width:"950",height:"180"})),(0,i.kt)("p",null,"As before, regions which have been previously implicated with social processing, such as the tempo-parietal junction (TPJ), and dorso-medial and ventro-medial PFC are present, meaning that activity in these social processing studies report activity in these regions with greater frequency than other studies in the Neurosynth database."),(0,i.kt)("p",null,"However, certain regions which we know to have low specificity, such as the insula, medial frontal cingulate cortex (MFCC) and parts of dorso-lateral PFC, are absent, meaning that there is ",(0,i.kt)("em",{parentName:"p"},"no evidence")," that social processing tasks report activity in these regions ",(0,i.kt)("em",{parentName:"p"},"more frequently")," than other studies in the database."),(0,i.kt)("p",null,"This example demonstrates how ",(0,i.kt)("inlineCode",{parentName:"p"},"MKDA Chi-Squared")," association analysis can help determine the specificity activity and tasks in a meta-analysis, even for high-quality manual meta-analyses."),(0,i.kt)("h2",{id:"footnotes--limitations"},"Footnotes & Limitations"),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},'What happened to the "forward inference" and "reverse inference" maps?')),(0,i.kt)("p",null,'We renamed the pre-generated forward and reverse inference maps; they\'re now referred to as the "uniformity test" and "association test" maps that we discuss here.'),(0,i.kt)("p",null,"Although the method we used hasn't changed (",(0,i.kt)("inlineCode",{parentName:"p"},"MKDA Chi-Squared"),"), the latter names more accurately capture what these maps actually mean. It was a mistake on our part to have used the forward and reverse inference labels; those labels should properly be reserved for posterior probability maps generated via a Bayesian estimation analysis, rather than for z-scores resulting from a frequentist inferential test of association. Probability maps are more difficult to interpret and use correctly, as they depend on the ",(0,i.kt)("em",{parentName:"p"},"prior")," assumed by the researcher. Since setting an appropriate prior is highly non-trivial, these maps are disabled by default."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"}," Using MKDA Chi Squared on manual meta-analyses ")),(0,i.kt)("p",null,"In this tutorial, we applied ",(0,i.kt)("inlineCode",{parentName:"p"},"MKDA Chi-Squared"),' to a manual meta-analysis. However, this is not a perfect comparison, as there are differences between the reference sample (Neurosynth), the high-quality manual annotations given as input. Studies in large-scale meta-analytic databases are automatically populated, meaning there are potential sampling biases. Most notably, studies in Neurosynth include all reported coordinates, not only "target" analyses/contrasts. Thus, it is possible that low-level task > no task contrasts are over-represented in this reference sample. '),(0,i.kt)("h2",{id:"references--further-reading"},"References & Further Reading"),(0,i.kt)("p",null,"If you want to understand the nuances of what inferences you can and cannot make using these maps, we recommend reading Tal Yarkoni's blog posts on how these maps do not provide evidence that the dACC is select for pain: ",(0,i.kt)("a",{parentName:"p",href:"https://www.talyarkoni.org/blog/2015/12/05/no-the-dorsal-anterior-cingulate-is-not-selective-for-pain-comment-on-lieberman-and-eisenberger-2015/"},"Post 1"),", ",(0,i.kt)("a",{parentName:"p",href:"https://www.talyarkoni.org/blog/2015/12/14/still-not-selective-comment-on-comment-on-comment-on-lieberman-eisenberger-2015/"},"Post 2"),", as well as a commentary by ",(0,i.kt)("a",{parentName:"p",href:"https://www.pnas.org/doi/10.1073/pnas.1600282113"},"Tor Wager et al., 2016")),(0,i.kt)("p",null,"Poldrack RA. Inferring mental states from neuroimaging data: from reverse inference to large-scale decoding. Neuron. 2011 Dec 8;72(5):692-7. doi: 10.1016/j.neuron.2011.11.001. PMID: 22153367; PMCID: PMC3240863."),(0,i.kt)("p",null,"Poldrack RA, Yarkoni T. From Brain Maps to Cognitive Ontologies: Informatics and the Search for Mental Structure. Annu Rev Psychol. 2016;67:587-612. doi: 10.1146/annurev-psych-122414-033729. Epub 2015 Sep 21. PMID: 26393866; PMCID: PMC4701616."))}h.isMDXComponent=!0},541:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/mkda_chi_squared_algo-ccaec6b8f53a020b314e09162dccf9b7.png"},6344:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/mkda_chi_squared_reference-418d3c236f463dcdd4f007e4a649c1ba.png"},9377:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/pinto_lobos_figa-115dccb8db33fc1a969fa252124b9e96.png"},2167:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/pinto_lobos_z_desc-associationMass_level-cluster_corr-FWE_method-montecarlo.nii.gz-7f5395616d7b1943c618393fca6e4e88.png"},4568:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/pinto_lobos_z_desc-uniformityMass_level-cluster_corr-FWE_method-montecarlo.nii.gz-db297c21a1e3a0c952b683a8d0f07981.png"},9569:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/prob-A_neurosynth-8d7c0db5edbb4d6862b9e503cc30e694.png"}}]); \ No newline at end of file diff --git a/assets/js/4c0219fe.b92dce3c.js b/assets/js/4c0219fe.b92dce3c.js new file mode 100644 index 0000000..5882152 --- /dev/null +++ b/assets/js/4c0219fe.b92dce3c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[3730],{5267:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var n=a(7462),i=(a(7294),a(3905)),s=a(6464);const o={sidebar_label:"MKDA Chi-Squared Association",sidebar_position:3},r="MKDA Chi-Squared and large-scale association tests",l={unversionedId:"tutorial/advanced/mkda_association",id:"tutorial/advanced/mkda_association",title:"MKDA Chi-Squared and large-scale association tests",description:"How to perform large-scale association tests using MKDA Chi-Squared Meta-Analysis, with a Social Processing example",source:"@site/docs/tutorial/advanced/mkda_association.md",sourceDirName:"tutorial/advanced",slug:"/tutorial/advanced/mkda_association",permalink:"/compose-docs/tutorial/advanced/mkda_association",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/tutorial/advanced/mkda_association.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:3,frontMatter:{sidebar_label:"MKDA Chi-Squared Association",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Advanced tutorials",permalink:"/compose-docs/tutorial/advanced/"}},c={},p=[{value:"The Reverse Inference Problem",id:"the-reverse-inference-problem",level:2},{value:"MKDA Chi-Squared",id:"mkda-chi-squared",level:2},{value:"How to run MKDA Chi-Squared on Neurosynth Compose",id:"how-to-run-mkda-chi-squared-on-neurosynth-compose",level:2},{value:"Specification",id:"specification",level:3},{value:"Executing your analysis",id:"executing-your-analysis",level:3},{value:"Interpreting results",id:"interpreting-results",level:2},{value:"Example: Pintos Lobo (2022) - All Social Processing Tasks",id:"example-pintos-lobo-2022---all-social-processing-tasks",level:2},{value:"Results",id:"results",level:3},{value:"Footnotes & Limitations",id:"footnotes--limitations",level:2},{value:"References & Further Reading",id:"references--further-reading",level:2}],d={toc:p},m="wrapper";function h(e){let{components:t,...o}=e;return(0,i.kt)(m,(0,n.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"mkda-chi-squared-and-large-scale-association-tests"},"MKDA Chi-Squared and large-scale association tests"),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"How to perform large-scale association tests using MKDA Chi-Squared Meta-Analysis, with a Social Processing example")),(0,i.kt)("h2",{id:"the-reverse-inference-problem"},"The Reverse Inference Problem"),(0,i.kt)("p",null,"A common goal of neuroimaging meta-analysis, is to pool a set of studies that invoke common psychological constructs to identify where brain activity is consistently activated."),(0,i.kt)("p",null,"Although this is a useful approach, there is a significant inferential challenge-- namely, determining how ",(0,i.kt)("em",{parentName:"p"},"specific")," the relationship between activity in a given region and the cognitive state invoked by the target task. Ideally, we would like to infer the probability of a mental state given activity in a given region. However, this is exceedingly difficult due to the well-established problem of ",(0,i.kt)("em",{parentName:"p"},"reverse inference")," (Poldrack, 2011). "),(0,i.kt)("p",null,"Even if we establish that a given task (e.g. working memory) activates a region 100% of the time (e.g. lateral prefrontal cortex), this observation only establishes that working memory engagement is a sufficient condition for LPFC activity, but ",(0,i.kt)("em",{parentName:"p"},"not")," that LPFC activity indicates working memory engagement (Poldrack & Yarkoni, 2015). In practice, we know that brain regions are activated by a variety of cognitive processes, and that certain regions of the brain- such as the insula, lateral PFC and medial frontal cingulate cotex (MFCC)- have a high base rate of activation, making it difficult to establish specificity. Using the Neurosynth database (15,000+ studies), we can map the probability of activation of all voxels. Across this large and diverse dataset, certain voxels in MFCC and insula are activate in as many as 20% of studies. "),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Prob-A",src:a(9569).Z,width:"1000",height:"180"}),"\n",(0,i.kt)("em",{parentName:"p"},"Probability of Activity for all Voxels across the Neurosynth Dataset")),(0,i.kt)("p",null,"The reverse inference problem is a challenge even for rigorous, high-quality meta-analyses. For example, a recent meta-analysis of RDoC social constructs across 864 fMRI contrasts, ",(0,i.kt)("a",{parentName:"p",href:"https://pubmed.ncbi.nlm.nih.gov/36436737/"},"Pintos Lobo et al., (2022)"),' found converging activation across a variety of regions for "All Social Processing Tasks", including mPFC, ACC, PCC, TPJ, bilateral insula, amygdala, fusiform gyrus, precuneus, and thalamus. However, some of the regions have a high base rate of activation, making it difficult to know how strongly associated their activity is with social processing.'),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Lobos Pinto",src:a(9377).Z,width:"517",height:"135"})),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"Fig 5a (condensed) from Pintos Lobo et al., (2022). Convergent Activation Patterns Across all social processing tasks (864 contrasts, 1,109 total annotations). ")),(0,i.kt)("p",null,"Although reverse inference poses a serious challenge, there are certain questions we can ask using large-scale meta-analytic databases that can help. Specifically: ",(0,i.kt)("strong",{parentName:"p"},"does activity occur ",(0,i.kt)("em",{parentName:"strong"},"more consistently")," for studies that elicit by the mental construct of interest (in this case, social processing) than studies that ",(0,i.kt)("em",{parentName:"strong"},"do not")," elicit that construct")," Large-scale meta-analytic datasets can serve as a useful reference, as they consists of tens of thousands of diverse neuroimaging studies automatically sampled from the literature."),(0,i.kt)("h2",{id:"mkda-chi-squared"},"MKDA Chi-Squared"),(0,i.kt)("p",null,"We can answer this question using a ",(0,i.kt)("inlineCode",{parentName:"p"},"Multilevel kernel density (MKDA) analysis - Chi-square")," analysis, originally introduced in ",(0,i.kt)("a",{parentName:"p",href:"https://doi.org/10.1093/scan/nsm015"},"Wager et al.,"),". For every voxel, we test if a greater proportion of studies in our meta-analysis activate a given voxel than in a large set of studies that ",(0,i.kt)("em",{parentName:"p"},"we did not select")," for our inclusion criteria. "),(0,i.kt)("p",null,"Conceptually, this tests if there's evidence of a ",(0,i.kt)("em",{parentName:"p"},"population level")," association between the task or psychological construct in our meta-analysis and brain activation (for every voxel). It is equivalent to conducting a chi-squared test of independence for a 2-by-2 table of counts for each voxel, where the binary variables are foci occurrence in the meta-analysis of interest and foci occurrence in the reference set of unselected studies."),(0,i.kt)("h2",{id:"how-to-run-mkda-chi-squared-on-neurosynth-compose"},"How to run MKDA Chi-Squared on Neurosynth Compose"),(0,i.kt)("h3",{id:"specification"},"Specification"),(0,i.kt)("p",null,"Specifying an MKDA Chi-Square meta-analysis in Neurosynth is easy. Simply, select a target set of Analyses to include from your StudySet as you would for any other meta-analysis. "),(0,i.kt)("p",null,'In Step 3 ("Create Meta-Analysis Specification") of your Project, select ',(0,i.kt)("em",{parentName:"p"},"MKDAChi2")," as the ",(0,i.kt)("em",{parentName:"p"},"algorithm"),". "),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"MKDA Chi Squared",src:a(541).Z,width:"1169",height:"408"})),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"By default, the ",(0,i.kt)("inlineCode",{parentName:"p"},"FDRCorrector")," is selected, which will perform cluster correction using False Detection Rate with an ",(0,i.kt)("em",{parentName:"p"},"alpha")," of 0.05.\nThis is a fast algorithm, however, it is recommended to use ",(0,i.kt)("inlineCode",{parentName:"p"},"FWECorrector")," (family-wise-error) with the ",(0,i.kt)("inlineCode",{parentName:"p"},"montecarlo")," method for more accurate, publication-quality results.")),(0,i.kt)("p",null,'Next, select the annotation inclusion column you want to use, as before (by default, the "included" column will be used).'),(0,i.kt)("p",null,"Now, select a reference dataset from the dropdown list below. The Neurosynth dataset represents the latest release of the legacy ",(0,i.kt)("em",{parentName:"p"},"Neurosynth")," dataset (version 7), released July, 2018. The ",(0,i.kt)("em",{parentName:"p"},"Neurostore"),' dataset represents the latest update of our continuously updating "live" dataset, spanning over 20,000 neuroimaging studies. '),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"MKDA Chi Squared Reference",src:a(6344).Z,width:"1136",height:"243"})),(0,i.kt)("p",null,"Now simply complete the rest of the meta-analysis specification wizard to finish. "),(0,i.kt)("h3",{id:"executing-your-analysis"},"Executing your analysis"),(0,i.kt)("p",null,"As usual, you can execute your meta-analysis using Google Colab or on a local computational resource using Docker. "),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"The ",(0,i.kt)("inlineCode",{parentName:"p"},"MKDAChi2")," algorithm takes between ~30s-2minutes to run. However, the ",(0,i.kt)("inlineCode",{parentName:"p"},"FWECorrector")," with 5,000+ montecarlo iterations can take several hours to complete.\nWe recommend using a workstation or HPC and specifying ",(0,i.kt)("inlineCode",{parentName:"p"},"--n-cores")," at run-time.")),(0,i.kt)("h2",{id:"interpreting-results"},"Interpreting results"),(0,i.kt)("p",null,"The ",(0,i.kt)("em",{parentName:"p"},"MKDA Chi-Squared")," Workflow outputs two key maps: ",(0,i.kt)("strong",{parentName:"p"},"uniformity")," and ",(0,i.kt)("strong",{parentName:"p"},"association")," test maps."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Uniformity test map:")," z-scores from a one-way ANOVA testing whether the proportion of studies that report activation at a given voxel differs from the rate that would be expected if activations were uniformly distributed throughout gray matter.")),(0,i.kt)("p",null,'The uniformity test map can be interpreted in roughly the same way as most standard whole-brain fMRI analysis: it displays the degree to which each voxel is consistently activated in studies that use a given term. For instance, for a meta-analysis of "emotion" high z-scores in the amygdala implies that studies that use the word emotion a lot tend to consistently report activation in the amygdala--at least, more consistently than one would expect if activation were uniformly distributed throughout gray matter. '),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Association test map"),": z-scores from a two-way ANOVA testing for the presence of a non-zero association between term use and voxel activation.")),(0,i.kt)("p",null,"The association test maps tell you whether activation in a region ",(0,i.kt)("strong",{parentName:"p"},"XXX")," occurs more consistently for studies in your meta-analytic sample ",(0,i.kt)("strong",{parentName:"p"},"m")," than for other studies in the reference dataset. In other words, a large positive z-score implies that studies in a meta-analysis are more likely to report ",(0,i.kt)("strong",{parentName:"p"},"XXX")," activation than studies whose abstracts don't include the word 'emotion'. "),(0,i.kt)("p",null,"Note that association maps ",(0,i.kt)("em",{parentName:"p"},"do not")," tell you what the probability of a given psychological concept or task is. High Z-scores do not imply that a certain region or voxel is ",(0,i.kt)("em",{parentName:"p"},"selective")," for a given concept or task. Instead, it just means there is evidence that there is at least a non-zero difference between reference studies, and studies in the meta-analysis."),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},(0,i.kt)("em",{parentName:"p"},"NiMARE")," outputs a variety of maps, including cluster-corrected and uncorrected versions of all maps. "),(0,i.kt)("p",{parentName:"admonition"},"See the documentation sections on ",(0,i.kt)("a",{parentName:"p",href:"https://nimare.readthedocs.io/en/stable/outputs.html"},"Outputs of NIMARE")," and ",(0,i.kt)("a",{parentName:"p",href:"https://nimare.readthedocs.io/en/stable/cbma.html#the-monte-carlo-multiple-comparisons-correction-method"},"Monte Carlo multiple comparisons")," for more details.")),(0,i.kt)("h2",{id:"example-pintos-lobo-2022---all-social-processing-tasks"},"Example: Pintos Lobo (2022) - All Social Processing Tasks"),(0,i.kt)("p",null,"To demonstrate, we used Neurosynth-Compose to replicate the ",(0,i.kt)("a",{parentName:"p",href:"https://pubmed.ncbi.nlm.nih.gov/36436737/"},"Pintos Lobo et al., (2022)")," meta-analysis for All Social Processing Tasks. For this example, we have already created a ",(0,i.kt)("inlineCode",{parentName:"p"},"Project")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"StudySet")," with the coordinates used in this meta-analysis."),(0,i.kt)("p",null,"We then specified a ",(0,i.kt)("inlineCode",{parentName:"p"},"MKDAChi2")," Meta-Analysis with ",(0,i.kt)("inlineCode",{parentName:"p"},"FWECorrector")," with the ",(0,i.kt)("inlineCode",{parentName:"p"},"montecarlo")," method with 5,000 iterations. "),(0,i.kt)(s.Z,{variant:"contained",color:"primary",href:"https://compose.neurosynth.org/projects/4x4NsrWg8heS/meta-analyses/7K9BVG9hJQRu",mdxType:"Button"},"Meta-Analysis Specification and Results on Neurosynth Compose"),(0,i.kt)("h3",{id:"results"},"Results"),(0,i.kt)("p",null,"First, let's look at the FWE cluster corrected ",(0,i.kt)("strong",{parentName:"p"},"uniformity test")," map."),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"z_desc-uniformityMass_level-cluster_corr-FWE_method-montecarlo"),"\n",(0,i.kt)("img",{alt:"Uniformity",src:a(4568).Z,width:"950",height:"180"})),(0,i.kt)("p",null,"In this analysis, we replicate the findings of Pinto Lobos (2022), showing consistent activation for social processing across a variety of regions."),(0,i.kt)("p",null,"Next, let's look at the FWE cluster corrected ",(0,i.kt)("strong",{parentName:"p"},"association map"),":"),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"z_desc-associationMass_level-cluster_corr-FWE_method-montecarlo"),"\n",(0,i.kt)("img",{alt:"Association",src:a(2167).Z,width:"950",height:"180"})),(0,i.kt)("p",null,"As before, regions which have been previously implicated with social processing, such as the tempo-parietal junction (TPJ), and dorso-medial and ventro-medial PFC are present, meaning that activity in these social processing studies report activity in these regions with greater frequency than other studies in the Neurosynth database."),(0,i.kt)("p",null,"However, certain regions which we know to have low specificity, such as the insula, medial frontal cingulate cortex (MFCC) and parts of dorso-lateral PFC, are absent, meaning that there is ",(0,i.kt)("em",{parentName:"p"},"no evidence")," that social processing tasks report activity in these regions ",(0,i.kt)("em",{parentName:"p"},"more frequently")," than other studies in the database."),(0,i.kt)("p",null,"This example demonstrates how ",(0,i.kt)("inlineCode",{parentName:"p"},"MKDA Chi-Squared")," association analysis can help determine the specificity activity and tasks in a meta-analysis, even for high-quality manual meta-analyses."),(0,i.kt)("h2",{id:"footnotes--limitations"},"Footnotes & Limitations"),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},'What happened to the "forward inference" and "reverse inference" maps?')),(0,i.kt)("p",null,'We renamed the pre-generated forward and reverse inference maps; they\'re now referred to as the "uniformity test" and "association test" maps that we discuss here.'),(0,i.kt)("p",null,"Although the method we used hasn't changed (",(0,i.kt)("inlineCode",{parentName:"p"},"MKDA Chi-Squared"),"), the latter names more accurately capture what these maps actually mean. It was a mistake on our part to have used the forward and reverse inference labels; those labels should properly be reserved for posterior probability maps generated via a Bayesian estimation analysis, rather than for z-scores resulting from a frequentist inferential test of association. Probability maps are more difficult to interpret and use correctly, as they depend on the ",(0,i.kt)("em",{parentName:"p"},"prior")," assumed by the researcher. Since setting an appropriate prior is highly non-trivial, these maps are disabled by default."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"}," Using MKDA Chi Squared on manual meta-analyses ")),(0,i.kt)("p",null,"In this tutorial, we applied ",(0,i.kt)("inlineCode",{parentName:"p"},"MKDA Chi-Squared"),' to a manual meta-analysis. However, this is not a perfect comparison, as there are differences between the reference sample (Neurosynth), the high-quality manual annotations given as input. Studies in large-scale meta-analytic databases are automatically populated, meaning there are potential sampling biases. Most notably, studies in Neurosynth include all reported coordinates, not only "target" analyses/contrasts. Thus, it is possible that low-level task > no task contrasts are over-represented in this reference sample. '),(0,i.kt)("h2",{id:"references--further-reading"},"References & Further Reading"),(0,i.kt)("p",null,"If you want to understand the nuances of what inferences you can and cannot make using these maps, we recommend reading Tal Yarkoni's blog posts on how these maps do not provide evidence that the dACC is select for pain: ",(0,i.kt)("a",{parentName:"p",href:"https://www.talyarkoni.org/blog/2015/12/05/no-the-dorsal-anterior-cingulate-is-not-selective-for-pain-comment-on-lieberman-and-eisenberger-2015/"},"Post 1"),", ",(0,i.kt)("a",{parentName:"p",href:"https://www.talyarkoni.org/blog/2015/12/14/still-not-selective-comment-on-comment-on-comment-on-lieberman-eisenberger-2015/"},"Post 2"),", as well as a commentary by ",(0,i.kt)("a",{parentName:"p",href:"https://www.pnas.org/doi/10.1073/pnas.1600282113"},"Tor Wager et al., 2016")),(0,i.kt)("p",null,"Poldrack RA. Inferring mental states from neuroimaging data: from reverse inference to large-scale decoding. Neuron. 2011 Dec 8;72(5):692-7. doi: 10.1016/j.neuron.2011.11.001. PMID: 22153367; PMCID: PMC3240863."),(0,i.kt)("p",null,"Poldrack RA, Yarkoni T. From Brain Maps to Cognitive Ontologies: Informatics and the Search for Mental Structure. Annu Rev Psychol. 2016;67:587-612. doi: 10.1146/annurev-psych-122414-033729. Epub 2015 Sep 21. PMID: 26393866; PMCID: PMC4701616."))}h.isMDXComponent=!0},541:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/mkda_chi_squared_algo-ccaec6b8f53a020b314e09162dccf9b7.png"},6344:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/mkda_chi_squared_reference-418d3c236f463dcdd4f007e4a649c1ba.png"},9377:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/pinto_lobos_figa-115dccb8db33fc1a969fa252124b9e96.png"},2167:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/pinto_lobos_z_desc-associationMass_level-cluster_corr-FWE_method-montecarlo.nii.gz-7f5395616d7b1943c618393fca6e4e88.png"},4568:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/pinto_lobos_z_desc-uniformityMass_level-cluster_corr-FWE_method-montecarlo.nii.gz-db297c21a1e3a0c952b683a8d0f07981.png"},9569:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/prob-A_neurosynth-8d7c0db5edbb4d6862b9e503cc30e694.png"}}]); \ No newline at end of file diff --git a/assets/js/4d19d8bc.172b74c7.js b/assets/js/4d19d8bc.172b74c7.js deleted file mode 100644 index 67fa6b9..0000000 --- a/assets/js/4d19d8bc.172b74c7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[7999],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>p});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=a.createContext({}),u=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=u(e.components);return a.createElement(l.Provider,{value:t},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),d=u(n),m=o,p=d["".concat(l,".").concat(m)]||d[m]||y[m]||r;return n?a.createElement(p,s(s({ref:t},c),{},{components:n})):a.createElement(p,s({ref:t},c))}));function p(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,s=new Array(r);s[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[d]="string"==typeof e?e:o,s[1]=i;for(var u=2;u{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>y,frontMatter:()=>r,metadata:()=>i,toc:()=>u});var a=n(7462),o=(n(7294),n(3905));const r={sidebar_label:"FAQ",sidebar_position:2},s="Frequently Asked Questions",i={unversionedId:"introduction/faq",id:"introduction/faq",title:"Frequently Asked Questions",description:"Is this service free to use?",source:"@site/docs/introduction/faq.md",sourceDirName:"introduction",slug:"/introduction/faq",permalink:"/compose-docs/introduction/faq",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/introduction/faq.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:2,frontMatter:{sidebar_label:"FAQ",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"About Compose!",permalink:"/compose-docs/"},next:{title:"Our Team",permalink:"/compose-docs/introduction/team"}},l={},u=[],c={toc:u},d="wrapper";function y(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"frequently-asked-questions"},"Frequently Asked Questions"),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Is this service free to use?"),"Yes! Note, however, that NS-Compose is a web-based engine for neuroimaging meta-analysis specification; at the moment, we don\u2019t (yet?) provide free computing resources for the execution of the resulting meta-analysis specifications. However, you can easily run your meta-analysis in the cloud using Google Colab, or locally using Python. Instructions are provided after you complete a meta-analysis."),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Are there any restrictions on meta-analyses created?"),"Yes. Once a meta-analysis specification is executed and results are uploaded to our platform, you will no longer be able to ",(0,o.kt)("em",null,"delete or edit")," the analysis specification. A complete copy of the StudySet and Analysis is kept on our system to ensure complete provenance. You can, however, keep the analysis as private to ensure it is unlisted in the public search.",(0,o.kt)("br",null),"If you wish to make any edits, you can edit the StudySet and create a new Analysis specification, which will receive a new unique ID.",(0,o.kt)("br",null),(0,o.kt)("br",null),"In the event that you publish any results generated using the Neurosynth Compose, you MUST provide a link to the corresponding meta-analysis specification ID on the platform."),(0,o.kt)("details",null,(0,o.kt)("summary",null,"I've noticed that a study on your platform contains errors or is incomplete, can I fix them?"),"Yes! We welcome user contributions. You can correct or add details on a study, including meta-data and peak activation coordinates. A key piece of information that you may want to correct is how Activation coordinates are grouped into distinct Analyses (i.e., Contrasts). Please ensure that any edits you make are as objective as possible and reflect what is represented in the original Study, and *not* the goals of your meta-analysis.",(0,o.kt)("br",null),(0,o.kt)("br",null),"To avoid debates about the ground truth of a Study, when you make edits a new Version of the study is created, which is associated with your User."),(0,o.kt)("details",null,(0,o.kt)("summary",null,"If I contribute new studies to the platform, or edit existing studies, will other users be able to see them?"),"Yes! Although a new Version of the study is created when you make any edits, we default to displaying user edited Versions over the automatically extracted versions. This is because we assume that any edits made by users will be improvements on the extraction algorithm. Please ensure any changes you make reflect this. You may also make a Version private if you don't want to share your edits with others."),(0,o.kt)("details",null,(0,o.kt)("summary",null,"How does this project relate to the original Neurosynth?"),"Neurosynth 1.0 was an online platform for browsing automatically generated large-scale neuroimaging meta-analyses. However, because all analyses were pre-generated, users were unable to define custom meta-analyses using the Neurosynth database. Instead, Neurosynth 1.0 used text mining techniques to automatically group studies based on the frequency of the terms mentioned in the text. Neurosynth Compose is focused on allowing users to overcome the limitations of automated large-scale meta-analysis, by enabling users to annotate studies, and curate sets of studies amenable for meta-analysis. This way, users can systematically define meta-analyses using their own expertise, while still leveraging the Neurosynth database, and an easy-to-use web-based analysis builder to accelerate the meta-analysis process.",(0,o.kt)("br",null)))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4d19d8bc.fae60a4f.js b/assets/js/4d19d8bc.fae60a4f.js new file mode 100644 index 0000000..1abe999 --- /dev/null +++ b/assets/js/4d19d8bc.fae60a4f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[7999],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>p});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=a.createContext({}),u=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=u(e.components);return a.createElement(l.Provider,{value:t},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),d=u(n),m=o,p=d["".concat(l,".").concat(m)]||d[m]||y[m]||r;return n?a.createElement(p,s(s({ref:t},c),{},{components:n})):a.createElement(p,s({ref:t},c))}));function p(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,s=new Array(r);s[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[d]="string"==typeof e?e:o,s[1]=i;for(var u=2;u{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>y,frontMatter:()=>r,metadata:()=>i,toc:()=>u});var a=n(7462),o=(n(7294),n(3905));const r={sidebar_label:"FAQ",sidebar_position:2},s="Frequently Asked Questions",i={unversionedId:"introduction/faq",id:"introduction/faq",title:"Frequently Asked Questions",description:"Is this service free to use?",source:"@site/docs/introduction/faq.md",sourceDirName:"introduction",slug:"/introduction/faq",permalink:"/compose-docs/introduction/faq",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/introduction/faq.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:2,frontMatter:{sidebar_label:"FAQ",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"About Compose!",permalink:"/compose-docs/"},next:{title:"Our Team",permalink:"/compose-docs/introduction/team"}},l={},u=[],c={toc:u},d="wrapper";function y(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"frequently-asked-questions"},"Frequently Asked Questions"),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Is this service free to use?"),"Yes! Note, however, that NS-Compose is a web-based engine for neuroimaging meta-analysis specification; at the moment, we don\u2019t (yet?) provide free computing resources for the execution of the resulting meta-analysis specifications. However, you can easily run your meta-analysis in the cloud using Google Colab, or locally using Python. Instructions are provided after you complete a meta-analysis."),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Are there any restrictions on meta-analyses created?"),"Yes. Once a meta-analysis specification is executed and results are uploaded to our platform, you will no longer be able to ",(0,o.kt)("em",null,"delete or edit")," the analysis specification. A complete copy of the StudySet and Analysis is kept on our system to ensure complete provenance. You can, however, keep the analysis as private to ensure it is unlisted in the public search.",(0,o.kt)("br",null),"If you wish to make any edits, you can edit the StudySet and create a new Analysis specification, which will receive a new unique ID.",(0,o.kt)("br",null),(0,o.kt)("br",null),"In the event that you publish any results generated using the Neurosynth Compose, you MUST provide a link to the corresponding meta-analysis specification ID on the platform."),(0,o.kt)("details",null,(0,o.kt)("summary",null,"I've noticed that a study on your platform contains errors or is incomplete, can I fix them?"),"Yes! We welcome user contributions. You can correct or add details on a study, including meta-data and peak activation coordinates. A key piece of information that you may want to correct is how Activation coordinates are grouped into distinct Analyses (i.e., Contrasts). Please ensure that any edits you make are as objective as possible and reflect what is represented in the original Study, and *not* the goals of your meta-analysis.",(0,o.kt)("br",null),(0,o.kt)("br",null),"To avoid debates about the ground truth of a Study, when you make edits a new Version of the study is created, which is associated with your User."),(0,o.kt)("details",null,(0,o.kt)("summary",null,"If I contribute new studies to the platform, or edit existing studies, will other users be able to see them?"),"Yes! Although a new Version of the study is created when you make any edits, we default to displaying user edited Versions over the automatically extracted versions. This is because we assume that any edits made by users will be improvements on the extraction algorithm. Please ensure any changes you make reflect this. You may also make a Version private if you don't want to share your edits with others."),(0,o.kt)("details",null,(0,o.kt)("summary",null,"How does this project relate to the original Neurosynth?"),"Neurosynth 1.0 was an online platform for browsing automatically generated large-scale neuroimaging meta-analyses. However, because all analyses were pre-generated, users were unable to define custom meta-analyses using the Neurosynth database. Instead, Neurosynth 1.0 used text mining techniques to automatically group studies based on the frequency of the terms mentioned in the text. Neurosynth Compose is focused on allowing users to overcome the limitations of automated large-scale meta-analysis, by enabling users to annotate studies, and curate sets of studies amenable for meta-analysis. This way, users can systematically define meta-analyses using their own expertise, while still leveraging the Neurosynth database, and an easy-to-use web-based analysis builder to accelerate the meta-analysis process.",(0,o.kt)("br",null)))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5d9fd5dd.6ce7c0f8.js b/assets/js/5d9fd5dd.21036679.js similarity index 81% rename from assets/js/5d9fd5dd.6ce7c0f8.js rename to assets/js/5d9fd5dd.21036679.js index 71c0014..08e949d 100644 --- a/assets/js/5d9fd5dd.6ce7c0f8.js +++ b/assets/js/5d9fd5dd.21036679.js @@ -1 +1 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[6808],{1903:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>p,contentTitle:()=>c,default:()=>b,frontMatter:()=>d,metadata:()=>u,toc:()=>f});var a=i(7462),o=i(7294),r=i(3905),n=i(4996),l=i(5154);const s=e=>{let{name:t,title:i,affiliation:a,imageUrl:r,websiteUrl:n,githubProfile:s}=e;return o.createElement("div",{className:"team-member-card"},o.createElement("img",{src:r,alt:t,className:"team-member-image"}),o.createElement("div",{className:"team-member-info"},o.createElement("h3",null,t),o.createElement("p",null,i,o.createElement("br",null),a),o.createElement("div",{className:"team-member-links"},n&&o.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer"},o.createElement(l.ssk,{size:20})),o.createElement("span",null," "),s&&o.createElement("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"github-link"},o.createElement(l.hJX,{size:20})))))},m=()=>{const e=[{id:1,name:"Alejandro de la Vega",title:"Principal Investigator",affiliation:"University of Texas at Austin",imageUrl:(0,n.Z)("team/delavega.jpg"),websiteUrl:"https://adelavega.github.io/",githubProfile:"https://github.com/adelavega"},{id:2,name:"James Kent",title:"Postdoctoral Fellow & Principal Engineer",affiliation:"University of Texas at Austin",imageUrl:(0,n.Z)("team/kent.jpg"),githubProfile:"https://github.com/jdkent"},{id:3,name:"Nicholas Lee",title:"Frontend Engineer",affiliation:"McGill University",imageUrl:(0,n.Z)("team/lee.jpg"),githubProfile:"https://github.com/nicoalee"},{id:4,name:"Taylor Salo",title:"Postdoctoral fellow",affiliation:"University of Pennsylvania",imageUrl:(0,n.Z)("team/salo.png"),websiteUrl:"tsalo.github.io",githubProfile:"https://github.com/tsalo"},{id:5,name:"Katie Bottenhorn",title:"Postdoctoral Fellow",affiliation:"University of Southern California",imageUrl:(0,n.Z)("team/bottenhorn.jpg"),websiteUrl:"katherinebottenhorn.com",githubProfile:"https://github.com/62442katieb"},{id:6,name:"Jean-Baptiste Poline",title:"Associate Professor",affiliation:"McGill University",websiteUrl:"https://www.mcgill.ca/neuro/jean-baptiste-poline-phd",imageUrl:(0,n.Z)("team/poline.png")},{id:7,name:"Angela Laird",title:"Professor",affiliation:"Florida International University",websiteUrl:"https://case.fiu.edu/about/directory/profiles/laird-angela.html",imageUrl:(0,n.Z)("team/laird.jpg")},{id:8,name:"Julio Peraza",title:"Graduate Student",affiliation:"Florida International University",imageUrl:(0,n.Z)("team/pedraza.jpg"),githubProfile:"https://github.com/julioAPeraza"},{id:9,name:"Russ Poldrack",title:"Professor",affiliation:"Stanford University",imageUrl:(0,n.Z)("team/poldrack.jpg"),websiteUrl:"http://poldracklab.org/",githubProfile:"https://github.com/poldrack"},{id:10,name:"Tom Nichols",title:"Professor",affiliation:"Oxford University",websiteUrl:"https://www.bdi.ox.ac.uk/Team/t-e-nichols",imageUrl:(0,n.Z)("team/nichols.jpg")},{id:11,name:"Yifan Yu",title:"Graduate Student",affiliation:"Oxford University",imageUrl:(0,n.Z)("team/yu.jpg"),githubProfile:"https://github.com/yifan0330"},{id:12,name:"Kendra Oudyk",title:"Graduate Student",affiliation:"McGill University",imageUrl:(0,n.Z)("team/oudyk.jpg"),githubProfile:"https://github.com/koudyk"}];return o.createElement("div",{className:"team-grid"},e.map((e=>o.createElement(s,(0,a.Z)({key:e.id},e)))))},d={sidebar_label:"Our Team",sidebar_position:3},c="Our Team",u={unversionedId:"introduction/team",id:"introduction/team",title:"Our Team",description:"Neurosynth-Compose is collaborative effort across several laboratories, and is supported by the National Institute of Mental Health award 5R01MH096906.",source:"@site/docs/introduction/team.md",sourceDirName:"introduction",slug:"/introduction/team",permalink:"/compose-docs/introduction/team",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/introduction/team.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:3,frontMatter:{sidebar_label:"Our Team",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"FAQ",permalink:"/compose-docs/introduction/faq"},next:{title:"Ecosystem",permalink:"/compose-docs/introduction/ecosystem"}},p={},f=[],h={toc:f},g="wrapper";function b(e){let{components:t,...i}=e;return(0,r.kt)(g,(0,a.Z)({},h,i,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"our-team"},"Our Team"),(0,r.kt)("p",null,"Neurosynth-Compose is collaborative effort across several laboratories, and is supported by the ",(0,r.kt)("a",{parentName:"p",href:"http://www.nimh.nih.gov/"},"National Institute of Mental Health")," award 5R01MH096906.\nTogether, we developed Neurosynth-Compose, and related tools, such as NiMARE and Neurostore."),(0,r.kt)(m,{mdxType:"TeamGrid"}))}b.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[6808],{1903:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>p,contentTitle:()=>c,default:()=>b,frontMatter:()=>d,metadata:()=>u,toc:()=>f});var a=i(7462),o=i(7294),r=i(3905),n=i(4996),l=i(5154);const s=e=>{let{name:t,title:i,affiliation:a,imageUrl:r,websiteUrl:n,githubProfile:s}=e;return o.createElement("div",{className:"team-member-card"},o.createElement("img",{src:r,alt:t,className:"team-member-image"}),o.createElement("div",{className:"team-member-info"},o.createElement("h3",null,t),o.createElement("p",null,i,o.createElement("br",null),a),o.createElement("div",{className:"team-member-links"},n&&o.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer"},o.createElement(l.ssk,{size:20})),o.createElement("span",null," "),s&&o.createElement("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"github-link"},o.createElement(l.hJX,{size:20})))))},m=()=>{const e=[{id:1,name:"Alejandro de la Vega",title:"Principal Investigator",affiliation:"University of Texas at Austin",imageUrl:(0,n.Z)("team/delavega.jpg"),websiteUrl:"https://adelavega.github.io/",githubProfile:"https://github.com/adelavega"},{id:2,name:"James Kent",title:"Postdoctoral Fellow & Principal Engineer",affiliation:"University of Texas at Austin",imageUrl:(0,n.Z)("team/kent.jpg"),githubProfile:"https://github.com/jdkent"},{id:3,name:"Nicholas Lee",title:"Frontend Engineer",affiliation:"McGill University",imageUrl:(0,n.Z)("team/lee.jpg"),githubProfile:"https://github.com/nicoalee"},{id:4,name:"Taylor Salo",title:"Postdoctoral fellow",affiliation:"University of Pennsylvania",imageUrl:(0,n.Z)("team/salo.png"),websiteUrl:"tsalo.github.io",githubProfile:"https://github.com/tsalo"},{id:5,name:"Katie Bottenhorn",title:"Postdoctoral Fellow",affiliation:"University of Southern California",imageUrl:(0,n.Z)("team/bottenhorn.jpg"),websiteUrl:"katherinebottenhorn.com",githubProfile:"https://github.com/62442katieb"},{id:6,name:"Jean-Baptiste Poline",title:"Associate Professor",affiliation:"McGill University",websiteUrl:"https://www.mcgill.ca/neuro/jean-baptiste-poline-phd",imageUrl:(0,n.Z)("team/poline.png")},{id:7,name:"Angela Laird",title:"Professor",affiliation:"Florida International University",websiteUrl:"https://case.fiu.edu/about/directory/profiles/laird-angela.html",imageUrl:(0,n.Z)("team/laird.jpg")},{id:8,name:"Julio Peraza",title:"Graduate Student",affiliation:"Florida International University",imageUrl:(0,n.Z)("team/pedraza.jpg"),githubProfile:"https://github.com/julioAPeraza"},{id:9,name:"Russ Poldrack",title:"Professor",affiliation:"Stanford University",imageUrl:(0,n.Z)("team/poldrack.jpg"),websiteUrl:"http://poldracklab.org/",githubProfile:"https://github.com/poldrack"},{id:10,name:"Tom Nichols",title:"Professor",affiliation:"Oxford University",websiteUrl:"https://www.bdi.ox.ac.uk/Team/t-e-nichols",imageUrl:(0,n.Z)("team/nichols.jpg")},{id:11,name:"Yifan Yu",title:"Graduate Student",affiliation:"Oxford University",imageUrl:(0,n.Z)("team/yu.jpg"),githubProfile:"https://github.com/yifan0330"},{id:12,name:"Kendra Oudyk",title:"Graduate Student",affiliation:"McGill University",imageUrl:(0,n.Z)("team/oudyk.jpg"),githubProfile:"https://github.com/koudyk"}];return o.createElement("div",{className:"team-grid"},e.map((e=>o.createElement(s,(0,a.Z)({key:e.id},e)))))},d={sidebar_label:"Our Team",sidebar_position:3},c="Our Team",u={unversionedId:"introduction/team",id:"introduction/team",title:"Our Team",description:"Neurosynth-Compose is collaborative effort across several laboratories, and is supported by the National Institute of Mental Health award 5R01MH096906.",source:"@site/docs/introduction/team.md",sourceDirName:"introduction",slug:"/introduction/team",permalink:"/compose-docs/introduction/team",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/introduction/team.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:3,frontMatter:{sidebar_label:"Our Team",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"FAQ",permalink:"/compose-docs/introduction/faq"},next:{title:"Ecosystem",permalink:"/compose-docs/introduction/ecosystem"}},p={},f=[],h={toc:f},g="wrapper";function b(e){let{components:t,...i}=e;return(0,r.kt)(g,(0,a.Z)({},h,i,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"our-team"},"Our Team"),(0,r.kt)("p",null,"Neurosynth-Compose is collaborative effort across several laboratories, and is supported by the ",(0,r.kt)("a",{parentName:"p",href:"http://www.nimh.nih.gov/"},"National Institute of Mental Health")," award 5R01MH096906.\nTogether, we developed Neurosynth-Compose, and related tools, such as NiMARE and Neurostore."),(0,r.kt)(m,{mdxType:"TeamGrid"}))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/708a3a2f.52b732d9.js b/assets/js/708a3a2f.52b732d9.js deleted file mode 100644 index 18114a9..0000000 --- a/assets/js/708a3a2f.52b732d9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[1397],{6048:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>m,contentTitle:()=>d,default:()=>g,frontMatter:()=>u,metadata:()=>l,toc:()=>h});var a=o(7462),r=(o(7294),o(3905)),n=o(6464),s=o(9937),i=o(4267),p=o(8862);const u={sidebar_label:"About Compose!",sidebar_position:1,slug:"/"},d="What is Neurosynth Compose?",l={unversionedId:"introduction/index",id:"introduction/index",title:"What is Neurosynth Compose?",description:"Neurosynth Compose is the next-generation of Neurosynth, enabling users to easily perform custom neuroimaging meta-analyses using a fully web-based platform, with no programming experience required.",source:"@site/docs/introduction/index.mdx",sourceDirName:"introduction",slug:"/",permalink:"/compose-docs/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/introduction/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:1,frontMatter:{sidebar_label:"About Compose!",sidebar_position:1,slug:"/"},sidebar:"tutorialSidebar",next:{title:"FAQ",permalink:"/compose-docs/introduction/faq"}},m={},h=[{value:"Get started! \ud83d\ude80",id:"get-started-",level:2},{value:"Getting Help",id:"getting-help",level:2}],c={toc:h},y="wrapper";function g(e){let{components:t,...o}=e;return(0,r.kt)(y,(0,a.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"what-is-neurosynth-compose"},"What is Neurosynth Compose?"),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Neurosynth Compose")," is the next-generation of Neurosynth, enabling users to easily perform custom neuroimaging meta-analyses using a fully web-based platform, with no programming experience required. "),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Neurosynth Compose")," is ",(0,r.kt)("em",{parentName:"p"},"free to use")," and helps users:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\ud83d\udd0e ",(0,r.kt)("strong",{parentName:"li"},"Search")," across over 20,000 studies in the Neurosynth database, or import from external databases such as PubMed."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\uddc3\ufe0f ",(0,r.kt)("strong",{parentName:"li"},"Curate")," your StudySet using systematic review tools conforming to the ",(0,r.kt)("a",{parentName:"li",href:"https://www.prisma-statement.org/"},"PRISMA")," guidelines."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcdd ",(0,r.kt)("strong",{parentName:"li"},"Extract")," coordinates and metadata for each study, leveraging thousands of pre-extracted studies to minimize effort."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcca ",(0,r.kt)("strong",{parentName:"li"},"Analyze")," by specifying a reproducible ",(0,r.kt)("a",{parentName:"li",href:"https://readthedocs.org/projects/nimare/"},"NiMARE")," workflow, and execute it locally or in the cloud. "),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udd17 ",(0,r.kt)("strong",{parentName:"li"},"Share")," with the community with complete provenance and reproducibility.")),(0,r.kt)("h2",{id:"get-started-"},"Get started! \ud83d\ude80"),(0,r.kt)("div",{style:{display:"flex"}},(0,r.kt)(s.Z,{style:{width:"100%",display:"flex",marginRight:"50px"},mdxType:"Card"},(0,r.kt)(i.Z,{mdxType:"CardContent"},(0,r.kt)(p.Z,{variant:"h5",component:"h2",gutterBottom:!0,mdxType:"Typography"},"Tutorials"),(0,r.kt)(p.Z,{variant:"body1",gutterBottom:!0,mdxType:"Typography"},"Tutorials show you how to use Neurosynth Compose with complete end-to-end examples."),(0,r.kt)(n.Z,{variant:"contained",color:"primary",href:"tutorial",mdxType:"Button"},"Go to Tutorials"))),(0,r.kt)(s.Z,{style:{width:"100%",display:"flex"},mdxType:"Card"},(0,r.kt)(i.Z,{mdxType:"CardContent"},(0,r.kt)(p.Z,{variant:"h5",component:"h2",gutterBottom:!0,mdxType:"Typography"},"User Guide"),(0,r.kt)(p.Z,{variant:"body1",gutterBottom:!0,mdxType:"Typography"},"The User Guide provides a detailed overview of the platform, and explains key concepts and features."),(0,r.kt)(n.Z,{variant:"contained",color:"primary",href:"guide",mdxType:"Button"},"Go to User Guide")))),(0,r.kt)("h2",{id:"getting-help"},"Getting Help"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Ask a question on ",(0,r.kt)("a",{parentName:"li",href:"https://neurostars.org/tag/neurosynth-compose"},"Neurostars")," using the ",(0,r.kt)("inlineCode",{parentName:"li"},"neurosynth-compose")," tag. "),(0,r.kt)("li",{parentName:"ul"},"Report a bug or request a feature on ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/neurostuff/neurostore/issues"},"GitHub")),(0,r.kt)("li",{parentName:"ul"},"Help us improve the platform by using the feedback button in the bottom right corner of the page.")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/708a3a2f.c0c19203.js b/assets/js/708a3a2f.c0c19203.js new file mode 100644 index 0000000..32f4375 --- /dev/null +++ b/assets/js/708a3a2f.c0c19203.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[1397],{6048:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>m,contentTitle:()=>d,default:()=>g,frontMatter:()=>u,metadata:()=>l,toc:()=>h});var a=o(7462),r=(o(7294),o(3905)),n=o(6464),s=o(9937),i=o(4267),p=o(8862);const u={sidebar_label:"About Compose!",sidebar_position:1,slug:"/"},d="What is Neurosynth Compose?",l={unversionedId:"introduction/index",id:"introduction/index",title:"What is Neurosynth Compose?",description:"Neurosynth Compose is the next-generation of Neurosynth, enabling users to easily perform custom neuroimaging meta-analyses using a fully web-based platform, with no programming experience required.",source:"@site/docs/introduction/index.mdx",sourceDirName:"introduction",slug:"/",permalink:"/compose-docs/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/introduction/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:1,frontMatter:{sidebar_label:"About Compose!",sidebar_position:1,slug:"/"},sidebar:"tutorialSidebar",next:{title:"FAQ",permalink:"/compose-docs/introduction/faq"}},m={},h=[{value:"Get started! \ud83d\ude80",id:"get-started-",level:2},{value:"Getting Help",id:"getting-help",level:2}],c={toc:h},y="wrapper";function g(e){let{components:t,...o}=e;return(0,r.kt)(y,(0,a.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"what-is-neurosynth-compose"},"What is Neurosynth Compose?"),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Neurosynth Compose")," is the next-generation of Neurosynth, enabling users to easily perform custom neuroimaging meta-analyses using a fully web-based platform, with no programming experience required. "),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Neurosynth Compose")," is ",(0,r.kt)("em",{parentName:"p"},"free to use")," and helps users:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\ud83d\udd0e ",(0,r.kt)("strong",{parentName:"li"},"Search")," across over 20,000 studies in the Neurosynth database, or import from external databases such as PubMed."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\uddc3\ufe0f ",(0,r.kt)("strong",{parentName:"li"},"Curate")," your StudySet using systematic review tools conforming to the ",(0,r.kt)("a",{parentName:"li",href:"https://www.prisma-statement.org/"},"PRISMA")," guidelines."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcdd ",(0,r.kt)("strong",{parentName:"li"},"Extract")," coordinates and metadata for each study, leveraging thousands of pre-extracted studies to minimize effort."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcca ",(0,r.kt)("strong",{parentName:"li"},"Analyze")," by specifying a reproducible ",(0,r.kt)("a",{parentName:"li",href:"https://readthedocs.org/projects/nimare/"},"NiMARE")," workflow, and execute it locally or in the cloud. "),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udd17 ",(0,r.kt)("strong",{parentName:"li"},"Share")," with the community with complete provenance and reproducibility.")),(0,r.kt)("h2",{id:"get-started-"},"Get started! \ud83d\ude80"),(0,r.kt)("div",{style:{display:"flex"}},(0,r.kt)(s.Z,{style:{width:"100%",display:"flex",marginRight:"50px"},mdxType:"Card"},(0,r.kt)(i.Z,{mdxType:"CardContent"},(0,r.kt)(p.Z,{variant:"h5",component:"h2",gutterBottom:!0,mdxType:"Typography"},"Tutorials"),(0,r.kt)(p.Z,{variant:"body1",gutterBottom:!0,mdxType:"Typography"},"Tutorials show you how to use Neurosynth Compose with complete end-to-end examples."),(0,r.kt)(n.Z,{variant:"contained",color:"primary",href:"tutorial",mdxType:"Button"},"Go to Tutorials"))),(0,r.kt)(s.Z,{style:{width:"100%",display:"flex"},mdxType:"Card"},(0,r.kt)(i.Z,{mdxType:"CardContent"},(0,r.kt)(p.Z,{variant:"h5",component:"h2",gutterBottom:!0,mdxType:"Typography"},"User Guide"),(0,r.kt)(p.Z,{variant:"body1",gutterBottom:!0,mdxType:"Typography"},"The User Guide provides a detailed overview of the platform, and explains key concepts and features."),(0,r.kt)(n.Z,{variant:"contained",color:"primary",href:"guide",mdxType:"Button"},"Go to User Guide")))),(0,r.kt)("h2",{id:"getting-help"},"Getting Help"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Ask a question on ",(0,r.kt)("a",{parentName:"li",href:"https://neurostars.org/tag/neurosynth-compose"},"Neurostars")," using the ",(0,r.kt)("inlineCode",{parentName:"li"},"neurosynth-compose")," tag. "),(0,r.kt)("li",{parentName:"ul"},"Report a bug or request a feature on ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/neurostuff/neurostore/issues"},"GitHub")),(0,r.kt)("li",{parentName:"ul"},"Help us improve the platform by using the feedback button in the bottom right corner of the page.")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8cd595a7.81188f9c.js b/assets/js/8cd595a7.81188f9c.js new file mode 100644 index 0000000..6f59b08 --- /dev/null +++ b/assets/js/8cd595a7.81188f9c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[606],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>h});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),p=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(n),m=o,h=d["".concat(l,".").concat(m)]||d[m]||u[m]||a;return n?r.createElement(h,i(i({ref:t},c),{},{components:n})):r.createElement(h,i({ref:t},c))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var r=n(7462),o=(n(7294),n(3905));const a={},i=void 0,s={unversionedId:"guide/Explore/Searching",id:"guide/Explore/Searching",title:"Searching",description:"Neurosynth-Compose works with the neurostore database to provide a convenient and functional interface to search for studies.",source:"@site/docs/guide/Explore/Searching.md",sourceDirName:"guide/Explore",slug:"/guide/Explore/Searching",permalink:"/compose-docs/guide/Explore/Searching",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Explore/Searching.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Explore",permalink:"/compose-docs/guide/Explore/"},next:{title:"Glossary",permalink:"/compose-docs/guide/glossary"}},l={},p=[{value:"Search Mechanics",id:"search-mechanics",level:3},{value:"Study Data Type",id:"study-data-type",level:3},{value:"Sorting Results",id:"sorting-results",level:3},{value:"Filtering",id:"filtering",level:3}],c={toc:p},d="wrapper";function u(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Neurosynth-Compose works with the neurostore database to provide a convenient and functional interface to search for studies."),(0,o.kt)("h3",{id:"search-mechanics"},"Search Mechanics"),(0,o.kt)("p",null,'Searching for semantically relevant results utilizes PostgreSQL\'s support of tokens/vectors when searching documents for relevant text. This approach excludes commonly used words like "a", "it", "on", and "the". It also aims to return similar words and word forms during the search (the term "brain" should return "brains" for example). For a more in depth understanding, you can take a look at the ',(0,o.kt)("a",{parentName:"p",href:"https://www.postgresql.org/docs/current/textsearch-controls.html"},"docs for text search"),"."),(0,o.kt)("p",null,"Searches are conducted across title and abstract fields.\nThe input supports ",(0,o.kt)("inlineCode",{parentName:"p"},"AND"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"OR"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"NOT")," operations. "),(0,o.kt)("p",null,"For example to use the ",(0,o.kt)("inlineCode",{parentName:"p"},"AND")," operator, you can enter in a value like ",(0,o.kt)("inlineCode",{parentName:"p"},"nicotine and memory"),". Similarly, you can enter an input like ",(0,o.kt)("inlineCode",{parentName:"p"},"smoking or nicotine")," for the ",(0,o.kt)("inlineCode",{parentName:"p"},"OR")," operator, and ",(0,o.kt)("inlineCode",{parentName:"p"},"smoking -marijuana")," for the ",(0,o.kt)("inlineCode",{parentName:"p"},"NOT")," operator (where marijuana is the excluded term)."),(0,o.kt)("p",null,"In order to ensure that text is grouped together (i.e. one word follows the other) you can include the words in quotes. For example, the search ",(0,o.kt)("inlineCode",{parentName:"p"},'"anterior insula"'),' will only yield results where the word "anterior" is followed by the word "insula". You can then use the above search operators on grouped words: ',(0,o.kt)("inlineCode",{parentName:"p"},'smokers -"anterior insula"')),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"PostgreSQL's search treats the ",(0,o.kt)("inlineCode",{parentName:"p"},"OR")," operator as a union between multiple different search groups. This means that for more complicated queries, you will need to repeat\ncertain ",(0,o.kt)("inlineCode",{parentName:"p"},"AND")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"NOT")," operators amongst multiple clauses."),(0,o.kt)("p",{parentName:"admonition"},"For example, consider the search: ",(0,o.kt)("inlineCode",{parentName:"p"},"nicotine OR smoking -marijuana"),".\nIn this example, the search results returned to you will be all the results yielded from ",(0,o.kt)("inlineCode",{parentName:"p"},"nicotine")," unioned with all the results of ",(0,o.kt)("inlineCode",{parentName:"p"},"smoking -marijuana"),". Having ",(0,o.kt)("inlineCode",{parentName:"p"},"-marijuana")," here does not relate to the entire search term - just ",(0,o.kt)("inlineCode",{parentName:"p"},"smoking"),"."),(0,o.kt)("p",{parentName:"admonition"},"To ensure that you do not have any mention of marijuana in your returned papers, you must search: ",(0,o.kt)("inlineCode",{parentName:"p"},"nicotine -marijuana or smoking -marijuana"),"."),(0,o.kt)("p",{parentName:"admonition"},"The same case applies for ",(0,o.kt)("inlineCode",{parentName:"p"},"AND")," operations. In general, ",(0,o.kt)("inlineCode",{parentName:"p"},"OR")," unions between various search groups consisting of ",(0,o.kt)("inlineCode",{parentName:"p"},"and"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"not"),", and quoted search terms. ")),(0,o.kt)("h3",{id:"study-data-type"},"Study Data Type"),(0,o.kt)("p",null,"Studies can either report their findings as coordinate data, image data, or in some cases, both. Using the Study Data Type button, you\ncan filter the results so that only coordinate or image data appears. For example, if you are doing a coordinate based meta-analysis, you\nwill want to filter the results to show only studies that report coordinates."),(0,o.kt)("h3",{id:"sorting-results"},"Sorting Results"),(0,o.kt)("p",null,"Use the Sort By feature to sort the results based on a given property. You can also set this to be ascending or descending."),(0,o.kt)("h3",{id:"filtering"},"Filtering"),(0,o.kt)("p",null,"To filter the results of the search, click on the orange ",(0,o.kt)("span",{style:{fontWeight:"bold",color:"orange"}},"Add Filter")," button. You have the option of filtering by title, description, author, or publication. Enter the string you want to filter by and click add to apply the filter."),(0,o.kt)("p",null,"Only one filter can be applied for each field. In order to remove a filter, simply click on the delete button on the given filter."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8cd595a7.c7e01c94.js b/assets/js/8cd595a7.c7e01c94.js deleted file mode 100644 index 7155688..0000000 --- a/assets/js/8cd595a7.c7e01c94.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[606],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>h});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),p=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=p(e.components);return r.createElement(l.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),c=p(n),m=o,h=c["".concat(l,".").concat(m)]||c[m]||d[m]||a;return n?r.createElement(h,i(i({ref:t},u),{},{components:n})):r.createElement(h,i({ref:t},u))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var r=n(7462),o=(n(7294),n(3905));const a={},i=void 0,s={unversionedId:"guide/Explore/Searching",id:"guide/Explore/Searching",title:"Searching",description:"Neurosynth-Compose works with the neurostore database to provide a convenient and functional interface to search for studies.",source:"@site/docs/guide/Explore/Searching.md",sourceDirName:"guide/Explore",slug:"/guide/Explore/Searching",permalink:"/compose-docs/guide/Explore/Searching",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Explore/Searching.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Explore",permalink:"/compose-docs/guide/Explore/"},next:{title:"Running Analyses",permalink:"/compose-docs/guide/Running/"}},l={},p=[{value:"Search Mechanics",id:"search-mechanics",level:3},{value:"Study Data Type",id:"study-data-type",level:3},{value:"Sorting Results",id:"sorting-results",level:3},{value:"Filtering",id:"filtering",level:3}],u={toc:p},c="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(c,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Neurosynth-Compose works with the neurostore database to provide a convenient and functional interface to search for studies."),(0,o.kt)("h3",{id:"search-mechanics"},"Search Mechanics"),(0,o.kt)("p",null,'Searching for semantically relevant results utilizes PostgreSQL\'s support of tokens/vectors when searching documents for relevant text. This approach excludes commonly used words like "a", "it", "on", and "the". It also aims to return similar words and word forms during the search (the term "brain" should return "brains" for example). For a more in depth understanding, you can take a look at the ',(0,o.kt)("a",{parentName:"p",href:"https://www.postgresql.org/docs/current/textsearch-controls.html"},"docs for text search"),"."),(0,o.kt)("p",null,"Searches are conducted across title and abstract fields.\nThe input supports ",(0,o.kt)("inlineCode",{parentName:"p"},"AND"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"OR"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"NOT")," operations. "),(0,o.kt)("p",null,"For example to use the ",(0,o.kt)("inlineCode",{parentName:"p"},"AND")," operator, you can enter in a value like ",(0,o.kt)("inlineCode",{parentName:"p"},"nicotine and memory"),". Similarly, you can enter an input like ",(0,o.kt)("inlineCode",{parentName:"p"},"smoking or nicotine")," for the ",(0,o.kt)("inlineCode",{parentName:"p"},"OR")," operator, and ",(0,o.kt)("inlineCode",{parentName:"p"},"smoking -marijuana")," for the ",(0,o.kt)("inlineCode",{parentName:"p"},"NOT")," operator (where marijuana is the excluded term)."),(0,o.kt)("p",null,"In order to ensure that text is grouped together (i.e. one word follows the other) you can include the words in quotes. For example, the search ",(0,o.kt)("inlineCode",{parentName:"p"},'"anterior insula"'),' will only yield results where the word "anterior" is followed by the word "insula". You can then use the above search operators on grouped words: ',(0,o.kt)("inlineCode",{parentName:"p"},'smokers -"anterior insula"')),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"PostgreSQL's search treats the ",(0,o.kt)("inlineCode",{parentName:"p"},"OR")," operator as a union between multiple different search groups. This means that for more complicated queries, you will need to repeat\ncertain ",(0,o.kt)("inlineCode",{parentName:"p"},"AND")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"NOT")," operators amongst multiple clauses."),(0,o.kt)("p",{parentName:"admonition"},"For example, consider the search: ",(0,o.kt)("inlineCode",{parentName:"p"},"nicotine OR smoking -marijuana"),".\nIn this example, the search results returned to you will be all the results yielded from ",(0,o.kt)("inlineCode",{parentName:"p"},"nicotine")," unioned with all the results of ",(0,o.kt)("inlineCode",{parentName:"p"},"smoking -marijuana"),". Having ",(0,o.kt)("inlineCode",{parentName:"p"},"-marijuana")," here does not relate to the entire search term - just ",(0,o.kt)("inlineCode",{parentName:"p"},"smoking"),"."),(0,o.kt)("p",{parentName:"admonition"},"To ensure that you do not have any mention of marijuana in your returned papers, you must search: ",(0,o.kt)("inlineCode",{parentName:"p"},"nicotine -marijuana or smoking -marijuana"),"."),(0,o.kt)("p",{parentName:"admonition"},"The same case applies for ",(0,o.kt)("inlineCode",{parentName:"p"},"AND")," operations. In general, ",(0,o.kt)("inlineCode",{parentName:"p"},"OR")," unions between various search groups consisting of ",(0,o.kt)("inlineCode",{parentName:"p"},"and"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"not"),", and quoted search terms. ")),(0,o.kt)("h3",{id:"study-data-type"},"Study Data Type"),(0,o.kt)("p",null,"Studies can either report their findings as coordinate data, image data, or in some cases, both. Using the Study Data Type button, you\ncan filter the results so that only coordinate or image data appears. For example, if you are doing a coordinate based meta-analysis, you\nwill want to filter the results to show only studies that report coordinates."),(0,o.kt)("h3",{id:"sorting-results"},"Sorting Results"),(0,o.kt)("p",null,"Use the Sort By feature to sort the results based on a given property. You can also set this to be ascending or descending."),(0,o.kt)("h3",{id:"filtering"},"Filtering"),(0,o.kt)("p",null,"To filter the results of the search, click on the orange ",(0,o.kt)("span",{style:{fontWeight:"bold",color:"orange"}},"Add Filter")," button. You have the option of filtering by title, description, author, or publication. Enter the string you want to filter by and click add to apply the filter."),(0,o.kt)("p",null,"Only one filter can be applied for each field. In order to remove a filter, simply click on the delete button on the given filter."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.4a27909c.js b/assets/js/935f2afb.4a27909c.js new file mode 100644 index 0000000..04a232e --- /dev/null +++ b/assets/js/935f2afb.4a27909c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Introduction","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"FAQ","href":"/compose-docs/introduction/faq","docId":"introduction/faq"},{"type":"link","label":"Our Team","href":"/compose-docs/introduction/team","docId":"introduction/team"},{"type":"link","label":"Ecosystem","href":"/compose-docs/introduction/ecosystem","docId":"introduction/ecosystem"}],"href":"/compose-docs/"},{"type":"category","label":"User Guide","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Project","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Curation","href":"/compose-docs/guide/Project/Curation","docId":"guide/Project/Curation"},{"type":"link","label":"Extraction","href":"/compose-docs/guide/Project/Extraction","docId":"guide/Project/Extraction"},{"type":"link","label":"Specification","href":"/compose-docs/guide/Project/Specification","docId":"guide/Project/Specification"},{"type":"link","label":"Running Analyses","href":"/compose-docs/guide/Project/Running","docId":"guide/Project/Running"}],"href":"/compose-docs/guide/Project/"},{"type":"category","label":"Explore","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Searching","href":"/compose-docs/guide/Explore/Searching","docId":"guide/Explore/Searching"}],"href":"/compose-docs/guide/Explore/"},{"type":"link","label":"Glossary","href":"/compose-docs/guide/glossary","docId":"guide/glossary"}],"href":"/compose-docs/guide/"},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manual Meta-Analysis","href":"/compose-docs/tutorial/manual","docId":"tutorial/manual"},{"type":"link","label":"Automated Meta-Analysis","href":"/compose-docs/tutorial/automated","docId":"tutorial/automated"},{"type":"category","label":"Advanced tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"MKDA Chi-Squared Association","href":"/compose-docs/tutorial/advanced/mkda_association","docId":"tutorial/advanced/mkda_association"}],"href":"/compose-docs/tutorial/advanced/"}],"href":"/compose-docs/tutorial/"}]},"docs":{"guide/Explore/index":{"id":"guide/Explore/index","title":"Explore","description":"Here, you can browse and search existing public Studies, StudySets and Meta-Analyses created on the platform.","sidebar":"tutorialSidebar"},"guide/Explore/Searching":{"id":"guide/Explore/Searching","title":"Searching","description":"Neurosynth-Compose works with the neurostore database to provide a convenient and functional interface to search for studies.","sidebar":"tutorialSidebar"},"guide/glossary":{"id":"guide/glossary","title":"Glossary","description":"This page contains a glossary of terms used in Neurosynth-Compose.","sidebar":"tutorialSidebar"},"guide/index":{"id":"guide/index","title":"User Guide","description":"Overview","sidebar":"tutorialSidebar"},"guide/Project/Curation":{"id":"guide/Project/Curation","title":"Curation","description":"Curation is the first step in creating a meta-analysis, and begins by searching for and importing studies into the project. You will then review those studies for inclusion based on their relevancy to your research question. This involves excluding irrelevant studies, and including relevant ones.","sidebar":"tutorialSidebar"},"guide/Project/Extraction":{"id":"guide/Project/Extraction","title":"Extraction","description":"Extraction is the second step in creating a meta-analysis. It involves taking the","sidebar":"tutorialSidebar"},"guide/Project/index":{"id":"guide/Project/index","title":"Project","description":"Overview","sidebar":"tutorialSidebar"},"guide/Project/Running":{"id":"guide/Project/Running","title":"Running Analyses","description":"You have a several options for running the analysis. In all cases, you will need your unique ``, which you can access for each Meta-Analysis within your Project.","sidebar":"tutorialSidebar"},"guide/Project/Specification":{"id":"guide/Project/Specification","title":"Specification","description":"Work in progress!","sidebar":"tutorialSidebar"},"introduction/ecosystem":{"id":"introduction/ecosystem","title":"Ecosystem for fMRI Meta-Analysis","description":"ecosystem","sidebar":"tutorialSidebar"},"introduction/faq":{"id":"introduction/faq","title":"Frequently Asked Questions","description":"Is this service free to use?","sidebar":"tutorialSidebar"},"introduction/index":{"id":"introduction/index","title":"What is Neurosynth Compose?","description":"Neurosynth Compose is the next-generation of Neurosynth, enabling users to easily perform custom neuroimaging meta-analyses using a fully web-based platform, with no programming experience required.","sidebar":"tutorialSidebar"},"introduction/team":{"id":"introduction/team","title":"Our Team","description":"Neurosynth-Compose is collaborative effort across several laboratories, and is supported by the National Institute of Mental Health award 5R01MH096906.","sidebar":"tutorialSidebar"},"tutorial/advanced/index":{"id":"tutorial/advanced/index","title":"Advanced tutorials","description":"After you\'ve completed the core Manual and Advanced tutorials, you can continue your learning journey with these advanced tutorials.","sidebar":"tutorialSidebar"},"tutorial/advanced/mkda_association":{"id":"tutorial/advanced/mkda_association","title":"MKDA Chi-Squared and large-scale association tests","description":"How to perform large-scale association tests using MKDA Chi-Squared Meta-Analysis, with a Social Processing example","sidebar":"tutorialSidebar"},"tutorial/automated":{"id":"tutorial/automated","title":"Automated Meta-Analysis","description":"How to create a fully automated meta-analysis","sidebar":"tutorialSidebar"},"tutorial/index":{"id":"tutorial/index","title":"Tutorials","description":"Quickstart","sidebar":"tutorialSidebar"},"tutorial/manual":{"id":"tutorial/manual","title":"Manual Meta-Analysis","description":"How to create a custom, manual meta-analysis.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.769051cc.js b/assets/js/935f2afb.769051cc.js deleted file mode 100644 index 0d73e0e..0000000 --- a/assets/js/935f2afb.769051cc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Introduction","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"FAQ","href":"/compose-docs/introduction/faq","docId":"introduction/faq"},{"type":"link","label":"Our Team","href":"/compose-docs/introduction/team","docId":"introduction/team"},{"type":"link","label":"Ecosystem","href":"/compose-docs/introduction/ecosystem","docId":"introduction/ecosystem"}],"href":"/compose-docs/"},{"type":"category","label":"User Guide","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Project","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Curation","href":"/compose-docs/guide/Project/Curation","docId":"guide/Project/Curation"},{"type":"link","label":"Extraction","href":"/compose-docs/guide/Project/Extraction","docId":"guide/Project/Extraction"},{"type":"link","label":"Specification","href":"/compose-docs/guide/Project/Specification","docId":"guide/Project/Specification"}],"href":"/compose-docs/guide/Project/"},{"type":"category","label":"Explore","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Searching","href":"/compose-docs/guide/Explore/Searching","docId":"guide/Explore/Searching"}],"href":"/compose-docs/guide/Explore/"},{"type":"link","label":"Running Analyses","href":"/compose-docs/guide/Running/","docId":"guide/Running/index"},{"type":"link","label":"Glossary","href":"/compose-docs/guide/glossary","docId":"guide/glossary"}],"href":"/compose-docs/guide/"},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manual Meta-Analysis","href":"/compose-docs/tutorial/manual","docId":"tutorial/manual"},{"type":"link","label":"Automated Meta-Analysis","href":"/compose-docs/tutorial/automated","docId":"tutorial/automated"},{"type":"category","label":"Advanced tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"MKDA Chi-Squared Association","href":"/compose-docs/tutorial/advanced/mkda_association","docId":"tutorial/advanced/mkda_association"}],"href":"/compose-docs/tutorial/advanced/"}],"href":"/compose-docs/tutorial/"}]},"docs":{"guide/Explore/index":{"id":"guide/Explore/index","title":"Explore","description":"Here, you can browse and search existing public Studies, StudySets and Meta-Analyses created on the platform.","sidebar":"tutorialSidebar"},"guide/Explore/Searching":{"id":"guide/Explore/Searching","title":"Searching","description":"Neurosynth-Compose works with the neurostore database to provide a convenient and functional interface to search for studies.","sidebar":"tutorialSidebar"},"guide/glossary":{"id":"guide/glossary","title":"Glossary","description":"This page contains a glossary of terms used in Neurosynth-Compose.","sidebar":"tutorialSidebar"},"guide/index":{"id":"guide/index","title":"User Guide","description":"Overview","sidebar":"tutorialSidebar"},"guide/Project/Curation":{"id":"guide/Project/Curation","title":"Curation","description":"Curation is the first step in creating a meta-analysis, and begins by searching for and importing studies into the project. Next, you will review studies for inclusion based on their relevancy to your research question. This involves excluding irrelevant studies, and including relevant ones.","sidebar":"tutorialSidebar"},"guide/Project/Extraction":{"id":"guide/Project/Extraction","title":"Extraction","description":"Extraction is the second step in creating a meta-analysis. It involves taking the","sidebar":"tutorialSidebar"},"guide/Project/index":{"id":"guide/Project/index","title":"Project","description":"Overview","sidebar":"tutorialSidebar"},"guide/Project/Specification":{"id":"guide/Project/Specification","title":"Specification","description":"","sidebar":"tutorialSidebar"},"guide/Running/index":{"id":"guide/Running/index","title":"Running Analyses","description":"You have a several options for running the analysis. In all cases, you will need your unique ``, which you can access for each Meta-Analysis within your Project.","sidebar":"tutorialSidebar"},"introduction/ecosystem":{"id":"introduction/ecosystem","title":"Ecosystem for fMRI Meta-Analysis","description":"ecosystem","sidebar":"tutorialSidebar"},"introduction/faq":{"id":"introduction/faq","title":"Frequently Asked Questions","description":"Is this service free to use?","sidebar":"tutorialSidebar"},"introduction/index":{"id":"introduction/index","title":"What is Neurosynth Compose?","description":"Neurosynth Compose is the next-generation of Neurosynth, enabling users to easily perform custom neuroimaging meta-analyses using a fully web-based platform, with no programming experience required.","sidebar":"tutorialSidebar"},"introduction/team":{"id":"introduction/team","title":"Our Team","description":"Neurosynth-Compose is collaborative effort across several laboratories, and is supported by the National Institute of Mental Health award 5R01MH096906.","sidebar":"tutorialSidebar"},"tutorial/advanced/index":{"id":"tutorial/advanced/index","title":"Advanced tutorials","description":"After you\'ve completed the core Manual and Advanced tutorials, you can continue your learning journey with these advanced tutorials.","sidebar":"tutorialSidebar"},"tutorial/advanced/mkda_association":{"id":"tutorial/advanced/mkda_association","title":"MKDA Chi-Squared and large-scale association tests","description":"How to perform large-scale association tests using MKDA Chi-Squared Meta-Analysis, with a Social Processing example","sidebar":"tutorialSidebar"},"tutorial/automated":{"id":"tutorial/automated","title":"Automated Meta-Analysis","description":"How to create a fully automated meta-analysis","sidebar":"tutorialSidebar"},"tutorial/index":{"id":"tutorial/index","title":"Tutorials","description":"Quickstart","sidebar":"tutorialSidebar"},"tutorial/manual":{"id":"tutorial/manual","title":"Manual Meta-Analysis","description":"How to create a custom, manual meta-analysis.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/a1b719ab.3af52d9f.js b/assets/js/a1b719ab.3af52d9f.js new file mode 100644 index 0000000..aac0baf --- /dev/null +++ b/assets/js/a1b719ab.3af52d9f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[4530],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>y});var i=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=i.createContext({}),u=function(e){var t=i.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},d=function(e){var t=u(e.components);return i.createElement(l.Provider,{value:t},e.children)},c="mdxType",v={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),c=u(n),p=o,y=c["".concat(l,".").concat(p)]||c[p]||v[p]||a;return n?i.createElement(y,r(r({ref:t},d),{},{components:n})):i.createElement(y,r({ref:t},d))}));function y(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,r=new Array(a);r[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:o,r[1]=s;for(var u=2;u{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>v,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var i=n(7462),o=(n(7294),n(3905));const a={title:"Glossary",sidebar_position:3},r="Glossary",s={unversionedId:"guide/glossary",id:"guide/glossary",title:"Glossary",description:"This page contains a glossary of terms used in Neurosynth-Compose.",source:"@site/docs/guide/glossary.md",sourceDirName:"guide",slug:"/guide/glossary",permalink:"/compose-docs/guide/glossary",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/glossary.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:3,frontMatter:{title:"Glossary",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Searching",permalink:"/compose-docs/guide/Explore/Searching"},next:{title:"Tutorials",permalink:"/compose-docs/tutorial/"}},l={},u=[{value:"Studyset",id:"studyset",level:2},{value:"Overview",id:"overview",level:3},{value:"Functions",id:"functions",level:3},{value:"Annotation",id:"annotation",level:2},{value:"Overview",id:"overview-1",level:3},{value:"Functions",id:"functions-1",level:3},{value:"Study",id:"study",level:2},{value:"Overview",id:"overview-2",level:3},{value:"Functions",id:"functions-2",level:3},{value:"Analysis",id:"analysis",level:2},{value:"Overview",id:"overview-3",level:3},{value:"Condition",id:"condition",level:2},{value:"Overview",id:"overview-4",level:3},{value:"Weights",id:"weights",level:2},{value:"Point",id:"point",level:2},{value:"Overview",id:"overview-5",level:3},{value:"Image",id:"image",level:2}],d={toc:u},c="wrapper";function v(e){let{components:t,...n}=e;return(0,o.kt)(c,(0,i.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"glossary"},"Glossary"),(0,o.kt)("p",null,"This page contains a glossary of terms used in Neurosynth-Compose."),(0,o.kt)("h2",{id:"studyset"},"Studyset"),(0,o.kt)("h3",{id:"overview"},"Overview"),(0,o.kt)("p",null,"A studyset is a collection of studies and serves as the primary input\nto a meta-analysis."),(0,o.kt)("h3",{id:"functions"},"Functions"),(0,o.kt)("p",null,"If an existing studyset is close to what you want or provides a good starting\npoint, you may clone the studyset.\nFrom there you can add additional studies or remove studies from the studyset.\nIf you would like to change which analyses are included for analysis in the studyset,\nwe recommend you use annotations instead."),(0,o.kt)("h2",{id:"annotation"},"Annotation"),(0,o.kt)("h3",{id:"overview-1"},"Overview"),(0,o.kt)("p",null,"Annotations serve three functions:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"human-readable documentation (for example, following PRISMA)"),(0,o.kt)("li",{parentName:"ol"},"Specifying co-variates to be used in the meta-analysis"),(0,o.kt)("li",{parentName:"ol"},"Filtering Analyses for inclusion in the meta-analysis")),(0,o.kt)("p",null,'Annotations can be thought of like an excel sheet, where\nthe columns are variables serving one of the three functions mentioned above, and the rows are\neach analysis and its value for that variable.\nFor example, let\'s say we were to create an annotation for purpose (3). To filter analyses for inclusion, we can create\nan "include" column may have a corresponding values of "True" or "False"\nfor each analysis indicating whether to include the analysis in the meta-analysis.'),(0,o.kt)("h3",{id:"functions-1"},"Functions"),(0,o.kt)("p",null,"Annotations can also be cloned if you disagree with an existing annotation\nyou do not own and want to edit it."),(0,o.kt)("h2",{id:"study"},"Study"),(0,o.kt)("h3",{id:"overview-2"},"Overview"),(0,o.kt)("p",null,"A study is a publishable unit of research containing neuroimaging\ndata.\nThe data can be represented as peak coordinates or actual images.\nThe study is connected to the original journal it was published in."),(0,o.kt)("h3",{id:"functions-2"},"Functions"),(0,o.kt)("p",null,"Studies can be created, cloned, and edited to accomodate your needs for your meta-analysis"),(0,o.kt)("h2",{id:"analysis"},"Analysis"),(0,o.kt)("h3",{id:"overview-3"},"Overview"),(0,o.kt)("p",null,"An analysis represents a single statistical contrast between any number of groups/conditions.\nThe contents of an analysis include the terms applied to the groups/conditions and their respective\nweights in the contrast.\nAn analysis also contains the results of the statistical contrast either with an image and/or a table\nindicating significant results "),(0,o.kt)("h2",{id:"condition"},"Condition"),(0,o.kt)("h3",{id:"overview-4"},"Overview"),(0,o.kt)("p",null,"A condition is term/word that represents a psychological (e.g., 2-back), physical (e.g., biking)"),(0,o.kt)("h2",{id:"weights"},"Weights"),(0,o.kt)("h2",{id:"point"},"Point"),(0,o.kt)("h3",{id:"overview-5"},"Overview"),(0,o.kt)("h2",{id:"image"},"Image"))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a1b719ab.8ef482e5.js b/assets/js/a1b719ab.8ef482e5.js deleted file mode 100644 index 4ba711f..0000000 --- a/assets/js/a1b719ab.8ef482e5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[4530],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>y});var i=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=i.createContext({}),u=function(e){var t=i.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},d=function(e){var t=u(e.components);return i.createElement(l.Provider,{value:t},e.children)},c="mdxType",v={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),c=u(n),p=o,y=c["".concat(l,".").concat(p)]||c[p]||v[p]||a;return n?i.createElement(y,r(r({ref:t},d),{},{components:n})):i.createElement(y,r({ref:t},d))}));function y(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,r=new Array(a);r[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:o,r[1]=s;for(var u=2;u{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>v,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var i=n(7462),o=(n(7294),n(3905));const a={title:"Glossary",sidebar_position:3},r="Glossary",s={unversionedId:"guide/glossary",id:"guide/glossary",title:"Glossary",description:"This page contains a glossary of terms used in Neurosynth-Compose.",source:"@site/docs/guide/glossary.md",sourceDirName:"guide",slug:"/guide/glossary",permalink:"/compose-docs/guide/glossary",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/glossary.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:3,frontMatter:{title:"Glossary",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Running Analyses",permalink:"/compose-docs/guide/Running/"},next:{title:"Tutorials",permalink:"/compose-docs/tutorial/"}},l={},u=[{value:"Studyset",id:"studyset",level:2},{value:"Overview",id:"overview",level:3},{value:"Functions",id:"functions",level:3},{value:"Annotation",id:"annotation",level:2},{value:"Overview",id:"overview-1",level:3},{value:"Functions",id:"functions-1",level:3},{value:"Study",id:"study",level:2},{value:"Overview",id:"overview-2",level:3},{value:"Functions",id:"functions-2",level:3},{value:"Analysis",id:"analysis",level:2},{value:"Overview",id:"overview-3",level:3},{value:"Condition",id:"condition",level:2},{value:"Overview",id:"overview-4",level:3},{value:"Weights",id:"weights",level:2},{value:"Point",id:"point",level:2},{value:"Overview",id:"overview-5",level:3},{value:"Image",id:"image",level:2}],d={toc:u},c="wrapper";function v(e){let{components:t,...n}=e;return(0,o.kt)(c,(0,i.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"glossary"},"Glossary"),(0,o.kt)("p",null,"This page contains a glossary of terms used in Neurosynth-Compose."),(0,o.kt)("h2",{id:"studyset"},"Studyset"),(0,o.kt)("h3",{id:"overview"},"Overview"),(0,o.kt)("p",null,"A studyset is a collection of studies and serves as the primary input\nto a meta-analysis."),(0,o.kt)("h3",{id:"functions"},"Functions"),(0,o.kt)("p",null,"If an existing studyset is close to what you want or provides a good starting\npoint, you may clone the studyset.\nFrom there you can add additional studies or remove studies from the studyset.\nIf you would like to change which analyses are included for analysis in the studyset,\nwe recommend you use annotations instead."),(0,o.kt)("h2",{id:"annotation"},"Annotation"),(0,o.kt)("h3",{id:"overview-1"},"Overview"),(0,o.kt)("p",null,"Annotations serve three functions:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"human-readable documentation (for example, following PRISMA)"),(0,o.kt)("li",{parentName:"ol"},"Specifying co-variates to be used in the meta-analysis"),(0,o.kt)("li",{parentName:"ol"},"Filtering Analyses for inclusion in the meta-analysis")),(0,o.kt)("p",null,'Annotations can be thought of like an excel sheet, where\nthe columns are variables serving one of the three functions mentioned above, and the rows are\neach analysis and its value for that variable.\nFor example, let\'s say we were to create an annotation for purpose (3). To filter analyses for inclusion, we can create\nan "include" column may have a corresponding values of "True" or "False"\nfor each analysis indicating whether to include the analysis in the meta-analysis.'),(0,o.kt)("h3",{id:"functions-1"},"Functions"),(0,o.kt)("p",null,"Annotations can also be cloned if you disagree with an existing annotation\nyou do not own and want to edit it."),(0,o.kt)("h2",{id:"study"},"Study"),(0,o.kt)("h3",{id:"overview-2"},"Overview"),(0,o.kt)("p",null,"A study is a publishable unit of research containing neuroimaging\ndata.\nThe data can be represented as peak coordinates or actual images.\nThe study is connected to the original journal it was published in."),(0,o.kt)("h3",{id:"functions-2"},"Functions"),(0,o.kt)("p",null,"Studies can be created, cloned, and edited to accomodate your needs for your meta-analysis"),(0,o.kt)("h2",{id:"analysis"},"Analysis"),(0,o.kt)("h3",{id:"overview-3"},"Overview"),(0,o.kt)("p",null,"An analysis represents a single statistical contrast between any number of groups/conditions.\nThe contents of an analysis include the terms applied to the groups/conditions and their respective\nweights in the contrast.\nAn analysis also contains the results of the statistical contrast either with an image and/or a table\nindicating significant results "),(0,o.kt)("h2",{id:"condition"},"Condition"),(0,o.kt)("h3",{id:"overview-4"},"Overview"),(0,o.kt)("p",null,"A condition is term/word that represents a psychological (e.g., 2-back), physical (e.g., biking)"),(0,o.kt)("h2",{id:"weights"},"Weights"),(0,o.kt)("h2",{id:"point"},"Point"),(0,o.kt)("h3",{id:"overview-5"},"Overview"),(0,o.kt)("h2",{id:"image"},"Image"))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a3562974.3aff8cda.js b/assets/js/a3562974.3aff8cda.js new file mode 100644 index 0000000..59211b5 --- /dev/null +++ b/assets/js/a3562974.3aff8cda.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[9735],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>h});var n=o(7294);function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function r(e){for(var t=1;t=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var l=n.createContext({}),d=function(e){var t=n.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):r(r({},t),e)),o},u=function(e){var t=d(e.components);return n.createElement(l.Provider,{value:t},e.children)},c="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),c=d(o),m=i,h=c["".concat(l,".").concat(m)]||c[m]||p[m]||a;return o?n.createElement(h,r(r({ref:t},u),{},{components:o})):n.createElement(h,r({ref:t},u))}));function h(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=o.length,r=new Array(a);r[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:i,r[1]=s;for(var d=2;d{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>d});var n=o(7462),i=(o(7294),o(3905));const a={title:"Curation",sidebar_position:0},r="Curation",s={unversionedId:"guide/Project/Curation",id:"guide/Project/Curation",title:"Curation",description:"Curation is the first step in creating a meta-analysis, and begins by searching for and importing studies into the project. You will then review those studies for inclusion based on their relevancy to your research question. This involves excluding irrelevant studies, and including relevant ones.",source:"@site/docs/guide/Project/Curation.md",sourceDirName:"guide/Project",slug:"/guide/Project/Curation",permalink:"/compose-docs/guide/Project/Curation",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Project/Curation.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:0,frontMatter:{title:"Curation",sidebar_position:0},sidebar:"tutorialSidebar",previous:{title:"Project",permalink:"/compose-docs/guide/Project/"},next:{title:"Extraction",permalink:"/compose-docs/guide/Project/Extraction"}},l={},d=[{value:"Getting Started",id:"getting-started",level:2},{value:"PRISMA Workflow",id:"prisma-workflow",level:3},{value:"Simple Workflow",id:"simple-workflow",level:3},{value:"Importing",id:"importing",level:2},{value:"Import Method 1: Import from Neurostore",id:"import-method-1-import-from-neurostore",level:3},{value:"Import Method 2: Import from PubMed",id:"import-method-2-import-from-pubmed",level:3},{value:"Import Method 3: Import from BibTex/RIS/endnote",id:"import-method-3-import-from-bibtexrisendnote",level:3},{value:"Import Method 4: Custom Studies",id:"import-method-4-custom-studies",level:3},{value:"Sleuth files",id:"sleuth-files",level:3},{value:"Duplicates",id:"duplicates",level:3},{value:"Duplicates are detected between the studies being imported and the studies already in the project",id:"duplicates-are-detected-between-the-studies-being-imported-and-the-studies-already-in-the-project",level:4},{value:"Duplicates are detected within the file you are importing",id:"duplicates-are-detected-within-the-file-you-are-importing",level:4},{value:"Excluding and Promoting Studies",id:"excluding-and-promoting-studies",level:2},{value:"Exclude",id:"exclude",level:3},{value:"Promote",id:"promote",level:3},{value:"Downloading included studies",id:"downloading-included-studies",level:2},{value:"On to Extraction",id:"on-to-extraction",level:2}],u={toc:d},c="wrapper";function p(e){let{components:t,...o}=e;return(0,i.kt)(c,(0,n.Z)({},u,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"curation"},"Curation"),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"Curation")," is the first step in creating a meta-analysis, and begins by ",(0,i.kt)("em",{parentName:"p"},"searching")," for and ",(0,i.kt)("em",{parentName:"p"},"importing")," studies into the project. You will then ",(0,i.kt)("em",{parentName:"p"},"review")," those studies for inclusion based on their relevancy to your research question. This involves ",(0,i.kt)("strong",{parentName:"p"},"excluding")," irrelevant studies, and ",(0,i.kt)("strong",{parentName:"p"},"including")," relevant ones."),(0,i.kt)("p",null,"At the end of the process, you will be ready to create a ",(0,i.kt)("a",{parentName:"p",href:"/compose-docs/guide/glossary#studyset"},(0,i.kt)("strong",{parentName:"a"},"Studyset"))," of related studies that are amenable for neuroimaging meta-analysis"),(0,i.kt)("h2",{id:"getting-started"},"Getting Started"),(0,i.kt)("p",null,"The curation interface uses columns as a way to label studies based on their current status.\nThe left most column is the starting point and all studies imported into the project will begin there.\nThe right most column is the ",(0,i.kt)("strong",{parentName:"p"},"inclusion column")," and is the place where studies will go to be included in the meta-analysis."),(0,i.kt)("p",null,'The goal is to get studies from the left most starting column, and narrow them down to a final subset of included studies in the right most column.\nIf a study is not eligible for inclusion at any point, it should be marked as "excluded" before reaching the inclusion column.'),(0,i.kt)("p",null,"The curation step is complete when all studies have been categorized, either by being included or excluded."),(0,i.kt)("p",null,"When you first begin ",(0,i.kt)("em",{parentName:"p"},"Curation"),", you will choose between different workflows, which vary in how rigorous or systematic the selection of studies will be."),(0,i.kt)("admonition",{title:"How specific to be?",type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"Performing a systematic meta-analysis involves a substantial amount of effort. It is up to you, the researcher, how rigorous to be in this process. We reccomend thinking about your ",(0,i.kt)("em",{parentName:"p"},"goals")," prior to starting this process so that you can have clear inclusion guidelines. If you are looking for an exploratory analysis, we reccomend following the tutorial for ",(0,i.kt)("em",{parentName:"p"},"automated meta-analysis"),", which replaces manual curation with an automated selection of studies. Note that automated meta-analyses are not a replacement for a careful systematic meta-analysis.")),(0,i.kt)("h3",{id:"prisma-workflow"},"PRISMA Workflow"),(0,i.kt)("p",null,"PRISMA stands for the ",(0,i.kt)("strong",{parentName:"p"},"Preferred Reporting Items for Systematic Review and Meta-Analyses"),". The\n",(0,i.kt)("a",{parentName:"p",href:"http://www.prisma-statement.org/?AspxAutoDetectCookieSupport=1"},"PRISMA guidelines")," are a set of rules for reporting a\nsystematic review, and are the gold standard for producing a proper, rigorous, and transparent meta-analysis."),(0,i.kt)("p",null,"If you are trying to create a rigorous ",(0,i.kt)("a",{parentName:"p",href:"/compose-docs/tutorial/manual"},"PRISMA compliant manual meta-analysis")," you will want to select this option."),(0,i.kt)("p",null,"When you select this option, neurosynth-compose will automatically initialize the curation step with 4 distinct columns as\ndictated by PRISMA guidelines: ",(0,i.kt)("strong",{parentName:"p"},"Identification, Screening, Eligibility, Included"),"."),(0,i.kt)("p",null,"After importing studies into neurosynth, they will be placed into the identification column and studies are triaged from there."),(0,i.kt)("admonition",{title:"PRISMA Summary",type:"info"},(0,i.kt)("p",{parentName:"admonition"},"The ",(0,i.kt)("strong",{parentName:"p"},"Identification")," column is where all imported studies are deposited into initially. As alluded to by the name, the identification\ncolumn is where you identify all records yielded from your search. In this column, you wil exclude studies purely based on whether they are\nduplicates of existing studies. All other studies are promoted."),(0,i.kt)("p",{parentName:"admonition"},"The ",(0,i.kt)("strong",{parentName:"p"},"Screening")," column consists of all records that have been screened for duplicates. In this column, you want to review the titles/abstracts of studies\nand exclude purely based on whether they are irrelevant to your research question or domain. All other studies are promoted."),(0,i.kt)("p",{parentName:"admonition"},"The ",(0,i.kt)("strong",{parentName:"p"},"Eligibility")," column consists of all records that have been screened for duplicates and irrelevant content. In this column, you want to\nreview the full text of studies and exclude based on whether the study described aligns with the standards of the meta-analysis itself. Reasons\nfor exclusion may include wrong setting, wrong patient population, wrong intervention, wrong paragdigm, etc."),(0,i.kt)("p",{parentName:"admonition"},"The ",(0,i.kt)("strong",{parentName:"p"},"Included")," column consists of all records that have passed previous levels of exclusion and can be considered for the next step of the project."),(0,i.kt)("p",{parentName:"admonition"},"For more information, consult the ",(0,i.kt)("a",{parentName:"p",href:"http://www.prisma-statement.org/?AspxAutoDetectCookieSupport=1"},"PRISMA guidelines"),".")),(0,i.kt)("h3",{id:"simple-workflow"},"Simple Workflow"),(0,i.kt)("p",null,"If you want to create a semi-automated meta-analysis (i.e. perform manual review on a large-scale study search), you'll want to select this option."),(0,i.kt)("p",null,"This workflow is initalized with only two columns. As before, the left most column is where studies will be placed when they are imported. However, unlike a full PRISMA workflow, all exclusion occurs in this column. All studies not excluded are then promoted to the right most column for inclusion into the meta-analysis."),(0,i.kt)("h2",{id:"importing"},"Importing"),(0,i.kt)("p",null,"To begin importing studies into your project click the ",(0,i.kt)("strong",{parentName:"p"},"IMPORT STUDIES")," button."),(0,i.kt)("p",null,"You will be asked to choose an import method, source, name for your import, and finally address\nany potential duplicate studies."),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"We recommend giving each import a meaningful name. This will be useful when you come back\nand want to know where a certain study was imported from.")),(0,i.kt)("h3",{id:"import-method-1-import-from-neurostore"},"Import Method 1: Import from Neurostore"),(0,i.kt)("p",null,"Neurostore indexes a large number of neuroimaging studies which are ready for meta-analysis. Studies in Neurostore have been pre-processed, including extracting peak activation coordinates from Tables in the text, and computing semantic features from the abstract/full text. Neurostore also indexes studies which other users have annotated and made available to others for re-use."),(0,i.kt)("p",null,"Importing from Neurostore utilizes the Study search UI similar to the ",(0,i.kt)("a",{parentName:"p",href:"https://compose.neurosynth.org/studies"},"Study Page"),".\nAfter entering your search, click the bottom right button to import the searched studies into your project."),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"Importing from Neurostore can save you a lot of time, as these studies are much more likely to be amenable to meta-analysis, and have pre-extracted coordinates. However, note that some manual annotation may still be required to verify the coordinate extraction, and choose the relevant Analysis (i.e. contrast) for final inclusion.")),(0,i.kt)("h3",{id:"import-method-2-import-from-pubmed"},"Import Method 2: Import from PubMed"),(0,i.kt)("p",null,"Use this option to import studies directly from PubMed. To start, you need to go to the ",(0,i.kt)("a",{parentName:"p",href:"https://pubmed.ncbi.nlm.nih.gov/"},"PubMed Site"),"\nand either enter in a search or navigate to a previously created collection."),(0,i.kt)("p",null,"To import the search or collection from PubMed into neurosynth-compose, you will need a text file containing a list of PMIDs.\nYou can obtain this by going to your collection/search and clicking the ",(0,i.kt)("strong",{parentName:"p"},"Save")," button. Set ",(0,i.kt)("strong",{parentName:"p"},"Selection")," to ",(0,i.kt)("strong",{parentName:"p"},"All results"),"\nand set ",(0,i.kt)("strong",{parentName:"p"},"Format")," to ",(0,i.kt)("strong",{parentName:"p"},"PMID"),". Click ",(0,i.kt)("strong",{parentName:"p"},"Create file")," and your text file containing the PMIDs will be generated and downloaded."),(0,i.kt)("admonition",{type:"caution"},(0,i.kt)("p",{parentName:"admonition"},"Neurosynth-Compose uses the PubMed API to import studies. As a result, the maximum number of PMIDs that can be imported at once is 1,500.\nIf your collection has more than 1,500 PMIDs, split the import into multiple files. You can select the same import name so that they are all grouped together.")),(0,i.kt)("h3",{id:"import-method-3-import-from-bibtexrisendnote"},"Import Method 3: Import from BibTex/RIS/endnote"),(0,i.kt)("p",null,"Use this option to import studies via a .bib, .RIS, or .enw file. This may be useful if you want to import from a citation manager like Zotero."),(0,i.kt)("h3",{id:"import-method-4-custom-studies"},"Import Method 4: Custom Studies"),(0,i.kt)("p",null,"If there is any record that cannot be easily imported using one of the methods listed above, you can also manually create a study. This may be necessary\nto include resources like unpublished studies."),(0,i.kt)("h3",{id:"sleuth-files"},"Sleuth files"),(0,i.kt)("p",null,"At the moment, it's not possible to add studies from a sleuth file into an ",(0,i.kt)("em",{parentName:"p"},"existing project"),". To create a new project from a sleuth file, ",(0,i.kt)("a",{parentName:"p",href:"/compose-docs/guide/glossary#studyset"},"read more here"),"."),(0,i.kt)("h3",{id:"duplicates"},"Duplicates"),(0,i.kt)("p",null,'If duplicates are detected in your import, you will be asked how to reconcile them by choosing which of the studies to keep by choosing "KEEP THIS STUDY". Matching duplicates will be automatically marked for exclusion. Note that as a user, you can override any of these selections at any time, and choose which studies to keep or exclude.'),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},(0,i.kt)("em",{parentName:"p"},"Neurosynth Compose does not delete studies"),". If a study is marked as a duplicate, it is marked as ",(0,i.kt)("strong",{parentName:"p"},"excluded")," but it is not discarded to ensure complete provenance.")),(0,i.kt)("p",null,"There are two potential ways that duplicates can occur:"),(0,i.kt)("h4",{id:"duplicates-are-detected-between-the-studies-being-imported-and-the-studies-already-in-the-project"},"Duplicates are detected between the studies being imported and the studies already in the project"),(0,i.kt)("p",null,"If any study being important has the same title, PMID, or DOI is the same as\none already in the project, you will be asked reconcile these duplicates."),(0,i.kt)("p",null,'Note that if you mark a study that is already promoted as a duplicate, it will be "demoted" back to the first column and marked as "duplicate". It is reccomended to mark as duplicate the incoming study to avoid this.'),(0,i.kt)("h4",{id:"duplicates-are-detected-within-the-file-you-are-importing"},"Duplicates are detected within the file you are importing"),(0,i.kt)("p",null,"Although rare, it is possible to have duplicates within a given import. For example, if within a RIS file there are duplicate entries. In this case, you will be asked to select which study to keep. Studies marked as duplicates will still be imported but marked as excluded."),(0,i.kt)("h2",{id:"excluding-and-promoting-studies"},"Excluding and Promoting Studies"),(0,i.kt)("p",null,"Once studies have been imported into the first column of the curation phase, they need to be reviewed for inclusion into your meta-analysis.\nAll studies must be either excluded or moved to the inclusion column in order to progress to the extraction phase."),(0,i.kt)("p",null,"To begin, either click on the button at the top of the column or click on any study in the column. This will open up a page which will show the study\nalong with the following options: ",(0,i.kt)("strong",{parentName:"p"},"PROMOTE, NEEDS REVIEW"),", and ",(0,i.kt)("strong",{parentName:"p"},"EXCLUDE"),". There is also a button to ",(0,i.kt)("strong",{parentName:"p"},"ADD TAGS")," which will assign an informational tag to the study. This informational tag is a tool that allows you to mark studies with certain information - once an informational tag is created, you can filter by those tags."),(0,i.kt)("h3",{id:"exclude"},"Exclude"),(0,i.kt)("p",null,"To exclude a study, click the ",(0,i.kt)("strong",{parentName:"p"},"EXCLUDE")," button and select the exclusion reason. You can either choose from the preset exclusion reasons or you can begin\ntyping to create a new one."),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"For the PRISMA workflow, the default exclusion reason wil depend on the phase you are in (identification vs screening vs eligibility), to match the PRISMA guidelines. While we do not recommend it, you can click the arrow button and start typing in the input to create a new exclusion reason.\nRevisit the ",(0,i.kt)("a",{parentName:"p",href:"./Curation#prisma-workflow"},"PRISMA workflow")," to review reccomended exclusion criteria.")),(0,i.kt)("h3",{id:"promote"},"Promote"),(0,i.kt)("p",null,"If a study meets inclusion critera (for the current phase), click ",(0,i.kt)("strong",{parentName:"p"},"PROMOTE")," to move the study forward to the next curation column. If it is moved into the right most inclusion column, then it will be included in the meta-analysis."),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"For the first column (especially in a PRISMA workflow) it can be tedious to promote non-duplicates to the next column. If all duplicates have been resolved, you can exit the dialog and click ",(0,i.kt)("strong",{parentName:"p"},"PROMOTE ALL UNCATEGORIZED STUDIES")," to advance all non-duplicate studies to the next column.")),(0,i.kt)("h2",{id:"downloading-included-studies"},"Downloading included studies"),(0,i.kt)("p",null,'In order to download the studies that you have included in Curation, you can utilize our download feature. Go to curation and click "Download Included as CSV". Alternatively, you can click the dropdown and download the included studies in BibTeX format instead.'),(0,i.kt)("h2",{id:"on-to-extraction"},"On to Extraction"),(0,i.kt)("p",null,"When you have categorized all imported studies by either excluding them or moving them to the inclusion column, then you have\nsuccessfully completed the curation portion of the meta-analysis."),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"Neurosynth Compose")," will detect this and reveal a new button: ",(0,i.kt)("strong",{parentName:"p"},"MOVE TO EXTRACTION PHASE"),". This will move you back to the project page and get you started on the next major component to building your meta-analysis: ",(0,i.kt)("a",{parentName:"p",href:"./Extraction"},"extraction"),"."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a3562974.a6ad3c32.js b/assets/js/a3562974.a6ad3c32.js deleted file mode 100644 index adf4b78..0000000 --- a/assets/js/a3562974.a6ad3c32.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[9735],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>h});var n=o(7294);function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function r(e){for(var t=1;t=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var l=n.createContext({}),d=function(e){var t=n.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):r(r({},t),e)),o},u=function(e){var t=d(e.components);return n.createElement(l.Provider,{value:t},e.children)},c="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),c=d(o),m=i,h=c["".concat(l,".").concat(m)]||c[m]||p[m]||a;return o?n.createElement(h,r(r({ref:t},u),{},{components:o})):n.createElement(h,r({ref:t},u))}));function h(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=o.length,r=new Array(a);r[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:i,r[1]=s;for(var d=2;d{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>d});var n=o(7462),i=(o(7294),o(3905));const a={title:"Curation",sidebar_position:0},r="Curation",s={unversionedId:"guide/Project/Curation",id:"guide/Project/Curation",title:"Curation",description:"Curation is the first step in creating a meta-analysis, and begins by searching for and importing studies into the project. Next, you will review studies for inclusion based on their relevancy to your research question. This involves excluding irrelevant studies, and including relevant ones.",source:"@site/docs/guide/Project/Curation.md",sourceDirName:"guide/Project",slug:"/guide/Project/Curation",permalink:"/compose-docs/guide/Project/Curation",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Project/Curation.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:0,frontMatter:{title:"Curation",sidebar_position:0},sidebar:"tutorialSidebar",previous:{title:"Project",permalink:"/compose-docs/guide/Project/"},next:{title:"Extraction",permalink:"/compose-docs/guide/Project/Extraction"}},l={},d=[{value:"Getting Started",id:"getting-started",level:2},{value:"PRISMA Workflow",id:"prisma-workflow",level:3},{value:"Simple Workflow",id:"simple-workflow",level:3},{value:"Importing",id:"importing",level:2},{value:"Import Method 1: Import from Neurostore",id:"import-method-1-import-from-neurostore",level:3},{value:"Import Method 2: Import from PubMed",id:"import-method-2-import-from-pubmed",level:3},{value:"Import Method 3: Import from BibTex/RIS/endnote",id:"import-method-3-import-from-bibtexrisendnote",level:3},{value:"Import Method 4: Custom Studies",id:"import-method-4-custom-studies",level:3},{value:"Sleuth files",id:"sleuth-files",level:3},{value:"Duplicates",id:"duplicates",level:3},{value:"Duplicates are detected between the studies being imported and the studies already in the project",id:"duplicates-are-detected-between-the-studies-being-imported-and-the-studies-already-in-the-project",level:4},{value:"Duplicates are detected within the file you are importing",id:"duplicates-are-detected-within-the-file-you-are-importing",level:4},{value:"Excluding and Promoting Studies",id:"excluding-and-promoting-studies",level:2},{value:"Exclude",id:"exclude",level:3},{value:"Promote",id:"promote",level:3},{value:"Downloading included studies",id:"downloading-included-studies",level:2},{value:"On to Extraction",id:"on-to-extraction",level:2}],u={toc:d},c="wrapper";function p(e){let{components:t,...o}=e;return(0,i.kt)(c,(0,n.Z)({},u,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"curation"},"Curation"),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"Curation")," is the first step in creating a meta-analysis, and begins by ",(0,i.kt)("em",{parentName:"p"},"searching")," for and ",(0,i.kt)("em",{parentName:"p"},"importing")," studies into the project. Next, you will ",(0,i.kt)("em",{parentName:"p"},"review")," studies for inclusion based on their relevancy to your research question. This involves ",(0,i.kt)("strong",{parentName:"p"},"excluding")," irrelevant studies, and ",(0,i.kt)("strong",{parentName:"p"},"including")," relevant ones."),(0,i.kt)("p",null,"At the end of the process, you will be ready to create a ",(0,i.kt)("a",{parentName:"p",href:"/compose-docs/guide/glossary#studyset"},(0,i.kt)("strong",{parentName:"a"},"Studyset"))," of related studies that are amenable for neuroimaging meta-analysis"),(0,i.kt)("h2",{id:"getting-started"},"Getting Started"),(0,i.kt)("p",null,"The curation interface uses columns as a way to label studies based on their current status.\nThe left most column is the starting point and all studies imported into the project will begin there.\nThe right most column is the ",(0,i.kt)("strong",{parentName:"p"},"inclusion column")," and is the place where studies will go to be included in the meta-analysis."),(0,i.kt)("p",null,'The goal is to get studies from the left most starting column, and narrow them down to a final subset of included studies in the right most column.\nIf a study is not eligible for inclusion at any point, it should be marked as "excluded" before reaching the inclusion column.'),(0,i.kt)("p",null,"The curation step is complete when all studies have been categorized, either by being included or excluded."),(0,i.kt)("p",null,"When you first begin ",(0,i.kt)("em",{parentName:"p"},"Curation"),", you will choose between different workflows, which vary in how rigorous or systematic the selection of studies will be."),(0,i.kt)("admonition",{title:"How specific to be?",type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"Performing a systematic meta-analysis involves a substantial amount of effort. It is up to you, the researcher, how rigorous to be in this process. We reccomend thinking about your ",(0,i.kt)("em",{parentName:"p"},"goals")," prior to starting this process so that you can have clear inclusion guidelines. If you are looking for an exploratory analysis, we reccomend following the tutorial for ",(0,i.kt)("em",{parentName:"p"},"automated meta-analysis"),", which replaces manual curation with an automated selection of studies. Note that automated meta-analyses are not a replacement for a careful systematic meta-analysis.")),(0,i.kt)("h3",{id:"prisma-workflow"},"PRISMA Workflow"),(0,i.kt)("p",null,"PRISMA stands for the ",(0,i.kt)("strong",{parentName:"p"},"Preferred Reporting Items for Systematic Review and Meta-Analyses"),". The\n",(0,i.kt)("a",{parentName:"p",href:"http://www.prisma-statement.org/?AspxAutoDetectCookieSupport=1"},"PRISMA guidelines")," are a set of rules for reporting a\nsystematic review, and are the gold standard for producing a proper, rigorous, and transparent meta-analysis."),(0,i.kt)("p",null,"If you are trying to create a rigorous ",(0,i.kt)("a",{parentName:"p",href:"/compose-docs/tutorial/manual"},"PRISMA compliant manual meta-analysis")," you will want to select this option."),(0,i.kt)("p",null,"When you select this option, neurosynth-compose will automatically initialize the curation step with 4 distinct columns as\ndictated by PRISMA guidelines: ",(0,i.kt)("strong",{parentName:"p"},"Identification, Screening, Eligibility, Included"),"."),(0,i.kt)("p",null,"After importing studies into neurosynth, they will be placed into the identification column and studies are triaged from there."),(0,i.kt)("admonition",{title:"PRISMA Summary",type:"info"},(0,i.kt)("p",{parentName:"admonition"},"The ",(0,i.kt)("strong",{parentName:"p"},"Identification")," column is where all imported studies are deposited into initially. As alluded to by the name, the identification\ncolumn is where you identify all records yielded from your search. In this column, you wil exclude studies purely based on whether they are\nduplicates of existing studies. All other studies are promoted."),(0,i.kt)("p",{parentName:"admonition"},"The ",(0,i.kt)("strong",{parentName:"p"},"Screening")," column consists of all records that have been screened for duplicates. In this column, you want to review the titles/abstracts of studies\nand exclude purely based on whether they are irrelevant to your research question or domain. All other studies are promoted."),(0,i.kt)("p",{parentName:"admonition"},"The ",(0,i.kt)("strong",{parentName:"p"},"Eligibility")," column consists of all records that have been screened for duplicates and irrelevant content. In this column, you want to\nreview the full text of studies and exclude based on whether the study described aligns with the standards of the meta-analysis itself. Reasons\nfor exclusion may include wrong setting, wrong patient population, wrong intervention, wrong paragdigm, etc."),(0,i.kt)("p",{parentName:"admonition"},"The ",(0,i.kt)("strong",{parentName:"p"},"Included")," column consists of all records that have passed previous levels of exclusion and can be considered for the next step of the project."),(0,i.kt)("p",{parentName:"admonition"},"For more information, consult the ",(0,i.kt)("a",{parentName:"p",href:"http://www.prisma-statement.org/?AspxAutoDetectCookieSupport=1"},"PRISMA guidelines"),".")),(0,i.kt)("h3",{id:"simple-workflow"},"Simple Workflow"),(0,i.kt)("p",null,"If you want to create a semi-automated meta-analysis (i.e. perform manual review on a large-scale study search), you'll want to select this option."),(0,i.kt)("p",null,"This workflow is initalized with only two columns. As before, the left most column is where studies will be placed when they are imported. However, unlike a full PRISMA workflow, all exclusion occurs in this column. All studies not excluded are then promoted to the right most column for inclusion into the meta-analysis."),(0,i.kt)("h2",{id:"importing"},"Importing"),(0,i.kt)("p",null,"To begin importing studies into your project click the ",(0,i.kt)("strong",{parentName:"p"},"IMPORT STUDIES")," button."),(0,i.kt)("p",null,"You will be asked to choose an import method, source, name for your import, and finally address\nany potential duplicate studies."),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"We recommend giving each import a meaningful name. This will be useful when you come back\nand want to know where a certain study was imported from.")),(0,i.kt)("h3",{id:"import-method-1-import-from-neurostore"},"Import Method 1: Import from Neurostore"),(0,i.kt)("p",null,"Neurostore indexes a large number of neuroimaging studies which are ready for meta-analysis. Studies in Neurostore have been pre-processed, including extracting peak activation coordinates from Tables in the text, and computing semantic features from the abstract/full text. Neurostore also indexes studies which other users have annotated and made available to others for re-use."),(0,i.kt)("p",null,"Importing from Neurostore utilizes the Study search UI similar to the ",(0,i.kt)("a",{parentName:"p",href:"https://compose.neurosynth.org/studies"},"Study Page"),".\nAfter entering your search, click the bottom right button to import the searched studies into your project."),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"Importing from Neurostore can save you a lot of time, as these studies are much more likely to be amenable to meta-analysis, and have pre-extracted coordinates. However, note that some manual annotation may still be required to verify the coordinate extraction, and choose the relevant Analysis (i.e. contrast) for final inclusion.")),(0,i.kt)("h3",{id:"import-method-2-import-from-pubmed"},"Import Method 2: Import from PubMed"),(0,i.kt)("p",null,"Use this option to import studies directly from PubMed. To start, you need to go to the ",(0,i.kt)("a",{parentName:"p",href:"https://pubmed.ncbi.nlm.nih.gov/"},"PubMed Site"),"\nand either enter in a search or navigate to a previously created collection."),(0,i.kt)("p",null,"To import the search or collection from PubMed into neurosynth-compose, you will need a text file containing a list of PMIDs.\nYou can obtain this by going to your collection/search and clicking the ",(0,i.kt)("strong",{parentName:"p"},"Save")," button. Set ",(0,i.kt)("strong",{parentName:"p"},"Selection")," to ",(0,i.kt)("strong",{parentName:"p"},"All results"),"\nand set ",(0,i.kt)("strong",{parentName:"p"},"Format")," to ",(0,i.kt)("strong",{parentName:"p"},"PMID"),". Click ",(0,i.kt)("strong",{parentName:"p"},"Create file")," and your text file containing the PMIDs will be generated and downloaded."),(0,i.kt)("admonition",{type:"caution"},(0,i.kt)("p",{parentName:"admonition"},"Neurosynth-Compose uses the PubMed API to import studies. As a result, the maximum number of PMIDs that can be imported at once is 1,500.\nIf your collection has more than 1,500 PMIDs, split the import into multiple files. You can select the same import name so that they are all grouped together.")),(0,i.kt)("h3",{id:"import-method-3-import-from-bibtexrisendnote"},"Import Method 3: Import from BibTex/RIS/endnote"),(0,i.kt)("p",null,"Use this option to import studies via a .bib, .RIS, or .enw file. This may be useful if you want to import from a citation manager like Zotero."),(0,i.kt)("h3",{id:"import-method-4-custom-studies"},"Import Method 4: Custom Studies"),(0,i.kt)("p",null,"If there is any record that cannot be easily imported using one of the methods listed above, you can also manually create a study. This may be necessary\nto include resources like unpublished studies."),(0,i.kt)("h3",{id:"sleuth-files"},"Sleuth files"),(0,i.kt)("p",null,"At the moment, it's not possible to add studies from a sleuth file into an ",(0,i.kt)("em",{parentName:"p"},"existing project"),". To create a new project from a sleuth file, ",(0,i.kt)("a",{parentName:"p",href:"/compose-docs/guide/glossary#studyset"},"read more here"),"."),(0,i.kt)("h3",{id:"duplicates"},"Duplicates"),(0,i.kt)("p",null,'If duplicates are detected in your import, you will be asked how to reconcile them by choosing which of the studies to keep by choosing "KEEP THIS STUDY". Matching duplicates will be automatically marked for exclusion. Note that as a user, you can override any of these selections at any time, and choose which studies to keep or exclude.'),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},(0,i.kt)("em",{parentName:"p"},"Neurosynth Compose does not delete studies"),". If a study is marked as a duplicate, it is marked as ",(0,i.kt)("strong",{parentName:"p"},"excluded")," but it is not discarded to ensure complete provenance.")),(0,i.kt)("p",null,"There are two potential ways that duplicates can occur:"),(0,i.kt)("h4",{id:"duplicates-are-detected-between-the-studies-being-imported-and-the-studies-already-in-the-project"},"Duplicates are detected between the studies being imported and the studies already in the project"),(0,i.kt)("p",null,"If any study being important has the same title, PMID, or DOI is the same as\none already in the project, you will be asked reconcile these duplicates."),(0,i.kt)("p",null,'Note that if you mark a study that is already promoted as a duplicate, it will be "demoted" back to the first column and marked as "duplicate". It is reccomended to mark as duplicate the incoming study to avoid this.'),(0,i.kt)("h4",{id:"duplicates-are-detected-within-the-file-you-are-importing"},"Duplicates are detected within the file you are importing"),(0,i.kt)("p",null,"Although rare, it is possible to have duplicates within a given import. For example, if within a RIS file there are duplicate entries. In this case, you will be asked to select which study to keep. Studies marked as duplicates will still be imported but marked as excluded."),(0,i.kt)("h2",{id:"excluding-and-promoting-studies"},"Excluding and Promoting Studies"),(0,i.kt)("p",null,"Once studies have been imported into the first column of the curation phase, they need to be reviewed for inclusion into your meta-analysis.\nAll studies must be either excluded or moved to the inclusion column in order to progress to the extraction phase."),(0,i.kt)("p",null,"To begin, either click on the button at the top of the column or click on any study in the column. This will open up a page which will show the study\nalong with the following options: ",(0,i.kt)("strong",{parentName:"p"},"PROMOTE, NEEDS REVIEW"),", and ",(0,i.kt)("strong",{parentName:"p"},"EXCLUDE"),". There is also a button to ",(0,i.kt)("strong",{parentName:"p"},"ADD TAGS")," which will assign an informational tag to the study. This informational tag is a tool that allows you to mark studies with certain information - once an informational tag is created, you can filter by those tags."),(0,i.kt)("h3",{id:"exclude"},"Exclude"),(0,i.kt)("p",null,"To exclude a study, click the ",(0,i.kt)("strong",{parentName:"p"},"EXCLUDE")," button and select the exclusion reason. You can either choose from the preset exclusion reasons or you can begin\ntyping to create a new one."),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"For the PRISMA workflow, the default exclusion reason wil depend on the phase you are in (identification vs screening vs eligibility), to match the PRISMA guidelines. While we do not recommend it, you can click the arrow button and start typing in the input to create a new exclusion reason.\nRevisit the ",(0,i.kt)("a",{parentName:"p",href:"./Curation#prisma-workflow"},"PRISMA workflow")," to review reccomended exclusion criteria.")),(0,i.kt)("h3",{id:"promote"},"Promote"),(0,i.kt)("p",null,"If a study meets inclusion critera (for the current phase), click ",(0,i.kt)("strong",{parentName:"p"},"PROMOTE")," to move the study forward to the next curation column. If it is moved into the right most inclusion column, then it will be included in the meta-analysis."),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"For the first column (especially in a PRISMA workflow) it can be tedious to promote non-duplicates to the next column. If all duplicates have been resolved, you can exit the dialog and click ",(0,i.kt)("strong",{parentName:"p"},"PROMOTE ALL UNCATEGORIZED STUDIES")," to advance all non-duplicate studies to the next column.")),(0,i.kt)("h2",{id:"downloading-included-studies"},"Downloading included studies"),(0,i.kt)("p",null,'In order to download the studies that you have included in Curation, you can utilize our download feature. Go to curation and click "Download Included as CSV". Alternatively, you can click the dropdown and download the included studies in BibTeX format instead.'),(0,i.kt)("h2",{id:"on-to-extraction"},"On to Extraction"),(0,i.kt)("p",null,"When you have categorized all imported studies by either excluding them or moving them to the inclusion column, then you have\nsuccessfully completed the curation portion of the meta-analysis."),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"Neurosynth Compose")," will detect this and reveal a new button: ",(0,i.kt)("strong",{parentName:"p"},"MOVE TO EXTRACTION PHASE"),". This will move you back to the project page and get you started on the next major component to building your meta-analysis: ",(0,i.kt)("a",{parentName:"p",href:"./Extraction"},"extraction"),"."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a925dbbb.d0a6b34e.js b/assets/js/a925dbbb.d0a6b34e.js deleted file mode 100644 index 460978f..0000000 --- a/assets/js/a925dbbb.d0a6b34e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[5770],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>m});var o=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function i(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=o.createContext({}),u=function(e){var n=o.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=u(e.components);return o.createElement(s.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},h=o.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=u(t),h=r,m=p["".concat(s,".").concat(h)]||p[h]||d[h]||a;return t?o.createElement(m,i(i({ref:n},c),{},{components:t})):o.createElement(m,i({ref:n},c))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,i=new Array(a);i[0]=h;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[p]="string"==typeof e?e:r,i[1]=l;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>u});var o=t(7462),r=(t(7294),t(3905));const a={title:"Running Analyses",sidebar_position:2},i="Running Analyses",l={unversionedId:"guide/Running/index",id:"guide/Running/index",title:"Running Analyses",description:"You have a several options for running the analysis. In all cases, you will need your unique ``, which you can access for each Meta-Analysis within your Project.",source:"@site/docs/guide/Running/index.mdx",sourceDirName:"guide/Running",slug:"/guide/Running/",permalink:"/compose-docs/guide/Running/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Running/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:2,frontMatter:{title:"Running Analyses",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Searching",permalink:"/compose-docs/guide/Explore/Searching"},next:{title:"Glossary",permalink:"/compose-docs/guide/glossary"}},s={},u=[{value:"Google Colab",id:"google-colab",level:2},{value:"Docker",id:"docker",level:2},{value:"Updating the Docker image",id:"updating-the-docker-image",level:3},{value:"Manually prepared environment using pip",id:"manually-prepared-environment-using-pip",level:2}],c={toc:u},p="wrapper";function d(e){let{components:n,...a}=e;return(0,r.kt)(p,(0,o.Z)({},c,a,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"running-analyses"},"Running Analyses"),(0,r.kt)("p",null,"You have a several options for running the analysis. In all cases, you will need your unique ",(0,r.kt)("inlineCode",{parentName:"p"},""),", which you can access for each Meta-Analysis within your Project."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Meta-analysis run",src:t(3349).Z,width:"2994",height:"1030"})),(0,r.kt)("p",null,"Under the hood, analyses are managed by the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/neurostuff/nsc-runner"},"nsc-runner")," Python package, and executed by the ",(0,r.kt)("a",{parentName:"p",href:"https://nimare.readthedocs.io/en/stable/"},"NiMARE")," (Neuroimaging Meta-Analysis Research Environment) Python package. "),(0,r.kt)("h2",{id:"google-colab"},"Google Colab"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://colab.research.google.com/github/neurostuff/neurosynth-compose-notebook/blob/main/run_and_explore.ipynb"},(0,r.kt)("img",{parentName:"a",src:"https://colab.research.google.com/assets/colab-badge.svg",alt:"text"}))),(0,r.kt)("p",null,"The easiest way to run an analysis is to use the ",(0,r.kt)("a",{parentName:"p",href:"https://colab.research.google.com/"},"Google Colab")," notebook linked above."),(0,r.kt)("p",null,"The provided notebook runs entirely in the cloud, and does not require any local installation of software.\nTo use simply paste your analysis ID into the first cell (",(0,r.kt)("inlineCode",{parentName:"p"},"META_ID"),"), and using the Toolbar selet (Runtime -> Run All)\nor the keyboard shortcut (Ctrl or \u2318 + F9) to run the notebook."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Colab notebook",src:t(9128).Z,width:"971",height:"1046"})),(0,r.kt)("p",null,"The notebook will install all required software, run the analysis, and upload the results to Neurosynth Compose.\nOnce the analysis is complete, you can use the notebook to explore the results using the interative report, download an archive\nof the results, or browse the results in the Neurosynth Compose web interface, in the Meta-Analysis section of your Project."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"The Colab notebook has limited and varying freely available resources, and may not be able to run large analyses.\nIf your analysis fails, try running it again, or using one of the other methods below.")),(0,r.kt)("h2",{id:"docker"},"Docker"),(0,r.kt)("p",null,"The easiest way to run analyses locally is to use the ",(0,r.kt)("inlineCode",{parentName:"p"},"nsc-runner")," ",(0,r.kt)("a",{parentName:"p",href:"https://www.docker.com/"},"Docker")," image provided by Neurosynth Compose."),(0,r.kt)("p",null,"Docker is a containerization technology that allows you to run software in a consistent environment, regardless of the underlying operating system."),(0,r.kt)("p",null,"To run the Docker image, you will need to install Docker on your local machine.\nInstructions for installing Docker can be found ",(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/get-docker/"},"here"),"."),(0,r.kt)("p",null,"Once Docker is installed, you can run your analysis using the using the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"docker run -it -v -v /local/dir:/results ghcr.io/neurostuff/nsc-runner:latest \n")),(0,r.kt)("p",null,"where ",(0,r.kt)("inlineCode",{parentName:"p"},"/local/dir")," is the path to a local directory where you would like to save the results of your analysis, and ",(0,r.kt)("inlineCode",{parentName:"p"},"")," is the ID of the meta-analysis you would like to run."),(0,r.kt)("p",null,"If you are trying to run the analysis from a mac with an ARM chip (eg an M1 Macbook air) use this command instead:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"docker run -it --platform=linux/amd64 -v /local/dir:/results ghcr.io/neurostuff/nsc-runner:latest \n")),(0,r.kt)("p",null,"The Docker image will download all required software, run the analysis, and upload the results to Neurovault & Neurosynth Compose.\nAn HTML report will be saved in the results directory, and the results will be available in the Meta-Analysis section of your Project on Neurosynth Compose."),(0,r.kt)("h3",{id:"updating-the-docker-image"},"Updating the Docker image"),(0,r.kt)("p",null,"For every release of ",(0,r.kt)("inlineCode",{parentName:"p"},"nsc-runner"),", we publish a corresponding Docker image."),(0,r.kt)("p",null,"You can manually download a specific neuroscout-cli release as follows:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"docker pull ghcr.io/neurostuff/nsc-runner:\n")),(0,r.kt)("p",null,"where ",(0,r.kt)("inlineCode",{parentName:"p"},"")," is the version of ",(0,r.kt)("inlineCode",{parentName:"p"},"nsc-runner")," that you want to download. If you omit version, the latest stable version will be downloaded."),(0,r.kt)("p",null,"You can see the tags available for download on ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/neurostuff/compose-runner/pkgs/container/nsc-runner"},"GitHub")),(0,r.kt)("h2",{id:"manually-prepared-environment-using-pip"},"Manually prepared environment using pip"),(0,r.kt)("admonition",{type:"warning"},(0,r.kt)("p",{parentName:"admonition"},"Manually installing ",(0,r.kt)("inlineCode",{parentName:"p"},"nsc-runner")," may be difficult due to complex dependencies in the SciPy stack, or fMRI-specific tooling. Proceed only if you know what you\u2019re doing.")),(0,r.kt)("p",null,"Use pip to install ",(0,r.kt)("inlineCode",{parentName:"p"},"nsc-runner")," from PyPI:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"pip install nsc-runner\n")),(0,r.kt)("p",null,"and then run the analysis using the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"nsc-runner \n")))}d.isMDXComponent=!0},9128:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/nsc_colab_notebook-6dd430542ed9282c3b94937633f9c1d2.png"},3349:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/ma_run-21ff60898e902524975d8fc965d4a08c.png"}}]); \ No newline at end of file diff --git a/assets/js/b0bf1abf.49641760.js b/assets/js/b0bf1abf.49641760.js deleted file mode 100644 index ae3a646..0000000 --- a/assets/js/b0bf1abf.49641760.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[3078],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>y});var r=a(7294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function s(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=r.createContext({}),u=function(e){var t=r.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},p=function(e){var t=u(e.components);return r.createElement(l.Provider,{value:t},e.children)},m="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,n=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),m=u(a),d=o,y=m["".concat(l,".").concat(d)]||m[d]||c[d]||n;return a?r.createElement(y,s(s({ref:t},p),{},{components:a})):r.createElement(y,s({ref:t},p))}));function y(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=a.length,s=new Array(n);s[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[m]="string"==typeof e?e:o,s[1]=i;for(var u=2;u{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>c,frontMatter:()=>n,metadata:()=>i,toc:()=>u});var r=a(7462),o=(a(7294),a(3905));const n={sidebar_label:"Ecosystem",sidebar_position:4},s="Ecosystem for fMRI Meta-Analysis",i={unversionedId:"introduction/ecosystem",id:"introduction/ecosystem",title:"Ecosystem for fMRI Meta-Analysis",description:"ecosystem",source:"@site/docs/introduction/ecosystem.md",sourceDirName:"introduction",slug:"/introduction/ecosystem",permalink:"/compose-docs/introduction/ecosystem",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/introduction/ecosystem.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:4,frontMatter:{sidebar_label:"Ecosystem",sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Our Team",permalink:"/compose-docs/introduction/team"},next:{title:"User Guide",permalink:"/compose-docs/guide/"}},l={},u=[{value:"Neurosynth Compose",id:"neurosynth-compose",level:2},{value:"NeuroStore",id:"neurostore",level:2},{value:"NiMARE",id:"nimare",level:2},{value:"PyMARE",id:"pymare",level:3},{value:"NIMADS",id:"nimads",level:3},{value:"NeuroQuery",id:"neuroquery",level:2},{value:"NeuroVault",id:"neurovault",level:2}],p={toc:u},m="wrapper";function c(e){let{components:t,...n}=e;return(0,o.kt)(m,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"ecosystem-for-fmri-meta-analysis"},"Ecosystem for fMRI Meta-Analysis"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"ecosystem",src:a(6089).Z,title:"Neurosynth Compose Ecosystem",width:"452",height:"500"})),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Neurosynth Compose")," is part of a broader set of tools for neuroimaging meta-analysis, with complementary roles."),(0,o.kt)("h2",{id:"neurosynth-compose"},"Neurosynth Compose"),(0,o.kt)("p",null,"Neurosynth-Compose is the evolution of the original ",(0,o.kt)("a",{parentName:"p",href:"https://neurosynth.org"},"Neurosynth")," project."),(0,o.kt)("p",null,"In ",(0,o.kt)("em",{parentName:"p"},"Neurosynth 1.0"),", we developed a web platform for users to browse a large set of pre-computed meta-analyses\nsynthesizing findings across 14,000+ fMRI studies. The philosophy was to leverage\nlarge scale meta-analysis to provide new insights into the literature, overcoming limitations of database\nwith sheer scale. With regular updates, Neurosynth was able to keep up with the growth of the literature.\nThe database was released with a permissive license, and accompanied by a Python package to manipulate and analyze it. "),(0,o.kt)("p",null,"Although this approach was surprisingly successful, there were several major limitations to Neurosynth 1.0:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Meta-analyses were limited by ",(0,o.kt)("strong",{parentName:"p"},"concepts that can be inferred from large scale text mining")," (i.e. frequency of terms in the text).\nAlthough these features proved to be surprisingly useful for well-powered and broad cognitive constructs (e.g. 'emotion'), Neurosynth was not able\nto capture the fine-grained details of the neuroimaging literature, or allow users to define their own grouping of studies. ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"The database is not curated, and therefore contains many ",(0,o.kt)("strong",{parentName:"p"},"inaccuracies and incomplete")," data at both the study and coordinate level.\nAside from obvious extraction errors, automated coordinate extraction lacks the ability to determine critical information, such as whether the activation is positive or negative.\nIn addition, it's not possible to segregate the coordinates into distinct contrast, conditions, or studies without manual curation.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Coordinate-based analyses are inherently ",(0,o.kt)("strong",{parentName:"p"},"inferior to image-based")," meta-analysis, which is becoming increasingly possible with sharing of unthresholded statistical maps in repositories like ",(0,o.kt)("a",{parentName:"p",href:"https://neurovault.org/"},"NeuroVault"),"."))),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Neurosynth Compose")," aims to address these limitations:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Provides a web-based platform for meta-analytic neuroimaging research, allowing users to ",(0,o.kt)("strong",{parentName:"p"},"curate studies"),", and ",(0,o.kt)("strong",{parentName:"p"},"specify meta-analytic models"),". ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Flexible and easy to use"),", allowing users to perform both large-scale ",(0,o.kt)("strong",{parentName:"p"},"exploratory")," meta-analyses, as well as ",(0,o.kt)("strong",{parentName:"p"},"targeted, hypothesis-driven")," meta-analyses that conform to stringent standards such as the ",(0,o.kt)("a",{parentName:"p",href:"https://prisma-statement.org"},"PRISMA")," statement.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Allows users to perfom ",(0,o.kt)("strong",{parentName:"p"},"image-based meta-analysis")," using unthresholded images from NeuroVault (in progress).")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Quick, reproducible and transparent ",(0,o.kt)("strong",{parentName:"p"},"sharing of results"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Incentivizes ",(0,o.kt)("strong",{parentName:"p"},"collaborative curation")," of neuroimaging studies in a accessible ",(0,o.kt)("strong",{parentName:"p"},"centralized repository")," (NeuroStore, see below)."))),(0,o.kt)("h2",{id:"neurostore"},"NeuroStore"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/neurostuff/neurostore"},"NeuroStore")," is the centralized repository for neuroimaging data amenable to meta-analysis, including coordinates, images, and metadata.\nNeuroStore serves as the data backend for Neurosynth Compose, but is also designed to be a standalone interoperable resource for the neuroimaging community."),(0,o.kt)("p",null,"NeuroStore ingests data from a number of sources, including NeuroVault, NeuroQuery, and Neurosynth (ACE), and provides a unified API for querying the database."),(0,o.kt)("p",null,"Importantly, data on NeuroStore can be ",(0,o.kt)("strong",{parentName:"p"},"curated")," the community, allowing users to correct errors in coordinate extraction, and add new studies and coordinates. By providing a centralized repository for curated neuroimaging data, NeuroStore aims to facilitate the development of new meta-analytic tools, and to provide a common data format for the neuroimaging community."),(0,o.kt)("h2",{id:"nimare"},"NiMARE"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://nimare.readthedocs.io/en/latest/"},"NiMARE")," (Neuroimaging Meta-Analysis Research Environment) is a Python package for performing neuroimaging meta-analysis. "),(0,o.kt)("p",null,"NiMARE is an open source, collaboratively-developed package that implements a range of meta-analytic algorithms, including coordinate- and image-based meta-analyses, automated annotation, functional decoding, and meta-analytic coactivation modeling. "),(0,o.kt)("p",null,"By consolidating meta-analytic methods under a common library and syntax, NiMARE makes it straightforward for users to employ the appropriate approach for a given analysis. "),(0,o.kt)("p",null,"NeuroSynth Compose uses NiMARE to execute meta-analyses, by exporting datasets in the common NIMADS format (see below), and specifying reproducible NiMARE workflows for common meta-analytic models."),(0,o.kt)("h3",{id:"pymare"},"PyMARE"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://pymare.readthedocs.io/en/latest/"},"PyMARE")," is a Python library for effect-size meta-analysis. NiMARE uses PyMARE for its image-based meta-analysis algorithms\n(with some light wrapping to convert image objects to arrays compatible with PyMARE functions)."),(0,o.kt)("h3",{id:"nimads"},"NIMADS"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/neurostuff/NIMADS"},"NIMADS")," is a new standard for organizing and representing meta-analytic neuroimaging data.\nNIMADS is used as a common, interoperable format by NeuroStore, pyNIMADS, and NiMARE."),(0,o.kt)("h2",{id:"neuroquery"},"NeuroQuery"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://neuroquery.org"},"NeuroQuery")," is a web service, Python library, and coordinate database built for large-scale, predictive meta-analysis.\nPredictive meta-analysis generates non-statistical brain maps from text, using a database of coordinates and associated texts."),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/neuroquery/neuroquery_data"},"NeuroQuery dataset")," is accurate and maintainable than the existing Neurosynth 1.0 database,\nthis new database will effectively replace the old one within the meta-analytic ecosystem.\nNiMARE can ingest the NeuroQuery database and convert it automatically to a NiMARE Dataset object for analysis.\nAdditionally, the NeuroQuery database will feed directly into NeuroStore as a source of coordinates."),(0,o.kt)("h2",{id:"neurovault"},"NeuroVault"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://neurovault.org/"},"NeuroVault")," is a repository for unthresholded statistical maps from neuroimaging studies."),(0,o.kt)("p",null,"As of early 2023, NeuroVault contains over 8,000 collections of statistical images, with over 100,000 images in total.\nIt is the largest repository of unthresholded statistical maps in the world, and is the primary source of data for image-based meta-analyses using\nNeurosynth Compose."),(0,o.kt)("p",null,"Currently, NeuroVault supports some basic meta-analytic functionality. However, as other tools in this ecosystem are developed,\nit is planned that NeuroVault will focus exclusively on image storage and sharing, and will rely on other tools for meta-analysis."))}c.isMDXComponent=!0},6089:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/compose_ecosystem_paths-f815833d6a398e3ecc658357ab4663b5.svg"}}]); \ No newline at end of file diff --git a/assets/js/b0bf1abf.8e623bf1.js b/assets/js/b0bf1abf.8e623bf1.js new file mode 100644 index 0000000..b60f34e --- /dev/null +++ b/assets/js/b0bf1abf.8e623bf1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[3078],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>y});var r=a(7294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function s(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=r.createContext({}),u=function(e){var t=r.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},p=function(e){var t=u(e.components);return r.createElement(l.Provider,{value:t},e.children)},m="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,n=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),m=u(a),d=o,y=m["".concat(l,".").concat(d)]||m[d]||c[d]||n;return a?r.createElement(y,s(s({ref:t},p),{},{components:a})):r.createElement(y,s({ref:t},p))}));function y(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=a.length,s=new Array(n);s[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[m]="string"==typeof e?e:o,s[1]=i;for(var u=2;u{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>c,frontMatter:()=>n,metadata:()=>i,toc:()=>u});var r=a(7462),o=(a(7294),a(3905));const n={sidebar_label:"Ecosystem",sidebar_position:4},s="Ecosystem for fMRI Meta-Analysis",i={unversionedId:"introduction/ecosystem",id:"introduction/ecosystem",title:"Ecosystem for fMRI Meta-Analysis",description:"ecosystem",source:"@site/docs/introduction/ecosystem.md",sourceDirName:"introduction",slug:"/introduction/ecosystem",permalink:"/compose-docs/introduction/ecosystem",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/introduction/ecosystem.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:4,frontMatter:{sidebar_label:"Ecosystem",sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Our Team",permalink:"/compose-docs/introduction/team"},next:{title:"User Guide",permalink:"/compose-docs/guide/"}},l={},u=[{value:"Neurosynth Compose",id:"neurosynth-compose",level:2},{value:"NeuroStore",id:"neurostore",level:2},{value:"NiMARE",id:"nimare",level:2},{value:"PyMARE",id:"pymare",level:3},{value:"NIMADS",id:"nimads",level:3},{value:"NeuroQuery",id:"neuroquery",level:2},{value:"NeuroVault",id:"neurovault",level:2}],p={toc:u},m="wrapper";function c(e){let{components:t,...n}=e;return(0,o.kt)(m,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"ecosystem-for-fmri-meta-analysis"},"Ecosystem for fMRI Meta-Analysis"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"ecosystem",src:a(6089).Z,title:"Neurosynth Compose Ecosystem",width:"452",height:"500"})),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Neurosynth Compose")," is part of a broader set of tools for neuroimaging meta-analysis, with complementary roles."),(0,o.kt)("h2",{id:"neurosynth-compose"},"Neurosynth Compose"),(0,o.kt)("p",null,"Neurosynth-Compose is the evolution of the original ",(0,o.kt)("a",{parentName:"p",href:"https://neurosynth.org"},"Neurosynth")," project."),(0,o.kt)("p",null,"In ",(0,o.kt)("em",{parentName:"p"},"Neurosynth 1.0"),", we developed a web platform for users to browse a large set of pre-computed meta-analyses\nsynthesizing findings across 14,000+ fMRI studies. The philosophy was to leverage\nlarge scale meta-analysis to provide new insights into the literature, overcoming limitations of database\nwith sheer scale. With regular updates, Neurosynth was able to keep up with the growth of the literature.\nThe database was released with a permissive license, and accompanied by a Python package to manipulate and analyze it. "),(0,o.kt)("p",null,"Although this approach was surprisingly successful, there were several major limitations to Neurosynth 1.0:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Meta-analyses were limited by ",(0,o.kt)("strong",{parentName:"p"},"concepts that can be inferred from large scale text mining")," (i.e. frequency of terms in the text).\nAlthough these features proved to be surprisingly useful for well-powered and broad cognitive constructs (e.g. 'emotion'), Neurosynth was not able\nto capture the fine-grained details of the neuroimaging literature, or allow users to define their own grouping of studies. ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"The database is not curated, and therefore contains many ",(0,o.kt)("strong",{parentName:"p"},"inaccuracies and incomplete")," data at both the study and coordinate level.\nAside from obvious extraction errors, automated coordinate extraction lacks the ability to determine critical information, such as whether the activation is positive or negative.\nIn addition, it's not possible to segregate the coordinates into distinct contrast, conditions, or studies without manual curation.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Coordinate-based analyses are inherently ",(0,o.kt)("strong",{parentName:"p"},"inferior to image-based")," meta-analysis, which is becoming increasingly possible with sharing of unthresholded statistical maps in repositories like ",(0,o.kt)("a",{parentName:"p",href:"https://neurovault.org/"},"NeuroVault"),"."))),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Neurosynth Compose")," aims to address these limitations:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Provides a web-based platform for meta-analytic neuroimaging research, allowing users to ",(0,o.kt)("strong",{parentName:"p"},"curate studies"),", and ",(0,o.kt)("strong",{parentName:"p"},"specify meta-analytic models"),". ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Flexible and easy to use"),", allowing users to perform both large-scale ",(0,o.kt)("strong",{parentName:"p"},"exploratory")," meta-analyses, as well as ",(0,o.kt)("strong",{parentName:"p"},"targeted, hypothesis-driven")," meta-analyses that conform to stringent standards such as the ",(0,o.kt)("a",{parentName:"p",href:"https://prisma-statement.org"},"PRISMA")," statement.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Allows users to perfom ",(0,o.kt)("strong",{parentName:"p"},"image-based meta-analysis")," using unthresholded images from NeuroVault (in progress).")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Quick, reproducible and transparent ",(0,o.kt)("strong",{parentName:"p"},"sharing of results"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Incentivizes ",(0,o.kt)("strong",{parentName:"p"},"collaborative curation")," of neuroimaging studies in a accessible ",(0,o.kt)("strong",{parentName:"p"},"centralized repository")," (NeuroStore, see below)."))),(0,o.kt)("h2",{id:"neurostore"},"NeuroStore"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/neurostuff/neurostore"},"NeuroStore")," is the centralized repository for neuroimaging data amenable to meta-analysis, including coordinates, images, and metadata.\nNeuroStore serves as the data backend for Neurosynth Compose, but is also designed to be a standalone interoperable resource for the neuroimaging community."),(0,o.kt)("p",null,"NeuroStore ingests data from a number of sources, including NeuroVault, NeuroQuery, and Neurosynth (ACE), and provides a unified API for querying the database."),(0,o.kt)("p",null,"Importantly, data on NeuroStore can be ",(0,o.kt)("strong",{parentName:"p"},"curated")," the community, allowing users to correct errors in coordinate extraction, and add new studies and coordinates. By providing a centralized repository for curated neuroimaging data, NeuroStore aims to facilitate the development of new meta-analytic tools, and to provide a common data format for the neuroimaging community."),(0,o.kt)("h2",{id:"nimare"},"NiMARE"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://nimare.readthedocs.io/en/latest/"},"NiMARE")," (Neuroimaging Meta-Analysis Research Environment) is a Python package for performing neuroimaging meta-analysis. "),(0,o.kt)("p",null,"NiMARE is an open source, collaboratively-developed package that implements a range of meta-analytic algorithms, including coordinate- and image-based meta-analyses, automated annotation, functional decoding, and meta-analytic coactivation modeling. "),(0,o.kt)("p",null,"By consolidating meta-analytic methods under a common library and syntax, NiMARE makes it straightforward for users to employ the appropriate approach for a given analysis. "),(0,o.kt)("p",null,"NeuroSynth Compose uses NiMARE to execute meta-analyses, by exporting datasets in the common NIMADS format (see below), and specifying reproducible NiMARE workflows for common meta-analytic models."),(0,o.kt)("h3",{id:"pymare"},"PyMARE"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://pymare.readthedocs.io/en/latest/"},"PyMARE")," is a Python library for effect-size meta-analysis. NiMARE uses PyMARE for its image-based meta-analysis algorithms\n(with some light wrapping to convert image objects to arrays compatible with PyMARE functions)."),(0,o.kt)("h3",{id:"nimads"},"NIMADS"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/neurostuff/NIMADS"},"NIMADS")," is a new standard for organizing and representing meta-analytic neuroimaging data.\nNIMADS is used as a common, interoperable format by NeuroStore, pyNIMADS, and NiMARE."),(0,o.kt)("h2",{id:"neuroquery"},"NeuroQuery"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://neuroquery.org"},"NeuroQuery")," is a web service, Python library, and coordinate database built for large-scale, predictive meta-analysis.\nPredictive meta-analysis generates non-statistical brain maps from text, using a database of coordinates and associated texts."),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/neuroquery/neuroquery_data"},"NeuroQuery dataset")," is accurate and maintainable than the existing Neurosynth 1.0 database,\nthis new database will effectively replace the old one within the meta-analytic ecosystem.\nNiMARE can ingest the NeuroQuery database and convert it automatically to a NiMARE Dataset object for analysis.\nAdditionally, the NeuroQuery database will feed directly into NeuroStore as a source of coordinates."),(0,o.kt)("h2",{id:"neurovault"},"NeuroVault"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://neurovault.org/"},"NeuroVault")," is a repository for unthresholded statistical maps from neuroimaging studies."),(0,o.kt)("p",null,"As of early 2023, NeuroVault contains over 8,000 collections of statistical images, with over 100,000 images in total.\nIt is the largest repository of unthresholded statistical maps in the world, and is the primary source of data for image-based meta-analyses using\nNeurosynth Compose."),(0,o.kt)("p",null,"Currently, NeuroVault supports some basic meta-analytic functionality. However, as other tools in this ecosystem are developed,\nit is planned that NeuroVault will focus exclusively on image storage and sharing, and will rely on other tools for meta-analysis."))}c.isMDXComponent=!0},6089:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/compose_ecosystem_paths-f815833d6a398e3ecc658357ab4663b5.svg"}}]); \ No newline at end of file diff --git a/assets/js/b270851a.2e338af0.js b/assets/js/b270851a.2e338af0.js deleted file mode 100644 index 680ecc9..0000000 --- a/assets/js/b270851a.2e338af0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[1854],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>y});var n=a(7294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=n.createContext({}),u=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},m=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=u(a),p=o,y=d["".concat(l,".").concat(p)]||d[p]||c[p]||i;return a?n.createElement(y,r(r({ref:t},m),{},{components:a})):n.createElement(y,r({ref:t},m))}));function y(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=a.length,r=new Array(i);r[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,r[1]=s;for(var u=2;u{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>u});var n=a(7462),o=(a(7294),a(3905));const i={sidebar_label:"Automated Meta-Analysis",sidebar_position:2},r="Automated Meta-Analysis",s={unversionedId:"tutorial/automated",id:"tutorial/automated",title:"Automated Meta-Analysis",description:"How to create a fully automated meta-analysis",source:"@site/docs/tutorial/automated.md",sourceDirName:"tutorial",slug:"/tutorial/automated",permalink:"/compose-docs/tutorial/automated",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/tutorial/automated.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:2,frontMatter:{sidebar_label:"Automated Meta-Analysis",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Manual Meta-Analysis",permalink:"/compose-docs/tutorial/manual"},next:{title:"Advanced tutorials",permalink:"/compose-docs/tutorial/advanced/"}},l={},u=[{value:"Why automated meta-analysis?",id:"why-automated-meta-analysis",level:2},{value:"Flexible automated meta-analysis in Neurosynth Compose",id:"flexible-automated-meta-analysis-in-neurosynth-compose",level:3},{value:"Tutorial",id:"tutorial",level:2},{value:"Search & Curate",id:"search--curate",level:3},{value:"Import from Neurostore",id:"import-from-neurostore",level:4},{value:"Promote studies",id:"promote-studies",level:4},{value:"Extraction and Annotation",id:"extraction-and-annotation",level:3},{value:"Specify Meta-Analyses",id:"specify-meta-analyses",level:3},{value:"Execute",id:"execute",level:3}],m={toc:u},d="wrapper";function c(e){let{components:t,...i}=e;return(0,o.kt)(d,(0,n.Z)({},m,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"automated-meta-analysis"},"Automated Meta-Analysis"),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"How to create a fully automated meta-analysis")),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"This tutorial, and the functionality for automated meta-analysis, is under construction.\nTo view existing automated meta-analyses, you can use ",(0,o.kt)("a",{parentName:"p",href:"https://neurosynth.org"},"Neurosynth Original"))),(0,o.kt)("h2",{id:"why-automated-meta-analysis"},"Why automated meta-analysis?"),(0,o.kt)("p",null,"The principal difference between an automated and a ",(0,o.kt)("a",{parentName:"p",href:"/compose-docs/tutorial/manual"},"manual meta-analysis")," is ",(0,o.kt)("em",{parentName:"p"},"the process used to select the final set of Studies and Analyses to include")," into your meta-analysis. "),(0,o.kt)("p",null,"In a ",(0,o.kt)("strong",{parentName:"p"},"manual meta-analysis"),", researchers cast a wide net to find a wide range of potentially relevant articles, and use their expertise (read: painstakingly review hundreds of articles) to decide which of articles are relevant to their research question. Our platform seeks streamline this process through a user-friendly interface and pre-extracted data for over 20,000 neuroimaging studies. Yet, ",(0,o.kt)("strong",{parentName:"p"},"a gold standard meta-analysis still requires a significant time investment"),", limiting their application in routine scientific practice."),(0,o.kt)("p",null,"In an ",(0,o.kt)("strong",{parentName:"p"},"automated meta-analysis"),", we instead use data-driven text mining metrics to ",(0,o.kt)("em",{parentName:"p"},"select")," articles. The original ",(0,o.kt)("em",{parentName:"p"},"Neurosynth")," pioneered this approach by developing text mining techniques to automatically extract brain coordinates and semantic text features from thousands of articles. "),(0,o.kt)("p",null,"Surprisingly, this works! For example, by meta-analyzing all studies that mention the term ",(0,o.kt)("a",{parentName:"p",href:"https://neurosynth.org/analyses/terms/emotional/"},'"emotional"')," above a certain frequency, we observe a strong association with activity in the amygdala. By and large, the sheer number of studies overcomes the inherent noisiness of automated data extraction and study selection. "),(0,o.kt)("h3",{id:"flexible-automated-meta-analysis-in-neurosynth-compose"},"Flexible automated meta-analysis in Neurosynth Compose"),(0,o.kt)("p",null,"Although automated meta-analyses have proved to be a useful tool, there are several limitations. The overall goal of ",(0,o.kt)("em",{parentName:"p"},"Neurosynth Compose")," is to give users a flexible data curation platform, to overcome these limitations using their expert knowledge. For example:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("em",{parentName:"li"},"Flexible selection criteria.")," The original Neurosynth has a fixed number of terms and meta-analyses. With",(0,o.kt)("em",{parentName:"li"},"Neurosynth Compose")," you can flexibly search the NeuroStore database using a powerful and flexible search to precisely define your search criteria. "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("em",{parentName:"li"},"Combine expert knowledge with automated selection.")," Automated study selection is inherently an noisy and imperfect measure. With ",(0,o.kt)("em",{parentName:"li"},"Neurosynth Compose"),", you can use automated study selection as a first pass, and later apply your own expert criteria to refine study inclusion criteria. "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("em",{parentName:"li"},"Correct data extraction errors.")," Automated extraction can miss entire tables of coordinates (e.g. supplementary materials), duplicate coordinates, and groups distinct sets of Analyses (e.g. Contrasts) into a single group. Now, you can correct these data to make your meta-analysis more precise. ")),(0,o.kt)("h2",{id:"tutorial"},"Tutorial"),(0,o.kt)("p",null,"An automated meta-analysis in ",(0,o.kt)("em",{parentName:"p"},"Neurosynth Compose")," looks a lot like a manual one, except data curation is optional. We reccomeend following the ",(0,o.kt)("a",{parentName:"p",href:"/compose-docs/tutorial/manual"},"manual meta-analysis")," tutorial to learn in depth about our platform."),(0,o.kt)("h3",{id:"search--curate"},"Search & Curate"),(0,o.kt)("p",null,"One of the main differences between a ",(0,o.kt)("em",{parentName:"p"},"manual")," and ",(0,o.kt)("em",{parentName:"p"},"automated"),' meta-analysis, is the steps required to select studies. As such, we reccomeend selecting the "Simple" curation workflow, which only consists of a single data curation step (which is optional). '),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Simple Workflow",src:a(3594).Z,width:"2128",height:"923"}),". "),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Decide ahead of time if you want to perform a Coordinate or an Image based meta-analysis. Image-based Meta-Analysis (IBMA) is more precise and powerful, but there are much fewer studies available. ")),(0,o.kt)("h4",{id:"import-from-neurostore"},"Import from Neurostore"),(0,o.kt)("p",null,"Let's add studies to our curation board by clicking ",(0,o.kt)("strong",{parentName:"p"},"Import Studies"),".\nIn an automated meta-analysis, you'll want to select ",(0,o.kt)("em",{parentName:"p"},"Import via NeuroStore"),", as all indexed studies are guaranteed to contain imaging data (saving you from manual data extraction)."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Although the NeuroStore database is continuously growing, it is necessarily an incomplete snapshot of the neuroimaging literature")),(0,o.kt)("p",null,"Input any search term to narrow down studies. This will search the Title and Abstract fields. You may also add additional search filters using the ",(0,o.kt)("strong",{parentName:"p"},"+ Add Filter")," button, and ",(0,o.kt)("em",{parentName:"p"},"select the desired modality of the imaging data"),". "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Neurostore Search",src:a(8506).Z,width:"1849",height:"1523"}),". "),(0,o.kt)("p",null,'To import your search, click "Import Studies From Neurostore" at the bottom right. Give your import a name to Tag all imported studies, and continue back to your Curation board. '),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"You must import an entire set of search results into your curation board. If you want to exclude any specific studies, you will do so on your board. This allows the Search & Curate process to be fully reproducible.")),(0,o.kt)("h4",{id:"promote-studies"},"Promote studies"),(0,o.kt)("p",null,"Back to your Curation board, you will now see all studies from your NeuroStore search on the left most column."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Curation board",src:a(761).Z,width:"2583",height:"1604"}),". "),(0,o.kt)("p",null,"At this point, you have two options: manually review the search results and select which studies to include, or perform a fully automated meta-analysis by including all search results. "),(0,o.kt)("p",null,"For this tutorial, we'll skip manual curation and ",(0,o.kt)("strong",{parentName:"p"},"Promote All Uncategorized Studies"),' to the right-most "Included" column. '),(0,o.kt)("p",null,"We can now click ",(0,o.kt)("em",{parentName:"p"},"Move to Extraction Phase"),"."),(0,o.kt)("h3",{id:"extraction-and-annotation"},"Extraction and Annotation"),(0,o.kt)("p",null,"At this point, you will create a StudySet containing all of your Studies. Advance through the dialog to begin ",(0,o.kt)("em",{parentName:"p"},"Extraction"),"."),(0,o.kt)("p",null,"The goal of this phase is to add or correct imaging data (e.g. Coordinates) in imported studies, and create Annotations to determine which Analyses (e.g. Contrasts), should be included in your meta-analysis."),(0,o.kt)("p",null,"Since we are performing a manual meta-analysis, we're going to skip these steps!"),(0,o.kt)("p",null,"From the main ",(0,o.kt)("em",{parentName:"p"},"Project"),' page, we can click "Mark All as Complete".'),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Skip Extraction",src:a(1599).Z,width:"1263",height:"855"}),". "),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"It's up to you if you want to skip this step. The validity of your meta-analysis is highly dependant on input data, so we only recommend skipping all curation for exploratory analyses.")),(0,o.kt)("h3",{id:"specify-meta-analyses"},"Specify Meta-Analyses"),(0,o.kt)("p",null,"You can now specify your meta-analysis. This step will be identical between automated and manual meta-analyses."),(0,o.kt)("p",null,'First, we select the "included" column, which by default includes ',(0,o.kt)("em",{parentName:"p"},"all")," Study Analyses as inputs."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Inclusion column",src:a(8376).Z,width:"1368",height:"1715"}),". "),(0,o.kt)("p",null,"Next, we select a meta-analysis algorithm. This time, we'll select MKDA Chi-Squared (",(0,o.kt)("inlineCode",{parentName:"p"},"MKDAChi2"),") with ",(0,o.kt)("inlineCode",{parentName:"p"},"FDRCorrector"),". "),(0,o.kt)("p",null,"MKDA Chi-Square compares your StudySet to a reference set of studies (all the studies in NeuroStore that you did ",(0,o.kt)("em",{parentName:"p"},"not")," select), allowing you to identify areas of stronger association with your selected studies. This is the algorithm used in the original Neurosynth Platform."),(0,o.kt)("h3",{id:"execute"},"Execute"),(0,o.kt)("p",null,"Once you specify your meta-analysis, you can execute it in the cloud using Google Colab using your unique meta-analysis id. "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Automated execute",src:a(2770).Z,width:"1551",height:"1098"}),". "),(0,o.kt)("p",null,"Congratulations, you have now run an automated meta-analysis!"),(0,o.kt)("p",null,"Remember, just because it is easy to run a meta-analysis and get results, does not mean the results are valid.\nIt is important to think about the validity of your study selection process, for both manual and automated meta-analyses."))}c.isMDXComponent=!0},761:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_curation-371eefa2a58043457c9b63a79728b217.png"},2770:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_execute-a020e8de9a3379dddedca4d00e04f3a6.png"},8376:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_included_column-d2edd791b32654783c43877948de76f5.png"},8506:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_search_neurostore-8727f551752008b51b8d58e99a652605.png"},1599:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_skip_extraction-a686288de267f089b546b703f315f5f0.png"},3594:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_workflow-8bea486d4904648bcafa7ea0aa3ccf05.png"}}]); \ No newline at end of file diff --git a/assets/js/b270851a.386f7e62.js b/assets/js/b270851a.386f7e62.js new file mode 100644 index 0000000..de1d649 --- /dev/null +++ b/assets/js/b270851a.386f7e62.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[1854],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>y});var n=a(7294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=n.createContext({}),u=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},m=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=u(a),p=o,y=d["".concat(l,".").concat(p)]||d[p]||c[p]||i;return a?n.createElement(y,r(r({ref:t},m),{},{components:a})):n.createElement(y,r({ref:t},m))}));function y(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=a.length,r=new Array(i);r[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,r[1]=s;for(var u=2;u{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>u});var n=a(7462),o=(a(7294),a(3905));const i={sidebar_label:"Automated Meta-Analysis",sidebar_position:2},r="Automated Meta-Analysis",s={unversionedId:"tutorial/automated",id:"tutorial/automated",title:"Automated Meta-Analysis",description:"How to create a fully automated meta-analysis",source:"@site/docs/tutorial/automated.md",sourceDirName:"tutorial",slug:"/tutorial/automated",permalink:"/compose-docs/tutorial/automated",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/tutorial/automated.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:2,frontMatter:{sidebar_label:"Automated Meta-Analysis",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Manual Meta-Analysis",permalink:"/compose-docs/tutorial/manual"},next:{title:"Advanced tutorials",permalink:"/compose-docs/tutorial/advanced/"}},l={},u=[{value:"Why automated meta-analysis?",id:"why-automated-meta-analysis",level:2},{value:"Flexible automated meta-analysis in Neurosynth Compose",id:"flexible-automated-meta-analysis-in-neurosynth-compose",level:3},{value:"Tutorial",id:"tutorial",level:2},{value:"Search & Curate",id:"search--curate",level:3},{value:"Import from Neurostore",id:"import-from-neurostore",level:4},{value:"Promote studies",id:"promote-studies",level:4},{value:"Extraction and Annotation",id:"extraction-and-annotation",level:3},{value:"Specify Meta-Analyses",id:"specify-meta-analyses",level:3},{value:"Execute",id:"execute",level:3}],m={toc:u},d="wrapper";function c(e){let{components:t,...i}=e;return(0,o.kt)(d,(0,n.Z)({},m,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"automated-meta-analysis"},"Automated Meta-Analysis"),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"How to create a fully automated meta-analysis")),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"This tutorial, and the functionality for automated meta-analysis, is under construction.\nTo view existing automated meta-analyses, you can use ",(0,o.kt)("a",{parentName:"p",href:"https://neurosynth.org"},"Neurosynth Original"))),(0,o.kt)("h2",{id:"why-automated-meta-analysis"},"Why automated meta-analysis?"),(0,o.kt)("p",null,"The principal difference between an automated and a ",(0,o.kt)("a",{parentName:"p",href:"/compose-docs/tutorial/manual"},"manual meta-analysis")," is ",(0,o.kt)("em",{parentName:"p"},"the process used to select the final set of Studies and Analyses to include")," into your meta-analysis. "),(0,o.kt)("p",null,"In a ",(0,o.kt)("strong",{parentName:"p"},"manual meta-analysis"),", researchers cast a wide net to find a wide range of potentially relevant articles, and use their expertise (read: painstakingly review hundreds of articles) to decide which of articles are relevant to their research question. Our platform seeks streamline this process through a user-friendly interface and pre-extracted data for over 20,000 neuroimaging studies. Yet, ",(0,o.kt)("strong",{parentName:"p"},"a gold standard meta-analysis still requires a significant time investment"),", limiting their application in routine scientific practice."),(0,o.kt)("p",null,"In an ",(0,o.kt)("strong",{parentName:"p"},"automated meta-analysis"),", we instead use data-driven text mining metrics to ",(0,o.kt)("em",{parentName:"p"},"select")," articles. The original ",(0,o.kt)("em",{parentName:"p"},"Neurosynth")," pioneered this approach by developing text mining techniques to automatically extract brain coordinates and semantic text features from thousands of articles. "),(0,o.kt)("p",null,"Surprisingly, this works! For example, by meta-analyzing all studies that mention the term ",(0,o.kt)("a",{parentName:"p",href:"https://neurosynth.org/analyses/terms/emotional/"},'"emotional"')," above a certain frequency, we observe a strong association with activity in the amygdala. By and large, the sheer number of studies overcomes the inherent noisiness of automated data extraction and study selection. "),(0,o.kt)("h3",{id:"flexible-automated-meta-analysis-in-neurosynth-compose"},"Flexible automated meta-analysis in Neurosynth Compose"),(0,o.kt)("p",null,"Although automated meta-analyses have proved to be a useful tool, there are several limitations. The overall goal of ",(0,o.kt)("em",{parentName:"p"},"Neurosynth Compose")," is to give users a flexible data curation platform, to overcome these limitations using their expert knowledge. For example:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("em",{parentName:"li"},"Flexible selection criteria.")," The original Neurosynth has a fixed number of terms and meta-analyses. With",(0,o.kt)("em",{parentName:"li"},"Neurosynth Compose")," you can flexibly search the NeuroStore database using a powerful and flexible search to precisely define your search criteria. "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("em",{parentName:"li"},"Combine expert knowledge with automated selection.")," Automated study selection is inherently an noisy and imperfect measure. With ",(0,o.kt)("em",{parentName:"li"},"Neurosynth Compose"),", you can use automated study selection as a first pass, and later apply your own expert criteria to refine study inclusion criteria. "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("em",{parentName:"li"},"Correct data extraction errors.")," Automated extraction can miss entire tables of coordinates (e.g. supplementary materials), duplicate coordinates, and groups distinct sets of Analyses (e.g. Contrasts) into a single group. Now, you can correct these data to make your meta-analysis more precise. ")),(0,o.kt)("h2",{id:"tutorial"},"Tutorial"),(0,o.kt)("p",null,"An automated meta-analysis in ",(0,o.kt)("em",{parentName:"p"},"Neurosynth Compose")," looks a lot like a manual one, except data curation is optional. We reccomeend following the ",(0,o.kt)("a",{parentName:"p",href:"/compose-docs/tutorial/manual"},"manual meta-analysis")," tutorial to learn in depth about our platform."),(0,o.kt)("h3",{id:"search--curate"},"Search & Curate"),(0,o.kt)("p",null,"One of the main differences between a ",(0,o.kt)("em",{parentName:"p"},"manual")," and ",(0,o.kt)("em",{parentName:"p"},"automated"),' meta-analysis, is the steps required to select studies. As such, we reccomeend selecting the "Simple" curation workflow, which only consists of a single data curation step (which is optional). '),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Simple Workflow",src:a(3594).Z,width:"2128",height:"923"}),". "),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Decide ahead of time if you want to perform a Coordinate or an Image based meta-analysis. Image-based Meta-Analysis (IBMA) is more precise and powerful, but there are much fewer studies available. ")),(0,o.kt)("h4",{id:"import-from-neurostore"},"Import from Neurostore"),(0,o.kt)("p",null,"Let's add studies to our curation board by clicking ",(0,o.kt)("strong",{parentName:"p"},"Import Studies"),".\nIn an automated meta-analysis, you'll want to select ",(0,o.kt)("em",{parentName:"p"},"Import via NeuroStore"),", as all indexed studies are guaranteed to contain imaging data (saving you from manual data extraction)."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Although the NeuroStore database is continuously growing, it is necessarily an incomplete snapshot of the neuroimaging literature")),(0,o.kt)("p",null,"Input any search term to narrow down studies. This will search the Title and Abstract fields. You may also add additional search filters using the ",(0,o.kt)("strong",{parentName:"p"},"+ Add Filter")," button, and ",(0,o.kt)("em",{parentName:"p"},"select the desired modality of the imaging data"),". "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Neurostore Search",src:a(8506).Z,width:"1849",height:"1523"}),". "),(0,o.kt)("p",null,'To import your search, click "Import Studies From Neurostore" at the bottom right. Give your import a name to Tag all imported studies, and continue back to your Curation board. '),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"You must import an entire set of search results into your curation board. If you want to exclude any specific studies, you will do so on your board. This allows the Search & Curate process to be fully reproducible.")),(0,o.kt)("h4",{id:"promote-studies"},"Promote studies"),(0,o.kt)("p",null,"Back to your Curation board, you will now see all studies from your NeuroStore search on the left most column."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Curation board",src:a(761).Z,width:"2583",height:"1604"}),". "),(0,o.kt)("p",null,"At this point, you have two options: manually review the search results and select which studies to include, or perform a fully automated meta-analysis by including all search results. "),(0,o.kt)("p",null,"For this tutorial, we'll skip manual curation and ",(0,o.kt)("strong",{parentName:"p"},"Promote All Uncategorized Studies"),' to the right-most "Included" column. '),(0,o.kt)("p",null,"We can now click ",(0,o.kt)("em",{parentName:"p"},"Move to Extraction Phase"),"."),(0,o.kt)("h3",{id:"extraction-and-annotation"},"Extraction and Annotation"),(0,o.kt)("p",null,"At this point, you will create a StudySet containing all of your Studies. Advance through the dialog to begin ",(0,o.kt)("em",{parentName:"p"},"Extraction"),"."),(0,o.kt)("p",null,"The goal of this phase is to add or correct imaging data (e.g. Coordinates) in imported studies, and create Annotations to determine which Analyses (e.g. Contrasts), should be included in your meta-analysis."),(0,o.kt)("p",null,"Since we are performing a manual meta-analysis, we're going to skip these steps!"),(0,o.kt)("p",null,"From the main ",(0,o.kt)("em",{parentName:"p"},"Project"),' page, we can click "Mark All as Complete".'),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Skip Extraction",src:a(1599).Z,width:"1263",height:"855"}),". "),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"It's up to you if you want to skip this step. The validity of your meta-analysis is highly dependant on input data, so we only recommend skipping all curation for exploratory analyses.")),(0,o.kt)("h3",{id:"specify-meta-analyses"},"Specify Meta-Analyses"),(0,o.kt)("p",null,"You can now specify your meta-analysis. This step will be identical between automated and manual meta-analyses."),(0,o.kt)("p",null,'First, we select the "included" column, which by default includes ',(0,o.kt)("em",{parentName:"p"},"all")," Study Analyses as inputs."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Inclusion column",src:a(8376).Z,width:"1368",height:"1715"}),". "),(0,o.kt)("p",null,"Next, we select a meta-analysis algorithm. This time, we'll select MKDA Chi-Squared (",(0,o.kt)("inlineCode",{parentName:"p"},"MKDAChi2"),") with ",(0,o.kt)("inlineCode",{parentName:"p"},"FDRCorrector"),". "),(0,o.kt)("p",null,"MKDA Chi-Square compares your StudySet to a reference set of studies (all the studies in NeuroStore that you did ",(0,o.kt)("em",{parentName:"p"},"not")," select), allowing you to identify areas of stronger association with your selected studies. This is the algorithm used in the original Neurosynth Platform."),(0,o.kt)("h3",{id:"execute"},"Execute"),(0,o.kt)("p",null,"Once you specify your meta-analysis, you can execute it in the cloud using Google Colab using your unique meta-analysis id. "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Automated execute",src:a(2770).Z,width:"1551",height:"1098"}),". "),(0,o.kt)("p",null,"Congratulations, you have now run an automated meta-analysis!"),(0,o.kt)("p",null,"Remember, just because it is easy to run a meta-analysis and get results, does not mean the results are valid.\nIt is important to think about the validity of your study selection process, for both manual and automated meta-analyses."))}c.isMDXComponent=!0},761:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_curation-371eefa2a58043457c9b63a79728b217.png"},2770:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_execute-a020e8de9a3379dddedca4d00e04f3a6.png"},8376:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_included_column-d2edd791b32654783c43877948de76f5.png"},8506:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_search_neurostore-8727f551752008b51b8d58e99a652605.png"},1599:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_skip_extraction-a686288de267f089b546b703f315f5f0.png"},3594:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/automated_workflow-8bea486d4904648bcafa7ea0aa3ccf05.png"}}]); \ No newline at end of file diff --git a/assets/js/c2abd45e.21e93a42.js b/assets/js/c2abd45e.21e93a42.js deleted file mode 100644 index 8e050c2..0000000 --- a/assets/js/c2abd45e.21e93a42.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[2309],{2991:(t,e,r)=>{r.d(e,{Z:()=>h});var a=r(7294),o=r(6010),n=r(2802),i=r(9960),l=r(3919),s=r(5999);const c={cardContainer:"cardContainer_fWXF",cardTitle:"cardTitle_rnsV",cardDescription:"cardDescription_PWke"};function u(t){let{href:e,children:r}=t;return a.createElement(i.Z,{href:e,className:(0,o.Z)("card padding--lg",c.cardContainer)},r)}function d(t){let{href:e,icon:r,title:n,description:i}=t;return a.createElement(u,{href:e},a.createElement("h2",{className:(0,o.Z)("text--truncate",c.cardTitle),title:n},r," ",n),i&&a.createElement("p",{className:(0,o.Z)("text--truncate",c.cardDescription),title:i},i))}function m(t){let{item:e}=t;const r=(0,n.Wl)(e);return r?a.createElement(d,{href:r,icon:"\ud83d\uddc3\ufe0f",title:e.label,description:(0,s.I)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:e.items.length})}):null}function p(t){let{item:e}=t;const r=(0,l.Z)(e.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",o=(0,n.xz)(e.docId??void 0);return a.createElement(d,{href:e.href,icon:r,title:e.label,description:o?.description})}function y(t){let{item:e}=t;switch(e.type){case"link":return a.createElement(p,{item:e});case"category":return a.createElement(m,{item:e});default:throw new Error(`unknown item type ${JSON.stringify(e)}`)}}function k(t){let{className:e}=t;const r=(0,n.jA)();return a.createElement(h,{items:r.items,className:e})}function h(t){const{items:e,className:r}=t;if(!e)return a.createElement(k,t);const i=(0,n.MN)(e);return a.createElement("section",{className:(0,o.Z)("row",r)},i.map(((t,e)=>a.createElement("article",{key:e,className:"col col--6 margin-bottom--lg"},a.createElement(y,{item:t})))))}},473:(t,e,r)=>{r.r(e),r.d(e,{assets:()=>m,contentTitle:()=>u,default:()=>h,frontMatter:()=>c,metadata:()=>d,toc:()=>p});var a=r(7462),o=(r(7294),r(3905)),n=r(9937),i=r(4267),l=r(8862),s=r(3727);r(2991);const c={},u="Tutorials",d={unversionedId:"tutorial/index",id:"tutorial/index",title:"Tutorials",description:"Quickstart",source:"@site/docs/tutorial/index.mdx",sourceDirName:"tutorial",slug:"/tutorial/",permalink:"/compose-docs/tutorial/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/tutorial/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Glossary",permalink:"/compose-docs/guide/glossary"},next:{title:"Manual Meta-Analysis",permalink:"/compose-docs/tutorial/manual"}},m={},p=[{value:"Quickstart",id:"quickstart",level:3},{value:"Advanced tutorials",id:"advanced-tutorials",level:3}],y={toc:p},k="wrapper";function h(t){let{components:e,...r}=t;return(0,o.kt)(k,(0,a.Z)({},y,r,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"tutorials"},"Tutorials"),(0,o.kt)("h3",{id:"quickstart"},"Quickstart"),(0,o.kt)("p",null,"Neurosynth Compose supports a range of workflows,\nfrom exploratory large-scale automated analyses to highly rigorous manual analyses."),(0,o.kt)("p",null,"The choice of workflow depends on your research question and resources available for manual curation.\nWe reccomend starting with the ",(0,o.kt)("strong",{parentName:"p"},"manual meta-analysis")," tutorial if you are new."),(0,o.kt)("div",{style:{display:"flex"}},(0,o.kt)(s.rU,{to:"tutorial/manual",style:{textDecoration:"none"},style:{width:"100%",display:"flex",marginRight:"30px",cursor:"pointer"},mdxType:"Link"},(0,o.kt)(n.Z,{style:{borderRadius:"8px"},mdxType:"Card"},(0,o.kt)(i.Z,{mdxType:"CardContent"},(0,o.kt)(l.Z,{variant:"h5",component:"h2",gutterBottom:!0,mdxType:"Typography"},"Manual"),(0,o.kt)(l.Z,{variant:"body1",gutterBottom:!0,mdxType:"Typography"},(0,o.kt)("em",null,"Most stringent and rigorous."),(0,o.kt)("br",null),(0,o.kt)("br",null),(0,o.kt)("ul",null,(0,o.kt)("li",null,"Search across multiple sources, such as: PubMed, Web of Science, NeuroStore"),(0,o.kt)("li",null,"Careful curation for inclusion/exclusion criteria"),(0,o.kt)("li",null,"Extract coordinates from studies not already indexed"),(0,o.kt)("li",null,"Meets PRISMA guidelines")))))),(0,o.kt)(s.rU,{to:"tutorial/automated",style:{textDecoration:"none"},style:{width:"100%",display:"flex",marginRight:"30px",cursor:"pointer"},mdxType:"Link"},(0,o.kt)(n.Z,{style:{borderRadius:"8px"},mdxType:"Card"},(0,o.kt)(i.Z,{mdxType:"CardContent"},(0,o.kt)(l.Z,{variant:"h5",component:"h2",gutterBottom:!0,mdxType:"Typography"},"Automated"),(0,o.kt)(l.Z,{variant:"body1",gutterBottom:!0,mdxType:"Typography"},(0,o.kt)("em",null,"Fast exploratory analysis."),(0,o.kt)("br",null),(0,o.kt)("br",null),(0,o.kt)("ul",null,(0,o.kt)("li",null,"Query studies at scale"),(0,o.kt)("li",null,"Search using terms, topics or activation coordinates"),(0,o.kt)("li",null,"Replicate results from original Neurosynth"),(0,o.kt)("li",null,"Immediate results, ideal for a exploratory analysis"))))))),(0,o.kt)("h3",{id:"advanced-tutorials"},"Advanced tutorials"),(0,o.kt)("p",null,"After you've completed the core tutorials above, you can continue your learning journey with ",(0,o.kt)("a",{parentName:"p",href:"./tutorial/advanced"},"advanced tutorials"),"."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c2abd45e.7f60e394.js b/assets/js/c2abd45e.7f60e394.js new file mode 100644 index 0000000..eafcf6c --- /dev/null +++ b/assets/js/c2abd45e.7f60e394.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[2309],{2991:(t,e,r)=>{r.d(e,{Z:()=>h});var a=r(7294),o=r(6010),n=r(2802),i=r(9960),l=r(3919),s=r(5999);const c={cardContainer:"cardContainer_fWXF",cardTitle:"cardTitle_rnsV",cardDescription:"cardDescription_PWke"};function u(t){let{href:e,children:r}=t;return a.createElement(i.Z,{href:e,className:(0,o.Z)("card padding--lg",c.cardContainer)},r)}function d(t){let{href:e,icon:r,title:n,description:i}=t;return a.createElement(u,{href:e},a.createElement("h2",{className:(0,o.Z)("text--truncate",c.cardTitle),title:n},r," ",n),i&&a.createElement("p",{className:(0,o.Z)("text--truncate",c.cardDescription),title:i},i))}function m(t){let{item:e}=t;const r=(0,n.Wl)(e);return r?a.createElement(d,{href:r,icon:"\ud83d\uddc3\ufe0f",title:e.label,description:(0,s.I)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:e.items.length})}):null}function p(t){let{item:e}=t;const r=(0,l.Z)(e.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",o=(0,n.xz)(e.docId??void 0);return a.createElement(d,{href:e.href,icon:r,title:e.label,description:o?.description})}function y(t){let{item:e}=t;switch(e.type){case"link":return a.createElement(p,{item:e});case"category":return a.createElement(m,{item:e});default:throw new Error(`unknown item type ${JSON.stringify(e)}`)}}function k(t){let{className:e}=t;const r=(0,n.jA)();return a.createElement(h,{items:r.items,className:e})}function h(t){const{items:e,className:r}=t;if(!e)return a.createElement(k,t);const i=(0,n.MN)(e);return a.createElement("section",{className:(0,o.Z)("row",r)},i.map(((t,e)=>a.createElement("article",{key:e,className:"col col--6 margin-bottom--lg"},a.createElement(y,{item:t})))))}},473:(t,e,r)=>{r.r(e),r.d(e,{assets:()=>m,contentTitle:()=>u,default:()=>h,frontMatter:()=>c,metadata:()=>d,toc:()=>p});var a=r(7462),o=(r(7294),r(3905)),n=r(9937),i=r(4267),l=r(8862),s=r(3727);r(2991);const c={},u="Tutorials",d={unversionedId:"tutorial/index",id:"tutorial/index",title:"Tutorials",description:"Quickstart",source:"@site/docs/tutorial/index.mdx",sourceDirName:"tutorial",slug:"/tutorial/",permalink:"/compose-docs/tutorial/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/tutorial/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Glossary",permalink:"/compose-docs/guide/glossary"},next:{title:"Manual Meta-Analysis",permalink:"/compose-docs/tutorial/manual"}},m={},p=[{value:"Quickstart",id:"quickstart",level:3},{value:"Advanced tutorials",id:"advanced-tutorials",level:3}],y={toc:p},k="wrapper";function h(t){let{components:e,...r}=t;return(0,o.kt)(k,(0,a.Z)({},y,r,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"tutorials"},"Tutorials"),(0,o.kt)("h3",{id:"quickstart"},"Quickstart"),(0,o.kt)("p",null,"Neurosynth Compose supports a range of workflows,\nfrom exploratory large-scale automated analyses to highly rigorous manual analyses."),(0,o.kt)("p",null,"The choice of workflow depends on your research question and resources available for manual curation.\nWe reccomend starting with the ",(0,o.kt)("strong",{parentName:"p"},"manual meta-analysis")," tutorial if you are new."),(0,o.kt)("div",{style:{display:"flex"}},(0,o.kt)(s.rU,{to:"tutorial/manual",style:{textDecoration:"none"},style:{width:"100%",display:"flex",marginRight:"30px",cursor:"pointer"},mdxType:"Link"},(0,o.kt)(n.Z,{style:{borderRadius:"8px"},mdxType:"Card"},(0,o.kt)(i.Z,{mdxType:"CardContent"},(0,o.kt)(l.Z,{variant:"h5",component:"h2",gutterBottom:!0,mdxType:"Typography"},"Manual"),(0,o.kt)(l.Z,{variant:"body1",gutterBottom:!0,mdxType:"Typography"},(0,o.kt)("em",null,"Most stringent and rigorous."),(0,o.kt)("br",null),(0,o.kt)("br",null),(0,o.kt)("ul",null,(0,o.kt)("li",null,"Search across multiple sources, such as: PubMed, Web of Science, NeuroStore"),(0,o.kt)("li",null,"Careful curation for inclusion/exclusion criteria"),(0,o.kt)("li",null,"Extract coordinates from studies not already indexed"),(0,o.kt)("li",null,"Meets PRISMA guidelines")))))),(0,o.kt)(s.rU,{to:"tutorial/automated",style:{textDecoration:"none"},style:{width:"100%",display:"flex",marginRight:"30px",cursor:"pointer"},mdxType:"Link"},(0,o.kt)(n.Z,{style:{borderRadius:"8px"},mdxType:"Card"},(0,o.kt)(i.Z,{mdxType:"CardContent"},(0,o.kt)(l.Z,{variant:"h5",component:"h2",gutterBottom:!0,mdxType:"Typography"},"Automated"),(0,o.kt)(l.Z,{variant:"body1",gutterBottom:!0,mdxType:"Typography"},(0,o.kt)("em",null,"Fast exploratory analysis."),(0,o.kt)("br",null),(0,o.kt)("br",null),(0,o.kt)("ul",null,(0,o.kt)("li",null,"Query studies at scale"),(0,o.kt)("li",null,"Search using terms, topics or activation coordinates"),(0,o.kt)("li",null,"Replicate results from original Neurosynth"),(0,o.kt)("li",null,"Immediate results, ideal for a exploratory analysis"))))))),(0,o.kt)("h3",{id:"advanced-tutorials"},"Advanced tutorials"),(0,o.kt)("p",null,"After you've completed the core tutorials above, you can continue your learning journey with ",(0,o.kt)("a",{parentName:"p",href:"./tutorial/advanced"},"advanced tutorials"),"."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c4a0799b.9466a5a6.js b/assets/js/c4a0799b.87c306f5.js similarity index 86% rename from assets/js/c4a0799b.9466a5a6.js rename to assets/js/c4a0799b.87c306f5.js index 617c827..1775f5d 100644 --- a/assets/js/c4a0799b.9466a5a6.js +++ b/assets/js/c4a0799b.87c306f5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[1010],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,d=a(e,["components","mdxType","originalType","parentName"]),u=l(r),p=o,f=u["".concat(s,".").concat(p)]||u[p]||m[p]||i;return r?n.createElement(f,c(c({ref:t},d),{},{components:r})):n.createElement(f,c({ref:t},d))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,c=new Array(i);c[0]=p;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[u]="string"==typeof e?e:o,c[1]=a;for(var l=2;l{r.d(t,{Z:()=>g});var n=r(7294),o=r(6010),i=r(2802),c=r(9960),a=r(3919),s=r(5999);const l={cardContainer:"cardContainer_fWXF",cardTitle:"cardTitle_rnsV",cardDescription:"cardDescription_PWke"};function d(e){let{href:t,children:r}=e;return n.createElement(c.Z,{href:t,className:(0,o.Z)("card padding--lg",l.cardContainer)},r)}function u(e){let{href:t,icon:r,title:i,description:c}=e;return n.createElement(d,{href:t},n.createElement("h2",{className:(0,o.Z)("text--truncate",l.cardTitle),title:i},r," ",i),c&&n.createElement("p",{className:(0,o.Z)("text--truncate",l.cardDescription),title:c},c))}function m(e){let{item:t}=e;const r=(0,i.Wl)(t);return r?n.createElement(u,{href:r,icon:"\ud83d\uddc3\ufe0f",title:t.label,description:(0,s.I)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t.items.length})}):null}function p(e){let{item:t}=e;const r=(0,a.Z)(t.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",o=(0,i.xz)(t.docId??void 0);return n.createElement(u,{href:t.href,icon:r,title:t.label,description:o?.description})}function f(e){let{item:t}=e;switch(t.type){case"link":return n.createElement(p,{item:t});case"category":return n.createElement(m,{item:t});default:throw new Error(`unknown item type ${JSON.stringify(t)}`)}}function y(e){let{className:t}=e;const r=(0,i.jA)();return n.createElement(g,{items:r.items,className:t})}function g(e){const{items:t,className:r}=e;if(!t)return n.createElement(y,e);const c=(0,i.MN)(t);return n.createElement("section",{className:(0,o.Z)("row",r)},c.map(((e,t)=>n.createElement("article",{key:t,className:"col col--6 margin-bottom--lg"},n.createElement(f,{item:e})))))}},9126:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>c,metadata:()=>s,toc:()=>d});var n=r(7462),o=(r(7294),r(3905)),i=r(2991);const c={},a="User Guide",s={unversionedId:"guide/index",id:"guide/index",title:"User Guide",description:"Overview",source:"@site/docs/guide/index.mdx",sourceDirName:"guide",slug:"/guide/",permalink:"/compose-docs/guide/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Ecosystem",permalink:"/compose-docs/introduction/ecosystem"},next:{title:"Project",permalink:"/compose-docs/guide/Project/"}},l={},d=[{value:"Overview",id:"overview",level:3}],u={toc:d},m="wrapper";function p(e){let{components:t,...r}=e;return(0,o.kt)(m,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"user-guide"},"User Guide"),(0,o.kt)("h3",{id:"overview"},"Overview"),(0,o.kt)("p",null,"The user guide contains a comprehensive overview of the platform and definitions of keywords related to neurosynth-compose."),(0,o.kt)(i.Z,{mdxType:"DocCardList"}))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[1010],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,d=a(e,["components","mdxType","originalType","parentName"]),u=l(r),p=o,f=u["".concat(s,".").concat(p)]||u[p]||m[p]||i;return r?n.createElement(f,c(c({ref:t},d),{},{components:r})):n.createElement(f,c({ref:t},d))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,c=new Array(i);c[0]=p;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[u]="string"==typeof e?e:o,c[1]=a;for(var l=2;l{r.d(t,{Z:()=>g});var n=r(7294),o=r(6010),i=r(2802),c=r(9960),a=r(3919),s=r(5999);const l={cardContainer:"cardContainer_fWXF",cardTitle:"cardTitle_rnsV",cardDescription:"cardDescription_PWke"};function d(e){let{href:t,children:r}=e;return n.createElement(c.Z,{href:t,className:(0,o.Z)("card padding--lg",l.cardContainer)},r)}function u(e){let{href:t,icon:r,title:i,description:c}=e;return n.createElement(d,{href:t},n.createElement("h2",{className:(0,o.Z)("text--truncate",l.cardTitle),title:i},r," ",i),c&&n.createElement("p",{className:(0,o.Z)("text--truncate",l.cardDescription),title:c},c))}function m(e){let{item:t}=e;const r=(0,i.Wl)(t);return r?n.createElement(u,{href:r,icon:"\ud83d\uddc3\ufe0f",title:t.label,description:(0,s.I)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t.items.length})}):null}function p(e){let{item:t}=e;const r=(0,a.Z)(t.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",o=(0,i.xz)(t.docId??void 0);return n.createElement(u,{href:t.href,icon:r,title:t.label,description:o?.description})}function f(e){let{item:t}=e;switch(t.type){case"link":return n.createElement(p,{item:t});case"category":return n.createElement(m,{item:t});default:throw new Error(`unknown item type ${JSON.stringify(t)}`)}}function y(e){let{className:t}=e;const r=(0,i.jA)();return n.createElement(g,{items:r.items,className:t})}function g(e){const{items:t,className:r}=e;if(!t)return n.createElement(y,e);const c=(0,i.MN)(t);return n.createElement("section",{className:(0,o.Z)("row",r)},c.map(((e,t)=>n.createElement("article",{key:t,className:"col col--6 margin-bottom--lg"},n.createElement(f,{item:e})))))}},9126:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>c,metadata:()=>s,toc:()=>d});var n=r(7462),o=(r(7294),r(3905)),i=r(2991);const c={},a="User Guide",s={unversionedId:"guide/index",id:"guide/index",title:"User Guide",description:"Overview",source:"@site/docs/guide/index.mdx",sourceDirName:"guide",slug:"/guide/",permalink:"/compose-docs/guide/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Ecosystem",permalink:"/compose-docs/introduction/ecosystem"},next:{title:"Project",permalink:"/compose-docs/guide/Project/"}},l={},d=[{value:"Overview",id:"overview",level:3}],u={toc:d},m="wrapper";function p(e){let{components:t,...r}=e;return(0,o.kt)(m,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"user-guide"},"User Guide"),(0,o.kt)("h3",{id:"overview"},"Overview"),(0,o.kt)("p",null,"The user guide contains a comprehensive overview of the platform and definitions of keywords related to neurosynth-compose."),(0,o.kt)(i.Z,{mdxType:"DocCardList"}))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c4e6ab22.681fd557.js b/assets/js/c4e6ab22.0d84b140.js similarity index 50% rename from assets/js/c4e6ab22.681fd557.js rename to assets/js/c4e6ab22.0d84b140.js index 96a4d57..83e08ad 100644 --- a/assets/js/c4e6ab22.681fd557.js +++ b/assets/js/c4e6ab22.0d84b140.js @@ -1 +1 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[6626],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>y});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),p=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=p(e.components);return r.createElement(l.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),c=p(n),m=o,y=c["".concat(l,".").concat(m)]||c[m]||u[m]||a;return n?r.createElement(y,i(i({ref:t},d),{},{components:n})):r.createElement(y,i({ref:t},d))}));function y(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var r=n(7462),o=(n(7294),n(3905));const a={title:"Explore",sidebar_position:1},i="Explore",s={unversionedId:"guide/Explore/index",id:"guide/Explore/index",title:"Explore",description:"Here, you can browse and search existing public Studies, StudySets and Meta-Analyses created on the platform.",source:"@site/docs/guide/Explore/index.mdx",sourceDirName:"guide/Explore",slug:"/guide/Explore/",permalink:"/compose-docs/guide/Explore/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Explore/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:1,frontMatter:{title:"Explore",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Specification",permalink:"/compose-docs/guide/Project/Specification"},next:{title:"Searching",permalink:"/compose-docs/guide/Explore/Searching"}},l={},p=[{value:"Studies",id:"studies",level:2},{value:"StudySets and Meta-Analyses",id:"studysets-and-meta-analyses",level:2}],d={toc:p},c="wrapper";function u(e){let{components:t,...n}=e;return(0,o.kt)(c,(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"explore"},"Explore"),(0,o.kt)("p",null,"Here, you can browse and search existing public ",(0,o.kt)("inlineCode",{parentName:"p"},"Studies"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"StudySets")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"Meta-Analyses")," created on the platform. "),(0,o.kt)("h2",{id:"studies"},"Studies"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"Studies")," page lets you browse and search all studies that exist on the NeuroStore server. This interface is similar to what you'll see when importing studies into your ",(0,o.kt)("inlineCode",{parentName:"p"},"Project"),". However, here it's simply provided for your browsing pleasure. "),(0,o.kt)("p",null,"For more information on how advanced search functionally, see ",(0,o.kt)("a",{parentName:"p",href:"./Explore/Searching"},"Searching Studies")),(0,o.kt)("h2",{id:"studysets-and-meta-analyses"},"StudySets and Meta-Analyses"),(0,o.kt)("p",null,"For ",(0,o.kt)("inlineCode",{parentName:"p"},"StudySets")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"Meta-Analyses"),", you can browse and search any user-contributed items, including those from other users. "),(0,o.kt)("p",null,"Note that although you see all publically available items, you cannot edit somebody else's content. "),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"We are currently working on a way to allow users to fork other users' ",(0,o.kt)("inlineCode",{parentName:"p"},"StudySets")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"Meta-Analyses")," to create their own versions.\nStay tuned!\n::::")))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[6626],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>y});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),p=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=p(e.components);return r.createElement(l.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=p(n),m=o,y=u["".concat(l,".").concat(m)]||u[m]||c[m]||a;return n?r.createElement(y,i(i({ref:t},d),{},{components:n})):r.createElement(y,i({ref:t},d))}));function y(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>c,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var r=n(7462),o=(n(7294),n(3905));const a={title:"Explore",sidebar_position:1},i="Explore",s={unversionedId:"guide/Explore/index",id:"guide/Explore/index",title:"Explore",description:"Here, you can browse and search existing public Studies, StudySets and Meta-Analyses created on the platform.",source:"@site/docs/guide/Explore/index.mdx",sourceDirName:"guide/Explore",slug:"/guide/Explore/",permalink:"/compose-docs/guide/Explore/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Explore/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:1,frontMatter:{title:"Explore",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Running Analyses",permalink:"/compose-docs/guide/Project/Running"},next:{title:"Searching",permalink:"/compose-docs/guide/Explore/Searching"}},l={},p=[{value:"Studies",id:"studies",level:2},{value:"StudySets and Meta-Analyses",id:"studysets-and-meta-analyses",level:2}],d={toc:p},u="wrapper";function c(e){let{components:t,...n}=e;return(0,o.kt)(u,(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"explore"},"Explore"),(0,o.kt)("p",null,"Here, you can browse and search existing public ",(0,o.kt)("inlineCode",{parentName:"p"},"Studies"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"StudySets")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"Meta-Analyses")," created on the platform. "),(0,o.kt)("h2",{id:"studies"},"Studies"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"Studies")," page lets you browse and search all studies that exist on the NeuroStore server. This interface is similar to what you'll see when importing studies into your ",(0,o.kt)("inlineCode",{parentName:"p"},"Project"),". However, here it's simply provided for your browsing pleasure. "),(0,o.kt)("p",null,"For more information on how advanced search functionally, see ",(0,o.kt)("a",{parentName:"p",href:"./Explore/Searching"},"Searching Studies")),(0,o.kt)("h2",{id:"studysets-and-meta-analyses"},"StudySets and Meta-Analyses"),(0,o.kt)("p",null,"For ",(0,o.kt)("inlineCode",{parentName:"p"},"StudySets")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"Meta-Analyses"),", you can browse and search any user-contributed items, including those from other users. "),(0,o.kt)("p",null,"Note that although you see all publically available items, you cannot edit somebody else's content. "),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"We are currently working on a way to allow users to fork other users' ",(0,o.kt)("inlineCode",{parentName:"p"},"StudySets")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"Meta-Analyses")," to create their own versions.\nStay tuned!\n::::")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f72e48a3.ef5ed1ff.js b/assets/js/f72e48a3.22f1690a.js similarity index 86% rename from assets/js/f72e48a3.ef5ed1ff.js rename to assets/js/f72e48a3.22f1690a.js index 8838fea..008542a 100644 --- a/assets/js/f72e48a3.ef5ed1ff.js +++ b/assets/js/f72e48a3.22f1690a.js @@ -1 +1 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[5326],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=s(r),p=a,f=u["".concat(l,".").concat(p)]||u[p]||m[p]||o;return r?n.createElement(f,c(c({ref:t},d),{},{components:r})):n.createElement(f,c({ref:t},d))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[u]="string"==typeof e?e:a,c[1]=i;for(var s=2;s{r.d(t,{Z:()=>v});var n=r(7294),a=r(6010),o=r(2802),c=r(9960),i=r(3919),l=r(5999);const s={cardContainer:"cardContainer_fWXF",cardTitle:"cardTitle_rnsV",cardDescription:"cardDescription_PWke"};function d(e){let{href:t,children:r}=e;return n.createElement(c.Z,{href:t,className:(0,a.Z)("card padding--lg",s.cardContainer)},r)}function u(e){let{href:t,icon:r,title:o,description:c}=e;return n.createElement(d,{href:t},n.createElement("h2",{className:(0,a.Z)("text--truncate",s.cardTitle),title:o},r," ",o),c&&n.createElement("p",{className:(0,a.Z)("text--truncate",s.cardDescription),title:c},c))}function m(e){let{item:t}=e;const r=(0,o.Wl)(t);return r?n.createElement(u,{href:r,icon:"\ud83d\uddc3\ufe0f",title:t.label,description:(0,l.I)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t.items.length})}):null}function p(e){let{item:t}=e;const r=(0,i.Z)(t.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",a=(0,o.xz)(t.docId??void 0);return n.createElement(u,{href:t.href,icon:r,title:t.label,description:a?.description})}function f(e){let{item:t}=e;switch(t.type){case"link":return n.createElement(p,{item:t});case"category":return n.createElement(m,{item:t});default:throw new Error(`unknown item type ${JSON.stringify(t)}`)}}function y(e){let{className:t}=e;const r=(0,o.jA)();return n.createElement(v,{items:r.items,className:t})}function v(e){const{items:t,className:r}=e;if(!t)return n.createElement(y,e);const c=(0,o.MN)(t);return n.createElement("section",{className:(0,a.Z)("row",r)},c.map(((e,t)=>n.createElement("article",{key:t,className:"col col--6 margin-bottom--lg"},n.createElement(f,{item:e})))))}},3065:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>l,toc:()=>d});var n=r(7462),a=(r(7294),r(3905)),o=r(2991);const c={title:"Advanced tutorials",sidebar_position:3},i="Advanced tutorials",l={unversionedId:"tutorial/advanced/index",id:"tutorial/advanced/index",title:"Advanced tutorials",description:"After you've completed the core Manual and Advanced tutorials, you can continue your learning journey with these advanced tutorials.",source:"@site/docs/tutorial/advanced/index.mdx",sourceDirName:"tutorial/advanced",slug:"/tutorial/advanced/",permalink:"/compose-docs/tutorial/advanced/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/tutorial/advanced/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:3,frontMatter:{title:"Advanced tutorials",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Automated Meta-Analysis",permalink:"/compose-docs/tutorial/automated"},next:{title:"MKDA Chi-Squared Association",permalink:"/compose-docs/tutorial/advanced/mkda_association"}},s={},d=[],u={toc:d},m="wrapper";function p(e){let{components:t,...r}=e;return(0,a.kt)(m,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"advanced-tutorials"},"Advanced tutorials"),(0,a.kt)("p",null,"After you've completed the core Manual and Advanced tutorials, you can continue your learning journey with these advanced tutorials."),(0,a.kt)(o.Z,{mdxType:"DocCardList"}))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[5326],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=s(r),p=a,f=u["".concat(l,".").concat(p)]||u[p]||m[p]||o;return r?n.createElement(f,c(c({ref:t},d),{},{components:r})):n.createElement(f,c({ref:t},d))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[u]="string"==typeof e?e:a,c[1]=i;for(var s=2;s{r.d(t,{Z:()=>v});var n=r(7294),a=r(6010),o=r(2802),c=r(9960),i=r(3919),l=r(5999);const s={cardContainer:"cardContainer_fWXF",cardTitle:"cardTitle_rnsV",cardDescription:"cardDescription_PWke"};function d(e){let{href:t,children:r}=e;return n.createElement(c.Z,{href:t,className:(0,a.Z)("card padding--lg",s.cardContainer)},r)}function u(e){let{href:t,icon:r,title:o,description:c}=e;return n.createElement(d,{href:t},n.createElement("h2",{className:(0,a.Z)("text--truncate",s.cardTitle),title:o},r," ",o),c&&n.createElement("p",{className:(0,a.Z)("text--truncate",s.cardDescription),title:c},c))}function m(e){let{item:t}=e;const r=(0,o.Wl)(t);return r?n.createElement(u,{href:r,icon:"\ud83d\uddc3\ufe0f",title:t.label,description:(0,l.I)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t.items.length})}):null}function p(e){let{item:t}=e;const r=(0,i.Z)(t.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",a=(0,o.xz)(t.docId??void 0);return n.createElement(u,{href:t.href,icon:r,title:t.label,description:a?.description})}function f(e){let{item:t}=e;switch(t.type){case"link":return n.createElement(p,{item:t});case"category":return n.createElement(m,{item:t});default:throw new Error(`unknown item type ${JSON.stringify(t)}`)}}function y(e){let{className:t}=e;const r=(0,o.jA)();return n.createElement(v,{items:r.items,className:t})}function v(e){const{items:t,className:r}=e;if(!t)return n.createElement(y,e);const c=(0,o.MN)(t);return n.createElement("section",{className:(0,a.Z)("row",r)},c.map(((e,t)=>n.createElement("article",{key:t,className:"col col--6 margin-bottom--lg"},n.createElement(f,{item:e})))))}},3065:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>l,toc:()=>d});var n=r(7462),a=(r(7294),r(3905)),o=r(2991);const c={title:"Advanced tutorials",sidebar_position:3},i="Advanced tutorials",l={unversionedId:"tutorial/advanced/index",id:"tutorial/advanced/index",title:"Advanced tutorials",description:"After you've completed the core Manual and Advanced tutorials, you can continue your learning journey with these advanced tutorials.",source:"@site/docs/tutorial/advanced/index.mdx",sourceDirName:"tutorial/advanced",slug:"/tutorial/advanced/",permalink:"/compose-docs/tutorial/advanced/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/tutorial/advanced/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:3,frontMatter:{title:"Advanced tutorials",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Automated Meta-Analysis",permalink:"/compose-docs/tutorial/automated"},next:{title:"MKDA Chi-Squared Association",permalink:"/compose-docs/tutorial/advanced/mkda_association"}},s={},d=[],u={toc:d},m="wrapper";function p(e){let{components:t,...r}=e;return(0,a.kt)(m,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"advanced-tutorials"},"Advanced tutorials"),(0,a.kt)("p",null,"After you've completed the core Manual and Advanced tutorials, you can continue your learning journey with these advanced tutorials."),(0,a.kt)(o.Z,{mdxType:"DocCardList"}))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f8f8f85a.437ed9fc.js b/assets/js/f8f8f85a.437ed9fc.js deleted file mode 100644 index baaa244..0000000 --- a/assets/js/f8f8f85a.437ed9fc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[519],{3905:(t,e,n)=>{n.d(e,{Zo:()=>u,kt:()=>g});var a=n(7294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function i(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var c=a.createContext({}),d=function(t){var e=a.useContext(c),n=e;return t&&(n="function"==typeof t?t(e):i(i({},e),t)),n},u=function(t){var e=d(t.components);return a.createElement(c.Provider,{value:e},t.children)},l="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},h=a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,c=t.parentName,u=s(t,["components","mdxType","originalType","parentName"]),l=d(n),h=r,g=l["".concat(c,".").concat(h)]||l[h]||p[h]||o;return n?a.createElement(g,i(i({ref:e},u),{},{components:n})):a.createElement(g,i({ref:e},u))}));function g(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,i=new Array(o);i[0]=h;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s[l]="string"==typeof t?t:r,i[1]=s;for(var d=2;d{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var a=n(7462),r=(n(7294),n(3905));const o={title:"Extraction",sidebar_position:0},i="Extraction",s={unversionedId:"guide/Project/Extraction",id:"guide/Project/Extraction",title:"Extraction",description:"Extraction is the second step in creating a meta-analysis. It involves taking the",source:"@site/docs/guide/Project/Extraction.md",sourceDirName:"guide/Project",slug:"/guide/Project/Extraction",permalink:"/compose-docs/guide/Project/Extraction",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Project/Extraction.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:0,frontMatter:{title:"Extraction",sidebar_position:0},sidebar:"tutorialSidebar",previous:{title:"Curation",permalink:"/compose-docs/guide/Project/Curation"},next:{title:"Specification",permalink:"/compose-docs/guide/Project/Specification"}},c={},d=[{value:"Getting Started",id:"getting-started",level:2},{value:"Ingestion",id:"ingestion",level:2},{value:"Annotations",id:"annotations",level:2},{value:"Study Editing",id:"study-editing",level:2},{value:"Read Only Studies",id:"read-only-studies",level:3},{value:"Study Annotations",id:"study-annotations",level:3},{value:"Study Edit Interface",id:"study-edit-interface",level:3},{value:"Syncing Between Curation and Extraction",id:"syncing-between-curation-and-extraction",level:2}],u={toc:d},l="wrapper";function p(t){let{components:e,...n}=t;return(0,r.kt)(l,(0,a.Z)({},u,n,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"extraction"},"Extraction"),(0,r.kt)("p",null,"Extraction is the second step in creating a meta-analysis. It involves taking the\nnew ",(0,r.kt)("a",{parentName:"p",href:"/compose-docs/guide/glossary#studyset"},(0,r.kt)("strong",{parentName:"a"},"Studyset"))," creates in the curation step and extracting relevant information from studies, such as ",(0,r.kt)("a",{parentName:"p",href:"/compose-docs/guide/glossary#annotation"},(0,r.kt)("strong",{parentName:"a"},"annotations")),",\nand peak activation coordinates, or ",(0,r.kt)("a",{parentName:"p",href:"/compose-docs/guide/glossary#point"},(0,r.kt)("strong",{parentName:"a"},"points")),"."),(0,r.kt)("h2",{id:"getting-started"},"Getting Started"),(0,r.kt)("p",null,"After the curation phase is complete, the user is redirected to the extraction phase. You can also access the Extraction phase through the main project page. "),(0,r.kt)("p",null,"Here, the extraction phase starts when\na wizard that pops up and guides the user through the process of initializing the extraction phase. On top of creating the\ninitial ",(0,r.kt)("a",{parentName:"p",href:"./Extraction#annotations"},(0,r.kt)("strong",{parentName:"a"},"annotation columns")),", this wizard also guides the user through the\nprocess of ",(0,r.kt)("a",{parentName:"p",href:"./Extraction#ingestion"},(0,r.kt)("strong",{parentName:"a"},"ingestion")," ")," of the curated studies to create a new ",(0,r.kt)("a",{parentName:"p",href:"../glossary#studyset"},(0,r.kt)("strong",{parentName:"a"},"studyset")),"."),(0,r.kt)("h2",{id:"ingestion"},"Ingestion"),(0,r.kt)("p",null,"Ingestion describes the process of taking the studies from the curation phase and inserting them into the database one by one. "),(0,r.kt)("p",null,"For each study, neurosynth-compose searches the neurostore database and checks to see if a matching study exists. If a match\ndoes not exist, then a new study is created and the user must go to the paper to fill out the relevant details.\nIf one or more matches are found, the user has the option of either ignoring the existing options and creating a new study anyway, or selecting\none of the existing matches."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Selecting an existing study is recommended as opposed to creating a new study from scratch. By selecting an existing neurostore study, you\nare leveraging neurostore's automatic extraction. As the coordinates have already been extracted for you, this will save you a lot of time and effort\nduring the extraction process.")," "),(0,r.kt)("admonition",{title:"Why ingestion?",type:"info"},(0,r.kt)("p",{parentName:"admonition"},"During the curation phase, studies are actually not inserted into the database. A vast majority of the studies that\nare imported into the curation phase are excluded during the curation process. Inserting these studies into the database would clutter\nit and create a lot of empty entries which don't have coordinates and might not even be used. By waiting until we have our finalized\nincluded subset of studies, we reduce the number of empty, useless studies in the database.")),(0,r.kt)("h2",{id:"annotations"},"Annotations"),(0,r.kt)("h2",{id:"study-editing"},"Study Editing"),(0,r.kt)("p",null,"Studies in the extraction phase are filtered and categorized to help better organize and facilitate the process. Initially, all studies\nstart as ",(0,r.kt)("strong",{parentName:"p"},"Uncategorized"),". The user can then decide to mark them as ",(0,r.kt)("strong",{parentName:"p"},"Save For Later")," if they want to revisit the study, or ",(0,r.kt)("strong",{parentName:"p"},"Completed"),"."),(0,r.kt)("h3",{id:"read-only-studies"},"Read Only Studies"),(0,r.kt)("h3",{id:"study-annotations"},"Study Annotations"),(0,r.kt)("h3",{id:"study-edit-interface"},"Study Edit Interface"),(0,r.kt)("h2",{id:"syncing-between-curation-and-extraction"},"Syncing Between Curation and Extraction"))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f8f8f85a.8aaeec39.js b/assets/js/f8f8f85a.8aaeec39.js new file mode 100644 index 0000000..b0a42a1 --- /dev/null +++ b/assets/js/f8f8f85a.8aaeec39.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[519],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>m});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=a.createContext({}),d=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},l=function(e){var t=d(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),u=d(n),h=o,m=u["".concat(c,".").concat(h)]||u[h]||p[h]||i;return n?a.createElement(m,s(s({ref:t},l),{},{components:n})):a.createElement(m,s({ref:t},l))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,s=new Array(i);s[0]=h;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r[u]="string"==typeof e?e:o,s[1]=r;for(var d=2;d{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var a=n(7462),o=(n(7294),n(3905));const i={title:"Extraction",sidebar_position:1},s="Extraction",r={unversionedId:"guide/Project/Extraction",id:"guide/Project/Extraction",title:"Extraction",description:"Extraction is the second step in creating a meta-analysis. It involves taking the",source:"@site/docs/guide/Project/Extraction.md",sourceDirName:"guide/Project",slug:"/guide/Project/Extraction",permalink:"/compose-docs/guide/Project/Extraction",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Project/Extraction.md",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:1,frontMatter:{title:"Extraction",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Curation",permalink:"/compose-docs/guide/Project/Curation"},next:{title:"Specification",permalink:"/compose-docs/guide/Project/Specification"}},c={},d=[{value:"Getting Started",id:"getting-started",level:2},{value:"Ingestion",id:"ingestion",level:2},{value:"Extraction Table",id:"extraction-table",level:2},{value:"Annotations",id:"annotations",level:2},{value:"Study Editing",id:"study-editing",level:2},{value:"Syncing Between Curation and Extraction",id:"syncing-between-curation-and-extraction",level:2},{value:"Completion",id:"completion",level:2}],l={toc:d},u="wrapper";function p(e){let{components:t,...i}=e;return(0,o.kt)(u,(0,a.Z)({},l,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"extraction"},"Extraction"),(0,o.kt)("p",null,"Extraction is the second step in creating a meta-analysis. It involves taking the\nnew ",(0,o.kt)("a",{parentName:"p",href:"/compose-docs/guide/glossary#studyset"},(0,o.kt)("strong",{parentName:"a"},"Studyset"))," creates in the curation step and extracting relevant information from studies, such as ",(0,o.kt)("a",{parentName:"p",href:"/compose-docs/guide/glossary#annotation"},(0,o.kt)("strong",{parentName:"a"},"annotations")),",\nand peak activation coordinates, or ",(0,o.kt)("a",{parentName:"p",href:"/compose-docs/guide/glossary#point"},(0,o.kt)("strong",{parentName:"a"},"points")),"."),(0,o.kt)("h2",{id:"getting-started"},"Getting Started"),(0,o.kt)("p",null,"After the curation phase is complete, the user is redirected to the extraction phase. You can also access the Extraction phase through the main project page."),(0,o.kt)("p",null,"Here, the extraction phase starts when\na wizard that pops up and guides the user through the process of initializing the extraction phase. On top of creating the\ninitial ",(0,o.kt)("a",{parentName:"p",href:"./Extraction#annotations"},(0,o.kt)("strong",{parentName:"a"},"annotation columns")),", this wizard also guides the user through the\nprocess of ",(0,o.kt)("a",{parentName:"p",href:"./Extraction#ingestion"},(0,o.kt)("strong",{parentName:"a"},"ingestion")," ")," of the curated studies to create a new ",(0,o.kt)("a",{parentName:"p",href:"../glossary#studyset"},(0,o.kt)("strong",{parentName:"a"},"studyset")),"."),(0,o.kt)("h2",{id:"ingestion"},"Ingestion"),(0,o.kt)("p",null,"Ingestion describes the process of taking the studies from the curation phase and inserting them into the database one by one."),(0,o.kt)("p",null,"For each study, neurosynth-compose searches the neurostore database and checks to see if a matching study exists. If a match\ndoes not exist, then a new study is created and the user must go to the paper to fill out the relevant details.\nIf one or more matches are found, neurosynth-compose will choose the most recently updated one by default. The user can later go in and switch to a different version if the one selected is not the ony they wanted."),(0,o.kt)("admonition",{title:"Why ingestion?",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"During the curation phase, studies are actually not inserted into the database. A vast majority of the studies that\nare imported into the curation phase are excluded during the curation process. Inserting these studies into the database would clutter\nit and create a lot of empty entries which don't have coordinates and might not even be used. By waiting until we have our finalized\nincluded subset of studies, we reduce the number of empty, useless studies in the database.")),(0,o.kt)("h2",{id:"extraction-table"},"Extraction Table"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Extraction Table",src:n(218).Z,width:"1340",height:"571"})),(0,o.kt)("p",null,"Once ingestion is complete, the user is shown a table listing the studies within the studyset. The extraction step involves iteratively reviewing each study to make sure they contain information amenable to a meta-analysis.\nStudies in the extraction phase are filtered and categorized to help better organize and facilitate the process. Initially, all studies\nstart as ",(0,o.kt)("strong",{parentName:"p"},"Unreviewed"),". The user can then decide to mark them as ",(0,o.kt)("strong",{parentName:"p"},"Save For Later")," if they want to revisit the study, or ",(0,o.kt)("strong",{parentName:"p"},"Completed"),"."),(0,o.kt)("p",null,"If the study does not have any already extracted coordinates, then the user should go and find the original paper and manually search for the coordinates to add to the study."),(0,o.kt)("p",null,"If the study has automatically extracted coordinates, then the user only has to validate that these coordinates are satisfactory."),(0,o.kt)("p",null,"The table provides functionality for filtering amongst various columns as well as sorting. To start editing a study, click on one of the table rows."),(0,o.kt)("h2",{id:"annotations"},"Annotations"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Annotations Table",src:n(7949).Z,width:"767",height:"752"})),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"../glossary#annotation"},"Annotations")," are a way to assign data to each ",(0,o.kt)("a",{parentName:"p",href:"../glossary#analysis"},(0,o.kt)("strong",{parentName:"a"},"analysis"))," within the studyset. Annotation values can be later used to filter out analyses to include within a meta-analysis."),(0,o.kt)("p",null,'In the extraction page, click the "Annotations" button on the top right. Annotations are represented with a spreadsheet like interface, where the row headers are the respective studies and their analyses, and the column headers are the properties for\neach of those study analyses. Each cell in the spreadsheet repreesnts the value for a given property of a study\'s analysis.'),(0,o.kt)("p",null,"By default, all annotations will start with a column ",(0,o.kt)("strong",{parentName:"p"},"included")," which will be set to true. This column can be modified if needed."),(0,o.kt)("h2",{id:"study-editing"},"Study Editing"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Study Editing",src:n(6484).Z,width:"796",height:"778"})),(0,o.kt)("p",null,"Clicking on a study in the extraction table will lead you to the study editing page. This page allows you to edit study coordinates, add new analyses to the study, as well as modify the study name, authors, PMID, DOI, etc.\nIf you would like to update the annotation values just for the given study, you can do so utilizing the study annotations table."),(0,o.kt)("h2",{id:"syncing-between-curation-and-extraction"},"Syncing Between Curation and Extraction"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Out of Sync",src:n(7075).Z,width:"1514",height:"157"})),(0,o.kt)("p",null,"In an ideal meta-analysis process, once the curation phase is completed then it is not touched again. However, this is not always possible in the real world."),(0,o.kt)("p",null,'If the curation phase is modified (for example if a study previously marked as "included" was excluded, or an additional study that was previously excluded was changed to "included") then the extraction phase\nno longer represents the output of the curation phase. In a situation like this, we need to resynchronize these two so that the extraction phase is aligned again. When neurosynth-compose encounters a mismatch\nbetween the two phases, a banner will pop up prompting the user to synchronize the extraction phase with the new curation phase updates.'),(0,o.kt)("p",null,"Successfully resynchronizing the two phases will cause the banner to go away."),(0,o.kt)("h2",{id:"completion"},"Completion"),(0,o.kt)("p",null,"The extraction phase is considered complete and the user is prompted to move on when all studies have been marked as complete. Once this step is complete, it is then time to specify the configurations for your meta-analysis.\nWhen all studies are marked as completed, a button should appear prompting the user to continue the meta-analysis process."),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},'If you would like to skip the extraction step, then you can go back to the project page and click the button: "Mark all as complete" underneath the extraction section.'),(0,o.kt)("p",{parentName:"admonition"},(0,o.kt)("img",{alt:"Mark all as complete",src:n(5486).Z,width:"1472",height:"376"}))))}p.isMDXComponent=!0},7949:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/annotation_spreadsheet-702edda846ed9996eaec518b0f5f0e0b.png"},218:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/extraction_table-e3acf47614004f05e0ee5b8980f1ffed.png"},5486:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/mark_all_as_complete-76f700aad1d42edc7c2cbc37311f391f.png"},7075:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/out_of_sync-3f705ddb5b4dade3d39a664b090ded8e.png"},6484:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/study_edit-4385731df101f12c4815b30dbefb6de7.png"}}]); \ No newline at end of file diff --git a/assets/js/fb8c922a.0750dc94.js b/assets/js/fb8c922a.0750dc94.js new file mode 100644 index 0000000..00906c7 --- /dev/null +++ b/assets/js/fb8c922a.0750dc94.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[9687],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),c=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(r),h=a,m=p["".concat(s,".").concat(h)]||p[h]||u[h]||o;return r?n.createElement(m,i(i({ref:t},d),{},{components:r})):n.createElement(m,i({ref:t},d))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=h;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:a,i[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=r(7462),a=(r(7294),r(3905));const o={title:"Project",sidebar_position:0},i="Project",l={unversionedId:"guide/Project/index",id:"guide/Project/index",title:"Project",description:"Overview",source:"@site/docs/guide/Project/index.mdx",sourceDirName:"guide/Project",slug:"/guide/Project/",permalink:"/compose-docs/guide/Project/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Project/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1727371486,formattedLastUpdatedAt:"Sep 26, 2024",sidebarPosition:0,frontMatter:{title:"Project",sidebar_position:0},sidebar:"tutorialSidebar",previous:{title:"User Guide",permalink:"/compose-docs/guide/"},next:{title:"Curation",permalink:"/compose-docs/guide/Project/Curation"}},s={},c=[{value:"Overview",id:"overview",level:2},{value:"Create a project",id:"create-a-project",level:2},{value:"Create a blank project",id:"create-a-blank-project",level:3},{value:"Create a project from a sleuth file",id:"create-a-project-from-a-sleuth-file",level:3},{value:"Sleuth file format requirements",id:"sleuth-file-format-requirements",level:4},{value:"1. File Reference.",id:"1-file-reference",level:5},{value:"2. Identifier (DOI or PubMed Id)",id:"2-identifier-doi-or-pubmed-id",level:5},{value:"3. Author, year & experiment name",id:"3-author-year--experiment-name",level:5},{value:"4.Subjects",id:"4subjects",level:5},{value:"5. Coordinates",id:"5-coordinates",level:5},{value:"Common Import errors",id:"common-import-errors",level:4},{value:"Opening a project",id:"opening-a-project",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...r}=e;return(0,a.kt)(p,(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"project"},"Project"),(0,a.kt)("h2",{id:"overview"},"Overview"),(0,a.kt)("p",null,"A project organizes the the various steps needed to create a meta-analysis from start to finish."),(0,a.kt)("p",null,"Within a project you will be able to:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"./Project/Curation"},"Curate"))," studies of interest and select the ones to be included in the meta-analysis"),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"./Project/Extraction"},"Extract"))," the relevant data such as activation coordinates and other meta-data"),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"./Project/Specification"},"Specify"))," the algorithm and corrector you would like to use")),(0,a.kt)("p",null,"In each project, you can define a single studyset (i.e. a collection of related studies defined and used in the extraction phase), and one or more meta-analysis specifications."),(0,a.kt)("h2",{id:"create-a-project"},"Create a project"),(0,a.kt)("p",null,"There are two ways to create a project and do your meta-analysis."),(0,a.kt)("h3",{id:"create-a-blank-project"},"Create a blank project"),(0,a.kt)("p",null,'The first method is to click on the "NEW PROJECT" button in the top navigation menu. This will create a new blank project. You will then be asked to get started on the ',(0,a.kt)("a",{parentName:"p",href:"/compose-docs/guide/Project/Curation"},"curation phase")," in order to progress."),(0,a.kt)("h3",{id:"create-a-project-from-a-sleuth-file"},"Create a project from a sleuth file"),(0,a.kt)("p",null,'The second method of creating a project is to click on the dropdown button on the right of "NEW PROJECT". This will show an option: "Create project from sleuth file". Click on that option and you will be brought to a new page to begin creating a new project from your sleuth file.'),(0,a.kt)("p",null,"Please note that neurosynth-compose requires a specific format in order to proceed with the import. We require that each experiment within the sleuth file ",(0,a.kt)("em",{parentName:"p"},"references either a PubMed ID or a DOI"),". The exact requirements are specified below:"),(0,a.kt)("h4",{id:"sleuth-file-format-requirements"},"Sleuth file format requirements"),(0,a.kt)("h5",{id:"1-file-reference"},"1. File Reference."),(0,a.kt)("p",null,"This reference specifies the coordinate space and must appear at the top of the file. Do not omit the first two forward slashes.",(0,a.kt)("br",null)),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Reference=MNI\n")),(0,a.kt)("h5",{id:"2-identifier-doi-or-pubmed-id"},"2. Identifier (DOI or PubMed Id)"),(0,a.kt)("p",null,"The next lines of the file represents an experiment. We expect an identifier: ",(0,a.kt)("em",{parentName:"p"},"this can either be a DOI, a PubMedId, or both"),". Do not omit the first two forward slashes.",(0,a.kt)("br",null)),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// DOI=10.1038/nmeth.1635\nor\n// PubMedId=21706013\nor\n// DOI=10.1038/nmeth.1635\n// PubMedId=21706013\n")),(0,a.kt)("h5",{id:"3-author-year--experiment-name"},"3. Author, year & experiment name"),(0,a.kt)("p",null,"We expect a line containing the authors, year, and experiment name. The authors + year should be separated from the experiment name by a colon. There can be 1 or more lines representing multiple authors + year and experiment name. Do not omit the first two forward slashes."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Smith et al., 1996: 1 Back vs 0 Back\nor\n// Smith et al., 1996: 1 Back vs 0 Back\n// Graeff et al., 1995: 2 Back vs 1 Back\n// Edwards et al., 2017: 2 Back vs 0 Back\n")),(0,a.kt)("h5",{id:"4subjects"},"4.Subjects"),(0,a.kt)("p",null,"After the lines representing one or more authors + year and experiment name, add a line for the number of subjects in the experiment."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Subjects=23\n")),(0,a.kt)("h5",{id:"5-coordinates"},"5. Coordinates"),(0,a.kt)("p",null,"Add the X, Y, and Z coordinates. Do not add the two forward slashes. The coordinates should be ",(0,a.kt)("strong",{parentName:"p"},"delimited by tabs"),"."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"-27 34 72\n-7 -8 -9\n10 -12 -62\n")),(0,a.kt)("p",null,"Your sleuth file should look something like this:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Reference=MNI\n// DOI=10.1016/1234567\n// PubMedId=67123237\n// Smith et al., 2019: Working Memory vs Baseline\n// Subjects=23\n-2 8 9\n10 -12 -62\n21 -14 -2\n0 -9 16\n\n// DOI=10.217/1234568\n// PubMedId=23782389\n// Roberts et al., 1995: 2 Back vs 1 Back\n// Graeff et al., 2000: 1 Back vs 0 Back\n// Edwards et al., 2017: 2 Back vs 0 Back\n// Subjects=62\n82 12 0\n-27 34 72\n-7 -8 -9\n10 -12 -62\n")),(0,a.kt)("h4",{id:"common-import-errors"},"Common Import errors"),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Either DOI or PMID is required. (Hint: is it in the right format?) Encountered error at <...>"),(0,a.kt)("br",null),"\nThis error indicates that neither a DOI nor PMID was found at the given line. Please check that the DOI or PubMedId given was correctly formulated."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// DOI=10.1038/nmeth.1635\n// PubMedId=21706013\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Unexpected format. (Hint: Did you omit a colon or use a semi colon instead of a colon?) Encountered error at: <...>"),(0,a.kt)("br",null),"\nThis error indicates that neurosynth-compose expected to find a valid author + year and experiment name separated by a colon. Instead, it found a string that it did not recognize (or no experiment name was provided at all). Check that the line of the file indicated in the error message contains a correctly formulated author + year and experiment pairing like:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Roberts et al., 1995: 2 Back vs 1 Back\n")),(0,a.kt)("p",null,"or multiple"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Roberts et al., 1995: 2 Back vs 1 Back\n// Graeff et al., 2000: 1 Back vs 0 Back\n// Edwards et al., 2017: 2 Back vs 0 Back\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Expected valid DOI but did not find one. Encountered error at: <...>")," ",(0,a.kt)("br",null),"\nThis error indicates that the format of the file did not adhere to the expected requirements due to an invalid DOI. Check that the line of the file indicated in the error message contains a correctly formulated DOI like: ",(0,a.kt)("inlineCode",{parentName:"p"},"// DOI=10.1038/nmeth.1635")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"At least one experiment name is required. Encountered error at: <...>"),(0,a.kt)("br",null),"\nThis error indicates that no experiments were found at the line given by the error message. Please check that the sleuth file has at least one author + year and experiment name, or that the format is correctly formatted like: ",(0,a.kt)("inlineCode",{parentName:"p"},"// Smith et al., 2019: Working Memory vs Baseline")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Expected valid PMID but did not find one. Encountered error at: <...>"),(0,a.kt)("br",null),"\nThis error indicates that the format of the file did not adhere to the expected requirements due to an invalid PubMedId. Check that the line of the file indicated in the error message contains a correctly formulated PubMedId like: ",(0,a.kt)("inlineCode",{parentName:"p"},"// PubMedId=21706013")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Encountered multiple DOIs: <...>"),(0,a.kt)("br",null),"\nThis error indicates that multiple DOIs were discovered for the same experiment while parsing the file. Check that the line of the file indicated is part of an experiment that only has one DOI."),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Encountered multiple PubMed IDs: <...>"),(0,a.kt)("br",null),"\nThis error indicates that multiple PubMedIds were discovered for the same experiment while parsing the file. Check that the line of the file indicated is part of an experiment that only has one PubMedId."),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Expected number of subjects. Encountered error at: <...>"),(0,a.kt)("br",null),"\nThis error indicates that the format of the file did not adhere to the expected requirements due to an invalid Subjects field. Check that the line of the file indicated in the error message contains a correctly formulated Subjects field like: ",(0,a.kt)("inlineCode",{parentName:"p"},"// Subjects=23"),". Make sure that it is not separated by a new line."),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Invalid coordinates: <...>"),(0,a.kt)("br",null),"\nThe coordinates given were not in a valid format. Check that the line of the file indicated in the error message contains correctly formulated, tab separated coordinates. They should look like:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"82 12 0\n-27 34 72\n-7 -8 -9\n10 -12 -62\n10 -12 -62\n21 -14 -2\n0 -9 16\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Unexpected format. Encountered error at: <...>"),(0,a.kt)("br",null),"\nThis error indicates that neurosynth-compose tried to extract the author data from the file but was unable to do so either because the author was not provided or the string was formed in such a way that was not recognized. Check that the line of the file indicated in the error message contains a correctly formulated string like: ",(0,a.kt)("inlineCode",{parentName:"p"},"// Roberts et al., 1995: 2 Back vs 1 Back")),(0,a.kt)("h2",{id:"opening-a-project"},"Opening a project"),(0,a.kt)("p",null,"You can open a specific project by logging in, navigating to the\n",(0,a.kt)("a",{parentName:"p",href:"https://compose.neurosynth.org/projects"},"My Projects")," page, and selecting a project you've created."),(0,a.kt)("p",null,'When you view a project for the first time, you\'ll notice that you\'ll default to the "Project" tab. Another tab, "Meta-Analyses", will become visible when you have completed both the curation and extraction phases.'))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fb8c922a.6514f1c4.js b/assets/js/fb8c922a.6514f1c4.js deleted file mode 100644 index 408becb..0000000 --- a/assets/js/fb8c922a.6514f1c4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[9687],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),c=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(r),h=a,m=p["".concat(s,".").concat(h)]||p[h]||u[h]||o;return r?n.createElement(m,i(i({ref:t},d),{},{components:r})):n.createElement(m,i({ref:t},d))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=h;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:a,i[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=r(7462),a=(r(7294),r(3905));const o={title:"Project",sidebar_position:0},i="Project",l={unversionedId:"guide/Project/index",id:"guide/Project/index",title:"Project",description:"Overview",source:"@site/docs/guide/Project/index.mdx",sourceDirName:"guide/Project",slug:"/guide/Project/",permalink:"/compose-docs/guide/Project/",draft:!1,editUrl:"https://github.com/neurostuff/compose-docs/edit/master/docs/guide/Project/index.mdx",tags:[],version:"current",lastUpdatedBy:"James Kent",lastUpdatedAt:1722895109,formattedLastUpdatedAt:"Aug 5, 2024",sidebarPosition:0,frontMatter:{title:"Project",sidebar_position:0},sidebar:"tutorialSidebar",previous:{title:"User Guide",permalink:"/compose-docs/guide/"},next:{title:"Curation",permalink:"/compose-docs/guide/Project/Curation"}},s={},c=[{value:"Overview",id:"overview",level:2},{value:"Create a project",id:"create-a-project",level:2},{value:"Create a blank project",id:"create-a-blank-project",level:3},{value:"Create a project from a sleuth file",id:"create-a-project-from-a-sleuth-file",level:3},{value:"Sleuth file format requirements",id:"sleuth-file-format-requirements",level:4},{value:"1. File Reference.",id:"1-file-reference",level:5},{value:"2. Identifier (DOI or PubMed Id)",id:"2-identifier-doi-or-pubmed-id",level:5},{value:"3. Author, year & experiment name",id:"3-author-year--experiment-name",level:5},{value:"4.Subjects",id:"4subjects",level:5},{value:"5. Coordinates",id:"5-coordinates",level:5},{value:"Common Import errors",id:"common-import-errors",level:4},{value:"Opening a project",id:"opening-a-project",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...r}=e;return(0,a.kt)(p,(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"project"},"Project"),(0,a.kt)("h2",{id:"overview"},"Overview"),(0,a.kt)("p",null,"A project organizes the the various steps needed to create a meta-analysis from start to finish."),(0,a.kt)("p",null,"Within a project you will be able to:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"./Project/Curation"},"Curate"))," studies of interest and select the ones to be included in the meta-analysis"),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"./Project/Extraction"},"Extract"))," the relevant data such as activation coordinates and other meta-data"),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"./Project/Specification"},"Specify"))," the algorithm and corrector you would like to use")),(0,a.kt)("p",null,"In each project, you can define a single studyset (i.e. a collection of related studies defined and used in the extraction phase), and one or more meta-analysis specifications."),(0,a.kt)("h2",{id:"create-a-project"},"Create a project"),(0,a.kt)("p",null,"There are two ways to create a project and do your meta-analysis."),(0,a.kt)("h3",{id:"create-a-blank-project"},"Create a blank project"),(0,a.kt)("p",null,'The first method is to click on the "NEW PROJECT" button in the top navigation menu. This will create a new blank project. You will then be asked to get started on the ',(0,a.kt)("a",{parentName:"p",href:"/compose-docs/guide/Project/Curation"},"curation phase")," in order to progress."),(0,a.kt)("h3",{id:"create-a-project-from-a-sleuth-file"},"Create a project from a sleuth file"),(0,a.kt)("p",null,'The second method of creating a project is to click on the dropdown button on the right of "NEW PROJECT". This will show an option: "Create project from sleuth file". Click on that option and you will be brought to a new page to begin creating a new project from your sleuth file.'),(0,a.kt)("p",null,"Please note that neurosynth-compose requires a specific format in order to proceed with the import. We require that each experiment within the sleuth file ",(0,a.kt)("em",{parentName:"p"},"references either a PubMed ID or a DOI"),". The exact requirements are specified below:"),(0,a.kt)("h4",{id:"sleuth-file-format-requirements"},"Sleuth file format requirements"),(0,a.kt)("h5",{id:"1-file-reference"},"1. File Reference."),(0,a.kt)("p",null,"This reference specifies the coordinate space and must appear at the top of the file. Do not omit the first two forward slashes.",(0,a.kt)("br",null)),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Reference=MNI\n")),(0,a.kt)("h5",{id:"2-identifier-doi-or-pubmed-id"},"2. Identifier (DOI or PubMed Id)"),(0,a.kt)("p",null,"The next lines of the file represents an experiment. We expect an identifier: ",(0,a.kt)("em",{parentName:"p"},"this can either be a DOI, a PubMedId, or both"),". Do not omit the first two forward slashes.",(0,a.kt)("br",null)),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// DOI=10.1038/nmeth.1635\nor\n// PubMedId=21706013\nor\n// DOI=10.1038/nmeth.1635\n// PubMedId=21706013\n")),(0,a.kt)("h5",{id:"3-author-year--experiment-name"},"3. Author, year & experiment name"),(0,a.kt)("p",null,"We expect a line containing the authors, year, and experiment name. The authors + year should be separated from the experiment name by a colon. There can be 1 or more lines representing multiple authors + year and experiment name. Do not omit the first two forward slashes."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Smith et al., 1996: 1 Back vs 0 Back\nor\n// Smith et al., 1996: 1 Back vs 0 Back\n// Graeff et al., 1995: 2 Back vs 1 Back\n// Edwards et al., 2017: 2 Back vs 0 Back\n")),(0,a.kt)("h5",{id:"4subjects"},"4.Subjects"),(0,a.kt)("p",null,"After the lines representing one or more authors + year and experiment name, add a line for the number of subjects in the experiment."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Subjects=23\n")),(0,a.kt)("h5",{id:"5-coordinates"},"5. Coordinates"),(0,a.kt)("p",null,"Add the X, Y, and Z coordinates. Do not add the two forward slashes. The coordinates should be ",(0,a.kt)("strong",{parentName:"p"},"delimited by tabs"),"."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"-27 34 72\n-7 -8 -9\n10 -12 -62\n")),(0,a.kt)("p",null,"Your sleuth file should look something like this:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Reference=MNI\n// DOI=10.1016/1234567\n// PubMedId=67123237\n// Smith et al., 2019: Working Memory vs Baseline\n// Subjects=23\n-2 8 9\n10 -12 -62\n21 -14 -2\n0 -9 16\n\n// DOI=10.217/1234568\n// PubMedId=23782389\n// Roberts et al., 1995: 2 Back vs 1 Back\n// Graeff et al., 2000: 1 Back vs 0 Back\n// Edwards et al., 2017: 2 Back vs 0 Back\n// Subjects=62\n82 12 0\n-27 34 72\n-7 -8 -9\n10 -12 -62\n")),(0,a.kt)("h4",{id:"common-import-errors"},"Common Import errors"),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Either DOI or PMID is required. (Hint: is it in the right format?) Encountered error at <...>"),(0,a.kt)("br",null),"\nThis error indicates that neither a DOI nor PMID was found at the given line. Please check that the DOI or PubMedId given was correctly formulated."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// DOI=10.1038/nmeth.1635\n// PubMedId=21706013\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Unexpected format. (Hint: Did you omit a colon or use a semi colon instead of a colon?) Encountered error at: <...>"),(0,a.kt)("br",null),"\nThis error indicates that neurosynth-compose expected to find a valid author + year and experiment name separated by a colon. Instead, it found a string that it did not recognize (or no experiment name was provided at all). Check that the line of the file indicated in the error message contains a correctly formulated author + year and experiment pairing like:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Roberts et al., 1995: 2 Back vs 1 Back\n")),(0,a.kt)("p",null,"or multiple"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"// Roberts et al., 1995: 2 Back vs 1 Back\n// Graeff et al., 2000: 1 Back vs 0 Back\n// Edwards et al., 2017: 2 Back vs 0 Back\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Expected valid DOI but did not find one. Encountered error at: <...>")," ",(0,a.kt)("br",null),"\nThis error indicates that the format of the file did not adhere to the expected requirements due to an invalid DOI. Check that the line of the file indicated in the error message contains a correctly formulated DOI like: ",(0,a.kt)("inlineCode",{parentName:"p"},"// DOI=10.1038/nmeth.1635")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"At least one experiment name is required. Encountered error at: <...>"),(0,a.kt)("br",null),"\nThis error indicates that no experiments were found at the line given by the error message. Please check that the sleuth file has at least one author + year and experiment name, or that the format is correctly formatted like: ",(0,a.kt)("inlineCode",{parentName:"p"},"// Smith et al., 2019: Working Memory vs Baseline")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Expected valid PMID but did not find one. Encountered error at: <...>"),(0,a.kt)("br",null),"\nThis error indicates that the format of the file did not adhere to the expected requirements due to an invalid PubMedId. Check that the line of the file indicated in the error message contains a correctly formulated PubMedId like: ",(0,a.kt)("inlineCode",{parentName:"p"},"// PubMedId=21706013")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Encountered multiple DOIs: <...>"),(0,a.kt)("br",null),"\nThis error indicates that multiple DOIs were discovered for the same experiment while parsing the file. Check that the line of the file indicated is part of an experiment that only has one DOI."),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Encountered multiple PubMed IDs: <...>"),(0,a.kt)("br",null),"\nThis error indicates that multiple PubMedIds were discovered for the same experiment while parsing the file. Check that the line of the file indicated is part of an experiment that only has one PubMedId."),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Expected number of subjects. Encountered error at: <...>"),(0,a.kt)("br",null),"\nThis error indicates that the format of the file did not adhere to the expected requirements due to an invalid Subjects field. Check that the line of the file indicated in the error message contains a correctly formulated Subjects field like: ",(0,a.kt)("inlineCode",{parentName:"p"},"// Subjects=23"),". Make sure that it is not separated by a new line."),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Invalid coordinates: <...>"),(0,a.kt)("br",null),"\nThe coordinates given were not in a valid format. Check that the line of the file indicated in the error message contains correctly formulated, tab separated coordinates. They should look like:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"82 12 0\n-27 34 72\n-7 -8 -9\n10 -12 -62\n10 -12 -62\n21 -14 -2\n0 -9 16\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Unexpected format. Encountered error at: <...>"),(0,a.kt)("br",null),"\nThis error indicates that neurosynth-compose tried to extract the author data from the file but was unable to do so either because the author was not provided or the string was formed in such a way that was not recognized. Check that the line of the file indicated in the error message contains a correctly formulated string like: ",(0,a.kt)("inlineCode",{parentName:"p"},"// Roberts et al., 1995: 2 Back vs 1 Back")),(0,a.kt)("h2",{id:"opening-a-project"},"Opening a project"),(0,a.kt)("p",null,"You can open a specific project by logging in, navigating to the\n",(0,a.kt)("a",{parentName:"p",href:"https://compose.neurosynth.org/projects"},"My Projects")," page, and selecting a project you've created."),(0,a.kt)("p",null,'When you view a project for the first time, you\'ll notice that you\'ll default to the "Edit Project" tab. Another tab, "View Meta-Analyses", will become visible when you have completed both the curation and extraction phases.'))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.1bfc1d15.js b/assets/js/main.1bfc1d15.js deleted file mode 100644 index cf07ed5..0000000 --- a/assets/js/main.1bfc1d15.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.1bfc1d15.js.LICENSE.txt */ -(self.webpackChunkns_compose_docs=self.webpackChunkns_compose_docs||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(7462),o=n(8356),i=n.n(o),l=n(6887);const s={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"06e91050":[()=>n.e(7081).then(n.bind(n,696)),"@site/blog/2023-08-13-announcing.md",696],"07712b78":[()=>n.e(687).then(n.t.bind(n,2575,19)),"~blog/default/compose-docs-blog-tags-tags-710.json",2575],"0d692ce2":[()=>n.e(8878).then(n.bind(n,6135)),"@site/blog/2023-08-13-announcing.md?truncated=true",6135],17896441:[()=>Promise.all([n.e(532),n.e(210),n.e(7918)]).then(n.bind(n,8945)),"@theme/DocItem",8945],"181c334a":[()=>n.e(7681).then(n.t.bind(n,6724,19)),"~blog/default/compose-docs-blog-tags-hello-5d2.json",6724],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,9963)),"@theme/DocPage",9963],"1f366607":[()=>n.e(8755).then(n.bind(n,7398)),"@site/docs/guide/Project/Specification.md",7398],"1f391b9e":[()=>Promise.all([n.e(532),n.e(210),n.e(3085)]).then(n.bind(n,4247)),"@theme/MDXPage",4247],"2367c334":[()=>Promise.all([n.e(5388),n.e(7068)]).then(n.bind(n,4894)),"@site/docs/tutorial/manual.md",4894],"2a3ffa35":[()=>n.e(5868).then(n.t.bind(n,4211,19)),"~blog/default/compose-docs-blog-tags-neurosynth-800-list.json",4211],"393be207":[()=>n.e(7414).then(n.bind(n,3123)),"@site/src/pages/markdown-page.md",3123],"4c0219fe":[()=>Promise.all([n.e(9348),n.e(6464),n.e(3730)]).then(n.bind(n,5267)),"@site/docs/tutorial/advanced/mkda_association.md",5267],"4d19d8bc":[()=>n.e(7999).then(n.bind(n,8522)),"@site/docs/introduction/faq.md",8522],"545fdba5":[()=>n.e(724).then(n.bind(n,9431)),"@site/blog/2023-11-28-tutorials.md?truncated=true",9431],"5d9fd5dd":[()=>Promise.all([n.e(532),n.e(5388),n.e(6808)]).then(n.bind(n,1903)),"@site/docs/introduction/team.md",1903],"6875c492":[()=>Promise.all([n.e(532),n.e(210),n.e(2529),n.e(8610)]).then(n.bind(n,1714)),"@theme/BlogTagsPostsPage",1714],"6b032824":[()=>n.e(7929).then(n.t.bind(n,7330,19)),"~blog/default/compose-docs-blog-archive-f50.json",7330],"6f393b9a":[()=>n.e(6965).then(n.t.bind(n,3769,19)),"/home/runner/work/compose-docs/compose-docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"708a3a2f":[()=>Promise.all([n.e(9348),n.e(6464),n.e(114),n.e(1397)]).then(n.bind(n,6048)),"@site/docs/introduction/index.mdx",6048],"73114bfe":[()=>n.e(2544).then(n.t.bind(n,4469,19)),"/home/runner/work/compose-docs/compose-docs/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],"74a1c914":[()=>n.e(2550).then(n.t.bind(n,5226,19)),"~blog/default/compose-docs-blog-e95.json",5226],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"8cd595a7":[()=>n.e(606).then(n.bind(n,549)),"@site/docs/guide/Explore/Searching.md",549],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9e4087bc":[()=>n.e(3608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a1b719ab:[()=>n.e(4530).then(n.bind(n,4576)),"@site/docs/guide/glossary.md",4576],a3562974:[()=>n.e(9735).then(n.bind(n,9428)),"@site/docs/guide/Project/Curation.md",9428],a58a4ef5:[()=>n.e(3840).then(n.bind(n,7092)),"@site/blog/2023-11-28-tutorials.md",7092],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(210),n.e(2529),n.e(3089)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a925dbbb:[()=>n.e(5770).then(n.bind(n,712)),"@site/docs/guide/Running/index.mdx",712],b0bf1abf:[()=>n.e(3078).then(n.bind(n,9206)),"@site/docs/introduction/ecosystem.md",9206],b270851a:[()=>n.e(1854).then(n.bind(n,4490)),"@site/docs/tutorial/automated.md",4490],b652e2a8:[()=>Promise.all([n.e(9348),n.e(6464),n.e(3793)]).then(n.bind(n,2372)),"@site/blog/2024-1-31-new-year.md?truncated=true",2372],bbe80a6e:[()=>n.e(4602).then(n.t.bind(n,9524,19)),"~blog/default/compose-docs-blog-tags-hello-5d2-list.json",9524],c2abd45e:[()=>Promise.all([n.e(532),n.e(9348),n.e(114),n.e(2309)]).then(n.bind(n,473)),"@site/docs/tutorial/index.mdx",473],c4a0799b:[()=>Promise.all([n.e(532),n.e(1010)]).then(n.bind(n,9126)),"@site/docs/guide/index.mdx",9126],c4e6ab22:[()=>n.e(6626).then(n.bind(n,8535)),"@site/docs/guide/Explore/index.mdx",8535],ccc49370:[()=>Promise.all([n.e(532),n.e(210),n.e(2529),n.e(6103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],d4ab88d4:[()=>n.e(3544).then(n.t.bind(n,5745,19)),"/home/runner/work/compose-docs/compose-docs/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],f08627b1:[()=>Promise.all([n.e(9348),n.e(6464),n.e(4330)]).then(n.bind(n,7446)),"@site/blog/2024-1-31-new-year.md",7446],f72e48a3:[()=>Promise.all([n.e(532),n.e(5326)]).then(n.bind(n,3065)),"@site/docs/tutorial/advanced/index.mdx",3065],f8f8f85a:[()=>n.e(519).then(n.bind(n,8965)),"@site/docs/guide/Project/Extraction.md",8965],fb8c922a:[()=>n.e(9687).then(n.bind(n,9820)),"@site/docs/guide/Project/index.mdx",9820],ffb62be8:[()=>n.e(3555).then(n.t.bind(n,8842,19)),"~blog/default/compose-docs-blog-tags-neurosynth-800.json",8842]};function u(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var c=n(9670),d=n(226);function f(e,t){if("*"===e)return i()({loading:u,loader:()=>n.e(4972).then(n.bind(n,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=l[`${e}-${t}`],f={},p=[],m=[],g=(0,c.Z)(o);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=s[n];r&&(f[t]=r[0],p.push(r[1]),m.push(r[2]))})),i().Map({loading:u,loader:f,modules:p,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const l=n.split(".");l.slice(0,-1).forEach((e=>{o=o[e]})),o[l[l.length-1]]=a}));const l=i.__comp;delete i.__comp;const s=i.__context;return delete i.__context,r.createElement(d.z,{value:s},r.createElement(l,(0,a.Z)({},i,n)))}})}const p=[{path:"/compose-docs/blog",component:f("/compose-docs/blog","ec2"),exact:!0},{path:"/compose-docs/blog/2024/1/31/new-year",component:f("/compose-docs/blog/2024/1/31/new-year","5db"),exact:!0},{path:"/compose-docs/blog/announcing-ns-compose",component:f("/compose-docs/blog/announcing-ns-compose","221"),exact:!0},{path:"/compose-docs/blog/archive",component:f("/compose-docs/blog/archive","d3e"),exact:!0},{path:"/compose-docs/blog/tags",component:f("/compose-docs/blog/tags","d1a"),exact:!0},{path:"/compose-docs/blog/tags/hello",component:f("/compose-docs/blog/tags/hello","69d"),exact:!0},{path:"/compose-docs/blog/tags/neurosynth",component:f("/compose-docs/blog/tags/neurosynth","da5"),exact:!0},{path:"/compose-docs/blog/tutorials-updates",component:f("/compose-docs/blog/tutorials-updates","6ac"),exact:!0},{path:"/compose-docs/markdown-page",component:f("/compose-docs/markdown-page","b80"),exact:!0},{path:"/compose-docs/",component:f("/compose-docs/","665"),routes:[{path:"/compose-docs/",component:f("/compose-docs/","480"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/guide",component:f("/compose-docs/guide","a5b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/guide/Explore",component:f("/compose-docs/guide/Explore","14a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/guide/Explore/Searching",component:f("/compose-docs/guide/Explore/Searching","f35"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/guide/glossary",component:f("/compose-docs/guide/glossary","297"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/guide/Project",component:f("/compose-docs/guide/Project","89a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/guide/Project/Curation",component:f("/compose-docs/guide/Project/Curation","491"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/guide/Project/Extraction",component:f("/compose-docs/guide/Project/Extraction","18b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/guide/Project/Specification",component:f("/compose-docs/guide/Project/Specification","1b0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/guide/Running",component:f("/compose-docs/guide/Running","bee"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/introduction/ecosystem",component:f("/compose-docs/introduction/ecosystem","eda"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/introduction/faq",component:f("/compose-docs/introduction/faq","071"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/introduction/team",component:f("/compose-docs/introduction/team","2f4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/tutorial",component:f("/compose-docs/tutorial","739"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/tutorial/advanced",component:f("/compose-docs/tutorial/advanced","cac"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/tutorial/advanced/mkda_association",component:f("/compose-docs/tutorial/advanced/mkda_association","f08"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/tutorial/automated",component:f("/compose-docs/tutorial/automated","62e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/compose-docs/tutorial/manual",component:f("/compose-docs/tutorial/manual","6d5"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"*",component:f("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(7294);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},9383:(e,t,n)=>{"use strict";var r=n(7294),a=n(3935),o=n(3727),i=n(405),l=n(412);const s=[n(2497),n(3310),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(7462),m=n(5742),g=n(2263),h=n(4996),b=n(6668),v=n(1944),y=n(4711),w=n(9727),k=n(3320),E=n(197);function S(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,g.Z)(),n=(0,y.l)();return r.createElement(m.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function x(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.Z)(),a=function(){const{siteConfig:{url:e}}=(0,g.Z)(),{pathname:t}=(0,c.TH)();return e+(0,h.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(m.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function C(){const{i18n:{currentLocale:e}}=(0,g.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(m.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(x,null),r.createElement(S,null),r.createElement(E.Z,{tag:k.HX,locale:e}),r.createElement(m.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const _=new Map;function T(e){if(_.has(e.pathname))return{...e,pathname:_.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return _.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return _.set(e.pathname,t),{...e,pathname:t}}var A=n(8934),L=n(8940);function P(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r(t.default?.[e]??t[e])?.(...n)));return()=>a.forEach((e=>e?.()))}const R=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1));document.getElementById(e)?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),P("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function N(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class O extends r.Component{constructor(e){super(e),this.previousLocation=void 0,this.routeUpdateCleanupCb=void 0,this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?P("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),N(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(R,{previousLocation:this.previousLocation,location:t},r.createElement(c.AW,{location:t,render:()=>e}))}}const I=O,D="docusaurus-base-url-issue-banner-container",M="docusaurus-base-url-issue-banner",F="docusaurus-base-url-issue-banner-suggestion-container",j="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${j}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${j}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${D}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{window[j]=!1}),[]),r.createElement(r.Fragment,null,!l.Z.canUseDOM&&r.createElement(m.Z,null,r.createElement("script",null,B(e))),r.createElement("div",{id:D}))}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?r.createElement(z,null):null}function $(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,g.Z)(),i=(0,h.Z)(e),{htmlLang:l,direction:s}=o[a];return r.createElement(m.Z,null,r.createElement("html",{lang:l,dir:s}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var q=n(4763);function H(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return r.createElement(q.Z,null,r.createElement(L.M,null,r.createElement(A.t,null,r.createElement(f,null,r.createElement($,null),r.createElement(C,null),r.createElement(U,null),r.createElement(I,{location:T(t)},e)))))}var G=n(6887);const Z=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();(document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode)?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var V=n(9670);const W=new Set,Y=new Set,K=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,Q={prefetch(e){if(!(e=>!K()&&!Y.has(e)&&!W.has(e))(e))return!1;W.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,V.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Z(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!K()&&!Y.has(e))(e)&&(Y.add(e),N(e))},X=Object.freeze(Q);if(l.Z.canUseDOM){window.docusaurus=X;const e=a.hydrate;N(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(H,null))),document.getElementById("__docusaurus"))}))}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>c,M:()=>d});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/compose-docs/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/compose-docs/","mainDocId":"introduction/index","docs":[{"id":"guide/Explore/index","path":"/compose-docs/guide/Explore/","sidebar":"tutorialSidebar"},{"id":"guide/Explore/Searching","path":"/compose-docs/guide/Explore/Searching","sidebar":"tutorialSidebar"},{"id":"guide/glossary","path":"/compose-docs/guide/glossary","sidebar":"tutorialSidebar"},{"id":"guide/index","path":"/compose-docs/guide/","sidebar":"tutorialSidebar"},{"id":"guide/Project/Curation","path":"/compose-docs/guide/Project/Curation","sidebar":"tutorialSidebar"},{"id":"guide/Project/Extraction","path":"/compose-docs/guide/Project/Extraction","sidebar":"tutorialSidebar"},{"id":"guide/Project/index","path":"/compose-docs/guide/Project/","sidebar":"tutorialSidebar"},{"id":"guide/Project/Specification","path":"/compose-docs/guide/Project/Specification","sidebar":"tutorialSidebar"},{"id":"guide/Running/index","path":"/compose-docs/guide/Running/","sidebar":"tutorialSidebar"},{"id":"introduction/ecosystem","path":"/compose-docs/introduction/ecosystem","sidebar":"tutorialSidebar"},{"id":"introduction/faq","path":"/compose-docs/introduction/faq","sidebar":"tutorialSidebar"},{"id":"introduction/index","path":"/compose-docs/","sidebar":"tutorialSidebar"},{"id":"introduction/team","path":"/compose-docs/introduction/team","sidebar":"tutorialSidebar"},{"id":"tutorial/advanced/index","path":"/compose-docs/tutorial/advanced/","sidebar":"tutorialSidebar"},{"id":"tutorial/advanced/mkda_association","path":"/compose-docs/tutorial/advanced/mkda_association","sidebar":"tutorialSidebar"},{"id":"tutorial/automated","path":"/compose-docs/tutorial/automated","sidebar":"tutorialSidebar"},{"id":"tutorial/index","path":"/compose-docs/tutorial/","sidebar":"tutorialSidebar"},{"id":"tutorial/manual","path":"/compose-docs/tutorial/manual","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/compose-docs/","label":"Introduction"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"2.3.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.3.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.3.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.3.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.3.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.3.1"}}}'),u={siteConfig:a.Z,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},c=r.createContext(u);function d(e){let{children:t}=e;return r.createElement(c.Provider,{value:u},t)}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(7294),a=n(412),o=n(5742),i=n(7676);function l(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"50vh",width:"100%",fontSize:"20px"}},r.createElement("h1",null,"This page crashed."),r.createElement("p",null,t.message),r.createElement("button",{type:"button",onClick:n},"Try again"))}function s(e){let{error:t,tryAgain:n}=e;return r.createElement(c,{fallback:()=>r.createElement(l,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(i.Z,null,r.createElement(l,{error:t,tryAgain:n})))}const u=e=>r.createElement(s,e);class c extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??u)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(405);function o(e){return r.createElement(a.ql,e)}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>g});var r=n(7462),a=n(7294),o=n(3727),i=n(8780),l=n(2263),s=n(3919),u=n(412);const c=a.createContext({collectLink:()=>{}}),d=()=>(0,a.useContext)(c);var f=n(4996);const p=e=>e.startsWith("/");function m(e,t){let{isNavLink:n,to:c,href:m,activeClassName:g,isActive:h,"data-noBrokenLinkCheck":b,autoAddBaseUrl:v=!0,...y}=e;const{siteConfig:{trailingSlash:w,baseUrl:k}}=(0,l.Z)(),{withBaseUrl:E}=(0,f.C)(),S=d(),x=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>x.current));const C=c||m;const _=(0,s.Z)(C),T=C?.replace("pathname://","");let A=void 0!==T?(L=T,v&&p(L)?E(L):L):void 0;var L;A&&_&&(A=(0,i.applyTrailingSlash)(A,{trailingSlash:w,baseUrl:k}));const P=(0,a.useRef)(!1),R=n?o.OL:o.rU,N=u.Z.canUseIntersectionObserver,O=(0,a.useRef)(),I=()=>{P.current||null==A||(window.docusaurus.preload(A),P.current=!0)};(0,a.useEffect)((()=>(!N&&_&&null!=A&&window.docusaurus.prefetch(A),()=>{N&&O.current&&O.current.disconnect()})),[O,A,N,_]);const D=A?.startsWith("#")??!1,M=!A||!_||D;return M||b||S.collectLink(A),M?a.createElement("a",(0,r.Z)({ref:x,href:A},C&&!_&&{target:"_blank",rel:"noopener noreferrer"},y)):a.createElement(R,(0,r.Z)({},y,{onMouseEnter:I,onTouchStart:I,innerRef:e=>{x.current=e,N&&e&&_&&(O.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(O.current.unobserve(e),O.current.disconnect(),null!=A&&window.docusaurus.prefetch(A))}))})),O.current.observe(e))},to:A},n&&{isActive:h,activeClassName:g}))}const g=a.forwardRef(m)},1875:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r=()=>null},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s,I:()=>l});var r=n(7294);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(7529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function s(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const l=i({message:t,id:n});return r.createElement(r.Fragment,null,a(l,o))}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t=".",n={};return function e(a,o){Object.entries(a).forEach((a=>{let[i,l]=a;const s=o?`${o}${t}${i}`:i;r(l)?e(l,s):n[s]=l}))}(e),n}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(7294);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>g,gA:()=>f,_r:()=>c,Jo:()=>h,zh:()=>d,yW:()=>m,gB:()=>p});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e)?.[t];if(!r&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return r}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function p(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function g(e){const t=d(e),{pathname:n}=(0,r.TH)();return s(t,n)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(7410),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.Z,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.Z)},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const a={iconExternalLink:"iconExternalLink_nPIU"};function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},7676:(e,t,n)=>{"use strict";n.d(t,{Z:()=>it});var r=n(7294),a=n(6010),o=n(4763),i=n(1944),l=n(7462),s=n(6550),u=n(5999),c=n(5936);const d="docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,s.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,u.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":m},r.createElement("a",(0,l.Z)({},e,{href:`#${d}`,onClick:a}),t))}var h=n(5281),b=n(9727);const v={skipToContent:"skipToContent_fXgn"};function y(){return r.createElement(g,{className:v.skipToContent})}var w=n(6668),k=n(9689);function E(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...s}=e;return r.createElement("svg",(0,l.Z)({viewBox:"0 0 15 15",width:t,height:n},s),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S={closeButton:"closeButton_CVFx"};function x(e){return r.createElement("button",(0,l.Z)({type:"button","aria-label":(0,u.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",S.closeButton,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}const C={content:"content_knG7"};function _(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,l.Z)({},e,{className:(0,a.Z)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function A(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:T.announcementBar,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:T.announcementBarPlaceholder}),r.createElement(_,{className:T.announcementBarContent}),i&&r.createElement(x,{onClick:n,className:T.announcementBarClose}))}var L=n(2961),P=n(2466);var R=n(902),N=n(3102);const O=r.createContext(null);function I(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,N.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,R.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(O.Provider,{value:n},t)}function D(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function M(){const e=(0,r.useContext)(O);if(!e)throw new R.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,N.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=M();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var j=n(2949),B=n(2389);function z(e){return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function U(e){return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,value:n,onChange:o}=e;const i=(0,B.Z)(),l=(0,u.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===n?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)($.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled),type:"button",onClick:()=>o("dark"===n?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite"},r.createElement(z,{className:(0,a.Z)($.toggleIcon,$.lightToggleIcon)}),r.createElement(U,{className:(0,a.Z)($.toggleIcon,$.darkToggleIcon)})))}const H=r.memo(q);function G(e){let{className:t}=e;const n=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,j.I)();return n?null:r.createElement(H,{className:t,value:a,onChange:o})}var Z=n(1327);function V(){return r.createElement(Z.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function W(){const e=(0,L.e)();return r.createElement("button",{type:"button","aria-label":(0,u.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(E,{color:"var(--ifm-color-emphasis-600)"}))}function Y(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(V,null),r.createElement(G,{className:"margin-right--md"}),r.createElement(W,null))}var K=n(9960),Q=n(4996),X=n(3919);function J(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var ee=n(9471);function te(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:s,isDropdownLink:u,prependBaseUrlToHref:c,...d}=e;const f=(0,Q.Z)(a),p=(0,Q.Z)(t),m=(0,Q.Z)(o,{forcePrependBaseUrl:!0}),g=i&&o&&!(0,X.Z)(o),h=s?{dangerouslySetInnerHTML:{__html:s}}:{children:r.createElement(r.Fragment,null,i,g&&r.createElement(ee.Z,u&&{width:12,height:12}))};return o?r.createElement(K.Z,(0,l.Z)({href:c?m:o},d,h)):r.createElement(K.Z,(0,l.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?J(n,t.pathname):t.pathname.startsWith(p)},d,h))}function ne(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(te,(0,l.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function re(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(te,(0,l.Z)({className:(0,a.Z)("menu__link",t)},o)))}function ae(e){let{mobile:t=!1,position:n,...a}=e;const o=t?re:ne;return r.createElement(o,(0,l.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var oe=n(6043),ie=n(8596),le=n(2263);function se(e,t){return e.some((e=>function(e,t){return!!(0,ie.Mg)(e.to,t)||!!J(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ue(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const u=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{u.current&&!u.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[u]),r.createElement("div",{ref:u,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c})},r.createElement(te,(0,l.Z)({"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},s,{onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))}}),s.children??s.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,n)=>r.createElement(xe,(0,l.Z)({isDropdownItem:!0,onKeyDown:e=>{if(n===t.length-1&&"Tab"===e.key){e.preventDefault(),d(!1);const t=u.current.nextElementSibling;if(t){(t instanceof HTMLAnchorElement?t:t.querySelector("a")).focus()}}},activeClassName:"dropdown__link--active"},e,{key:n}))))))}function ce(e){let{items:t,className:n,position:o,onClick:i,...u}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=se(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,oe.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(te,(0,l.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},u,{onClick:e=>{e.preventDefault(),p()}}),u.children??u.label),r.createElement(oe.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(xe,(0,l.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function de(e){let{mobile:t=!1,...n}=e;const a=t?ce:ue;return r.createElement(a,n)}var fe=n(4711);function pe(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const me={iconLanguage:"iconLanguage_nlXk"};var ge=n(1875);const he={searchBox:"searchBox_ZlJk"};function be(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,he.searchBox)},t)}var ve=n(143),ye=n(2802);const we=e=>e.docs.find((t=>t.id===e.mainDocId));var ke=n(373);const Ee=e=>e.docs.find((t=>t.id===e.mainDocId));const Se={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),f=(0,fe.l)(),{search:p,hash:m}=(0,s.TH)(),g=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${m}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],h=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(de,(0,l.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(pe,{className:me.iconLanguage}),h),items:g}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(be,{className:n},r.createElement(ge.Z,null))},dropdown:de,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const l=i?"li":"div";return r.createElement(l,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,ve.Iw)(a),s=(0,ye.vY)(t,a);return null===s?null:r.createElement(ae,(0,l.Z)({exact:!0},o,{isActive:()=>i?.path===s.path||!!i?.sidebar&&i.sidebar===s.sidebar,label:n??s.id,to:s.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,ve.Iw)(a),s=(0,ye.oz)(t,a).link;if(!s)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(ae,(0,l.Z)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??s.label,to:s.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,ye.lO)(a)[0],s=t??i.label,u=n??we(i).path;return r.createElement(ae,(0,l.Z)({},o,{label:s,to:u}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...c}=e;const{search:d,hash:f}=(0,s.TH)(),p=(0,ve.Iw)(n),m=(0,ve.gB)(n),{savePreferredVersionName:g}=(0,ke.J)(n),h=[...o,...m.map((e=>{const t=p.alternateDocVersions[e.name]??Ee(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>g(e.name)}})),...i],b=(0,ye.lO)(n)[0],v=t&&h.length>1?(0,u.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&h.length>1?void 0:Ee(b).path;return h.length<=1?r.createElement(ae,(0,l.Z)({},c,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(de,(0,l.Z)({},c,{mobile:t,label:v,to:y,items:h,isActive:a?()=>!1:void 0}))}};function xe(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Se[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function Ce(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(xe,(0,l.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function _e(e){return r.createElement("button",(0,l.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(u.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function Te(){const e=0===(0,w.L)().navbar.items.length,t=M();return r.createElement(r.Fragment,null,!e&&r.createElement(_e,{onClick:()=>t.hide()}),t.content)}function Ae(){const e=(0,L.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(F,{header:r.createElement(Y,null),primaryMenu:r.createElement(Ce,null),secondaryMenu:r.createElement(Te,null)}):null}const Le={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Pe(e){return r.createElement("div",(0,l.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Re(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:l,isNavbarVisible:s}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,P.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:l,"aria-label":(0,u.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Le.navbarHideable,!s&&Le.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Pe,{onClick:i.toggle}),r.createElement(Ae,null))}const Ne="right";function Oe(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,l.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function Ie(){const{toggle:e,shown:t}=(0,L.e)();return r.createElement("button",{onClick:e,"aria-label":(0,u.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(Oe,null))}const De={colorModeToggle:"colorModeToggle_DEke"};function Me(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(xe,(0,l.Z)({},e,{key:t})))))}function Fe(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function je(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??Ne)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(Fe,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(Ie,null),r.createElement(V,null),r.createElement(Me,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(Me,{items:a}),r.createElement(G,{className:De.colorModeToggle}),!o&&r.createElement(be,null,r.createElement(ge.Z,null)))})}function Be(){return r.createElement(Re,null,r.createElement(je,null))}function ze(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...s}=t,u=(0,Q.Z)(n),c=(0,Q.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(K.Z,(0,l.Z)({className:"footer__link-item"},a?{href:i?c:a}:{to:u},s),o,a&&!(0,X.Z)(a)&&r.createElement(ee.Z,null))}function Ue(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(ze,{item:t}))}function $e(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(Ue,{key:t,item:e})))))}function qe(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement($e,{key:t,column:e}))))}function He(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function Ge(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(ze,{item:t})}function Ze(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(Ge,{item:e}),t.length!==n+1&&r.createElement(He,null))))))}function Ve(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(qe,{columns:t}):r.createElement(Ze,{links:t})}var We=n(941);const Ye={footerLogoLink:"footerLogoLink_BH7S"};function Ke(e){let{logo:t}=e;const{withBaseUrl:n}=(0,Q.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(We.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function Qe(e){let{logo:t}=e;return t.href?r.createElement(K.Z,{href:t.href,className:Ye.footerLogoLink,target:t.target},r.createElement(Ke,{logo:t})):r.createElement(Ke,{logo:t})}function Xe(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Je(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function et(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(Je,{style:o,links:n&&n.length>0&&r.createElement(Ve,{links:n}),logo:a&&r.createElement(Qe,{logo:a}),copyright:t&&r.createElement(Xe,{copyright:t})})}const tt=r.memo(et),nt=(0,R.Qc)([j.S,k.pl,P.OC,ke.L5,i.VC,function(e){let{children:t}=e;return r.createElement(N.n2,null,r.createElement(L.M,null,r.createElement(I,null,t)))}]);function rt(e){let{children:t}=e;return r.createElement(nt,null,t)}function at(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("p",null,t.message),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},r.createElement(u.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again when the page crashed"},"Try again"))))))}const ot={mainWrapper:"mainWrapper_z2l0"};function it(e){const{children:t,noFooter:n,wrapperClassName:l,title:s,description:u}=e;return(0,b.t)(),r.createElement(rt,null,r.createElement(i.d,{title:s,description:u}),r.createElement(y,null),r.createElement(A,null),r.createElement(Be,null),r.createElement("div",{id:d,className:(0,a.Z)(h.k.wrapper.main,ot.mainWrapper,l)},r.createElement(o.Z,{fallback:e=>r.createElement(at,e)},t)),!n&&r.createElement(tt,null))}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(7462),a=n(7294),o=n(9960),i=n(4996),l=n(2263),s=n(6668),u=n(941);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},l=a.createElement(u.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},l):l}function d(e){const{siteConfig:{title:t}}=(0,l.Z)(),{navbar:{title:n,logo:u}}=(0,s.L)(),{imageClassName:d,titleClassName:f,...p}=e,m=(0,i.Z)(u?.href||"/"),g=n?"":t,h=u?.alt??g;return a.createElement(o.Z,(0,r.Z)({to:m},p,u?.target&&{target:u.target}),u&&a.createElement(c,{logo:u,alt:h,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(5742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7462),a=n(7294),o=n(6010),i=n(2389),l=n(2949);const s={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function u(e){const t=(0,i.Z)(),{colorMode:n}=(0,l.I)(),{sources:u,className:c,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.Z)({key:e,src:u[e],alt:d,className:(0,o.Z)(s.themedImage,s[`themedImage--${e}`],c)},f)))))}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>l,z:()=>g});var r=n(7462),a=n(7294),o=n(412);const i="ease-in-out";function l(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const s={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function c(e,t){const n=t?s:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function d(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=r?.duration??function(e){const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??i}`,height:`${t}px`}}function l(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return c(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=s.height,e.style.overflow=s.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function f(e){if(!o.Z.canUseDOM)return e?s:u}function p(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:s}=e;const u=(0,a.useRef)(null);return d({collapsibleRef:u,collapsed:n,animation:o}),a.createElement(t,{ref:u,style:s?void 0:f(n),onTransitionEnd:e=>{"height"===e.propertyName&&(c(u.current,n),i?.(n))},className:l},r)}function m(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[l,s]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&s(t)}),[o,t]),o?a.createElement(p,(0,r.Z)({},n,{collapsed:l})):null}function g(e){let{lazy:t,...n}=e;const r=t?m:p;return a.createElement(r,n)}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>p});var r=n(7294),a=n(2389),o=n(12),i=n(902),l=n(6668);const s=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),c=()=>"true"===s.get(),d=e=>s.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&c()));(0,r.useEffect)((()=>{o(c())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&d(!1),!r&&c()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>h,S:()=>g});var r=n(7294),a=n(412),o=n(902),i=n(12),l=n(6668);const s=r.createContext(void 0),u="theme",c=(0,i.WA)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,p=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{c.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[a,o]=(0,r.useState)(p(e));(0,r.useEffect)((()=>{t&&c.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&m(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),c.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=c.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[a,i])}();return r.createElement(s.Provider,{value:n},t)}function h(){const e=(0,r.useContext)(s);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>h});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(2802),s=n(902),u=n(12);const c=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,u.WA)(c(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(c(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(c(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function m(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=m();return r.createElement(p.Provider,{value:n},t)}function h(e){let{children:t}=e;return l.cE?r.createElement(g,null,t):r.createElement(r.Fragment,null,t)}function b(){const e=(0,r.useContext)(p);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,b:()=>l});var r=n(7294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function l(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function s(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,q:()=>i});var r=n(7294),a=n(902);const o=r.createContext(null);function i(e){let{children:t,version:n}=e;return r.createElement(o.Provider,{value:n},t)}function l(){const e=(0,r.useContext)(o);if(null===e)throw new a.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),l=(n(1688),n(902));function s(e){!function(e){const t=(0,i.k6)(),n=(0,l.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6668);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=d();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>s,n2:()=>i});var r=n(7294),a=n(902);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function l(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function s(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=i,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>u});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(){return a.Z.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}const s=!1;function u(){const[e,t]=(0,r.useState)((()=>s?"ssr":l()));return(0,r.useEffect)((()=>{function e(){t(l())}const n=s?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},2802:(e,t,n)=>{"use strict";n.d(t,{MN:()=>C,Wl:()=>m,_F:()=>v,cE:()=>f,jA:()=>g,xz:()=>p,hI:()=>x,lO:()=>k,vY:()=>S,oz:()=>E,s1:()=>w});var r=n(7294),a=n(6550),o=n(8790),i=n(143),l=n(373),s=n(4477),u=n(1116);function c(e){return Array.from(new Set(e))}var d=n(8596);const f=!!i._r;function p(e){const t=(0,s.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=m(t);if(e)return e}}}function g(){const{pathname:e}=(0,a.TH)(),t=(0,u.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=y({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),b=(e,t)=>e.some((e=>v(e,t)));function v(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||b(e.items,t))}function y(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,u.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?y({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>c([t,n,a].filter(Boolean))),[t,n,a])}function E(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\n Available sidebar ids are:\n - ${Object.keys(t).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`DocNavbarItem: couldn't find any doc with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function x(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,l=i.find((e=>(0,a.LX)(r.pathname,e)));if(!l)return null;const s=l.sidebar,u=s?n.docsSidebars[s]:void 0;return{docElement:(0,o.H)(i),sidebarName:s,sidebarItems:u}}function C(e){return e.filter((e=>"category"!==e.type||!!m(e)))}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>c,VC:()=>p});var r=n(7294),a=n(6010),o=n(5742),i=n(226);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(4996),u=n(2263);function c(e){let{title:t,description:n,keywords:a,image:i,children:l}=e;const c=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,c),t&&r.createElement("meta",{property:"og:title",content:c}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),l)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),l=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:l},r.createElement(o.Z,null,r.createElement("html",{className:l})),n)}function p(e){let{children:t}=e;const n=l(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>u,Ql:()=>s,i6:()=>l,zX:()=>o});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function s(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>s,RF:()=>d});var r=n(7294),a=n(412),o=n(2389),i=n(902);const l=r.createContext(void 0);function s(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(l.Provider,{value:n},t)}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const c=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=c();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294),n(1688);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var r=n(2263),a=n(6550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.Z)(),{pathname:i}=(0,a.TH)(),l=o===n?e:e.replace(`/${o}/`,"/"),s=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${l}`:`${l}${e}/`}(r)}${s}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="post-content";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}})},6010:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta});const a=function(){for(var e,t,n=0,a="";n{"use strict";n.d(t,{lX:()=>w,q_:()=>_,ob:()=>p,PP:()=>A,Ep:()=>f});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(8776);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,g(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),g=s(n),h=0;h{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},7418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,a){for(var o,i,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),s=1;s{var r=n(5826);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=f;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,l="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(i,p),i=p+d.length,f)l+=f[1];else{var m=e[i],g=n[2],h=n[3],b=n[4],v=n[5],y=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=g&&null!=m&&m!==g,E="+"===y||"*"===y,S="?"===y||"*"===y,x=n[2]||c,C=b||v;r.push({name:h||o++,prefix:g||"",delimiter:x,optional:S,repeat:E,partial:k,asterisk:!!w,pattern:C?u(C):w?".*":"[^"+s(x)+"]+?"})}}return i{"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);S+=E.value.length,E=E.next){var x=E.value;if(t.length>e.length)return;if(!(x instanceof a)){var C,_=1;if(v){if(!(C=o(k,S,e,b))||C.index>=e.length)break;var T=C.index,A=C.index+C[0].length,L=S;for(L+=E.value.length;T>=L;)L+=(E=E.next).value.length;if(S=L-=E.value.length,E.value instanceof a)continue;for(var P=E;P!==t.tail&&(Ld.reach&&(d.reach=I);var D=E.prev;if(N&&(D=s(t,D,N),S+=N.length),u(t,D,_),E=s(t,D,new a(f,h?r.tokenize(R,h):R,y,R)),O&&s(t,E,O),_>1){var M={cause:f+","+m,reach:I};i(e,t,n,E.prev,S,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var l=f(/^\{$/,/^\}$/);if(-1===l)continue;for(var s=n;s=0&&p(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function s(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function u(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,s(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},d=s(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=l(i++,r)););return c[n]=a,n})).join(""),n,r),f=Object.keys(c);return i=0,function e(t){for(var n=0;n=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,l=o.indexOf(a);if(-1!==l){++i;var s=o.substring(0,l),d=u(c[a]),p=o.substring(l+a.length),m=[];if(s&&m.push(s),m.push(d),p){var g=[p];e(g),m.push.apply(m,g)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var h=r.content;Array.isArray(h)?e(h):e([h])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},l=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var s=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(s=i(t[r-1])+s,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",s,null,s)}a.content&&"string"!=typeof a.content&&l(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||l(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++a;var g=f.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),v=[];g&&v.push.apply(v,i([g])),v.push(h),b&&v.push.apply(v,i([b])),"string"==typeof u?l.splice.apply(l,[s,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},9901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),a=n(9642),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6726:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6726},6500:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in a(t,o),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var f,p=r(s),m=c;a(m);){for(var g in f={},m){var h=s[g];t(h&&h.modify,(function(e){e in d&&(f[e]=!0)}))}for(var b in d)if(!(b in c))for(var v in p(b))if(v in c){f[b]=!0;break}for(var y in m=f)c[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var a,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)a=r(e);else{var f=i(c.map((function(e){var t=u(e);return delete s[e],t})));o?a=o(f,(function(){return r(e)})):r(e)}return l[e]=a}for(var c in n)u(c);var d=[];for(var f in s)d.push(l[f]);return i(d)}(p,c,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(7418),o=n(3840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n