Category Archives: Algorithms

Bioinformatics: Links, News And Resources (4)

Previous Post

Birds of a Feather: Functional Programming in Bioinformatics | Commercial Users of Functional Programming

Needleman Wunsch Algorithm in C# – CodeProject

BioSmalltalk: A pure object system and library for bioinformatics

L Fu – Dao: a novel programming language for bioinformatics

Homepage: Max-Planck-Institut für Informatik

Functional DSLs for Biocomputation

BioSmalltalk: How to do a BLAST from Smalltalk



Oxford Journals | Life Sciences & Mathematics & Physical Sciences | Bioinformatics

Cell – A Whole-Cell Computational Model Predicts Phenotype from Genotype

My Links

Keep tuned!

Angel “Java” Lopez

Bioinformatics: Links, News And Resources (3)

Previous Post
Next Post

bioinformatics – node.js modules

YOKOFAKUN: Server-side javascript: translating a DNA with Node.js


Karelman (Karelman) on Twitter

sbassi/DNAFilter · GitHub

Bioinformatics Web Servers – University of Reading

UCL-CS Bioinformatics: Introduction

Python for Bioinformatics – Sebastian Bassi – Google Books

Perl and Javascript: bioinformatics in a browser window

EMBER: Login

Web apps for bioinformatics | KurzweilAI

Bio-Javascript? – BioStar

bio-js – A bioinformatics framework in JavaScript – Google Project Hosting

The Sequence Manipulation Suite

biosmalltalk – Bioinformatics Library for Smalltalk – Google Project Hosting

BioSmalltalk: A pure object system for doing bioinformatics with Smalltalk – SEQanswers

My Links

Bioinformatics: Links, News And Resources (2)

Previous Post
Next Post

Data mining, forecasting and bioinformatics competitions on Kaggle
Pjotr is a scientist/biologist/open source programmer,

BioTeam is a high-performance consulting practice. We are dedicated to delivering objective, technology agnostic solutions to the life science researchers. We leverage the right technologies customized to our client’s unique needs in order to enable them to reach their scientific objectives.

ANNOVAR website
Preparation of local annotation databases

biotoolbox – Tools for querying and analysis of genomic data

NCBI HomePage

Calling SNPs with Samtools

Cytoscape: An Open Source Platform for Complex Network Analysis and Visualizatio…

ROCR: Classifier Visualization in R

OpenWetWare is an effort to promote the sharing of information, know-how, and wisdom among researchers and groups who are working in biology & biological engineering.


DNA seen through the eyes of a coder

The Ensembl project produces genome databases for vertebrates and other eukaryotic species, and makes this information freely available online.

Powering the genomics revolution

Integrated system of aging biomarkers

Monte Carlo Method

The PubChem Project

RCSB Protein Data Bank

Welcome to BioConductor —


KEGG: Kyoto Encyclopedia of Genes and Genomes

Entrez cross-database search

European Bioinformatics Institute

UCSC Genome Browser Home

Uri Alon’s Molecular Cell Biology Lab

the Gene Ontology

BABA is an applet that tries to explains how some basic algorithms of bioinformatics work.

Human Genome Project Information

Main Page –
Collection of genetic parts that can be mixed and matched to build synthetic biology devices and systems.

Python course in Bioinformatics


Life Sciences Search Engine

What is Quirrel?
Quirrel is a purely declarative query language designed for performing analytics and statistics on large-scale, multi-structured data sets.


My Links

Bioinformatics: Links, News and Resources (1)

Next Post

Bioinformatics has many interesting problems, algorithms and software, related to parallelism, distributed computing, scalability, and algorithms. This is my first list of links about this fascinating topic, more lists are coming.

Bioinformatics and the Future of Hadoop
The Future of Hadoop in Bioinformatics |

Clojure or Scala for bioinformatics/biostatistics/medical research – Stack Overflow

Riding the Elephant | The Molecular Ecologist

Protein Structure Methods and Algorithms

HPCwire: Scientists Ratchet Up Understanding of Cellular Protein Factory

Molecular Animation – Where Cinema and Biology Meet

