Skip to content
Snippets Groups Projects
Commit 9e58d6bf authored by Liliana Sanfilippo's avatar Liliana Sanfilippo
Browse files

citation python

parent bd7067fa
No related branches found
No related tags found
No related merge requests found
Pipeline #406978 failed
...@@ -3,9 +3,9 @@ venv ...@@ -3,9 +3,9 @@ venv
.vscode .vscode
__pycache__ __pycache__
.venv .venv
code/biblib-master
node_modules node_modules
versions versions
code
.vite .vite
app.py app.py
unused.py unused.py
...@@ -13,4 +13,5 @@ unused-css-master ...@@ -13,4 +13,5 @@ unused-css-master
my-chart-test my-chart-test
other other
dist dist
src/components/resources src/components/resources
\ No newline at end of file code/test.bib
@article{Anzalone_Randolph_Davis_Sousa_Koblan_Levy_Chen_Wilson_Newby_Raguram_et al._2019,
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 disease1 are challenging to correct efficiently and without excess byproducts2–5. 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 (requiring a transversion in HBB) and Tay–Sachs disease (requiring a deletion in HEXA); 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{Doman_Pandey_Neugebauer_An_Davis_Randolph_McElroy_Gao_Raguram_Richter_et al._2023, 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{Jinek_Chylinski_Fonfara_Hauer_Doudna_Charpentier_2012, title={A programmable dual RNA-guided DNA endonuclease in adaptive bacterial immunity}, volume={337}, ISSN={0036-8075}, DOI={10.1126/science.1225829}, abstractNote={CRISPR/Cas systems provide bacteria and archaea with adaptive immunity against viruses and plasmids by using crRNAs to guide the silencing of invading nucleic acids. We show here that in a subset of these systems, the mature crRNA base-paired to trans-activating tracrRNA forms a two-RNA structure that directs the CRISPR-associated protein Cas9 to introduce double-stranded (ds) breaks in target DNA. At sites complementary to the crRNA-guide sequence, the Cas9 HNH nuclease domain cleaves the complementary strand while the Cas9 RuvC-like domain cleaves the non-complementary strand. The dual-tracrRNA:crRNA, when engineered as a single RNA chimera, also directs sequence-specific Cas9 dsDNA cleavage. Our study reveals a family of endonucleases that use dual-RNAs for site-specific DNA cleavage and highlights the potential to exploit the system for RNA-programmable genome editing., A two-RNA structure directs an endonuclease to cleave target DNA.}, number={6096}, journal={Science (New York, N.Y.)}, author={Jinek, Martin and Chylinski, Krzysztof and Fonfara, Ines and Hauer, Michael and Doudna, Jennifer A. and Charpentier, Emmanuelle}, year={2012}, month=aug, pages={816–821} }
@article{Nelson_Randolph_Shen_Everette_Chen_Anzalone_An_Newby_Chen_Hsu_et al._2022, title={Engineered pegRNAs improve prime editing efficiency}, volume={40}, rights={2021 The Author(s), under exclusive licence to Springer Nature America, Inc.}, ISSN={1546-1696}, DOI={10.1038/s41587-021-01039-7}, abstractNote={Prime editing enables the installation of virtually any combination of point mutations, small insertions or small deletions in the DNA of living cells. A prime editing guide RNA (pegRNA) directs the prime editor protein to the targeted locus and also encodes the desired edit. Here we show that degradation of the 3′ region of the pegRNA that contains the reverse transcriptase template and the primer binding site can poison the activity of prime editing systems, impeding editing efficiency. We incorporated structured RNA motifs to the 3′ terminus of pegRNAs that enhance their stability and prevent degradation of the 3′ extension. The resulting engineered pegRNAs (epegRNAs) improve prime editing efficiency 3–4-fold in HeLa, U2OS and K562 cells and in primary human fibroblasts without increasing off-target editing activity. We optimized the choice of 3′ structural motif and developed pegLIT, a computational tool to identify non-interfering nucleotide linkers between pegRNAs and 3′ motifs. Finally, we showed that epegRNAs enhance the efficiency of the installation or correction of disease-relevant mutations.}, number={3}, journal={Nature Biotechnology}, publisher={Nature Publishing Group}, author={Nelson, James W. and Randolph, Peyton B. and Shen, Simon P. and Everette, Kelcee A. and Chen, Peter J. and Anzalone, Andrew V. and An, Meirui and Newby, Gregory A. and Chen, Jonathan C. and Hsu, Alvin and Liu, David R.}, year={2022}, month=mar, pages={402–410}, language={en} }
@article{Sousa_Hemez_Lei_Traore_Kulhankova_Newby_Doman_Oye_Pandey_Karp_et al._2024, 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 argparse
import bibtexparser
import re
problemlist = []
def main():
print("Starting program...")
try:
#reading command line input and parsing it
parser = argparse.ArgumentParser(
prog='HTML Citations',
description='create acessible HTML Citations from bib files')
parser.add_argument('-i','--input')
args = parser.parse_args()
print("Source: " + args.input)
except argparse.ArgumentError as e:
print(f"Argument parsing error: {e}")
except Exception as e:
print(f"An unexpected error occurred: {e}")
print("Reading file...")
#reading and parsing the file
try:
with open(args.input, 'r') as file:
file_content = file.read()
print("Parsing file...")
try:
library = bibtexparser.parse_string(file_content)
#opening output file
try:
with open('output.txt', 'w') as out:
length = len(library.entries)
print("found " + str(length) + " entries")
ran = range(length)
#processing every entry and writing the dictionary for it
for x in ran:
print("\n Initializing empty dictionary for entry "+ str(x+1) + "...")
dictio = {}
en_x = library.entries[x]
print("Filling dictionary for entry "+ str(x+1) + "")
for y in en_x.fields:
key = y.key
key_low = key.lower()
dictio[key_low] = y.value
if en_x.entry_type == "article":
articleHTML(dictio, x, out)
elif en_x.entry_type =="misc":
miscHTML(dictio, x, out)
except Exception as e:
print(f"An unexpected error occurred: {e}")
except Exception as e:
print(f"An unexpected error occurred: {e}")
except FileNotFoundError:
print(f"Error: The file '{args.input}' was not found.")
if len(problemlist)>0:
print("- - - - - - - - - - - - - - - - - ")
print("REMAINING ERRORS:")
for p in problemlist:
print(p)
else:
print("DONE")
def articleHTML(dictio, x, out):
print("Writing html code for entry "+ str(x+1) + "...")
out.write("#<!-- Citation num " + str(x+1) + "-->" + "\n")
out.write("<li typeof=\"schema:ScolarlyArticle\" role=\"doc-biblioentry\" property=\"schema:citation\" id=\"desc-" + str(x+1) + "\">"+ "\n")
out.write("\t" + "<span property=\"schema:author\" typeof=\"schema:Person\">"+ "\n")
print("Just a sec, seperating authors...")
authors = dictio['author']
authors = authors.replace(" and ", "|")
liste = authors.split("|")
for a in liste:
try:
#print("processing " + a)
first = None
last = None
name = None
if ',' in a:
s = a.split(", ")
first = s[1]
first_sh = first[0]
last = s[0]
name = last + ", " + first_sh + "."
else:
s = a.split()
if len(s) == 2:
first = s[0]
first_sh = first[0]
last = s[1]
name = last + ", " + first_sh + "."
else:
leng = len(s)
last = s[leng-1]
first = ''
for n in s:
if n != s[-1]:
first = first + n[0] + '.'
name = last + ", " + first
if a == liste[-1]:
out.write("\t" + "\t" +"<span property=\"schema:Name\">" +name + "</span>"+ "\n")
else:
out.write("\t" +"\t" +"<span property=\"schema:Name\">" +name + "</span>,"+ "\n")
except Exception as e:
print(f"An unexpected error occurred: {e} see " + a)
out.write("\t" +"</span>"+ "\n")
out.write("\t" + "<span property=\"schema:name\">"+dictio['title']+ ".</span>"+ "\n")
out.write("\t" +"<i property=\"schema:publisher\" typeof=\"schema:Organization\">"+ dictio['journal'] +"</i>"+ "\n")
out.write("\t" +"<b property=\"issueNumber\" typeof=\"PublicationIssue\">"+dictio['volume']+"</b>,"+ "\n")
print("Getting pages...")
try:
pages = dictio['pages']
if pages is not None:
if len(pages) > 0:
if '--' in pages:
pag = pages.split("--")
begin = pag[0].strip()
end = pag[1].strip()
out.write("\t" + "<span property=\"schema:pageBegin\">"+ begin +"</span>-<span property=\"schema:pageEnd\">"+ end + "</span>"+ "\n")
elif '-' in pages:
pag = pages.split("-")
begin = pag[0].strip()
end = pag[1].strip()
out.write("\t" + "<span property=\"schema:pageBegin\">"+ begin +"</span>-<span property=\"schema:pageEnd\">"+ end + "</span>"+ "\n")
elif len(pages) > 0:
out.write("\t" + "<span property=\"schema:pageBegin\">"+ pages +"</span>"+ "\n")
else:
print("Sorry, no readable page information")
problemlist.append("Check for missing page info at " + str (x+1))
else:
print("Sorry, no page information")
problemlist.append("Check for missing page info at " + str (x+1))
else:
print("Sorry, no page information")
problemlist.append("Check for missing page info at " + str (x+1))
except KeyError as e:
print("Sorry, no page information")
problemlist.append("Check for missing page info at " + str (x+1))
year = dictio['year']
out.write("\t" +"(<time property=\"schema:datePublished\" datatype=\"xsd:gYear\" datetime=\"" + year + "\">"+year+"</time>)."+ "\n")
try:
doi = dictio['doi']
out.write("\t" +"<a class=\"doi\" href=\"https://doi.org/"+doi+"\">doi: "+doi+"</a>"+ "\n")
except KeyError as e:
print("Sorry, no doi information")
problemlist.append("Check for missing doi info at " + str (x+1))
out.write("</li>" + "\n"+ "\n")
def miscHTML(dictio, x, out):
print("Writing html code for entry "+ str(x+1) + "...")
out.write("#<!-- Citation num " + str(x+1) + "-->" + "\n")
out.write("<li typeof=\"schema:WebPage\" role=\"doc-biblioentry\" property=\"schema:citation\" id=\"desc-" + str(x+1) + "\">"+ "\n")
out.write("\t" + "<span property=\"schema:author\" typeof=\"schema:Organisation\">"+ "\n")
aut = dictio['author'].strip("\{\}")
out.write("\t" + "\t" +"<span property=\"schema:Name\">" +aut + "</span>."+ "\n")
out.write("\t" +"</span>"+ "\n")
out.write("\t" + "<span property=\"schema:name\">"+dictio['title']+ ".</span>"+ "\n")
out.write("\t" +"<i property=\"schema:publisher\" typeof=\"schema:Organization\">"+ dictio['howpublished'] +"</i>"+ "\n")
year = dictio['year']
out.write("\t" +"(<time property=\"schema:datePublished\" datatype=\"xsd:gYear\" datetime=\"" + year + "\">"+year+"</time>)."+ "\n")
out.write("</li>" + "\n"+ "\n")
main()
\ No newline at end of file
import biblib.bib
import biblib.messages
import biblib.algo
from biblib import FileBibDB
import argparse
import sys
import re
fileDb = biblib.FileBibDB('test.bib', mode='r')
#<!-- Citation num 1-->
<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-1">
<span property="schema:author" typeof="schema:Person">
<span property="schema:Name">Scotet, V.</span>,
<span property="schema:Name">Gutierrez, H.</span>,
<span property="schema:Name">Farrell, P.</span>
</span>
<span property="schema:name">Newborn Screening for CF across the Globe—Where Is It Worthwhile?.</span>
<i property="schema:publisher" typeof="schema:Organization">Int J Neonatal Screen</i>
<b property="issueNumber" typeof="PublicationIssue">6</b>,
<span property="schema:pageBegin">18</span>
(<time property="schema:datePublished" datatype="xsd:gYear" datetime="2020">2020</time>).
<a class="doi" href="https://doi.org/10.3390/ijn6010018">doi: 10.3390/ijn6010018</a>
</li>
#<!-- Citation num 2-->
<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-2">
<span property="schema:author" typeof="schema:Person">
<span property="schema:Name">Anzalone, A.V.</span>,
<span property="schema:Name">Randolph, P.B.</span>,
<span property="schema:Name">Davis, J.R.</span>,
<span property="schema:Name">Sousa, A.A.</span>,
<span property="schema:Name">Koblan, L.W.</span>,
<span property="schema:Name">Levy, J.M.</span>,
<span property="schema:Name">Newby, G.A.</span>,
<span property="schema:Name">Raguram, A.</span>,
<span property="schema:Name">Liu, D.R.</span>
</span>
<span property="schema:name">Search-and-replace genome editing without double-strand breaks or donor DNA.</span>
<i property="schema:publisher" typeof="schema:Organization">Nature</i>
<b property="issueNumber" typeof="PublicationIssue">574</b>,
<span property="schema:pageBegin">589</span>-<span property="schema:pageEnd">594</span>
(<time property="schema:datePublished" datatype="xsd:gYear" datetime="2019">2019</time>).
<a class="doi" href="https://doi.org/10.1038/s41586-019-1711-4">doi: 10.1038/s41586-019-1711-4</a>
</li>
#<!-- Citation num 3-->
<li typeof="schema:WebPage" role="doc-biblioentry" property="schema:citation" id="desc-3">
<span property="schema:author" typeof="schema:Organisation">
<span property="schema:Name">Broad Institute of MIT and Harvard</span>.
</span>
<span property="schema:name">Researchers engineer in vivo delivery system for prime editing, partially restoring vision in mice.</span>
<i property="schema:publisher" typeof="schema:Organization">Phys.org</i>
(<time property="schema:datePublished" datatype="xsd:gYear" datetime="2024">2024</time>).
</li>
#<!-- Citation num 4-->
<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-4">
<span property="schema:author" typeof="schema:Person">
<span property="schema:Name">Gaudelli, N.</span>,
<span property="schema:Name">Komor, A.</span>,
<span property="schema:Name">Rees, H.</span>,
<span property="schema:Name">Packer, M.</span>,
<span property="schema:Name">Badran, A.</span>,
<span property="schema:Name">Bryson, D.</span>,
<span property="schema:Name">Liu, D.</span>
</span>
<span property="schema:name">Programmable editing of a target base in genomic DNA without double-stranded DNA cleavage.</span>
<i property="schema:publisher" typeof="schema:Organization">Nature</i>
<b property="issueNumber" typeof="PublicationIssue">533</b>,
<span property="schema:pageBegin">420</span>-<span property="schema:pageEnd">424</span>
(<time property="schema:datePublished" datatype="xsd:gYear" datetime="2016">2016</time>).
<a class="doi" href="https://doi.org/10.1038/nature17946">doi: 10.1038/nature17946</a>
</li>
#<!-- Citation num 5-->
<li typeof="schema:WebPage" role="doc-biblioentry" property="schema:citation" id="desc-5">
<span property="schema:author" typeof="schema:Organisation">
<span property="schema:Name">OpenEd CUNY</span>.
</span>
<span property="schema:name">RNA Stability and the Role of RNA-Binding Proteins.</span>
<i property="schema:publisher" typeof="schema:Organization">OpenEd CUNY</i>
(<time property="schema:datePublished" datatype="xsd:gYear" datetime="2024">2024</time>).
</li>
#<!-- Citation num 6-->
<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-6">
<span property="schema:author" typeof="schema:Person">
<span property="schema:Name">Sahay, G.</span>,
<span property="schema:Name">Alakhova, D.Y.</span>,
<span property="schema:Name">Kabanov, A.V.</span>
</span>
<span property="schema:name">Endocytosis of nanomedicines.</span>
<i property="schema:publisher" typeof="schema:Organization">Journal of Controlled Release</i>
<b property="issueNumber" typeof="PublicationIssue">145</b>,
<span property="schema:pageBegin">182</span>-<span property="schema:pageEnd">195</span>
(<time property="schema:datePublished" datatype="xsd:gYear" datetime="2010">2010</time>).
<a class="doi" href="https://doi.org/10.1016/j.jconrel.2010.01.036">doi: 10.1016/j.jconrel.2010.01.036</a>
</li>
#<!-- Citation num 7-->
<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-7">
<span property="schema:author" typeof="schema:Person">
<span property="schema:Name">Ramachandran, S.</span>,
<span property="schema:Name">Satapathy, S.R.</span>,
<span property="schema:Name">Dutta, T.</span>
</span>
<span property="schema:name">Delivery Strategies for mRNA Vaccines.</span>
<i property="schema:publisher" typeof="schema:Organization">Pharmaceutical Medicine</i>
<b property="issueNumber" typeof="PublicationIssue">36</b>,
<span property="schema:pageBegin">11</span>-<span property="schema:pageEnd">20</span>
(<time property="schema:datePublished" datatype="xsd:gYear" datetime="2022">2022</time>).
<a class="doi" href="https://doi.org/10.1007/s40290-021-00417-5">doi: 10.1007/s40290-021-00417-5</a>
</li>
#<!-- Citation num 8-->
<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-8">
<span property="schema:author" typeof="schema:Person">
<span property="schema:Name">Bandi, S.P.</span>,
<span property="schema:Name">Bhatnagar, S.</span>,
<span property="schema:Name">Venuganti, V.V.K.</span>
</span>
<span property="schema:name">Advanced materials for drug delivery across mucosal barriers.</span>
<i property="schema:publisher" typeof="schema:Organization">Acta Biomaterialia</i>
<b property="issueNumber" typeof="PublicationIssue">119</b>,
<span property="schema:pageBegin">13</span>-<span property="schema:pageEnd">29</span>
(<time property="schema:datePublished" datatype="xsd:gYear" datetime="2021">2021</time>).
<a class="doi" href="https://doi.org/10.1016/j.actbio.2020.10.031">doi: 10.1016/j.actbio.2020.10.031</a>
</li>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment