Cover photo
Christoph Champ
Attended Danmarks Tekniske Universitet
Lives in Seattle, WA, USA


Christoph hasn't shared anything with you.

People are more likely to share with you if you add them to your circles.

Christoph's Collections
Scientific Programmer, Bioinformatician, Computational Biologist, Linux System Administrator
  • Scientific Programmer, Bioinformatician, Computational Biologist, Linux System Administrator, present
  • University of Washington
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Seattle, WA, USA
Budapest, Hungary - Copenhagen, Denmark - Ljubljana, Slovenia - Monaco - Warsaw, Poland - Moscow, Russia - Tokyo, Japan - Lima, Peru - Chicago, IL, USA - Corvallis, OR, USA - Boston, MA, USA - Quito, Ecuador - Pittsburgh, PA, USA

Linux System Administrator and scientific programmer with strong technical and analytical skills. Experienced in the areas of system administration, hardware, databases, backup, web design (LAMP developer), programming, and scientific research.
Interested in data mining, pattern extraction, informatics, and software development.
(see: for an extended CV.)


B.S. Biochemistry and Biophysics, Oregon State University
September 2000 - June 2004


* see: for a detailed listing.
* Computer operating systems: Linux / Unix, Windows, and Mac OS X
* Computer languages and scripts: Python (+Django), C (+MPI/MPICH), Perl (+CGI), PHP, (X)HTML, CSS, MySQL, various shell scripting languages, and Apache HTTP Server
* Languages Spoken: English, Spanish (college level), and German (college level)


* Frank Zucker, P. Christoph Champ, and Ethan A. Merritt (2010). "Validation of crystallographic models containing TLS or other descriptions of anisotropy". Acta Cryst., D66:889-900.

* P. Christoph Champ and Carlos J. Camacho (2007). "FastContact: a free energy scoring tool for protein-protein complex structures". Nucleic Acids Research (Web Issue) [NAR-00339-Web-B-2007.R1].

* P. Christoph Champ, Tim T. Binnewies, Natasja Nielsen, Guy Zinman, Kristoffer Kiil, Hang Wu, Jon Bohlin and David W. Ussery (2006). "Genome update: purine strand bias in 280 bacterial chromosomes". Microbiology, 152(3):579-583.

* Carlos J. Camacho, Ma H, and P. Christoph Champ (2006). "Scoring a diverse set of high-quality docked conformations: A metascore based on electrostatic and desolvation interactions". Proteins, 63(4):868-77.

* P. Christoph Champ, Sandor Maurice, Jeffery M. Vargason, Tracy Camp, and P. Shing Ho (2004). "Distributions of Z-DNA and nuclear factor I in human chromosome 22: a model for coupled transcriptional regulation". Nucleic Acids Research, 32(22):6501-6510.


* Rackspace
** Linux Administrator II
** May 2013 to present

* MadLab, Seattle, WA
** Web Developer
** December 2012 to April 2013

* Dr. Elhanan Borenstein Laboratory, University of Washington, USA
** Research Assistant / Scientific Programmer
** August 2012 to November 2012
Conducting scientific research on the collection and organization of metagenomic datasets and the assembly of an analysis pipeline for metagenomic data; and analysis of the gut microbiome of children with CF and on methods to identify enriched functions.

* Web Developer, Consultant in the Greater Chicago Area
** October 2010 to June 2012

* Dr. Ethan A. Merritt Laboratory, University of Washington, USA
** System Administrator / Research Assistant (+software developer / maintainer)
** October 2006 to October 2010

* Dr. Carlos J. Camacho Laboratory, University of Pittsburgh, USA
** System Administrator / Research Assistant (+software developer / maintainer)
** March 2006 to February 2007

* Dr. David W. Ussery Laboratory, Danmarks Tekniske Universitet, Denmark
** Research Assistant / Scientific Programmer
** August 2005 to November 2005

* Dr. Carlos J. Camacho Laboratory, University of Pittsburgh, USA
** System Administrator / Research Assistant (+programmer)
** October 2004 to July 2005

* Dr. Alex Rich Laboratory, Massachusetts Institute of Technology, USA
** Research Assistant
/ Scientific Programmer
** July 2002 to Decmeber 2002

* Dr. P. Shing Ho Laboratory, Oregon State University, USA
** Research Assistant (+software developer / maintainer)
** May 2000 to September 2004