Microsoft Research Makes Microsoft Biology Foundation and MODISAzure-Based Environmental Service

Bioinformatics Programming Using Python

Computer gamers crack protein-folding puzzle

Mapreduce and Hadoop Algorithms in Bioinformatics Papers | Abhishek Tiwari
Gamers beat algorithms at finding protein structures

Nature paper decision | Foldit

Microsoft Biology Foundation 1.0 Released – Parallel Programming with .NET

The Molecular Programming Project – Caltech – U

Boris Schmid, PhD

Research field: Biological Sciences – Bioinformatics
Theoretical / Systems Biology: modeling of evolution, population dynamics, epidemiology, immunology, virology, networks.

bioinformatics toolkit in clojure: what would that look like? – Clojure | Google Groups

Saaien Tist: Encounter with incanter – about clojure, incanter and bioinformatics

Paul W.K. Rothemund
I am interested in how processes in biology and chemistry can actually act as computers and execute molecular algorithms

Python and databases (Mysql and SQLite) « Python for Bioinformatics

DataAllure: Hadoop for DNA sequence analysis

Multi-core Parallelization in Clojure – a Case Study

Hadoop for Bioinfomatics – Deepak Singh on Vimeo

Analyzing Human Genomes with Hadoop » Cloudera Hadoop & Big Data Blog

My Links:

Angel “YesIHaveAGenoma” Lopez 🙂

SimpleGA (1) Genetic Algorithms in Javascript/Node.js

Two week ago, I was writing:

a Simple Genetic Algorithm base framework, that supports population, evaluation and mutator operators (I should add crossover operators). The base algorithm is based on

A Genetic Algorithm Tutorial (pdf)

You can create a population of genotypes, each one with an evaluation function. The library evaluates each genotypes and prepares another population, based on the value of each genotype, copying the best ones, and mutating some of the initial specimen based on fitness. The fitness value is v = fi / fa, where fi is the individual fitness evaluation, and fa is the fitness average. The integer part of v determines the count of copies of an individual that survives to the next generation. The fraction part is the probability of having a mutated copy in the next generation set of genotypes:

var newpopulation = [];

