Our site will be undergoing maintenance from 6 a.m. - 6 p.m. ET on Saturday, May 20. During this time, Bookshop, checkout, and other features will be unavailable. We apologize for the inconvenience.
Cookies must be enabled to use this website.
Book Image Not Available Book Image Not Available
Book details
  • Genre:COMPUTERS
  • SubGenre:General
  • Language:English
  • Pages:450
  • eBook ISBN:9781483534404

Mastering Java through Biology

A Bioinformatics Project Book

by Peter Garst

Book Image Not Available Book Image Not Available
Overview

Learn programming by solving key problems in bioinformatics and computational biology

You will simulate a neural membrane, align biological sequences, model chemotaxis and genetic drift, and find blood cells in an image. In the process you will become proficient in Java, including the many new features of Java 8.

This practical book will help you find scientific software online and learn to release usable, high quality code.

Full source code for all the programming projects, data for running the programs, and solutions to many of the exercises are available online.

Description

The first chapters introduce Java and Java development tools. After that the typical chapter introduces a computational biology problem, and develops the programming and algorithmic tools needed to solve it. These are the principle topics:

  • Several chapters build simulations of gene regulation, and develop the basic ideas of object oriented programming.
  • A simulation of the electrical activity in a neural membrane leads to a study of the Java inheritance system. The cellular structures which control electrical activity in the membrane map directly to a Java class hierarchy.
  • Web services allow programs to directly access biological data and services on the internet.
  • Programs implementing probabilistic sequence models introduce a number of very useful scientific software techniques. The programs for training the models from sequence data use lambda functions and other new Java features for handling a lot of data in parallel.
  • Aligning biological sequences teaches the dynamic programming algorithm. Programs to solve this problem tend to work well for small examples but fall apart when using realistically sized inputs, so the book covers computational complexity and many practical tools to ensure that the program is solid for real data.
  • A model of genetic drift introduces graphical user interfaces. A model of chemotaxis, the behavior of bacteria in moving toward or away from certain stimuli, uses threading and other techniques for asynchronous programming. The program uses genetic algorithms, a simple machine learning technique, to adapt the model parameters.
  • A program to count blood cells in an image works as a plugin to the ImageJ image processing system. Besides digital image processing techniques, it uses a family of Java tools called reflection.

This book provides students and scientists with the tools to manage and analyze data. Those who are already software proficient will learn about a fascinating and important application area. 

About the author