craigw@aecom.YU.EDU (Craig Werner) (04/08/88)
The following can be used to display DNA sequences on PostScript printers.
Or I should say, given a sequence, it displays what the Sequencing gel
would look like, minus artifacts. It's cute, but of limited utility.
Most of the other comments are embedded below.
And, yes, I know my programming form is terrible.
---- cut below ------- Make sure the first line is %! ----
%!PS
% Gel display - a quaint but useless PostScript program
% Craig Werner, Dept. of Microbiology and Immunology
% Medical Scientist Training Program, Albert Einstein College of Medicine.
% March 1987
% The following program, given a DNA sequence, will print what the sequencing
% gel would look like (under ideal conditions). Of course, most people would
% like to go in the opposite direction, hence its advertised utility.
% The format of the sequence should be at least one space between every base.
% Replace your favorite sequence with my favorite sequence, which is currently
% there as a place-filler.
%
/inch {72 mul} def
0.5 setlinewidth
%% Lane
% Usage 1-4 Lane
% Uses L Y dL dY (alters Y)
/lane
{
1 sub /_lane exch def
L _lane dL mul add Y moveto
dL 0 rlineto stroke
/Y Y dY add def
} def
/A {1 lane} def /a {A} def
/C {2 lane} def /c {C} def
/G {3 lane} def /g {G} def
/T {4 lane} def /t {T} def /U {T} def /u {T} def
/Y 2 inch def
/L 1 inch def
/dY 3 def
/dL 0.4 inch def
%% Sequence starts -- replace with desired DNA sequence
% pBmCW7 - Brugia malayi collagen fragment
% it looks like sequence but is really program code
G G T T A T C C G G G C T T G C T A G G A C C A C A A
G G T G A A A G G G G A T T A C C A G G A
G T G C C A G G T C C T C A G G G T C C C C C T
G G A G A T G A T G G A A T G C C T G G T G C G C C A
G G A A G A C C T G G A C C A C C G G G A C C A C C T
G G A A A A G A C G G C A T T C C C G G T T T A C C A
G G A C A G A A G G G T G A A C C A A C A
%% Sequence Ends
/PS 10 def
/Times-Roman findfont PS scalefont setfont
/XX L dL 2 div add def
/Y Y 0.5 inch add
/lanelabel
{
XX Y moveto
show
/XX XX dL add def
} def
(A) lanelabel
(C) lanelabel
(G) lanelabel
(T) lanelabel
showpage
%----------------------
--
Craig Werner (..!philabs!aecom!werner)
"This is no social crisis, just another tricky day for you."