Mercurial > repos > rnateam > viennarna_rnaplot
diff test-data/Anolis_caro_chrUn_GL343590.trna2_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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/Anolis_caro_chrUn_GL343590.trna2_AlaAGC_ss.ps Wed Dec 20 08:33:55 2017 -0500 @@ -0,0 +1,230 @@ +%!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 (\ +UGGGAAUUAGCUCAAAUGGUAGAGCGCUCGCUUAGCAUGUGAGAGGUAGUGGGAUCGAUGCCCACAUUCUCCA\ +) def +/coor [ +[102.34599304 225.12051392] +[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] +[134.64427185 223.74850464] +[127.29573059 238.40902710] +] def +/pairs [ +[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