[comp.lang.postscript] Plasmid Description Language III. Procedures.

craigw@aecom.YU.EDU (Craig Werner) (06/29/88)

.nf

Measurement:

inch 		- converts from inches to points  (usually used in combination)
		Example:  4.25 inch   5.5 inch   CENTER
cm 		- converts from centimeters to points
degree 		- optional (for readability)
point 		- optional (for readability)

General Definition:
DEFINE		- synonym of PostScript's "def"
		Usage:   /Variable-name   value   DEFINE
		Example:    /Site 2545 DEFINE
percentBLACK	-sets grayscale for filled segments
		Usage:  value [0-100] percentBLACK
		Example:  20    percentBLACK

ZEROPOINT	- determines which base position is at "12:00"
		Usage:   site [bp]    ZEROPOINT
		Example:   396   ZEROPOINT
PLASMIDLENGTH   - total length of plasmid (for scaling maps to 360 degrees)
		Usage:  length [bp]  PLASMIDLENGTH
		Example:   2868    PLASMIDLENGTH
PHAGELENGTH  	- synonym of PLASMIDLENGTH

WIDTH		-specifies the half width of a segment (dr)
ticLENGTH 	-specifes distance from center of segment to end of tic (dR)
textDISTANCE	-specifies distance from center of segment to label text (dT)
textLENGTH	- synonym of textDISTANCE
spanDISTANCE	-distance of span line from main map (dS)

POINTSIZE	-Specifies the Point Size for text (PS) but DOES NOT reset font.
SETFONT		-Specifies the font, and resets typeface.

-----------------------------------------------------------------------------
Circular Map Defintion:

RADIUS		-specifies the radius of the map (R)
CENTER		-specifies center of the map (X,Y)
		Usage: X-position   Y-position   CENTER
		Example:  4.25 inch  5.5 inch  CENTER
XCENTER		-specifies X coordinate of map center (X)
YCENTER		-specifies Y coordinate of map center (Y)
extLENGTH	-length of an extension for extRESITE (dE)
extARC		-absolute angle (degrees, not bp) of the extension (aE)
EXTENSION	-sets both extLENGTH and extARC


Circular Map Drawing Routines:

arcSEGMENT	-draws a circular map segment
		Usage:    site-1 [bp]   site-2 [bp]   arcSEGMENT
		Example:    2120    3050  arcSEGMENT 
		Notes:  modified by WIDTH, percentBLACK, ZEROPOINT, among others
			will go across 0,  i.e. 3050 120 arcSEGMENT will work 

arcTIC		-draws a tic at a site
		Usage:    site [bp]   arcTIC
		Example:      0  arcTIC
arcTICi		-same as arcTIC, only inside the arc

arcLABEL	-puts a label centered on a site
		Usage    (Text)  site  arcLABEL
		Example:  (ORI)  800   arcLABEL
arcRESITE	-draws a tic and labels it at specified site
		Example:  (EcoRI) 396 arcRESITE

arcARROWc	-draws a clockwise arrow from specified site with given length
		Usage:	site [bp]  length [bp]  arcARROWc
		Example:  1500 100 arcARROWc
		Note: For promoter symbol, combine it with arcTIC
arcARROWci	-clockwise arrow, inside the circle
arcARROWcc	-counterclockwise arrow
arcARROWcci	-counterclockwise arrow inside the circle

WEDGE
extension
exttic
extREsite

Don't ask:
CenterPText	-Centers Text on a point
		Usage: (text) xpoint ypoint CenterPText
		Example (pUC18) X Y CenterPText 	% X,Y are map center.

----------------------------------------------------------------------------
Linear Maps

Definition:

percentBLACK
YPOSITION 		- sets vertical position on which linear map is centered
LEFTMARGIN 		- sets left margin
			Note: LEFTMARGIN actually sets the horizontal position
			of the ZeroPoint (ZEROPOINT).  Hence setting the left
			margin to the middle of the page will allow one to
			center diagrams on a particular restriction site.
			This is particularly nice for maps of nested deletions.
			To make it work correctly however. The PLASMIDLENGTH
			should not be changed for the deletions, as this will
			cause scaling of the base pairs.
RIGHTMARGIN 		- set right margin
			Note: Actually is position of the base defined as
			PLASMIDLENGTH. Similar tricks can be played.

WIDTH			-- thickness of segment
ticLENGTH		-- distance from center of segment of end of tic
textLENGTH		-- distance from center of segment to text
spanLENGTH		-- distance from center of segment to span line

ZEROPOINT		-- the base which is aligned with the left margin
PLASMIDLENGTH 		-- in base pairs
PHAGELENGTH		-- PLASMIDLENGTH and PHAGELENGTH are interchangable 

POINTSIZE		-- a POINTSIZE and SETFONT are usually used together
SETFONT			>> in fact POINTSIZE only changes with SETFONT


Linear Map Routines:

linSEGMENT		-- draws a DNA segment
			Usage: position1 position2 linSEGMENT
			Example: 0 1134 linSEGMENT

linTIC 			-- a vertical line above segment to mark a position
linTICd 		-- same, only below (down) the segment
		
linLABEL		-- places text above a position
linLABELd		-- same, only below
			Example: (Promoter) 100 linLABELd

linCLABEL		-- a label above segment centered between two sites
linCLABELd		-- a label below segment 

linRESITEh		-- for restriction enzyme sites, places a tic and label
linRESITEhd		-- "  horizontal below
linRESITEv		-- " vertical above
linRESITEvd		-- " vertical below
			Example: (HindIII) 450 linRESITEh

linARROWr		-- draws a rightward arrow (a tic length above segment)
linARROWl		-- leftward arrow
linARROWrd		-- rightward arrow below segment
linARROWld		-- leftward arrow below segment
			Usage: start length linARROW*
		Note: the standard promoter notation can be drawn by combining
		a TIC with the appropriate ARROW. 
			Example: 1500 300 linARROW
				 1500 linTIC
				 (Direction of Transcription) linLABELd

linSPAN			-- draws a spanning line spanLENGTH above a segment
linSPANd		-- draws a spanning line below segment
			Usage: start finish linSPAN*
		Note: modified by spanDISTANCE, which can be positive
		or negative, which makes linSPANd slighly superfluous.

linNSPAN		-- a spanning line with its length [bp] above it.
linNSPANd		-- a spanning line with its length below it.
		Note 1: The length is computed by the program, usage is
		same as linSPAN
		Note 2: The d (for down) refers to the position of the
		label with regards to the span line, not the span line 
		in relation to the mapped SEGMENT.

linLSPAN		-- a spanning line with a label above it
linLSPANd		-- a spanning line with a label below it
			Usage: (text) start finish linLSPAN*
		These can be combined, as in:
			Example:  235 1000 linNSPAN
				  (deleted in pCW16) 235 1000 linLSPANd
			% the net effect is the length above the span line
			and the comment below - note the 'd'.

-- 
---------
	Craig Werner 	(Lognames: werner, craigw)
       "This is no social crisis, just another tricky day for you."