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.