Package: gget
ggetggetis a free, open-source command-line tool and Python package that enables efficient querying of genomic databases.ggetconsists of a collection of separate but interoperable modules, each designed to facilitate one type of database querying in a single line of code.If you useggetin a publication, pleasecite*:Luebbert, L., & Pachter, L. (2023). Efficient querying of genomic reference databases with gget. Bioinformatics. https://doi.org/10.1093/bioinformatics/btac836Read the article here:https://doi.org/10.1093/bioinformatics/btac836Installationpipinstall--upgradeggetAlternative:condainstall-cbiocondaggetFor use in Jupyter Lab / Google Colab:importgget🔗 Manual🪄 Quick start guideCommand line:# Fetch all Homo sapiens reference and annotation FTPs from the latest Ensembl release$ggetrefhomo_sapiens# Get Ensembl IDs of human genes with "ace2" or "angiotensin converting enzyme 2" in their name/description$ggetsearch-shomo_sapiens'ace2''angiotensin converting enzyme 2'# Look up gene ENSG00000130234 (ACE2) and its transcript ENST00000252519$ggetinfoENSG00000130234ENST00000252519# Fetch the amino acid sequence of the canonical transcript of gene ENSG00000130234$ggetseq--translateENSG00000130234# Quickly find the genomic location of (the start of) that amino acid sequence$ggetblatMSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS# BLAST (the start of) that amino acid sequence$ggetblastMSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS# Align multiple nucleotide or amino acid sequences against each other (also accepts path to FASTA file)$ggetmuscleMSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLASMSSSSWLLLSLVEVTAAQSTIEQQAKTFLDKFHEAEDLFYQSLLAS# Align one or more amino acid sequences against a reference (containing one or more sequences) (local BLAST) (also accepts paths to FASTA files)$ggetdiamondMSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS-refMSSSSWLLLSLVEVTAAQSTIEQQAKTFLDKFHEAEDLFYQSLLAS# Use Enrichr for an ontology analysis of a list of genes$ggetenrichr-dbontologyACE2AGTAGTR1ACEAGTRAPAGTR2ACE3P# Get the human tissue expression of gene ACE2$ggetarchs4-wtissueACE2# Get the protein structure (in PDB format) of ACE2 as stored in the Protein Data Bank (PDB ID returned by gget info)$ggetpdb1R42-o1R42.pdb# Find Eukaryotic Linear Motifs (ELMs) in a protein sequence$ggetsetupelm# setup only needs to be run once$ggetelm-oresultsMSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS# Fetch a scRNAseq count matrix (AnnData format) based on specified gene(s), tissue(s), and cell type(s) (default species: human)$ggetsetupcellxgene# setup only needs to be run once$ggetcellxgene--geneACE2SLC5A1--tissuelung--cell_type'mucus secreting cell'-oexample_adata.h5ad# Predict the protein structure of GFP from its amino acid sequence$ggetsetupalphafold# setup only needs to be run once$ggetalphafoldMSKGEELFTGVVPILVELDGDVNGHKFSVSGEGEGDATYGKLTLKFICTTGKLPVPWPTLVTTFSYGVQCFSRYPDHMKQHDFFKSAMPEGYVQERTIFFKDDGNYKTRAEVKFEGDTLVNRIELKGIDFKEDGNILGHKLEYNYNSHNVYIMADKQKNGIKVNFKIRHNIEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSALSKDPNEKRDHMVLLEFVTAAGITHGMDELYKPython (Jupyter Lab / Google Colab):importggetgget.ref("homo_sapiens")gget.search(["ace2","angiotensin converting enzyme 2"],"homo_sapiens")gget.info(["ENSG00000130234","ENST00000252519"])gget.seq("ENSG00000130234",translate=True)gget.blat("MSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS")gget.blast("MSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS")gget.muscle(["MSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS","MSSSSWLLLSLVEVTAAQSTIEQQAKTFLDKFHEAEDLFYQSLLAS"])gget.diamond("MSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS",reference="MSSSSWLLLSLVEVTAAQSTIEQQAKTFLDKFHEAEDLFYQSLLAS")gget.enrichr(["ACE2","AGT","AGTR1","ACE","AGTRAP","AGTR2","ACE3P"],database="ontology",plot=True)gget.archs4("ACE2",which="tissue")gget.pdb("1R42",save=True)gget.setup("elm")# setup only needs to be run onceortho_df,regex_df=gget.elm("MSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS")gget.setup("cellxgene")# setup only needs to be run oncegget.cellxgene(gene=["ACE2","SLC5A1"],tissue="lung",cell_type="mucus secreting cell")gget.setup("alphafold")# setup only needs to be run oncegget.alphafold("MSKGEELFTGVVPILVELDGDVNGHKFSVSGEGEGDATYGKLTLKFICTTGKLPVPWPTLVTTFSYGVQCFSRYPDHMKQHDFFKSAMPEGYVQERTIFFKDDGNYKTRAEVKFEGDTLVNRIELKGIDFKEDGNILGHKLEYNYNSHNVYIMADKQKNGIKVNFKIRHNIEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSALSKDPNEKRDHMVLLEFVTAAGITHGMDELYK")Callggetfrom R usingreticulate:system("pip install gget")install.packages("reticulate")library(reticulate)gget<-import("gget")gget$ref("homo_sapiens")gget$search(list("ace2","angiotensin converting enzyme 2"),"homo_sapiens")gget$info(list("ENSG00000130234","ENST00000252519"))gget$seq("ENSG00000130234",translate=TRUE)gget$blat("MSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS")gget$blast("MSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS")gget$muscle(list("MSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS","MSSSSWLLLSLVEVTAAQSTIEQQAKTFLDKFHEAEDLFYQSLLAS"),out="out.afa")gget$diamond("MSSSSWLLLSLVAVTAAQSTIEEQAKTFLDKFNHEAEDLFYQSSLAS",reference="MSSSSWLLLSLVEVTAAQSTIEQQAKTFLDKFHEAEDLFYQSLLAS")gget$enrichr(list("ACE2","AGT","AGTR1","ACE","AGTRAP","AGTR2","ACE3P"),database="ontology")gget$archs4("ACE2",which="tissue")gget$pdb("1R42",save=TRUE)More examples