Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • 2024/bielefeld-cebitec
  • l-sanfilippo/bielefeld-ce-bi-tec-temp
2 results
Show changes
Showing
with 1654 additions and 613 deletions
import BibtexParser from "../components/makeSources";
export default function LiuInterviewSources(){
return (
<div>
<BibtexParser bibtexSources={bibtexSources} />
</div>
);
}
const bibtexSources = [
`
@article{eins,
title = {Search-and-replace genome editing without double-strand breaks or donor DNA},
volume = {576},
rights = {2019 The Author(s), under exclusive licence to Springer Nature Limited},
ISSN = {1476-4687},
DOI = {10.1038/s41586-019-1711-4},
abstractNote = {Most genetic variants that contribute to disease are challenging to correct efficiently and without excess byproducts. Here we describe prime editing, a versatile and precise genome editing method that directly writes new genetic information into a specified DNA site using a catalytically impaired Cas9 endonuclease fused to an engineered reverse transcriptase, programmed with a prime editing guide RNA (pegRNA) that both specifies the target site and encodes the desired edit. We performed more than 175 edits in human cells, including targeted insertions, deletions, and all 12 types of point mutation, without requiring double-strand breaks or donor DNA templates. We used prime editing in human cells to correct, efficiently and with few byproducts, the primary genetic causes of sickle cell disease and Tay–Sachs disease; to install a protective transversion in PRNP; and to insert various tags and epitopes precisely into target loci. Four human cell lines and primary post-mitotic mouse cortical neurons support prime editing with varying efficiencies. Prime editing shows higher or similar efficiency and fewer byproducts than homology-directed repair, has complementary strengths and weaknesses compared to base editing, and induces much lower off-target editing than Cas9 nuclease at known Cas9 off-target sites. Prime editing substantially expands the scope and capabilities of genome editing, and in principle could correct up to 89% of known genetic variants associated with human diseases.},
number = {7785},
journal = {Nature},
publisher = {Nature Publishing Group},
author = {Anzalone, Andrew V. and Randolph, Peyton B. and Davis, Jessie R. and Sousa, Alexander A. and Koblan, Luke W. and Levy, Jonathan M. and Chen, Peter J. and Wilson, Christopher and Newby, Gregory A. and Raguram, Aditya and Liu, David R.},
year = {2019},
month = {dec},
pages = {149–157},
language = {en}
}`,`
@article{zwei,
title = {Phage-assisted evolution and protein engineering yield compact, efficient prime editors},
volume = {186},
ISSN = {0092-8674, 1097-4172},
DOI = {10.1016/j.cell.2023.07.039},
number = {18},
journal = {Cell},
publisher = {Elsevier},
author = {Doman, Jordan L. and Pandey, Smriti and Neugebauer, Monica E. and An, Meirui and Davis, Jessie R. and Randolph, Peyton B. and McElroy, Amber and Gao, Xin D. and Raguram, Aditya and Richter, Michelle F. and Everette, Kelcee A. and Banskota, Samagya and Tian, Kathryn and Tao, Y. Allen and Tolar, Jakub and Osborn, Mark J. and Liu, David R.},
year = {2023},
month = {aug},
pages = {3983-4002.e26},
language = {English}
}`,`
@article{drei,
title = {Phage-assisted continuous and non-continuous evolution},
volume = {15},
rights = {2020 The Author(s), under exclusive licence to Springer Nature Limited},
ISSN = {1750-2799},
DOI = {10.1038/s41596-020-00410-3},
abstractNote = {Directed evolution, which applies the principles of Darwinian evolution to a laboratory setting, is a powerful strategy for generating biomolecules with diverse and tailored properties. This technique can be implemented in a highly efficient manner using continuous evolution, which enables the steps of directed evolution to proceed seamlessly over many successive generations with minimal researcher intervention. Phage-assisted continuous evolution (PACE) enables continuous directed evolution in bacteria by mapping the steps of Darwinian evolution onto the bacteriophage life cycle and allows directed evolution to occur on much faster timescales compared to conventional methods. This protocol provides detailed instructions on evolving proteins using PACE and phage-assisted non-continuous evolution (PANCE) and includes information on the preparation of selection phage and host cells, the assembly of a continuous flow apparatus and the performance and analysis of evolution experiments. This protocol can be performed in as little as 2 weeks to complete more than 100 rounds of evolution (complete cycles of mutation, selection and replication) in a single PACE experiment.},
number = {12},
journal = {Nature Protocols},
publisher = {Nature Publishing Group},
author = {Miller, Shannon M. and Wang, Tina and Liu, David R.},
year = {2020},
month = {dec},
pages = {4101–4127},
language = {en}
}`,`
@article{vier,
title = {Systematic optimization of prime editing for the efficient functional correction of CFTR F508del in human airway epithelial cells},
rights = {2024 The Author(s)},
ISSN = {2157-846X},
DOI = {10.1038/s41551-024-01233-3},
abstractNote = {Prime editing (PE) enables precise and versatile genome editing without requiring double-stranded DNA breaks. Here we describe the systematic optimization of PE systems to efficiently correct human Cystic Fibrosis (CF) transmembrane conductance regulator (CFTR) F508del, a three-nucleotide deletion that is the predominant cause of CF. By combining six efficiency optimizations for PE—engineered PE guide RNAs, the PEmax architecture, the transient expression of a dominant-negative mismatch repair protein, strategic silent edits, PE6 variants and proximal ‘dead’ single-guide RNAs—we increased correction efficiencies for CFTR F508del from less than 0.5% in HEK293T cells to 58% in immortalized bronchial epithelial cells (a 140-fold improvement) and to 25% in patient-derived airway epithelial cells. The optimizations also resulted in minimal off-target editing, in edit-to-indel ratios 3.5-fold greater than those achieved by nuclease-mediated homology-directed repair, and in the functional restoration of CFTR ion channels to over 50% of wild-type levels (similar to those achieved via combination treatment with elexacaftor, tezacaftor and ivacaftor) in primary airway cells. Our findings support the feasibility of a durable one-time treatment for CF.},
journal = {Nature Biomedical Engineering},
publisher = {Nature Publishing Group},
author = {Sousa, Alexander A. and Hemez, Colin and Lei, Lei and Traore, Soumba and Kulhankova, Katarina and Newby, Gregory A. and Doman, Jordan L. and Oye, Keyede and Pandey, Smriti and Karp, Philip H. and McCray, Paul B. and Liu, David R.},
year = {2024},
month = {jul},
pages = {1–15},
language = {en}
}`
]
\ No newline at end of file
import BibtexParser from "../components/makeSources";
export default function MattijsInterviewSources(){
return (
<div>
<BibtexParser bibtexSources={bibtexSources} />
</div>
);
}
const bibtexSources = [
`
@article{Bulcaen_Kortleven_Liu_Maule_Dreano_Kelly_Ensinck_Thierie_Smits_Ciciani_et,
title = {
Prime editing functionally corrects Cystic Fibrosis-causing CFTR mutations in
human organoids and airway epithelial cells
},
author = {
Bulcaen, Mattijs and Kortleven, Phéline and Liu, Ronald B. and Maule, Giulia
and Dreano, Elise and Kelly, Mairead and Ensinck, Marjolein M. and Thierie,
Sam and Smits, Maxime and Ciciani, Matteo and Hatton, Aurelie and Chevalier,
Benoit and Ramalho, Anabela S. and Casadevall i Solvas, Xavier and Debyser,
Zeger and Vermeulen, François and Gijsbers, Rik and Sermet-Gaudelus, Isabelle
and Cereseto, Anna and Carlon, Marianne S.
},
year = 2024,
month = may,
journal = {Cell Reports Medicine},
pages = 101544,
doi = {10.1016/j.xcrm.2024.101544},
issn = {2666-3791},
abstractnote = {
Prime editing is a recent, CRISPR-derived genome editing technology capable
of introducing precise nucleotide substitutions, insertions, and deletions.
Here, we present prime editing approaches to correct L227R- and N1303K-CFTR,
two mutations that cause Cystic Fibrosis and are not eligible for current
market-approved modulator therapies. We show that, upon DNA correction of the
CFTR gene, the complex glycosylation, localization, and, most importantly,
function of the CFTR protein are restored in HEK293T and 16HBE cell lines.
These findings were subsequently validated in patient-derived rectal
organoids and human nasal epithelial cells. Through analysis of predicted and
experimentally identified candidate off-target sites in primary stem cells,
we confirm previous reports on the high prime editor (PE) specificity and its
potential for a curative CF gene editing therapy. To facilitate future
screening of genetic strategies in a translational CF model, a machine
learning algorithm was developed for dynamic quantification of CFTR function
in organoids (DETECTOR: “detection of targeted editing of CFTR in
organoids”).
}
}
`
]
\ No newline at end of file
import BibtexParser from "../components/makeSources";
export default function MethodSources(){
return (
<div>
<BibtexParser bibtexSources={bibtexSources} />
</div>
);
}
const bibtexSources = [
`
@article{article,
title = {Die Entwicklung der Patch-Clamp-Technik},
author = {Roth, F. C., Numberger, M., and Draguhn, A.},
year = 2023,
month = {{}},
journal = {Springer eBooks},
volume = {{}},
pages = {1--14},
doi = {10.1007/978-3-662-66053-9}
}`,
`
@book{dallas_patch_2021,
title = {Patch clamp electrophysiology: methods and protocols},
shorttitle = {Patch clamp electrophysiology},
year = 2021,
publisher = {Humana Press},
address = {New York},
series = {Methods in molecular biology},
number = 2188,
isbn = {978-1-07-160818-0},
language = {en},
editor = {Dallas, Mark and Bell, Damian}
}
`,
`
@article{PRIEL20073893,
title = {
Ionic Requirements for Membrane-Glass Adhesion and Giga Seal Formation in
Patch-Clamp Recording
},
author = {
Avi Priel and Ziv Gil and Vincent T. Moy and Karl L. Magleby and Shai D.
Silberberg
},
year = 2007,
journal = {Biophysical Journal},
volume = 92,
number = 11,
pages = {3893--3900},
doi = {10.1529/biophysj.106.099119},
issn = {0006-3495},
url = {https://www.sciencedirect.com/science/article/pii/S000634950771189X},
abstract = {
Patch-clamp recording has revolutionized the study of ion channels,
transporters, and the electrical activity of small cells. Vital to this
method is formation of a tight seal between glass recording pipette and cell
membrane. To better understand seal formation and improve practical
application of this technique, we examine the effects of divalent ions,
protons, ionic strength, and membrane proteins on adhesion of membrane to
glass and on seal resistance using both patch-clamp recording and atomic
force microscopy. We find that H+, Ca2+, and Mg2+ increase adhesion force
between glass and membrane (lipid and cellular), decrease the time required
to form a tight seal, and increase seal resistance. In the absence of H+
(10−10M) and divalent cations (<10−8M), adhesion forces are greatly reduced
and tight seals are not formed. H+ (10−7M) promotes seal formation in the
absence of divalent cations. A positive correlation between adhesion force
and seal formation indicates that high resistance seals are associated with
increased adhesion between membrane and glass. A similar ionic dependence of
the adhesion of lipid membranes and cell membranes to glass indicates that
lipid membranes without proteins are sufficient for the action of ions on
adhesion.
}
}
`,
`
@article{10.3389/fphar.2017.00195,
title = {
Development of Automated Patch Clamp Technique to Investigate CFTR Chloride
Channel Function
},
author = {
Billet, Arnaud and Froux, Lionel and Hanrahan, John W. and Becq, Frederic
},
year = 2017,
journal = {Frontiers in Pharmacology},
volume = 8,
doi = {10.3389/fphar.2017.00195},
issn = {1663-9812},
url = {
https://www.frontiersin.org/journals/pharmacology/articles/10.3389/fphar.2017.00195
}
}
`,
`
@article{DuBridge_Tang_Hsia_Leong_Miller_Calos_1987,
title = {
Analysis of mutation in human cells by using an Epstein-Barr virus shuttle
system.
},
author = {
DuBridge, R B and Tang, P and Hsia, H C and Leong, P M and Miller, J H and
Calos, M P
},
year = 1987,
month = jan,
journal = {Molecular and Cellular Biology},
volume = 7,
number = 1,
pages = {379–387},
issn = {0270-7306},
abstractnote = {
We developed highly sensitive shuttle vector systems for detection of
mutations formed in human cells using autonomously replicating derivatives of
Epstein-Barr virus (EBV). EBV vectors carrying the bacterial lacI gene as the
target for mutation were established in human cells and later returned to
Escherichia coli for rapid detection and analysis of lacI mutations. The
majority of the clonal cell lines created by establishment of the lacI-EBV
vector show spontaneous LacI- frequencies of less than 10(-5) and are
suitable for studies of induced mutation. The ability to isolate clonal lines
represents a major advantage of the EBV vectors over transiently replicating
shuttle vectors (such as those derived from simian virus 40) for the study of
mutation. The DNA sequence changes were determined for 61 lacI mutations
induced by exposure of one of the cell lines to N-nitroso-N-methylurea. A
total of 33 of 34 lacI nonsense mutations and 26 of 27 missense mutations
involve G X C to A X T transitions. These data provide support for the
mutational theory of cancer.
}
}
`,
`
@article{Qin_Zhang_Clift_Hulur_Xiang_Ren_Lahn_2010,
title = {
Systematic Comparison of Constitutive Promoters and the Doxycycline-Inducible
Promoter
},
author = {
Qin, Jane Yuxia and Zhang, Li and Clift, Kayla L. and Hulur, Imge and Xiang,
Andy Peng and Ren, Bing-Zhong and Lahn, Bruce T.
},
year = 2010,
month = may,
journal = {PLOS ONE},
publisher = {Public Library of Science},
volume = 5,
number = 5,
pages = {e10611},
doi = {10.1371/journal.pone.0010611},
issn = {1932-6203},
abstractnote = {
Constitutive promoters are used routinely to drive ectopic gene expression.
Here, we carried out a systematic comparison of eight commonly used
constitutive promoters (SV40, CMV, UBC, EF1A, PGK and CAGG for mammalian
systems, and COPIA and ACT5C for Drosophila systems). We also included in the
comparison the TRE promoter, which can be activated by the rtTA
transcriptional activator in a doxycycline-inducible manner. To make our
findings representative, we conducted the comparison in a variety of cell
types derived from several species. We found that these promoters vary
considerably from one another in their strength. Most promoters have fairly
consistent strengths across different cell types, but the CMV promoter can
vary considerably from cell type to cell type. At maximal induction, the TRE
promoter is comparable to a strong constitutive promoter. These results
should facilitate more rational choices of promoters in ectopic gene
expression studies.
},
language = {en}
}
`,
`
@article{BULCAEN2024101544,
title = {Prime editing functionally corrects Cystic Fibrosis-causing CFTR mutations in human organoids and airway epithelial cells},
journal = {Cell Reports Medicine},
volume = {5},
number = {5},
pages = {101544},
year = {2024},
issn = {2666-3791},
doi = {https://doi.org/10.1016/j.xcrm.2024.101544},
url = {https://www.sciencedirect.com/science/article/pii/S2666379124002349},
author = {Mattijs Bulcaen and Phéline Kortleven and Ronald B. Liu and Giulia Maule and Elise Dreano and Mairead Kelly and Marjolein M. Ensinck and Sam Thierie and Maxime Smits and Matteo Ciciani and Aurelie Hatton and Benoit Chevalier and Anabela S. Ramalho and Xavier {Casadevall i Solvas} and Zeger Debyser and François Vermeulen and Rik Gijsbers and Isabelle Sermet-Gaudelus and Anna Cereseto and Marianne S. Carlon},
keywords = { Cystic Fibrosis, prime editing, patient-derived organoids, human nasal epithelial cells, gene editing, machine learning, DETEOR, CRISPR},
abstract = {Summary
Prime editing is a recent, CRISPR-derived genome editing technology capable of introducing precise nucleotide substitutions, insertions, and deletions. Here, we present prime editing approaches to correct L227R- and N1303K-CFTR, two mutations that cause Cystic Fibrosis and are not eligible for current market-approved modulator therapies. We show that, upon DNA correction of the CFTR gene, the complex glycosylation, localization, and, most importantly, function of the CFTR protein are restored in HEK293T and 16HBE cell lines. These findings were subsequently validated in patient-derived rectal organoids and human nasal epithelial cells. Through analysis of predicted and experimentally identified candidate off-target sites in primary stem cells, we confirm previous reports on the high prime editor (PE) specificity and its potential for a curative CF gene editing therapy. To facilitate future screening of genetic strategies in a translational CF model, a machine learning algorithm was developed for dynamic quantification of CFTR function in organoids (DETECTOR: “detection of targeted editing of CFTR in organoids”).}
}
new8.
@article{Ensinck_Deeersmaecker_Heylen_Ramalho_Gijsbers_Far,
title = {
Phenotyping of Rare CFTR Mutations Reveals Distinct Trafficking and
Functional Defects
},
author = {
Ensinck, Marjolein and De Keersmaecker, Liesbeth and Heylen, Lise and
Ramalho, Anabela S. and Gijsbers, Rik and Farré, Ricard and De Boeck, Kris
and Christ, Frauke and Debyser, Zeger and Carlon, Marianne S.
},
year = 2020,
month = mar,
journal = {Cells},
volume = 9,
number = 3,
pages = 754,
doi = {10.3390/cells9030754},
issn = {2073-4409},
abstractnote = {
Background. The most common CFTR mutation, F508del, presents with multiple
cellular defects. However, the possible multiple defects caused by many rarer
CFTR mutations are not well studied. We investigated four rare CFTR mutations
E60K, G85E, E92K and A455E against well-characterized mutations, F508del and
G551D, and their responses to corrector VX-809 and/or potentiator VX-770.
Methods. Using complementary assays in HEK293T stable cell lines, we
determined maturation by Western blotting, trafficking by flow cytometry
using extracellular 3HA-tagged CFTR, and function by halide-sensitive YFP
quenching. In the forskolin-induced swelling assay in intestinal organoids,
we validated the effect of tagged versus endogenous CFTR. Results. Treatment
with VX-809 significantly restored maturation, PM localization and function
of both E60K and E92K. Mechanistically, VX-809 not only raised the total
amount of CFTR, but significantly increased the traffic efficiency, which was
not the case for A455E. G85E was refractory to VX-809 and VX-770 treatment.
Conclusions. Since no single model or assay allows deciphering all defects at
once, we propose a combination of phenotypic assays to collect rapid and
early insights into the multiple defects of CFTR variants.
},
language = {eng}
}
`,
`
@misc{ignatova2023,
author = {Zoya Ignatova},
title = {Research Group Ignatova at the Institute of Biochemistry and Molecular Biology},
year = {2023},
howpublished = {Hamburg University},
note = {Accessed: 28 September 2024},
institution = {University of Hamburg},
}
`,
`@article{ehrhardt_towards_2006,
title = {Towards an in vitro model of Cystic Fibrosis small airway epithelium: characterisation of the human bronchial epithelial cell line {CFBE41o}-},
shorttitle = {Towards an in vitro model of Cystic Fibrosis small airway epithelium},
author = {Ehrhardt, Carsten and Collnot, Eva-Maria and Baldes, Christiane and Becker, Ulrich and Laue, Michael and Kim, Kwang-Jin and Lehr, Claus-Michael},
year = 2006,
month = mar,
journal = {Cell and Tissue Research},
volume = 323,
number = 3,
pages = {405--415},
doi = {10.1007/s00441-005-0062-7},
issn = {0302-766X, 1432-0878},
url = {http://link.springer.com/10.1007/s00441-005-0062-7},
urldate = {2024-09-09},
copyright = {http://www.springer.com/tdm},
language = {en},
file = {Ehrhardt et al. - 2006 - Towards an in vitro model of Cystic Fibrosis small.pdf:C\:\\Users\\Isabell\\Zotero\\storage\\RXLMCE3V\\Ehrhardt et al. - 2006 - Towards an in vitro model of Cystic Fibrosis small.pdf:application/pdf}
}
`
,
`
@book{Mennella_2024,
title = {Cilia: methods and protocols},
year = 2024,
author = {Mennella, Vito},
publisher = {Humana Press},
address = {New York, NY},
isbn = {978-1-07-163507-0},
abstractnote = {
This volume covers the latest advancements in the study of ciliary
complexity. Protocols cover genomic, proteomic, imaging, and functional
analysis of different ciliated tissues and their wide applicability in cilia
biology. Chapters in this book primarily focus on methods to study
multiciliated cells, and discuss topics such as SARS-CoV-2 infections of
human primary nasal multiciliated epithelial cells; expansion microscopy of
ciliary proteins; live-imaging centriole amplification in mouse brain
multiciliated cells; biophysical properties of cilia motility; and
mucociliary transport device construction. Written in the highly successful
Methods in Molecular Biology series format, chapters include introductions to
their respective topics, lists of the necessary materials and reagents,
step-by-step, readily reproducible laboratory protocols, and tips on
troubleshooting and avoiding known pitfalls. Cutting-edge and thorough,
Cilia: Methods and Protocols is a valuable resource for researchers who are
interested in learning more about this developing field.
},
language = {eng}
}
`
]
\ No newline at end of file
import BibtexParser from "../components/makeSources";
export default function PartSources(){
return (
<div>
<BibtexParser bibtexSources={bibtexSources} />
</div>
);
}
const bibtexSources = [
`
@article {10.7554/eLife.69504,
article_type = {journal},
title = {PEAR, a flexible fluorescent reporter for the identification and enrichment of successfully prime edited cells},
author = {Simon, Dorottya Anna and Tálas, András and Kulcsár, Péter István and Biczók, Zsuzsanna and Krausz, Sarah Laura and Várady, György and Welker, Ervin},
editor = {Lapinaite, Audrone and Stainier, Didier YR and Hamilton, Jennifer R},
volume = 11,
year = 2022,
month = {feb},
pub_date = {2022-02-23},
pages = {e69504},
citation = {eLife 2022;11:e69504},
doi = {10.7554/eLife.69504},
url = {https://doi.org/10.7554/eLife.69504},
abstract = {Prime editing is a recently developed CRISPR/Cas9 based gene engineering tool that allows the introduction of short insertions, deletions, and substitutions into the genome. However, the efficiency of prime editing, which typically achieves editing rates of around 10\%–30\%, has not matched its versatility. Here, we introduce the prime editor activity reporter (PEAR), a sensitive fluorescent tool for identifying single cells with prime editing activity. PEAR has no background fluorescence and specifically indicates prime editing events. Its design provides apparently unlimited flexibility for sequence variation along the entire length of the spacer sequence, making it uniquely suited for systematic investigation of sequence features that influence prime editing activity. The use of PEAR as an enrichment marker for prime editing can increase the edited population by up to 84\%, thus significantly improving the applicability of prime editing for basic research and biotechnological applications.},
keywords = {CRISPR, Cas9, prime editing, fluorescent, fluorescent reporter, reporter, enrichment, genome engineering},
journal = {eLife},
issn = {2050-084X},
publisher = {eLife Sciences Publications, Ltd},
}
`,
`
@misc{nickaseassay2024internet,
author = {Kim et al.},
title = { Utilization of nicking properties of CRISPR-Cas12a effector for genome editing},
year = {2024},
url = { https://doi.org/10.1038/s41598-024-53648-2},
note = {Zugriff am 16. August 2024}
}
`
]
\ No newline at end of file
import BibtexParser from "../components/makeSources";
export default function ResultSources(){
return (
<div>
<BibtexParser bibtexSources={bibtexSources} />
</div>
);
}
const bibtexSources = [
`
@article{wang2023sortlnps,
author = {Wang, X. and Liu, S. and Sun, Y. and others},
title = {Preparation of selective organ-targeting (SORT) lipid nanoparticles (LNPs) using multiple technical methods for tissue-specific mRNA delivery},
journal = {Nature Protocols},
volume = {18},
pages = {265--291},
year = {2023},
doi = {10.1038/s41596-022-00755-},
url = {https://doi.org/10.1038/s41596-022-00755-}
}
`,
`@article{sousa2024primeediting,
author = {Sousa, A. A. and Hemez, C. and Lei, L. and others},
title = {Systematic optimization of prime editing for the efficient functional correction of CFTR F508del in human airway epithelial cells},
journal = {Nature Biomedical Engineering},
year = {2024},
doi = {10.1038/s41551-024-01233-3},
url = {https://doi.org/10.1038/s41551-024-01233-3}
}
`
]
\ No newline at end of file
import BibtexParser from "../components/makeSources";
export default function RnhaleSources(){
return (
<div>
<BibtexParser bibtexSources={bibtexSources} />
</div>
);
}
const bibtexSources = [
`
@article{article,
author={Roth, F. C., Numberger, M., and Draguhn, A.},
year={2023},
month={},
pages={1-14},
title={Die Entwicklung der Patch-Clamp-Technik},
volume={},
journal={Springer eBooks},
doi={10.1007/978-3-662-66053-9_1}
}
`,`
@article{article,
author={Mete, V.},
year={2023},
month={ },
pages={ },
title={Entwicklung und Validierung neuer nicht-invasiver Diagnosesysteme für Mucociliary Clearance Disorders (MCCD)},
volume={ },
journal={Dissertation, Westfälische Wilhelms-Universität Münster},
doi={10.17879/98958441905}
}
`,`
@article{article,
author={Giaever, I. and Keese, C. },
year={1993},
month={ },
pages={591-592},
title={A morphological biosensor for mammalian cells},
volume={366},
journal={Nature},
doi={10.1038/366591a0}
}
`
]
\ No newline at end of file
import BibtexParser from "../components/makeSources";
export function TestSource(){
const bibtexSources = [
`
@article{Ensinck_Deeersmaecker_Heylen_Ramalho_Gijsbers_Far,
title = {
Phenotyping of Rare CFTR Mutations Reveals Distinct Trafficking and
Functional Defects
},
author = {
Ensinck, Marjolein and De Keersmaecker, Liesbeth and Heylen, Lise and
Ramalho, Anabela S. and Gijsbers, Rik and Farré, Ricard and De Boeck, Kris
and Christ, Frauke and Debyser, Zeger and Carlon, Marianne S.
},
year = 2020,
month = mar,
journal = {Cells},
volume = 9,
number = 3,
pages = 754,
doi = {10.3390/cells9030754},
issn = {2073-4409},
abstractnote = {
Background. The most common CFTR mutation, F508del, presents with multiple
cellular defects. However, the possible multiple defects caused by many rarer
CFTR mutations are not well studied. We investigated four rare CFTR mutations
E60K, G85E, E92K and A455E against well-characterized mutations, F508del and
G551D, and their responses to corrector VX-809 and/or potentiator VX-770.
Methods. Using complementary assays in HEK293T stable cell lines, we
determined maturation by Western blotting, trafficking by flow cytometry
using extracellular 3HA-tagged CFTR, and function by halide-sensitive YFP
quenching. In the forskolin-induced swelling assay in intestinal organoids,
we validated the effect of tagged versus endogenous CFTR. Results. Treatment
with VX-809 significantly restored maturation, PM localization and function
of both E60K and E92K. Mechanistically, VX-809 not only raised the total
amount of CFTR, but significantly increased the traffic efficiency, which was
not the case for A455E. G85E was refractory to VX-809 and VX-770 treatment.
Conclusions. Since no single model or assay allows deciphering all defects at
once, we propose a combination of phenotypic assays to collect rapid and
early insights into the multiple defects of CFTR variants.
},
language = {eng}
}
`
];
return (
<div>
<h1>BibTeX to HTML in React</h1>
<BibtexParser bibtexSources={bibtexSources} />
</div>
);
}
export default TestSource;
\ No newline at end of file
import BibtexParser from "../components/makeSources";
export default function VorlageSources(){
return (
<div>
<BibtexParser bibtexSources={bibtexSources} />
</div>
);
}
const bibtexSources = [
`
`
]
\ No newline at end of file
import BibtexParser from "../components/makeSources";
export default function WischmeyerSources(){
return (
<div>
<BibtexParser bibtexSources={bibtexSources} />
</div>
);
}
const bibtexSources = [
`
@article{article,
author={Roth, F. C., Numberger, M., and Draguhn, A.},
year={2023},
month={},
pages={1-14},
title={Die Entwicklung der Patch-Clamp-Technik},
volume={},
journal={Springer eBooks},
doi={10.1007/978-3-662-66053-9_1}
}
`,`
@article{article,
author={Mete, V.},
year={2023},
month={ },
pages={ },
title={Entwicklung und Validierung neuer nicht-invasiver Diagnosesysteme für Mucociliary Clearance Disorders (MCCD)},
volume={ },
journal={Dissertation, Westfälische Wilhelms-Universität Münster},
doi={10.17879/98958441905}
}
`,`
@article{article,
author={Giaever, I. and Keese, C. },
year={1993},
month={ },
pages={591-592},
title={A morphological biosensor for mammalian cells},
volume={366},
journal={Nature},
doi={10.1038/366591a0}
}
`
]
\ No newline at end of file
......@@ -10,8 +10,7 @@ export function NewHighlight({el}: {el: HTMLElement | null}, {subtitle}:{subtitl
//console.log(el)
// console.log(el.getBoundingClientRect())
if (el.getBoundingClientRect().top < TopDistance + 1 && el.getBoundingClientRect().bottom > TopDistance){
subtitle.style.color = "white";
subtitle.style.backgroundColor = "rgb(133, 15, 120, 0.8)";
subtitle.style.color = "var(--ourbeige)";
subtitle.style.borderColor = "#850F78";
subtitle.style.marginLeft = "5px";
subtitle.style.paddingRight = "5px";
......@@ -23,7 +22,7 @@ export function NewHighlight({el}: {el: HTMLElement | null}, {subtitle}:{subtitl
console.log("backcolor: ",subtitle.style.backgroundColor) */
}
else{
subtitle.style.color = "white";
subtitle.style.color = "var(--ourbeige)";
subtitle.style.marginLeft = "0";
subtitle.style.backgroundColor = "";
subtitle.style.fontWeight = "500";
......
import React, { createContext, useContext, useState } from "react";
const LoadingContext = createContext<any>(null);
export const LoadingProvider = ({ children }: { children: React.ReactNode }) => {
const [isLoading, setIsLoading] = useState(false);
return (
<LoadingContext.Provider value={{ isLoading, setIsLoading }}>
{children}
</LoadingContext.Provider>
);
};
export const useLoading = () => useContext(LoadingContext);
import { useEffect, useState } from 'react';
import { useNavigate, useLocation } from 'react-router-dom';
import { useLocation, useNavigate } from 'react-router-dom';
import { openFromOtherPage } from './openFromOtherpAge';
import { handleScroll } from './handleScroll';
import { openNestedTab } from './openNestedTab';
import { openTab } from './openTab';
import { openTabInCollapsible } from './opentabincollapsible';
// Funktion, um den Haupttab zu öffnen
export const openTab = (tabId: string, tabClass: string) => {
console.log((document.getElementById(tabId) as HTMLElement).classList[1])
console.log(`tabclass is ${tabClass}`)
const tabs = document.getElementsByClassName(tabClass);
for (let index = 0; index < tabs.length; index++) {
(tabs[index] as HTMLElement).style.display = 'none';
}
const selectedTab = document.getElementById(tabId);
if (selectedTab) {
selectedTab.style.display = 'block';
}
};
// Funktion, um verschachtelte Tabs zu öffnen
export const openNestedTab = (parentTabId: string, childTabId: string, parentClass: string, childClass: string) => {
openTab(parentTabId, parentClass);
const nestedTabs = document.querySelectorAll(`#${parentTabId} ${childClass}`);
nestedTabs.forEach((tab) => {
(tab as HTMLElement).style.display = 'none';
});
const selectedNestedTab = document.getElementById(childTabId);
if (selectedNestedTab) {
selectedNestedTab.style.display = 'block';
}
};
// Funktion, um zu einem bestimmten Bereich (z.B. Collapse) zu scrollen
export const handleScrollToCollapse = (collapseId: string) => {
const collapseElement = document.getElementById(collapseId);
if (collapseElement) {
const elementTop = collapseElement.getBoundingClientRect().top + window.pageYOffset;
const offset = window.innerHeight / 2 - collapseElement.offsetHeight / 2;
const scrollPosition = elementTop - offset;
window.scrollTo({
top: scrollPosition,
behavior: 'smooth',
});
}
};
// Custom Hook zur zentralen Tab-Navigation
// Custom Hook for central tab navigation
export const useTabNavigation = () => {
const navigate = useNavigate();
const location = useLocation();
const navigate = useNavigate();
const [activeTab, setActiveTab] = useState<string | null>(null);
const [activeSubTab, setActiveSubTab] = useState<string | null>(null);
const [, setActiveCollapsible] = useState<string | null>(null);
// Tab Visibility Handler
const updateTabVisibility = (tabId: string | null, subTabId?: string | null) => {
document.querySelectorAll('.enginneeringtab').forEach((tab) => {
(tab as HTMLElement).style.display = 'none'; // All tabs hidden
});
if (tabId) {
const tabElement = document.getElementById(`tab-${tabId}`);
if (tabElement) {
tabElement.style.display = 'block'; // Show the current tab
}
// Tab-Wechsel und URL-Update
// Handle nested subtabs
if (subTabId) {
const subTabElement = document.getElementById(subTabId);
if (subTabElement) {
subTabElement.style.display = 'block'; // Show subtab
}
}
}
};
// Tab Change and URL Update
const handleTabChange = (tabId: string, subTabId?: string) => {
setActiveTab(tabId);
setActiveSubTab(subTabId || null);
// URL entsprechend aktualisieren
// Update URL
let newUrl = `${location.pathname}?tab=${tabId}`;
if (subTabId) {
newUrl += `&subTab=${subTabId}`;
}
navigate(newUrl, { replace: true });
// Immediately update tab visibility
updateTabVisibility(tabId, subTabId);
};
// On Location Change
useEffect(() => {
console.log("Use Effect")
const params = new URLSearchParams(location.search);
const tabId = params.get('tab');
const subTabId = params.get('subTab');
// Restore visibility
updateTabVisibility(tabId, subTabId);
// Handle scroll or collapsibles
const collapseId = params.get('collapseId');
const scrollToId = params.get('scrollTo');
const scrollToId = params.get('scrollTo');
const changeTo = params.get('changeTo');
const colTab = params.get('colTab');
// const navigate = useNavigate();
// Öffne Haupt- und ggf. verschachtelten Tab
// scrolls to a specific collapsible element
if (collapseId) {
setActiveCollapsible(collapseId);
handleScroll(collapseId);
}
if (colTab && collapseId) {
setActiveCollapsible(collapseId);
openTabInCollapsible(colTab, collapseId); // Öffne den Tab innerhalb des Collapsibles
}
// opens main and (if necessary) subtab
if (tabId) {
let tab = document.getElementById(tabId);
let tabClass = tab!.className;
......@@ -90,18 +95,24 @@ export const useTabNavigation = () => {
}
}
// Scrollen zu einem bestimmten Collapsible-Element
if (collapseId) {
handleScrollToCollapse(collapseId);
}
// Tab von einer anderen Seite öffnen (falls definiert)
// opens tab on another page
if (tabId) {
openFromOtherPage(tabId)({ currentTarget: document.getElementById(tabId)! });
}
if (scrollToId) {
const element = document.getElementById(scrollToId);
if (element) {
const viewportHeight = window.innerHeight;
const targetPosition = element.getBoundingClientRect().top + window.pageYOffset;
const scrollToPosition = targetPosition - viewportHeight / 5 + element.clientHeight / 2;
window.scrollTo({ top: scrollToPosition, behavior: 'smooth' });
}
}
if (changeTo) {
const element = document.getElementById(changeTo);
if (element) {
const viewportHeight = window.innerHeight;
const targetPosition = element.getBoundingClientRect().top + window.pageYOffset;
......@@ -116,5 +127,3 @@ export const useTabNavigation = () => {
return { activeTab, activeSubTab, handleTabChange };
};
// scrolling to a specific element
export const handleScroll = (scrollId: string) => {
const scrollElement = document.getElementById(scrollId);
if (scrollElement) {
const elementTop = scrollElement.getBoundingClientRect().top + window.pageYOffset;
const offset = window.innerHeight / 2 - scrollElement.offsetHeight / 2;
const scrollPosition = elementTop - offset;
window.scrollTo({
top: scrollPosition,
behavior: 'smooth',
});
}
};
\ No newline at end of file
......@@ -3,20 +3,16 @@ export function openFromOtherPage(it: string, openclass?: string) {
if (openclass){
opcla = openclass;
}
// if no tab specified use default class
else{
opcla = "cycletab";
}
return (event: React.MouseEvent<HTMLElement> | { currentTarget: HTMLElement }) => {
// Get all elements with class "cycletab" and hide them
// Get all elements with the specified class and hide them
let tabcontent = document.getElementsByClassName(opcla);
/* let subtabcontent = document.getElementsByClassName("subcycletab"); */
for (let i = 0; i < tabcontent.length; i++) {
(tabcontent[i] as HTMLElement).style.display = "none";
}
/* for (let i = 0; i < subtabcontent.length; i++) {
(subtabcontent[i] as HTMLElement).style.display = "none";
} */
// Show the specific tab content based on the "it" parameter
const tabToOpen = document.getElementById(it);
if (tabToOpen) {
......
import { openTab } from "./openTab";
// Funktion, um verschachtelte Tabs zu öffnen
export const openNestedTab = (parentTabId: string, childTabId: string, parentClass: string, childClass: string) => {
openTab(parentTabId, parentClass);
const nestedTabs = document.querySelectorAll(`#${parentTabId} ${childClass}`);
nestedTabs.forEach((tab) => {
(tab as HTMLElement).style.display = 'none';
});
const selectedNestedTab = document.getElementById(childTabId);
if (selectedNestedTab) {
selectedNestedTab.style.display = 'block';
}
};
\ No newline at end of file
// Function to open a main tab
export const openTab = (tabId: string, tabClass: string) => {
// console.log(`Trying to find tab with ID ${tabId}`);
const selectedTab = document.querySelector(`#${tabId}`);
if (selectedTab) {
//console.log('Tab found!');
const tabs = document.getElementsByClassName(tabClass);
for (let index = 0; index < tabs.length; index++) {
(tabs[index] as HTMLElement).style.display = 'none';
}
const selectedTab = document.getElementById(tabId);
if (selectedTab) {
selectedTab.style.display = 'block';
selectedTab.style.visibility = 'visible';
selectedTab.style.position = 'relative'; // In case there's a positioning issue
selectedTab.style.zIndex = '10'; // Ensure the tab is above other elements
}
} else {
console.error(`Tab with ID ${tabId} not found.`);
}
};
export const openTabInCollapsible = (tabId: string, collapsibleId: string) => {
// Warten Sie, bis das DOM vollständig geladen wurde
setTimeout(() => {
// Holen Sie sich das Collapsible
const collapsible = document.getElementById(collapsibleId);
if (!collapsible) {
console.error(`Collapsible mit ID ${collapsibleId} nicht gefunden!`);
return;
}
// Loggen Sie das, um sicherzustellen, dass das Collapsible korrekt gefunden wird
console.log(`Collapsible mit ID ${collapsibleId} gefunden`);
// Überprüfen Sie, ob der Tab mit der gegebenen ID existiert
const tab = collapsible.querySelector(`#${tabId}`);
if (!tab) {
console.error(`Tab mit ID ${tabId} im Collapsible ${collapsibleId} wurde nicht gefunden!`);
return;
}
let tabClass = tab!.className;
const tabs = document.getElementsByClassName(tabClass);
for (let index = 0; index < tabs.length; index++) {
(tabs[index] as HTMLElement).style.display = 'none';
}
// Wenn der Tab gefunden wurde, stellen Sie sicher, dass der Tab sichtbar gemacht wird
console.log(`Tab mit ID ${tabId} im Collapsible ${collapsibleId} wird jetzt geöffnet.`);
(tab as HTMLElement).style.display = 'block';
(tab as HTMLElement).style.visibility = 'visible';
(tab as HTMLElement).style.position = 'relative'; // Falls es ein Positionierungsproblem gibt
(tab as HTMLElement).style.zIndex = '10'; // Stelle sicher, dass der Tab über anderen Elementen liegt
// Loggen Sie den Stil des Tabs, um zu überprüfen, ob er tatsächlich auf 'block' gesetzt wurde
console.log(`Tab-Display-Stil für ${tabId}: ${(tab as HTMLElement).style.display}`);
}, 100); // 100 ms Verzögerung für DOM-Ladezeit
};
import { useNavigate } from "react-router-dom";
import { useState } from "react";
export const useNavigation = () => {
const navigate = useNavigate();
const [isLoading, setIsLoading] = useState(false);
const goToPagesAndOpenTab = (tabId: string, path: string) => {
navigate(`${path}?tab=${tabId}`);
};
const goToTextsAndOpenCollapsible = (collapseId: string, path: string) => {
navigate(`${path}?collapseId=${collapseId}`);
};
const goToPageWithTabAndCollapsible = ({ path, tabId, collapseId }: { path: string, tabId: string, collapseId?: string }) => {
......@@ -52,12 +47,72 @@ export const useNavigation = () => {
const goToPageAndScroll = (scrollToId: string, path: string) => {
navigate(`${path}?scrollTo=${scrollToId}`);
};
const goToPlace = ({
path,
scrollToId,
tabId,
subTabId,
collapseId,
tabincolId
}: {
path: string;
scrollToId?: string;
tabId?: string;
subTabId?: string;
collapseId?: string;
tabincolId?: string;
}) => {
// Den vollständigen Pfad erstellen, indem wir den basePath und path kombinieren
let url = `/${path.startsWith("/") ? path.slice(1) : path}`;
let paramsAdded = false;
console.log("Found path: " + path)
// 1. Tab-Logik (tabId und subTabId)
if (tabId) {
console.log("Found tabID: " + tabId)
url += `?tab=${tabId}`;
paramsAdded = true;
if (subTabId) {
console.log("Found subTabId: " + subTabId)
url += `&subTab=${subTabId}`;
}
}
// 2. Collapse-Logik (collapseId und tabincolId)
if (collapseId) {
console.log("Found collapseId: " + collapseId)
if (!tabId) {
// Wenn kein tabId gesetzt ist, fügen wir collapseId hinzu
url += url.includes('?') ? `&collapseId=${collapseId}` : `?collapseId=${collapseId}`;
paramsAdded = true;
}
if (tabincolId) {
console.log("Found tabincolId: " + tabincolId)
url += `&colTab=${tabincolId}`;
}
}
// 3. Scroll-Logik (scrollToId)
if (scrollToId) {
console.log("Found scrollToId: " + scrollToId)
// Wenn bereits Parameter existieren, fügen wir & hinzu, ansonsten ?
const separator = paramsAdded ? '&' : '?';
paramsAdded = true;
url += `${separator}scrollTo=${scrollToId}`;
}
console.log("Final URL:", url);
// Navigiere zur URL
navigate(url);
};
return { isLoading, goToPageAndScroll, setIsLoading, goToPagesAndOpenTab, goToPageWithTabAndScroll, goToPageWithNestedTabs, goToPageWithTabAndCollapsible, goToTextsAndOpenCollapsible };
return { goToPlace, goToPageAndScroll, goToPagesAndOpenTab, goToPageWithTabAndScroll, goToPageWithNestedTabs, goToPageWithTabAndCollapsible, goToTextsAndOpenCollapsible };
};
......@@ -5,6 +5,7 @@
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"module": "ESNext",
"skipLibCheck": true,
"noImplicitAny": false,
/* Bundler mode */
"moduleResolution": "bundler",
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.