/**
* jQuery Plugin: Sticky Tabs
*
* @author Aidan Lister
// Set the correct tab when the page loads showStuffFromHash(context);
// Set the correct tab when a user uses their back/forward button $(window).on('hashchange', function() { showStuffFromHash(context); });
// Change the URL when tabs are clicked $('a', context).on('click', function(e) { history.pushState(null, null, this.href); showStuffFromHash(context); });
return this; }; }(jQuery));
window.buildTabsets = function(tocID) {
// build a tabset from a section div with the .tabset class function buildTabset(tabset) {
// check for fade and pills options var fade = tabset.hasClass("tabset-fade"); var pills = tabset.hasClass("tabset-pills"); var navClass = pills ? "nav-pills" : "nav-tabs";
// determine the heading level of the tabset and tabs var match = tabset.attr('class').match(/level(\d) /); if (match === null) return; var tabsetLevel = Number(match[1]); var tabLevel = tabsetLevel + 1;
// find all subheadings immediately below var tabs = tabset.find("div.section.level" + tabLevel); if (!tabs.length) return;
// create tablist and tab-content elements var tabList = $('
'); $(tabs[0]).before(tabList); var tabContent = $('
'); $(tabs[0]).before(tabContent);
// build the tabset var activeTab = 0; tabs.each(function(i) {
// get the tab div var tab = $(tabs[i]);
// get the id then sanitize it for use with bootstrap tabs var id = tab.attr('id');
// see if this is marked as the active tab if (tab.hasClass('active')) activeTab = i;
// remove any table of contents entries associated with // this ID (since we'll be removing the heading element) $("div#" + tocID + " li a[href='#" + id + "']").parent().remove();
// sanitize the id for use with bootstrap tabs id = id.replace(/[.\/?&!#<>]/g, '').replace(/\s/g, '_'); tab.attr('id', id);
// get the heading element within it, grab it's text, then remove it var heading = tab.find('h' + tabLevel + ':first'); var headingText = heading.html(); heading.remove();
// build and append the tab list item var a = $('' + headingText + ''); a.attr('href', '#' + id); a.attr('aria-controls', id); var li = $('
'); li.append(a); tabList.append(li);
// set it's attributes tab.attr('role', 'tabpanel'); tab.addClass('tab-pane'); tab.addClass('tabbed-pane'); if (fade) tab.addClass('fade');
// move it into the tab content div tab.detach().appendTo(tabContent); });
// set active tab $(tabList.children('li')[activeTab]).addClass('active'); var active = $(tabContent.children('div.section')[activeTab]); active.addClass('active'); if (fade) active.addClass('in');
if (tabset.hasClass("tabset-sticky")) tabset.rmarkdownStickyTabs(); }
// convert section divs with the .tabset class to tabsets var tabsets = $("div.section.tabset"); tabsets.each(function(i) { buildTabset($(tabsets[i])); }); };
Top bioinformatic tools and resources
In this blogpost, I share some of the top bioinformatics tools and resources which help me every day! From webpages like Venny that allow you to create quick Venn diagrams, to tools like AlphaFold, which allow you to predict protein structure from sequence. Hope you find them useful!
So if you are ready… let’s dive in!
Here are some tools and resources to get you help you in your bioinformatics journey!
Essential Bioinformatics Tools and Web Resources
A curated collection of web-based tools and databases for bioinformatics analysis:
Visualization and Plotting Tools
- Venny – Create Venn diagrams for comparing gene lists (up to 4 sets).
- InteractiVenn – Interactive Venn diagrams with more customization options.
- jvenn – Another excellent Venn diagram tool with list management features.
- Circos – Create circular genomic data visualizations.
- IGV (Integrative Genomics Viewer) – Essential tool for visualizing genomic data and alignments.
- UCSC Genome Browser – Comprehensive genome browser with extensive annotation tracks.
- Prism GraphPad – Statistical analysis and publication-quality graphs with no coding.
Gene Expression and Cancer Databases
- OncoLnc – Link TCGA survival data to mRNA, miRNA, or lncRNA expression levels.
- GEPIA2 – Gene expression analysis using TCGA and GTEx data.
- cBioPortal – Explore multidimensional cancer genomics data.
- TIMER2.0 – Immune infiltration analysis across cancer types.
- Human Protein Atlas – Protein expression across tissues and cancer types.
- GTEx Portal – Gene expression in normal human tissues.
- TCGA – The Cancer Genome Atlas data portal.
- GEO (Gene Expression Omnibus) – Public repository of gene expression datasets.
Functional Enrichment and Pathway Analysis
- DAVID – Functional annotation and enrichment analysis tool.
- Enrichr – Comprehensive gene list enrichment analysis with many libraries.
- GSEA – Gene Set Enrichment Analysis from the Broad Institute.
- Metascape – Gene annotation and enrichment with beautiful visualizations.
- STRING – Protein-protein interaction networks and functional enrichment.
- KEGG – Pathway database for understanding biological systems.
- Reactome – Pathway database with detailed biological processes.
- ShinyGO – Quick GO enrichment with interactive graphics.
Sequence Analysis Tools
- BLAST – Basic Local Alignment Search Tool for sequence similarity.
- Primer3 – Design PCR primers for your sequences.
- SnapGene Viewer – Visualize and analyze DNA sequences (free viewer).
- Benchling – Cloud-based molecular biology suite for sequence design.
- MEME Suite – Motif discovery and analysis in DNA/protein sequences.
- Clustal Omega – Multiple sequence alignment tool.
Protein Analysis and Structure
- SurfaceGenie – Predict protein surface properties and binding sites.
- AlphaFold DB – Access predicted protein structures from DeepMind.
- SWISS-MODEL – Protein structure homology modeling.
- PDB (Protein Data Bank) – Repository of 3D structural data of proteins.
- InterPro – Protein sequence analysis and classification.
- Phyre2 – Protein structure prediction by homology.
- ExPASy – Collection of proteomics tools and databases.
Single-Cell Analysis
- TISCH – Tumor immune single-cell hub database.
- CellMarker – Cell marker database for different cell types.
- PanglaoDB – Single-cell RNA-seq database with cell type markers.
- UCSC Cell Browser – Interactive exploration of single-cell datasets.
- Single Cell Portal – Broad Institute’s single-cell data portal.
Genomic Variant Analysis
- VEP (Variant Effect Predictor) – Predict functional effects of genomic variants.
- dbSNP – Database of genetic variation.
- ClinVar – Clinical significance of genomic variants.
- gnomAD – Population allele frequencies for variants.
- COSMIC – Catalogue of somatic mutations in cancer.
RNA-Seq and Transcriptomics
Methylation and Epigenetics
- UALCAN – Analyze cancer OMICS data including methylation.
- MethSurv – DNA methylation and survival analysis.
- DiseaseMeth – Disease-related DNA methylation database.
Multi-Omics Integration
- LinkedOmics – Multi-omics data analysis across TCGA cancers.
- MOFA2 – Multi-omics factor analysis tool.
- Omics Integrator – Integrate proteomics, transcriptomics, and interactomics data.
Learning Resources and Tutorials
- Biostars – Q&A forum for bioinformatics (like Stack Overflow for bio).
- Bioinformatics Workbook – Comprehensive tutorials for various bioinformatics tasks.
- Rosalind – Learn bioinformatics through problem-solving.
What did you think of these bioinformatics tools and resources?
Are there any other resources you would like to see here?
If you have recommendations on more bioinformatic tools for beginners, intermediate or advance levels, leave a comment in the comments section below so I can add it to the list:)
Additional resources
You might be interested in…
- Top ML and AI resources
- Useful resources for bioinformatics
- Top resources to learn biostatistics
- Learn to code as a biologist
Squidtastic! You made it till the end! Hope you found this post useful.
If you have any questions, or if there are any more topics you would like to see here, leave me a comment down below.
Otherwise, have a very nice day and… see you in the next one!
Before you go, you might want to check:
// add bootstrap table styles to pandoc tables function bootstrapStylePandocTables() { $('tr.odd').parent('tbody').parent('table').addClass('table table-condensed'); } $(document).ready(function () { bootstrapStylePandocTables(); });