view test-data/Anolis_caro_chrUn_GL343590.trna2_AlaAGC_ss.ps @ 8:bdb786715d28 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:34:54 -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 (\
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