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

Developing a Galaxy tool


Galaxy is mostly a very advanced workflow engine with an easy-to-use interface. Concrete work is delegated to tools. Here, we will learn how to develop a basic tool. The fundamental objective of this chapter is to demonstrate how easy it is to develop a tool; it might seem daunting, but really it is not. The Galaxy developers made sure that all the boilerplate work is done by a tool called Planemo (https://planemo.readthedocs.io). Planemo is very well-documented, and this recipe should be seen as a starting point; Planemo's documentation is the end point. Again, our main objective here is to gain confidence that tool development is accessible for all who want to do it.

Getting ready

Strictly speaking, tool development is language-agnostic. Many tools are actually just wrappers for existing applications; no Python code involved. But Python is well-suited to tool development, especially because Galaxy is implemented in Python, so it's the best choice for tool development...