diff --git a/next/@types/network.ts b/next/@types/network.ts index 1f3ee438..bca75ef9 100644 --- a/next/@types/network.ts +++ b/next/@types/network.ts @@ -149,7 +149,7 @@ export interface NetworkContext { export interface AtlasModule { Description: ElementType; - Inclusion: ElementType; + Inclusion?: ElementType; } export interface NetworkModule { diff --git a/next/components/HCABioNetworks/Network/Atlas/components/Overview/components/MainColumn/mainColumn.tsx b/next/components/HCABioNetworks/Network/Atlas/components/Overview/components/MainColumn/mainColumn.tsx index 7519cfc2..94bcc2fd 100644 --- a/next/components/HCABioNetworks/Network/Atlas/components/Overview/components/MainColumn/mainColumn.tsx +++ b/next/components/HCABioNetworks/Network/Atlas/components/Overview/components/MainColumn/mainColumn.tsx @@ -20,7 +20,7 @@ import { Table, Toolbar } from "../../../../../../../common/Table/table.styles"; import { SectionText } from "../../../../../../components/Section/section.styles"; export const MainColumn = (): JSX.Element => { - const { Description } = useAtlasContent(); + const { Description } = useAtlasContent() || {}; const { atlas } = useAtlas(); const { integratedAtlases } = atlas; return ( @@ -31,7 +31,11 @@ export const MainColumn = (): JSX.Element => { - + {Description ? ( + + ) : ( + "No atlas description available." + )} diff --git a/next/constants/datasets.ts b/next/constants/datasets.ts index e0534f3d..6d805db7 100644 --- a/next/constants/datasets.ts +++ b/next/constants/datasets.ts @@ -69,7 +69,338 @@ export const DATASETS = { musculoskeletal: [], "nervous-system": [], oral: [], - organoid: [], + "organoid-brain": [ + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Developmental excitation-inhibition imbalance underlying psychoses revealed by single-cell analyses of discordant twins-derived cerebral organoids", + { + doi: "10.1038/s41380-020-0844-z", + officialHcaPublication: null, + publicationTitle: + "Developmental excitation-inhibition imbalance underlying psychoses revealed by single-cell analyses of discordant twins-derived cerebral organoids", + publicationUrl: "https://doi.org/10.1038/s41380-020-0844-z", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "hESC-Derived Thalamic Organoids Form Reciprocal Projections When Fused with Cortical Organoids", + { + doi: "10.1016/j.stem.2018.12.015", + officialHcaPublication: null, + publicationTitle: + "hESC-Derived Thalamic Organoids Form Reciprocal Projections When Fused with Cortical Organoids", + publicationUrl: "https://doi.org/10.1016/j.stem.2018.12.015", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Generation of Functional Human 3D Cortico-Motor Assembloids", + { + doi: "10.1016/j.cell.2020.11.017", + officialHcaPublication: null, + publicationTitle: + "Generation of Functional Human 3D Cortico-Motor Assembloids", + publicationUrl: "https://doi.org/10.1016/j.cell.2020.11.017", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Generation of human striatal organoids and cortico-striatal assembloids from human pluripotent stem cells", + { + doi: "10.1038/s41587-020-00763-w", + officialHcaPublication: null, + publicationTitle: + "Generation of human striatal organoids and cortico-striatal assembloids from human pluripotent stem cells", + publicationUrl: "https://doi.org/10.1038/s41587-020-00763-w", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Gruffi: an algorithm for computational removal of stressed cells from brain organoid transcriptomic datasets", + { + doi: "10.15252/embj.2022111118", + officialHcaPublication: null, + publicationTitle: + "Gruffi: an algorithm for computational removal of stressed cells from brain organoid transcriptomic datasets", + publicationUrl: "https://doi.org/10.15252/embj.2022111118", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Midbrain_organoid_Treutlein" + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Proper acquisition of cell class identity in organoids allows definition of fate specification programs of the human cerebral cortex", + { + doi: "10.1016/j.cell.2022.09.010", + officialHcaPublication: null, + publicationTitle: + "Proper acquisition of cell class identity in organoids allows definition of fate specification programs of the human cerebral cortex", + publicationUrl: "https://doi.org/10.1016/j.cell.2022.09.010", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Autism genes converge on asynchronous development of shared neuron classes", + { + doi: "10.1038/s41586-021-04358-6", + officialHcaPublication: null, + publicationTitle: + "Autism genes converge on asynchronous development of shared neuron classes", + publicationUrl: "https://doi.org/10.1038/s41586-021-04358-6", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Generation of hypothalamic arcuate organoids from human induced pluripotent stem cells", + { + doi: "10.1016/j.stem.2021.04.006", + officialHcaPublication: null, + publicationTitle: + "Generation of hypothalamic arcuate organoids from human induced pluripotent stem cells", + publicationUrl: "https://doi.org/10.1016/j.stem.2021.04.006", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Individual brain organoids reproducibly form cell diversity of the human cerebral cortex", + { + doi: "10.1038/s41586-019-1289-x", + officialHcaPublication: null, + publicationTitle: + "Individual brain organoids reproducibly form cell diversity of the human cerebral cortex", + publicationUrl: "https://doi.org/10.1038/s41586-019-1289-x", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Human Astrocyte Maturation Captured in 3D Cerebral Cortical Spheroids Derived from Pluripotent Stem Cells", + { + doi: "10.1016/j.neuron.2017.07.035", + officialHcaPublication: null, + publicationTitle: + "Human Astrocyte Maturation Captured in 3D Cerebral Cortical Spheroids Derived from Pluripotent Stem Cells", + publicationUrl: "https://doi.org/10.1016/j.neuron.2017.07.035", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Cell stress in cortical organoids impairs molecular subtype specification", + { + doi: "10.1038/s41586-020-1962-0", + officialHcaPublication: null, + publicationTitle: + "Cell stress in cortical organoids impairs molecular subtype specification", + publicationUrl: "https://doi.org/10.1038/s41586-020-1962-0", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Differentiation and maturation of oligodendrocytes in human three-dimensional neural cultures", + { + doi: "10.1038/s41593-018-0316-9", + officialHcaPublication: null, + publicationTitle: + "Differentiation and maturation of oligodendrocytes in human three-dimensional neural cultures", + publicationUrl: "https://doi.org/10.1038/s41593-018-0316-9", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Human CNS barrier-forming organoids with cerebrospinal fluid production", + { + doi: "10.1126/science.aaz5626", + officialHcaPublication: null, + publicationTitle: + "Human CNS barrier-forming organoids with cerebrospinal fluid production", + publicationUrl: "https://doi.org/10.1126/science.aaz5626", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Assembly of functionally integrated human forebrain spheroids", + { + doi: "10.1038/nature22330", + officialHcaPublication: null, + publicationTitle: + "Assembly of functionally integrated human forebrain spheroids", + publicationUrl: "https://doi.org/10.1038/nature22330", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Cerebellar_organoid_Quadrato" + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Sliced Human Cortical Organoids for Modeling Distinct Cortical Layer Formation", + { + doi: "10.1016/j.stem.2020.02.002", + officialHcaPublication: null, + publicationTitle: + "Sliced Human Cortical Organoids for Modeling Distinct Cortical Layer Formation", + publicationUrl: "https://doi.org/10.1016/j.stem.2020.02.002", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Complex Oscillatory Waves Emerging from Cortical Organoids Model Early Human Brain Network Development", + { + doi: "10.1016/j.stem.2019.08.002", + officialHcaPublication: null, + publicationTitle: + "Complex Oscillatory Waves Emerging from Cortical Organoids Model Early Human Brain Network Development", + publicationUrl: "https://doi.org/10.1016/j.stem.2019.08.002", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Reliability of human cortical organoid generation", + { + doi: "10.1038/s41592-018-0255-0", + officialHcaPublication: null, + publicationTitle: "Reliability of human cortical organoid generation", + publicationUrl: "https://doi.org/10.1038/s41592-018-0255-0", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Single-cell transcriptomics captures features of human midbrain development and dopamine neuron diversity in brain organoids", + { + doi: "10.1038/s41467-021-27464-5", + officialHcaPublication: null, + publicationTitle: + "Single-cell transcriptomics captures features of human midbrain development and dopamine neuron diversity in brain organoids", + publicationUrl: "https://doi.org/10.1038/s41467-021-27464-5", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Inferring and perturbing cell fate regulomes in human brain organoids", + { + doi: "10.1038/s41586-022-05279-8", + officialHcaPublication: null, + publicationTitle: + "Inferring and perturbing cell fate regulomes in human brain organoids", + publicationUrl: "https://doi.org/10.1038/s41586-022-05279-8", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "ELAVL4, splicing, and glutamatergic dysfunction precede neuron loss in MAPT mutation cerebral organoids", + { + doi: "10.1016/j.cell.2021.07.003", + officialHcaPublication: null, + publicationTitle: + "ELAVL4, splicing, and glutamatergic dysfunction precede neuron loss in MAPT mutation cerebral organoids", + publicationUrl: "https://doi.org/10.1016/j.cell.2021.07.003", + } + ), + buildDataset( + ["--"], + 0, + ["--"], + ["--"], + ["--"], + "Androgens increase excitatory neurogenic potential in human brain organoids", + { + doi: "10.1038/s41586-021-04330-4", + officialHcaPublication: null, + publicationTitle: + "Androgens increase excitatory neurogenic potential in human brain organoids", + publicationUrl: "https://doi.org/10.1038/s41586-021-04330-4", + } + ), + ], pancreas: [], reproduction: [], skin: [], diff --git a/next/constants/networks.ts b/next/constants/networks.ts index 7155fcc5..0d137a08 100644 --- a/next/constants/networks.ts +++ b/next/constants/networks.ts @@ -16,19 +16,24 @@ import * as immuneContent from "../content/immune"; import * as kidneyContent from "../content/kidney"; import * as liverContent from "../content/liver"; import * as lungContent from "../content/lung"; -import * as atlasLung from "../content/lung/atlases/lung"; +import * as lungNetworkLungAtlas from "../content/lung/atlases/lung"; import * as musculoskeletalContent from "../content/musculoskeletal"; import * as nervousSystemContent from "../content/nervous-system"; -import * as altasBrain from "../content/nervous-system/atlases/brain"; -import * as atlasCortex from "../content/nervous-system/atlases/cortex"; +import * as nervousSystemNetworkBrainAtlas from "../content/nervous-system/atlases/brain"; +import * as nervousSystemNetworkCortexAtlas from "../content/nervous-system/atlases/cortex"; import * as oralContent from "../content/oral"; import * as organoidContent from "../content/organoid"; +import * as organoidNetworkBrainNetwork from "../content/organoid/atlases/brain"; import * as pancreasContent from "../content/pancreas"; import * as reproductionContent from "../content/reproduction"; import * as skinContent from "../content/skin"; import BICCN_PUBLICATIONS from "./biccn-publications.json"; import { DATASETS } from "./datasets"; +const BRAIN_V1_0 = "brain-v1-0"; +const CORTEX_V1_0 = "cortex-v1-0"; +const LUNG_V1_0 = "lung-v1-0"; + export const NETWORKS: Network[] = [ { atlases: [], @@ -270,9 +275,9 @@ export const NETWORKS: Network[] = [ ], externalDatasets: DATASETS.lung, integratedAtlases: [], - key: "lung-v1-0", + key: LUNG_V1_0, name: "The integrated Human Lung Cell Atlas (HLCA) v1.0", - path: "lung-v1-0", + path: LUNG_V1_0, publications: [ { doi: "https://doi.org/10.1038/s41591-023-02327-2", @@ -353,9 +358,9 @@ export const NETWORKS: Network[] = [ datasets: [], externalDatasets: [], integratedAtlases: [], - key: "brain-v1-0", + key: BRAIN_V1_0, name: "Human Brain Cell Atlas v1.0", - path: "brain-v1-0", + path: BRAIN_V1_0, publications: [ { doi: "https://doi.org/10.1126/science.add7046", @@ -381,9 +386,9 @@ export const NETWORKS: Network[] = [ datasets: [], externalDatasets: [], integratedAtlases: [], - key: "cortex-v1-0", + key: CORTEX_V1_0, name: "Human Cortical Cell Atlas v1.0", - path: "cortex-v1-0", + path: CORTEX_V1_0, publications: [ { doi: "https://doi.org/10.1126/science.adf6812", @@ -446,7 +451,51 @@ export const NETWORKS: Network[] = [ path: "oral", }, { - atlases: [], + atlases: [ + { + code: [ + { + label: "https://github.com/theislab/neural_organoid_atlas", + url: "https://github.com/theislab/neural_organoid_atlas", + }, + { + label: "https://devsystemslab.github.io/HNOCA-tools", + url: "https://devsystemslab.github.io/HNOCA-tools", + }, + ], + contact: { email: "barbara.treutlein@bsse.ethz.ch" }, + coordinators: [ + { fullName: "Barbara Treutlein" }, + { fullName: "Gray Camp" }, + { fullName: "Fabian Theis" }, + { fullName: "Zhisong He" }, + { fullName: "Leander Dony" }, + { fullName: "Jonas Fleck" }, + ], + cxgId: "de379e5f-52d0-498c-9801-0f850823c847", + datasets: [ + "c4e11369-78d4-4d29-ba8e-b67907c4c65c", + "005d611a-14d5-4fbf-846e-571a1f874f70", + "645b20c9-5ed0-4500-86b5-7aef770d010a", + "da77bd06-43ae-4012-a774-e4d62797df51", + ], + externalDatasets: DATASETS["organoid-brain"], + integratedAtlases: [], + key: BRAIN_V1_0, + name: "An integrated transcriptomic cell atlas of human neural organoids v1.0", + path: BRAIN_V1_0, + publications: [ + { + doi: "https://doi.org/10.1101/2023.10.05.561097", + label: "He et al. (2023) bioRxiv", + }, + ], + subTitle: "", // TODO(cc) sub title. + summaryCellCount: 1767674, // First CXG dataset cell count TODO(cc) taken from dataset "The Human Neural Organoid Atlas". + updatedAt: "", + version: "v1", + }, + ], contact: { email: "organoids@humancellatlas.org" }, coordinators: [ { fullName: "Christoph Bock" }, @@ -566,8 +615,17 @@ export const NETWORK_ICONS: { [key in NetworkKey]: string } = { skin: "/hca-bio-networks/icons/skin.png", }; -export const ATLAS_CONTENT: { [key in AtlasKey]: AtlasModule } = { - "brain-v1-0": altasBrain, - "cortex-v1-0": atlasCortex, - "lung-v1-0": atlasLung, +export const NETWORK_ATLAS_CONTENT: Partial< + Record +> = { + lung: { + [LUNG_V1_0]: lungNetworkLungAtlas, + }, + "nervous-system": { + [BRAIN_V1_0]: nervousSystemNetworkBrainAtlas, + [CORTEX_V1_0]: nervousSystemNetworkCortexAtlas, + }, + organoid: { + [BRAIN_V1_0]: organoidNetworkBrainNetwork, + }, }; diff --git a/next/content/organoid/atlases/brain/index.ts b/next/content/organoid/atlases/brain/index.ts new file mode 100644 index 00000000..c6a1aec2 --- /dev/null +++ b/next/content/organoid/atlases/brain/index.ts @@ -0,0 +1,3 @@ +import Description from "./v1.0/description.mdx"; + +export { Description }; diff --git a/next/content/organoid/atlases/brain/v1.0/description.mdx b/next/content/organoid/atlases/brain/v1.0/description.mdx new file mode 100644 index 00000000..92f2c248 --- /dev/null +++ b/next/content/organoid/atlases/brain/v1.0/description.mdx @@ -0,0 +1,13 @@ +Neural tissues generated from human pluripotent stem cells in vitro (known as neural organoids) are becoming useful tools to study human brain development, evolution and disease. The characterization of neural organoids using single-cell genomic methods has revealed a large diversity of neural cell types with molecular signatures similar to those observed in primary human brain tissue. However, it is unclear which domains of the human nervous system are covered by existing protocols. It is also difficult to quantitatively assess variation between protocols and the specific cell states in organoids as compared to primary counterparts. Single-cell transcriptome data from primary tissue and neural organoids derived with guided or unguided approaches and under diverse conditions combined with large-scale integrative analyses make it now possible to address these challenges. Recent advances in computational methodology enable the generation of integrated atlases across many data sets. Here, we integrated 36 single-cell transcriptomics data sets spanning 26 protocols into one integrated human neural organoid cell atlas (HNOCA) totaling over 1.7 million cells. We harmonize cell type annotations by incorporating reference data sets from the developing human brain. By mapping to the developing human brain reference, we reveal which primary cell states have been generated in vitro, and which are under-represented. We further compare transcriptomic profiles of neuronal populations in organoids to their counterparts in the developing human brain. To support rapid organoid phenotyping and quantitative assessment of new protocols, we provide a programmatic interface to browse the atlas and query new data sets, and showcase the power of the atlas to annotate new query data sets and evaluate new organoid protocols. Taken together, the HNOCA will be useful to assess the fidelity of organoids, characterize perturbed and diseased states and facilitate protocol development in the future. + +- An 1.7m cell integrated neural organoid atlas composed of 36 neural organoid scRNA-seq datasets using 26 different neural organoid generation protocols. +- Mapping organoid datasets to primary fetal brain identified brain regions which are currently underrepresented in neural organoid datasets. +- The HNOCA allows straightforward mapping of new organoid datasets for contextualisation of new protocols. + +### HNOCA + +The HNOCA includes data from 36 neural organoid datasets and includes harmonised cell type annotations, as well as curated biological, and technical metadata. The datasets in the HNCOA were integrated using scPoli. The HNOCA can be used as a reference to map new datasets onto using scArches, allowing the transfer of the harmonized cell-type labels to any new dataset. + +### HNOCA Extended + +The full HLCA includes 5 further datasets that have been recently published. These datasets were mapped onto HNOCA with scArches, and include consensus cell type labels transferred from the HNOCA onto the mapped datasets. diff --git a/next/contexts/atlasContext.ts b/next/contexts/atlasContext.ts index 45831f0e..305efd94 100644 --- a/next/contexts/atlasContext.ts +++ b/next/contexts/atlasContext.ts @@ -1,4 +1,4 @@ -import { ATLAS_CONTENT, NETWORKS } from "constants/networks"; +import { NETWORKS, NETWORK_ATLAS_CONTENT } from "constants/networks"; import { createContext, useContext } from "react"; import { AtlasContext as AtlasContextType, @@ -21,10 +21,10 @@ export const useAtlas = (): AtlasContextType => { return useContext(AtlasContext); }; -export const useAtlasContent = (): AtlasModule => { +export const useAtlasContent = (): AtlasModule | undefined => { const { atlas: { key }, + network: { key: networkKey }, } = useAtlas(); - - return ATLAS_CONTENT[key]; + return NETWORK_ATLAS_CONTENT[networkKey]?.[key]; };