/**
* 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])); }); };
Fun, interactive and quirky bioinformatics tools and webpages
In this blogpost, I share some fun, interactive and quirky bioinformatics tools and webpages I’ve come across through the years.
So if you are ready… let’s dive in!
Because learning bioinformatics doesn’t have to be boring! Here are some of the most engaging and entertaining resources:
Interactive Visualizations and Explanations
- Understanding UMAP – Gorgeous interactive explanation of UMAP dimensionality reduction. Play with parameters in real-time!
- Seeing Theory – Beautiful, interactive visualizations of probability and statistics. Best stats visualization site ever.
- The Evolution of Trust – Interactive game theory explanation relevant to evolutionary biology.
- Complexity Explorables – Interactive explorations of complex systems and biological models.
- Distill.pub – Machine learning concepts explained with incredible interactive visualizations.
- R2D3: Visual Intro to Machine Learning – Stunning scrollytelling explanation of ML concepts.
- Explorable Explanations – Collection of interactive, playful explanations of complex topics.
Fun (and not so useful) R Packages
-
genzplyr – dplyr but make it Gen Z. Use
yeet()instead ofselect(),vibe_check()for validation. No cap fr fr. - cowsay – Make animals say things in your R console. Essential for debugging (obviously).
- praise – Get random praise when your code works. We all need this.
- fortune – Random R fortunes and quotes from the R community.
- BRRR – Make your R script say “BRRR” like Gucci Mane when it finishes.
- CatterPlots – Scatter plots with cats. Because data visualization needs more cats.
- ggcats – Add cat images to your ggplot2 plots as points.
Gamified Learning
- Phylo – Puzzle game where you do real multiple sequence alignments. Citizen science gaming!
- Eterna – Design RNA molecules through puzzle-solving. Your solutions get synthesized in real labs!
- Foldit – Protein folding puzzle game. Players have contributed to real scientific discoveries.
- Rosalind – Learn bioinformatics through programming challenges. Level up your skills RPG-style.
- Regex Golf – Master regular expressions (essential for bioinformatics) through addictive challenges.
- Vim Adventures – Learn Vim commands through a Zelda-like game. Useful for command-line bioinformatics.
Quirky Educational Content
- StatQuest – Josh Starmer’s incredibly catchy stats songs. “BAM!” You’ll never forget PCA again.
- PhD Comics – Grad school life comics. Too real for bioinformatics students.
- XKCD – Randall Munroe’s nerdy comics. Search for bioinformatics, statistics, and data science ones.
- Lior Pachter’s Blog – Sometimes spicy, always entertaining takes on computational biology.
Fun Visualization Tools
- Nextstrain – Real-time tracking of pathogen evolution. Watch viruses evolve live.
- Sequence Bunny – Turn DNA sequences into adorable bunnies. Each sequence makes a unique bunny!
- DNA Chisel – Optimize DNA sequences with fun constraint options.
- Proteopedia – Wikipedia for protein structures, but 3D and interactive.
- MolView – Quick and easy molecule visualization in your browser.
Creative Data Science
- Dear Data – Hand-drawn data visualizations project. Inspiration for presenting bioinformatics data artistically.
- Data is Ugly Subreddit – Learn what NOT to do with your plots. Hilariously bad visualizations.
- Data is Beautiful Subreddit – Gorgeous data visualizations for inspiration.
- Flowing Data – Nathan Yau’s creative and fun approach to data visualization.
Meme-Worthy Resources
- Bioinformatics Memes – r/bioinformatics for the culture. Commiserate over installation issues.
- Computational Biology Memes – Instagram account with relatable computational biology humor.
- Science Side of Tumblr – Chaotic good science explanations and memes.
- I Fucking Love Science – Popular science with personality.
Interactive Tools and Playgrounds
- Genetic Algorithm Walkers – Watch creatures evolve to walk using genetic algorithms. Mesmerizing!
- The Coding Train – Daniel Shiffman’s creative coding tutorials. Many biological simulations!
- Observable – Interactive JavaScript notebooks for data visualization. Great for web-based bioinfo viz.
- Streamlit Gallery – Collection of interactive data science apps. Many genomics examples!
Unconventional Learning
- Papers We Love – Community celebrating computer science and bioinformatics papers with meetups.
- Two Minute Papers – AI and computational research explained in 2 minutes. Includes computational biology.
- 3Blue1Brown – Beautiful mathematical animations. Linear algebra and calculus for bioinformatics.
- Primer – Evolution and natural selection explained through cute blob simulations.
Easter Eggs and Fun Commands
- curl wttr.in – Weather in your terminal. Because bioinformaticians live in terminals.
- curl parrot.live – Party parrot in your terminal for when your pipeline finally finishes!
- cowsay + lolcat – Combine cowsay with rainbow colors. Peak terminal aesthetics.
- hollywood – Make your terminal look like a Hollywood hacker movie.
- cmatrix – Matrix-style falling characters in terminal. Feel like a bioinformatics hacker.
What did you think of these fun bioinformatics resources and tools?
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(); });