Book Image

R Bioinformatics Cookbook - Second Edition

By : Dan MacLean
Book Image

R Bioinformatics Cookbook - Second Edition

By: Dan MacLean

Overview of this book

The updated second edition of R Bioinformatics Cookbook takes a recipe-based approach to show you how to conduct practical research and analysis in computational biology with R. You’ll learn how to create a useful and modular R working environment, along with loading, cleaning, and analyzing data using the most up-to-date Bioconductor, ggplot2, and tidyverse tools. This book will walk you through the Bioconductor tools necessary for you to understand and carry out protocols in RNA-seq and ChIP-seq, phylogenetics, genomics, gene search, gene annotation, statistical analysis, and sequence analysis. As you advance, you'll find out how to use Quarto to create data-rich reports, presentations, and websites, as well as get a clear understanding of how machine learning techniques can be applied in the bioinformatics domain. The concluding chapters will help you develop proficiency in key skills, such as gene annotation analysis and functional programming in purrr and base R. Finally, you'll discover how to use the latest AI tools, including ChatGPT, to generate, edit, and understand R code and draft workflows for complex analyses. By the end of this book, you'll have gained a solid understanding of the skills and techniques needed to become a bioinformatics specialist and efficiently work with large and complex bioinformatics datasets.
Table of Contents (16 chapters)

Using the map family of functions in purrr

R’s base functional programming tool kit is a little sparse. The purrr package was created in order to extend it and create a complete and consistent set of tools for working with functions and data structures. purrr provides a set of functions for functional programming, including the widely used map family of functions. The map functions allow you to iterate over a collection (such as a list or vector) and apply a function to each element, returning the results as a new list or vector.

The functions vary according to what they expect as input, what they iterate over, and what types and structures they return. Like the apply functions, they can simplify repetitive tasks, such as data manipulation or model fitting, by automatically handling the iteration process for you but by ensuring they always return the specified types and structures they help us to build more streamlined and effective code that is less prone to bugs.

In...