for (var k = 0; k < l; k++) {
	if (values[k] < 0)
	var fitness = values[k] / total;
	if (fitness < 0)
	var ntimes = Math.floor(fitness);
	var fraction = fitness - ntimes;
	for (var j = 0; j < ntimes; j++)
	if (fraction > 0 && Math.random() <= fraction)

if (mutators && mutators.length > 0) {
	l = newpopulation.length;
	var lm = mutators.length;
	for (k = 0; k < l; k++) {
		var mutator = mutators[Math.floor(Math.random() * lm)];
		newpopulation[k] = mutator.mutate(newpopulation[k]);

(I should add crossover operator support). There is a sample implementing the Travelling Saleman Problem

running in console using

It can run from the console, or you can launch a local web page:

I wrote client/server version (web page at browser, Node.js server program) and a distributed version (the evaluation of many population running in many server nodes, coordinated by a Node.js server, showing results in a browser).

Next steps: add crossover operators, sample short descriptions, more samples.

Keep tuned!

Angel “Java” Lopez

MapReduce: Links, News and Resources (1)

Ones of my preferred topics in programming are algorithms and distributed computing. You can have both with MapReduce. These are some of my links (thanks to @asehmi for his help; he sent me some of these links).

MapReduce is a software framework introduced by Google in 2004 to support distributed computing on large data sets on clusters of computers.[1] Parts of the framework are patented in some countries.[2]

The framework is inspired by the map and reduce functions commonly used in functional programming,[3] although their purpose in the MapReduce framework is not the same as their original forms.[4]

MapReduce libraries have been written in C++, C#, Erlang, Java, OCaml, Perl, Python, PHP, Ruby, F#, R and other programming languages

MapReduce: Simplified Data Processing on Large Clusters

Parallel Processing Using the Map Reduce Programming Model

Graph Twiddling in a MapReduce World

Cloud9: a MapReduce library for Hadoop

An implementation of Map-Reduce in C#

Twister: iterative MapReduce

ySpace Qizmt – MySpace’s Open Source Mapreduce Framework

Cascading is a Data Processing API, Process Planner, and Process Scheduler used for defining and executing complex, scale-free, and fault tolerant data processing workflows on an Apache Hadoop cluster. All without having to ‘think’ in MapReduce.

Project Daytona – Microsoft Research
Iterative MapReduce on Windows Azure

InfoQ: Introduction to Oozie
Combine multiple Map/Reduce jobs into a logical unit of work

InfoQ: Ville Tuulos on Big Data and Map/Reduce in Erlang and Python with Disco

Spark Cluster Computing Framework

Preview of Storm: The Hadoop of Realtime Processing – BackType Technology

Hadoop in Azure – Distributed Development – Site Home – MSDN Blogs

MapReduce: A Soft Introduction

Mapreduce & Hadoop Algorithms in Academic Papers

MSDN Magazine: MapReduce in F# – Parsing Log Files with F#, MapReduce and Windows Azure

F#: With a few lines of code entered into the powershell and analyze gigabytes of cloud data! – Systems, architecture and engineering solutions!

Data-Intensive Text Processing with MapReduce

The Geomblog: Workshop on Parallelism, and a "breakthrough" in combinatorial geometry

Pragmatic Programming Techniques: Designing algorithms for Map Reduce

Mapreduce and Hadoop Algorithms in Bioinformatics Papers | Abhishek Tiwari

Pragmatic Programming Techniques: Map/Reduce to recommend people connection

High Scalability – Dremel: Interactive Analysis of Web-Scale Datasets – Data as a Programming Paradigm

Tutorial: MapReduce with Riak « myNoSQL

High Scalability – How Rackspace Now Uses MapReduce and Hadoop to Query Terabytes of Data


Pregel: Google’s other data-processing infrastructure | Scalable web architectures

Apache Mahout – Overview
The Apache Mahout™ machine learning library’s goal is to build scalable machine learning libraries.

InfoQ: Billy Newport Discusses Parallel Programming in Java

Sector/Sphere: High Performance Distributed Data Storage and Processing

MapReduce – The Fanfiction « Snail in a Turtleneck

Map / Reduce – A visual explanation

An Introduction to JavaScript Map/Reduce in Riak on Vimeo

Graph algorithms (and MapReduce)

Using MapReduce Functionality To Process Data

My Links

More links about Hadoop and other systems are coming.

Keep tuned!

Angel "MapReduced" Lopez

Algorithms: Links, News, Resources (1)

Sometimes, I found an article or paper about an algorithm, or a class of algorithms. These are some my recent discoveries:

Texture synthesis

First results from GHC’s new garbage collector – GHC


FunctionSource: Path finding with Canvas

F# Code: Hindley Milner Type Inference Sample Implementation

What is Hindley-Milner? (and why is it cool?) – Code Commit

compiler – implementing type inference – Stack Overflow

LEGO Mindstorms Rubik’s Cube Solver

Algorithmic Game Theory and Artificial Intelligence

Eternity II Solver

the { buckblogs :here }: Maze Generation: Growing Tree algorithm

Sorting Obsession

Las máquinas poéticas de los libros imaginarios (i): Raimundo Lulio (Spanish)

How many numbers are squares mod m

Maze Generation: Prim’s Algorithm

Maze Generation: Kruskal’s Algorithm

The Craig Web Experience: Understanding the Halting Problem Protein Structure Methods and Algorithms (Wiley Series in Bioinformatics) (9780470470596): Huzefa Rangwala, George Karypis: Books

Algorithm and data-structure library for .NET 3.5 and up. Algorithmia contains sophisticated algorithms and data-structures like graphs, priority queues, command, undo-redo and more.

Azul’s Pauseless Garbage Collector

Rete Algorithm

Next generation of algorithms inspired by problem-solving ants

Langton’s Ant

An Events Based Algorithm for Distributing Concurrent Tasks on Multi-Core Architectures

YouTube – What different sorting algorithms sound like

To Trie or not to Trie – a comparison of efficient data structures

How to differentiate a non-differentiable function — The Endeavour

The greatest program ever written

My links:

Angel "Java” Lopez