craigw@aecom.YU.EDU (Craig Werner) (09/13/88)
For those who missed the earlier postings, here is a summary that I've tried to make as short as possible, but no shorter: For those who caught the earlier postings: some vectors, insert-conversions, improved text handling (PSHOW), multi-line maps, plus a few other routines, have been added. --------- Craig Werner (Lognames: werner, craigw) 1935-14E Eastchester Rd. Bronx NY 10461 Albert Einstein College of Medicine ----------------------------------------------------------------------------- Summary Description of the plasmid description language: ----------------------------------------------------------------------------- Note: For all drawing routines, the unit in which sites are specified is the *base pair*, and the scaling of base pairs is relative to the currently defined PLASMIDLENGTH. ------------------------------ Circular Map Drawing Routines: ------------------------------ arcSEGMENT -draws a circular map segment arcTIC -draws a tic at a site arcTICi -same as arcTIC, only inside the arc arcLABEL -prints a label centered on a site arcLABELi -same as arcLABEL, only inside the arc arcRLABEL -prints a label using rotated text (prints upright, R->L). arcRLABELc -clockwise RLABEL arcRLABELcc -counterclockwise RLABEL arcCLABEL -prints a label centered between 2 sites (Centered LABEL) arcCLABELi -same as arcLABEL, only inside arc. arcRESITE -draws a tic and labels it at specified site extRESITE -draws a Restriction site with a tic and extension (tricky). arcSPAN -draws a demarcated arc (i.e., a span line) a spanDISTANCE away from the main map. arcARROWc -draws a clockwise arrow from specified site with given length arcARROWci -clockwise arrow, inside the circle arcARROWcc -counterclockwise arrow arcARROWcci -counterclockwise arrow inside the circle Note: For promoter symbol, combine it with arcTIC arcscaled -- used internally to convert base pairs to degrees. Vectors: -------- pUC18 - draws a scaled pUC allowing room for insert pBSM13+ - draws a scaled pBSM13+ allowing room for insert Note: both of these routines assume that the insert is cloned into the polylinker (multi-cloning site). ------------------------ Linear Map Routines: ------------------------ linSEGMENT -- draws a DNA segment linTIC -- a vertical line above segment to mark a site linTICd -- same, only below the segment (i.e. 'd' for down) linLABEL -- places text above a site linLABELd -- same, only below 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 linARROWr -- draws a rightward arrow (a tic length above segment) linARROWl -- leftward arrow linARROWrd -- rightward arrow below segment linARROWld -- leftward arrow below segment linSPAN -- draws a spanning line spanLENGTH above a segment linSPANd -- draws a spanning line below segment linNSPAN -- a spanning line with its length [bp] above it. linNSPANd -- a spanning line with its length below it. linLSPAN -- a spanning line with a label above it linLSPANd -- a spanning line with a label below it linscaled -- used internally to convert bp to distances. Vectors: -------- gt11 - gt11 with room for insert at EcoRI site (19600) --------------------------------------------------------------------------- Text Handling Routines POINTSIZE -rescales current font and some internal variables (Please Use!) SETFONT -resets current font plus some internal variable (Please Use!) PSHOWc -centers text on a point PSHOWl -left-justifies text starting at given point PSHOWr -right-justifies text to a given point --------------------------------------------------------------------------- Definition Routines ----------------------- Common Map Definition: ----------------------- DEFINE -- a synonym for PostScript 'def' WIDTH -- thickness of segment ticDISTANCE -- distance from center of segment of end of tic textDISTANCE -- distance from center of segment to text spanDISTANCE -- distance from center of segment to span line spanGAP -- difference between span length and segment length All of the above take as their unit the Point, however the keywords 'inch', and 'cm' are provided to automatically make the conversion. 'point' and 'pt' are also provided for readability, but are optional. percentBLACK -- the color used in the shading of the segment. ZEROPOINT -- the base which is aligned with the left margin in linear maps, or is at "12:00" (positive Y axis) on circular maps. PLASMIDLENGTH -- or totalLENGTH of the construct to be mapped. PHAGELENGTH -- PLASMIDLENGTH and PHAGELENGTH are interchangable ---------------------------------- Circular Map specific Definitions: ---------------------------------- RADIUS -specifies the radius of the map (R) CENTER -specifies center of the map (X,Y) XCENTER -specifies X coordinate of map center (X) YCENTER -specifies Y coordinate of map center (Y) extDISTANCE -length of an extension for extRESITE (dE) extARC -absolute angle (degrees, not bp) of the extension (aE) EXTENSION -sets both extDISTANCE and extARC ------------------------------- Linear Map specific Definition: ------------------------------- YPOSITION - sets vertical position on which linear map is centered LEFTMARGIN - sets left margin (really base position of ZEROPOINT) RIGHTMARGIN - set right margin (really base position of PLASMIDLENGTH) linADJUST -non-centering adjustment for vertical text (used by linRESITEhd and linRESITEvd). Note: for all definition routines (except for DEFINE), the current value can be referenced by appending an ampersand (&) to the name of the routine, as in &YPOSITION 2 inch sub YPOSITION, which defines a new YPOSITION 2 inches below the present one. ------------------------ Insert-handling routines ------------------------ The following can be accomplished easily, but are provided as a shorthand for drawing maps when distances are known relative to the insert. Definition: INSERT - define the insert length SITE - define the site of insertion within the vector Conversion: from5' - converts the position relative to the 5' end to actual from3' - converts the position relative to the 3' end to actual The following will produce identical output: &SITE 50 add arcRESITE %or% 50 from5' arcRESITE &SITE &INSERT add 50 sub arcRESITE %or% 50 from3' arcRESITE ---------------------------------------------------------------------------- Multi-line linear map routines. At this point in time, there does not exist the range of support routines for multiple line maps that exist for single line maps. Since the appearance of a multi-line map with the variable NLINES set to 1 is exactly the same as the corresponding single line map, it is my intention that eventually multi-line features will migrate to the normal routines. ---------------------------------------- Definition routines for Multi-line Maps ---------------------------------------- NLINES - number of lines in Multi-Segments lineDISTANCE - space between lines of multi-segments MZEROPOINT - where the multi-line map starts. ---------------------------------------- Drawing routines for Multi-line Maps ---------------------------------------- linMSEGMENT - draws a linear segment, recursively calling itself if the MSEGMENT extends over the length of a line. The number of bases per line is calculated from PLASMIDLENGTH divided by NLINES. linMTIC - draws a tic at the given site (in base pairs) linMLABEL - centers text over a given site (in base pairs) linMRESITE - draws a tic and labels it at a given site (in base pairs) -- --------- Craig Werner (Lognames: werner, craigw) "This is no social crisis, just another tricky day for you."