Mark's Homepage


ME

Hi. I am Mark. I am a biology graduate student in the laboratory of Jim Posakony at the University of California, San Diego. Using both wet lab and computational approaches, I am studying transcriptional regulation in the peripheral nervous system of Drosophila melanogaster.


GenePalette


When I started working in the Posakony lab, we quickly came to the conclusion that although there is a ton of genome sequence data, there is no easy way to access specific genomic regions, and look for sequence elements of interest (eg transcription factor binding sites, restriction enzyme sites, primers, SNPs, etc).  Because my projects are heavily biased towards enhancer analysis, I wrote a program called GenePalette that allows a user to access any NCBI sequence and look at binding sites in and around annotated genes. I chose the Java platform because it is multi-platform, and has the ability to create nice graphical user interfaces. GenePalette took about 1 year of 50% of my attention to write, and I have probably spent as much time writing this program as I would have spent marking up strider outputs. You can check out this program at the GenePalette website.

Mark's tips for learning to program

I started programming when I was a technician in the lab of Harris Lewin at the University of Illinois. I was spending lots of time at the computer, and I realized that I could make things go a lot faster if I just dived in, and learned how to write Perl scripts. With only a high school Basic class as my formal training, I found some free tutorials, and the rest is history. Given these facts, I think that anyone who wants to learn to program can do so easily and cheaply. There is an abundance of free information on the web that can help you out. Here are some links and advice to help get started.


Perl

Perl is a great place to start learning how to program. Scripts are very easy to write, the language is available on any platform, and the software for running Perl scripts is free! Below are links to the things which helped me most:

 Robert's Perl Tutorial - A great Perl tutorial. It has all you need to jump in and write simple programs.
 Learning Perl - This book gives a nice introduction to the Perl language in a relaxing conversational tone.
 CPAN - The Comprehensive Perl Archive Network has useful Perl modules, and the latest information about perl.
 

Java

After working with Perl, I found Java to be pretty hard to learn. Wrapping your mind around the concept of Object-Oriented Programming (OOP) can be tough at first, and in Java, you are forced to use OOP. After going through several books and tutorials, I found myself catching on to Java after I started reading the Core Java 2 books. Although I was previously exposed to many of the concepts before, I think this book would be good for someone just coming to the language. Below are links that I found to be useful for Java programming:

Core Java 2 - Not to be redundant, but I really like this set of 2 volumes for learning java
Sun's Java Website - This site has all sorts of resources for Java Programming.  It is also where you can download developer kits to program in Java.
Bruce Eckel's mindview page - Home of the "Thinking in..." books. You can download the "Thinking in Java" book for FREE.
JGuru - Excellent source of advice for a multitude of Java questions.
Jakarta-ORO - Java classes for doing Perl-based pattern matching. When I started learning Java, I was so bummed out to find that Java has no pattern matching abilities to speak of. I was very happy to find these classes on the web.
Zero G - This company makes a great free installer-maker so that you can send your Java application across the universe.
Dick Baldwin's Java Tutorials - a very complete set of tutorials for Java programming.
The Java Tutorial - I found this tutorial to be useful in the begining, but I feel that it becomes too complicated too quickly.