Mercurial > repos > rnateam > viennarna_rnaplot
view test-data/Anolis_caro_chrUn_GL343207.trna3_AlaAGC_ss.ps @ 6:23c2c9a7b62e draft default tip
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/vienna_rna commit 36681a08c6e44c663169caaefd964781c43d0d29
author | rnateam |
---|---|
date | Wed, 20 Dec 2017 08:33:55 -0500 |
parents | |
children |
line wrap: on
line source
%!PS-Adobe-3.0 EPSF-3.0 %%Creator: ViennaRNA-2.2.10 %%CreationDate: Tue Dec 19 19:42:58 2017 %%Title: RNA Secondary Structure Plot %%BoundingBox: 66 210 518 662 %%DocumentFonts: Helvetica %%Pages: 1 %%EndComments %Options: % to switch off outline pairs of sequence comment or % delete the appropriate line near the end of the file %%BeginProlog /RNAplot 100 dict def RNAplot begin /fsize 14 def /outlinecolor {0.2 setgray} bind def /paircolor {0.2 setgray} bind def /seqcolor {0 setgray} bind def /cshow { dup stringwidth pop -2 div fsize -3 div rmoveto show} bind def /min { 2 copy gt { exch } if pop } bind def /max { 2 copy lt { exch } if pop } bind def /arccoords { % i j arccoords % puts optimal x1 y1 x2 y2 coordinates used in bezier curves from i to j % onto the stack dup 3 -1 roll dup 4 -1 roll lt dup dup 5 2 roll {exch} if dup 3 -1 roll dup 3 -1 roll exch sub 1 sub dup 4 -2 roll 5 -1 roll {exch} if 4 2 roll sequence length dup 2 div exch 3 1 roll lt {exch 5 -1 roll pop 4 -2 roll exch 4 2 roll} { 4 2 roll 5 -1 roll dup 6 1 roll {exch} if 4 -2 roll exch pop dup 3 -1 roll dup 4 1 roll exch add 4 -1 roll dup 5 1 roll sub 1 sub 5 -1 roll not {4 -2 roll exch 4 2 roll} if }ifelse % compute the scalingfactor and prepare (1-sf) and sf*r 2 mul exch cpr 3 1 roll div dup 3 -1 roll mul exch 1 exch sub exch % compute the coordinates 3 -1 roll 1 sub coor exch get aload pop % get coord for i 4 -1 roll dup 5 1 roll mul 3 -1 roll dup 4 1 roll add exch % calculate y1 4 -1 roll dup 5 1 roll mul 3 -1 roll dup 4 1 roll add exch % calculate x1 5 -1 roll 1 sub coor exch get aload pop % get coord for j % duplicate j coord dup 3 -1 roll dup 4 1 roll exch 8 2 roll 6 -1 roll dup 7 1 roll mul 5 -1 roll dup 6 1 roll add exch % calculate y2 6 -1 roll mul 5 -1 roll add exch % calculate x2 6 -2 roll % reorder } bind def /drawoutline { gsave outlinecolor newpath coor 0 get aload pop 0.8 0 360 arc % draw 5' circle of 1st sequence currentdict /cutpoint known % check if cutpoint is defined {coor 0 cutpoint getinterval {aload pop lineto} forall % draw outline of 1st sequence coor cutpoint 1 add get aload pop 2 copy moveto 0.8 0 360 arc % draw 5' circle of 2nd sequence coor cutpoint 1 add coor length cutpoint 1 add sub getinterval {aload pop lineto} forall} % draw outline of 2nd sequence {coor {aload pop lineto} forall} % draw outline as a whole ifelse stroke grestore } bind def /drawpairs { paircolor 0.7 setlinewidth [9 3.01] 9 setdash newpath pairs {aload pop currentdict (cpr) known { exch dup coor exch 1 sub get aload pop moveto exch arccoords curveto } { coor exch 1 sub get aload pop moveto coor exch 1 sub get aload pop lineto }ifelse } forall stroke } bind def % draw bases /drawbases { [] 0 setdash seqcolor 0 coor { aload pop moveto dup sequence exch 1 getinterval cshow 1 add } forall pop } bind def /init { /Helvetica findfont fsize scalefont setfont 1 setlinejoin 1 setlinecap 0.8 setlinewidth 72 216 translate % find the coordinate range /xmax -1000 def /xmin 10000 def /ymax -1000 def /ymin 10000 def coor { aload pop dup ymin lt {dup /ymin exch def} if dup ymax gt {/ymax exch def} {pop} ifelse dup xmin lt {dup /xmin exch def} if dup xmax gt {/xmax exch def} {pop} ifelse } forall /size {xmax xmin sub ymax ymin sub max} bind def 72 6 mul size div dup scale size xmin sub xmax sub 2 div size ymin sub ymax sub 2 div translate } bind def end %%EndProlog RNAplot begin % data start here /sequence (\ GGGGAAUUAGCUCAAAUGGUAGAGCGCUCGCUUAGCAUGCGAGAGGUAGCGGGAUUGAUGCCCGCAUUCUCCA\ ) def /coor [ [111.04756165 225.82804871] [110.41094971 210.84155273] [109.77433014 195.85507202] [109.13771057 180.86859131] [108.50109100 165.88211060] [107.86447144 150.89561462] [107.22785950 135.90913391] [90.28739166 133.48460388] [77.11851501 123.91786957] [70.32070923 110.05319977] [55.37474823 111.32528687] [40.42878342 112.59737396] [25.48282242 113.86946106] [17.57515907 127.22043610] [3.31690264 133.34266663] [-11.80935574 129.88204956] [-21.98726082 118.16923523] [-23.30319977 102.70806122] [-15.25116920 89.44365692] [-0.92733771 83.47645569] [14.16048908 87.10096741] [24.21073341 98.92350006] [39.15669632 97.65141296] [54.10265732 96.37932587] [69.04862213 95.10723114] [75.20735168 80.83619690] [87.46604156 71.28019714] [84.93103027 56.49596024] [82.39601898 41.71172333] [79.86100006 26.92748451] [77.32598877 12.14324570] [63.73017883 4.41744947] [58.32971573 -10.25800610] [63.67453384 -24.95381927] [77.24097443 -32.73107910] [92.62337494 -29.91759682] [102.55863953 -17.84181786] [102.35564423 -2.20555139] [92.11022949 9.60823345] [94.64524078 24.39247131] [97.18025208 39.17671204] [99.71526337 53.96094894] [102.25028229 68.74518585] [111.61898041 69.95008087] [120.45154572 73.97383881] [127.89853668 80.59681702] [133.19635010 89.34370422] [135.74378967 99.51597595] [135.16680908 110.24712372] [150.04531860 112.15238953] [164.92382812 114.05766296] [179.80232239 115.96292877] [194.68083191 117.86819458] [206.04914856 107.13062286] [221.66270447 106.26418304] [234.14927673 115.67798615] [237.61306763 130.92712402] [230.41859436 144.81141663] [215.96286011 150.77513123] [201.07142639 146.00236511] [192.77557373 132.74670410] [177.89706421 130.84143066] [163.01855469 128.93617249] [148.14004517 127.03089905] [133.26153564 125.12563324] [122.21434021 135.27252197] [122.85095978 150.25900269] [123.48757935 165.24548340] [124.12419128 180.23197937] [124.76081085 195.21846008] [125.39743042 210.20494080] [126.03404999 225.19142151] [129.04023743 244.33856201] ] def /pairs [ [1 72] [2 71] [3 70] [4 69] [5 68] [6 67] [7 66] [10 25] [11 24] [12 23] [13 22] [27 43] [28 42] [29 41] [30 40] [31 39] [49 65] [50 64] [51 63] [52 62] [53 61] ] def init % switch off outline pairs or bases by removing these lines drawoutline drawpairs drawbases % show it showpage end %%EOF