Book Image

Bioinformatics with Python Cookbook - Second Edition

By : Tiago Antao
Book Image

Bioinformatics with Python Cookbook - Second Edition

By: Tiago Antao

Overview of this book

Bioinformatics is an active research field that uses a range of simple-to-advanced computations to extract valuable information from biological data. This book covers next-generation sequencing, genomics, metagenomics, population genetics, phylogenetics, and proteomics. You'll learn modern programming techniques to analyze large amounts of biological data. With the help of real-world examples, you'll convert, analyze, and visualize datasets using various Python tools and libraries. This book will help you get a better understanding of working with a Galaxy server, which is the most widely used bioinformatics web-based pipeline system. This updated edition also includes advanced next-generation sequencing filtering techniques. You'll also explore topics such as SNP discovery using statistical approaches under high-performance computing frameworks such as Dask and Spark. By the end of this book, you'll be able to use and implement modern programming techniques and frameworks to deal with the ever-increasing deluge of bioinformatics data.
Table of Contents (16 chapters)
Title Page
About Packt
Contributors
Preface
Index

Using decision trees to explore the data


We are now ready to start exploring the data with the objective of finding some rules on how to filter it. Because we have a lot of annotations to explore (in our case, we reduced them, but generally, that would be the case), we need to find a place to start. It can be daunting to go out on a blind fishing expedition. My personal preference for a first approach is using a machine learning technique called decision trees. Decision trees will suggest what the fundamental annotations segregating the data in correct and error calls are. Another advantage of decision trees is that they barely need any data preparation, as opposed to many other machine learning techniques.

How to do it…

  1. We start with a few imports, most notably of scikit-learn:
import gzip
import pickle

import numpy as np
import graphviz
from sklearn import tree
  1. Let's load the data and split it into inputs and outputs:
balanced_fit = np.load(gzip.open('balanced_fit.npy.gz', 'rb'))
ordered_features...