* Berlitz, Slovenia
** English Language Instructor
** December 1996 to December 1997


===Web servers

* TLS Motion Determination (TLSMD)
** analyzes a protein crystal structure for evidence of flexibility.
** server administrator and developer; October 2006 - present.

* Raster3D
** a set of tools for generating high quality raster images of proteins or other molecules.
** starting with version 2.7s, I worked to port it to Mac OS X, compile binaries using the Intel Fortran Compiler, and use FreeType; February 2009 - July 2010.

* FastContact Server
** a free energy scoring tool for protein-protein complex structures.
** version 2.0: programmer, server architect, and administrator; January 2007 - June 2006.
** version 1.0: programmer, server architect, and administrator; July 2005 - December 2006.

* SmoothDock Server (currently under development)
** a fully automated algorithm for finding physical interactions between proteins.
** programmer, server architect, and administrator; January 2005 - June 2006 (note: This server uses code optimised and run in parallel on 256 processors).

* CBS Fungal Database
** DNA structural atlases for complete chromosomes and genomes.
** programmer, server architect, and administrator; August 2005 - December 2005.

* LooseLoops Server (currently under development and construction)
** predicts regions of a protein (PDB format) having highly flexible loops
** programmer, server architect, and administrator; November 2004 - June 2006.

* DomainSplit Server
** predicts the number of domains in a given protein (PDB format)
** server architect and administrator; September 2004 - June 2006.

* ZHunt Online Server
** predicts the locations of probable Z-DNA forming regions in a given DNA sequence
** primary researcher and programmer; May 2000 - September 2004 (note: frontend by Sandor Maurice; back end by Sandor Maurice and P. Christoph Champ)

===High-level programming===

Probably the most complicated programming project I have worked on was one where we were attempting to predict how two proteins will interact. Since billions of calculations (a minimum of 2.7 x 10^10) are needed for each protein/protein complex, I had to write specific (C) code that was optimised to run in parallel on a dedicated cluster of 256 CPUs (using the MPICH compiler). As a side note, I had to translate some original Fortran77 code into C so it could be compiled with MPICC.

We wanted to make our algorithm available to the general scientific community and, so, we decided that a web server would be the best implementation. What we needed was a simple, user-friendly interface to the back-end algorithm. Getting the user input (here the coordinates for each atom in a protein) to be transferred to the cluster required a great deal of pre-processing (data parsing, formatting, and error-checking). Likewise, the results returned by the cluster required post-processing to be eventually sent (via email) to the user.

The entire system had to run autonomously (controlled via crontab scheduling). As the administrator of this setup, I was responsible for keeping the system up at all times. However, since there were thousands of lines of code, if the system should crash it would be difficult to find out where the problem was if I didn't maintain extensive log files. I set these up to be easily parsable and had the system periodically email me the "health" of the system. This server remains up-and-running to this day.

===Data mining / data parsing / data manipulation===

The algorithm described above is implemented through a combination of Fortran77 and C code. However, the initial data (input) and results (output) are sent through multiple pipes as a series of I/O streams using Perl, awk/gawk, sed, and bash scripts. They are all controlled via makefiles and use extensive regular expressions.

I would say that working with the command line interface (CLI) and scripting languages are my main skills and strengths. These skills have been developed through over seven years of active data mining through literally hundreds of terabytes of data in a wide array of formats and from multiple sources.

===Database experience===
A different project I worked on also required extensive data mining. However, here we were more interested in storing our data in easily manageable (MySQL) databases. On this particular project, we were working with the human genome. Each genome has over three billion "letters" (or bits of information). However, after adding annotation we were dealing with tens of gigabytes of data for each genome and for each experiment. After completing a couple of these experiments, we were quickly dealing with nearly 100 gigabytes of data. This required extensive data normalization and carefully constructed databases.

Personal and professional references are available upon request.

Last update: 7-Jan-2013
Bragging rights
I have been to 47 countries and 47 US States
  • Danmarks Tekniske Universitet
    Bioinformatics, 2005 - 2006
  • University of Pittsburgh
    Biophysics, 2004 - 2005
  • Massachusetts Institute of Technology
    Computational Biology, 2002 - 2002
  • Oregon State University
    Biochemistry & Biophysics, 2000 - 2004
  • København Universitet
    Bioinformatics, 2005 - 2006
  • University of Washington
    Biophysics, 2006 - 2010
Basic Information