📄 errata2.list
字号:
List of errata and changes in version 2 of suboptimal folding code.1. This small bug would give an energy of zero to a hairpin loop of size 3 when the closing base pair is forced. This is OK for the closed excision case, but not in general.************ newLIN.FOR;5 115 if ((size.eq.3).and.fce(i,j).and.seq(hstnum(i+1)).eq.' ') then 116 c Closed excision****** oldLIN.FOR;4 115 if ((size.eq.3).and.fce(i,j)) then 116 c Closed excision************The same change should be made in CIRC.FOR .2. Jan. 15, 1990.A knot checking feature has been added to EFN.FOR . Very often, phylogenetic or other CT files not produced by the folding program can contain knots or conflicting base pairs. The program will nowfind and flag these.************ newFile USR$DISK:[ZUKER.MFOLD]EFN.FOR;24 61 c Check for knots 62 c 63 do i = 1,n 64 if (basepr(i).ne.0) then 65 j = max(i,basepr(i)) 66 ip = min(i,basepr(i)) 67 if (basepr(ip).ne.j.or.basepr(j).ne.ip) then 68 write(6,1041) hstnum(ip),hstnum(j) 69 stop 70 endif 71 do k = ip+1,j-1 72 if (basepr(k).ne.0) then 73 l = basepr(k) 74 if (l.le.ip.or.l.ge.j) then 75 write(6,1042) hstnum(ip),hstnum(j),hstnum(k),hstnum(l) 76 stop 77 endif 78 endif 79 enddo 80 endif 81 enddo 82 1041 format(' Base pair ',i5,'.',i5,39H has 5' or 3' end in .another base pair.) 83 1042 format(' Base pair ',i5,'.',i5,' conflicts with ',i5,'.',i5) 84 c 85 c Process sequence to find base types.****** oldFile USR$DISK:[ZUKER.MFOLD]EFN.FOR;20 61 c Process sequence to find base types.************************File USR$DISK:[ZUKER.MFOLD]EFN.FOR;24 271 write (6,1010) hstnum(i),hstnum(k),hstnum(kp),hstnum(j) 272 1010 format(' Knot : ',i5,'.',i5,' conflicts with ',i5,'.',i5) 273 e = infinity******File USR$DISK:[ZUKER.MFOLD]EFN.FOR;20 247 write (6,*) 'ERROR - KNOT FOUND' 248 e = infinity************3. January 17, 1990.Lorne Reid (at Allelix) has graciously updated the FIGDOT program so that it works with GCG version 6.************File USR$DISK:[ZUKER]FIGDOT.FOR;5 9 * 10 parameter (nmax=700)******File USR$DISK:[ZUKER.MFOLD]FIGDOT.FOR;13 9 * 1/15/90 - L. Reid, - add pen colour according to value of cell 10 * 1/15/90 - Change bottom & top of viewport so that it goes 0 -100 11 * as per the UWGCG manual (Rev 6.0 section 13-21) 12 * 1/17/90 - Zuker changes color option 13 parameter (nmax=700)************************File USR$DISK:[ZUKER]FIGDOT.FOR;5 122 do j=n,1,-1 123 do i=1,j 124 if (m(i,j).ne.0) then 125 * if we've found a point, see if we can draw a line... 126 x=1 127 do while (m(i+x,j-x).ne.0) 128 m(i+x,j-x)=0******File USR$DISK:[ZUKER.MFOLD]FIGDOT.FOR;13 125 k = 1 126 maxm = 1 127 do while (k.le.maxm) 128 * put out a pen colour associated with the value 129 write (15,1024) k 130 do j=n,1,-1 131 do i=1,j 132 if (k.eq.1.and.m(i,j).gt.maxm) maxm = m(i,j) 133 if (m(i,j).eq.k) then 134 * if we've found a point, see if we can draw a line... 135 x=1 136 do while (m(i+x,j-x).eq. k) 137 m(i+x,j-x)=0************************File USR$DISK:[ZUKER]FIGDOT.FOR;5 140 enddo 141 enddo******File USR$DISK:[ZUKER.MFOLD]FIGDOT.FOR;13 149 enddo 150 enddo 151 k = k + 1 152 enddo************************File USR$DISK:[ZUKER]FIGDOT.FOR;5 144 do j=n,1,-1 145 do i=1,j 146 if (m(j,i).ne.0) then 147 * if we've found a point, see if we can draw a line... 148 x=1 149 do while (m(j-x,i+x).ne.0) 150 m(j-x,i+x)=0******File USR$DISK:[ZUKER.MFOLD]FIGDOT.FOR;13 155 k = 1 156 maxm = 1 157 do while (k.le.maxm) 158 * put out a pen colour associated with the value 159 write (15,1024) k 160 do j=n,1,-1 161 do i=1,j 162 if (k.eq.1.and.m(i,j).gt.maxm) maxm = m(j,i) 163 if (m(j,i).eq.k) then 164 * if we've found a point, see if we can draw a line... 165 x=1 166 do while (m(j-x,i+x) .eq. m(j,i)) 167 m(j-x,i+x)=0************************File USR$DISK:[ZUKER]FIGDOT.FOR;5 162 enddo 163 enddo******File USR$DISK:[ZUKER.MFOLD]FIGDOT.FOR;13 179 enddo 180 enddo 181 k = k + 1 182 enddo************************File USR$DISK:[ZUKER]FIGDOT.FOR;5 175 14 format ('.vp 20.455 129.545 100.0 0.0',/, 176 1 '.wn ',4(f7.2,1x),/,******File USR$DISK:[ZUKER.MFOLD]FIGDOT.FOR;13 194 * Fix up the horizontal axis to run from 0 to 100 rather than reverse 195 14 format ('.vp 20.455 129.545 0.0 100.0',/, 196 1 '.wn ',4(f7.2,1x),/,************************File USR$DISK:[ZUKER]FIGDOT.FOR;5 187 * Point format******File USR$DISK:[ZUKER.MFOLD]FIGDOT.FOR;13 207 1024 format ('.nc ',i1) 208 * Point format************4. Jan. 24, 1990.Andrew Bettany pointed out a problem with the 'single force' option.The program gives a 'bonus energy' to each base designated 'doublestranded' that actually is double stranded. However, in a base pairwhere both bases are marked 'double stranded', only a single bonus isgiven. This is an error and prejudices the program against lettingtwo such designated bases pair with one another. The fix involves 3 extra lines of code in LIN.FOR and CIRC.FOR (both changes are identical).************ newFile USR$DISK:[ZUKER.MFOLD]LIN.FOR;7 37 erg = erg + eparam(9) 38 if (force(i).eq.2.and.force(j).eq.2) erg = erg + eparam(9) 39 endif 40 endif 41 ******File USR$DISK:[ZUKER.MFOLD]LIN.FOR;5 old 37 erg = erg + eparam(9) 38 endif 39 endif 40 ************************File USR$DISK:[ZUKER.MFOLD]LIN.FOR;7 594 if (force(i).eq.2.and.force(j).eq.2) nforce = nforce + 1 595 c Perhaps I,J stacks over I+1,J-1? 596 if (i.ne.n.and.j.ne.n+1) then 597 if (e.eq.erg(2,i,j,i+1,j-1)******File USR$DISK:[ZUKER.MFOLD]LIN.FOR;5 593 c Perhaps I,J stacks over I+1,J-1? 594 if (i.ne.n.and.j.ne.n+1) then 595 if (e.eq.erg(2,i,j,i+1,j-1)************************File USR$DISK:[ZUKER.MFOLD]LIN.FOR;7 614 if (force(i).eq.2.and.force(j).eq.2) ep = ep - eparam(9) 615 616 if (i+2.gt.j-3) then 617 c Tidy up loose ends (trivial).******File USR$DISK:[ZUKER.MFOLD]LIN.FOR;5 612 613 if (i+2.gt.j-3) then 614 c Tidy up loose ends (trivial).************************ newFile USR$DISK:[ZUKER.MFOLD]CIRC.FOR;6 31 erg = erg + eparam(9) 32 if (force(i).eq.2.and.force(j).eq.2) erg = erg + eparam(9) 33 endif 34 endif 35 ****** oldFile USR$DISK:[ZUKER.MFOLD]CIRC.FOR;4 31 erg = erg + eparam(9) 32 endif 33 endif 34 ************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -