C C CALCULATE CYLINDRICAL PROJECTION PARAMETERS C C THIS PROGRAM USES THE OUTPUT COORDINATE LISTING FROM JOHN C ROSENBERG'S HELIX PROGRAM (AHLXRD.OUT) TO CALCULATE VARIOUS C HELIX PARAMETERS THAT DEPEND ON CYLINDRICAL COORDINATES OF C SUGAR C1' AND PHOSPHATE P ATOMS. C C ***NOTE: NEW CAMBRIDGE NAMES AND SIGN CONVENTIONS ADDED 30.3.89 RED. C C PARAMETERS CALCULATED INCLUDE: C C R, PHI, Z = CYLINDRICAL COORDINATES OF P ATOMS. C D = DISTANCE BETWEEN TWO SUCCESSIVE P ALONG ONE STRAND, C AND H AND Q ARE COMPONENTS PARALLEL AND PERPENDICULAR C TO HELIX AXIS. H THEREFORE IS THE RISE PER BASE PAIR C STEP MEASURED BY P POSITIONS. C PI = LOCAL PITCH ANGLE. H/D = SIN(PI). C S5" = HELICAL ROTATION SEMIANGLE FROM P PAST O5' TO C1' IN C THE 5'-TO-3' DIRECTION. C S3" = SEMIANGLE FROM C1' PAST O3' TO P. C R(P) = HELICAL ROTATION FROM ONE P TO THE NEXT = S5" + S3". C T(C1") = HELIX TWIST ANGLE FROM ONE C1' TO THE NEXT = C S3" + FOLLOWING S5". C H(C1") = VERTICAL RISE ALONG HELIX AXIS BETWEEN C1' ATOMS, C ANALOGOUS TO H BETWEEN P ATOMS. C TWIST AND RISE ARE GLOBAL TWIST AND RISE: C TWIST = ANGLE BETWEEN C1'-C1' VECTORS OF TWO SUCCESSIVE C BASE PAIRS VIEWED IN PROJECTION DOWN HELIX AXIS. C RISE = MEAN OF RISES BETWEEN SUCCESSIVE C1' ATOMS ON THE C TWO ENDS OF THE BASE PAIRS. C NOTE THAT THESE ARE PROPERTIES OF THE DOUBLE HELIX, C WHEREAS ALL OTHER QUANTITIES ARE PROPERTIES OF ONE C INDIVIDUAL STRAND OF THE HELIX OR THE OTHER. C BECAUSE STRAND 2 DESCENDS THE Z AXIS (SEE BROLL PROGRAM), C AND ROTATES IN A NEGATIVE DIRECTION FOR A RIGHT-HANDED C HELIX, QUANTITIES H, PI, S5", S3", R, T AND H(C1") ARE C NEGATIVE FOR STRAND 2 AND POSITIVE FOR STRAND 1. C QUANTITIES D, G, TWIST AND RISE ARE MAGNITUDES. C SLIDE, X DSP, Y DSP AND C1/C1 ARE AS DEFINED IN THE BROLL C PROGRAM, EXCEPT NOW BASED ON C1'/C1' BASE PAIR VECTORS C RATHER THAN C6/C8 VECTORS. FOR FURTHER DISCUSSION, C SEE APPENDIX TO DICKERSON (1983) J.MOL.BIOL. 166:419-441, C AND APPENDIX TO "STRUCTURES OF BIOLOGICAL MACROMOLECULES C AND ASSEMBLIES" (A. MCPHERSON AND F. JURNAK, EDS.), C WYLIE, NEW YORK, 1984. C C INPUT FILE 7 (AHLXRD.OUT) IS ROSENBERG COORDINATE LIST AS WITH C THE BROLL PROGRAM. C C INPUT FILE 8 (CYLIN.INP) CONTAINS SEQUENTIAL NUMBERS OF CERTAIN ATOMS C IN THE FILE 7 LIST, AS FOLLOWS: C C 1. TOTAL NUMBER OF ATOMS, NUMBER OF BASE PAIRS IN HELIX (2I5) C 2. NUMBERS OF P ATOMS IN STRAND 1, IN 5'-TO-3' DIRECTION (20I5) C 3. NUMBERS OF P ATOMS IN STRAND 2, IN 5'-TO-3' DIRECTION (20I5) C 4. NUMBERS OF C1' ATOMS IN STRAND 1, IN 5'-TO-3' DIRECTION (20I5) C 5. NUMBERS OF C1' ATOMS IN STRAND 2, IN 5'-TO-3' DIRECTION (20I5) C C OUTPUT FILE 9 (CYLIN.OUT) CONTAINS THE HELIX PARAMETERS OF INTEREST, C AS DESCRIBED ABOVE. IT THEN CONTAINS A MATRIX OF ALL C PHOSPHORUS-PHOSPHORUS DISTANCES, EACH DIMINISHED BY 5.8 A C AS REPRESENTING TWO VAN DER WAALS RADII OF THE PHOSPHATE GROUP. C C DIMENSION ATM(500,3),PS(2,20,5),CS(2,20,5),TITL(19),TITM(19), *TITN(19),NP(2,20),NC(2,20),DQHP(2,20,4),STR(2,20,11),D1(3),D2(3), *HOL(20),PDIT(20,20),AM(3),BM(3) C READ(8,1)NATM,NPLA 1 FORMAT(2I5) WRITE(9,2) 2 FORMAT(' CYLINDRICAL PARAMETERS, CAMBRIDGE NOMENCLATURE') WRITE(9,3)NATM,NPLA 3 FORMAT(I5,' ATOMS AND ',I5,' BASE PAIRS') READ(7,4)TITL WRITE(9,5)TITL 4 FORMAT(19A4) 5 FORMAT(19A4) READ(7,4)TITM WRITE(9,5)TITM READ(7,4)TITN WRITE(9,5)TITN C DO 6 I=1,NATM READ(7,7)(ATM(I,J),J=1,3) 7 FORMAT(3F10.5) 6 CONTINUE C NPHO=NPLA-1 READ(8,8)(NP(1,J),J=1,NPHO) READ(8,8)(NP(2,J),J=1,NPHO) READ(8,8)(NC(1,J),J=1,NPLA) READ(8,8)(NC(2,J),J=1,NPLA) 8 FORMAT(20I5) C DO 9 I=1,2 DO 10 J=1,NPHO NPH=NP(I,J) DO 11 K=1,3 PS(I,J,K)=ATM(NPH,K) 11 CONTINUE X=PS(I,J,1) Y=PS(I,J,2) R=SQRT(X**2+Y**2) PHI=57.29578*ATAN2(Y,X) PS(I,J,4)=R PS(I,J,5)=PHI 10 CONTINUE 9 CONTINUE C DO 12 I=1,2 DO 13 J=1,NPLA NCA=NC(I,J) CS(I,J,1)=ATM(NCA,1) CS(I,J,2)=ATM(NCA,2) CS(I,J,3)=ATM(NCA,3) X=CS(I,J,1) Y=CS(I,J,2) R=SQRT(X**2+Y**2) PHI=57.29578*ATAN2(Y,X) CS(I,J,4)=R CS(I,J,5)=PHI 13 CONTINUE 12 CONTINUE C NPS=NPHO-1 DO 15 I=1,2 DO 16 J=1,NPS J1=J+1 DX=PS(I,J1,1)-PS(I,J,1) DY=PS(I,J1,2)-PS(I,J,2) DZ=PS(I,J1,3)-PS(I,J,3) D=SQRT(DX**2+DY**2+DZ**2) Q=SQRT(DX**2+DY**2) H=DZ SINP=H/D PIT=57.29578*ASIN(SINP) DQHP(I,J,1)=D DQHP(I,J,2)=Q DQHP(I,J,3)=H DQHP(I,J,4)=PIT 16 CONTINUE 15 CONTINUE C WRITE(9,500) 500 FORMAT(1H ) WRITE(9,17) 17 FORMAT(' PHOSPHATE BACKBONE TABLE, 5" TO 3" DIRECTION IN EACH ST *RAND') WRITE(9,18) 18 FORMAT(' R PHI Z D Q * H PI') DO 19 I=1,2 WRITE(9,20)I 20 FORMAT(' STRAND ',I4) DO 21 J=1,NPHO WRITE(9,22)PS(I,J,4),PS(I,J,5),PS(I,J,3),(DQHP(I,J,K),K=1,4) 22 FORMAT(7F8.2) 21 CONTINUE 19 CONTINUE DO 23 I=1,2 ANUL=0.000 STR(I,1,1)=ANUL STR(I,1,3)=ANUL DO 24 L=2,7 STR(I,NPLA,K)=ANUL 24 CONTINUE C DO 25 J=1,NPHO J1=J+1 IJ=NPLA-J+1 IJ1=NPLA-J C C CALCULATE S5' C DIF=CS(I,J1,5)-PS(I,J,5) 26 IF(DIF-180.)27,27,28 28 DIF=DIF-360. GO TO 26 27 IF(DIF+180.)29,29,30 29 DIF=DIF+360. GO TO 27 30 STR(I,J1,1)=DIF C C CALCULATE S3' C DIF=PS(I,J,5)-CS(I,J,5) 31 IF(DIF-180.)32,32,33 33 DIF=DIF-360. GO TO 31 32 IF(DIF+180.)34,34,35 34 DIF=DIF+360. GO TO 32 35 STR(I,J,2)=DIF C C CALCULATE R AND T C IF(J-1)36,36,37 37 STR(I,J,3)=STR(I,J,1)+STR(I,J,2) 36 STR(I,J,4)=STR(I,J1,1)+STR(I,J,2) C C CALCULATE TGLOBAL C DX1=CS(1,J,1)-CS(2,IJ,1) DX2=CS(1,J1,1)-CS(2,IJ1,1) DY1=CS(1,J,2)-CS(2,IJ,2) DY2=CS(1,J1,2)-CS(2,IJ1,2) R1=SQRT(DX1**2+DY1**2) R2=SQRT(DX2**2+DY2**2) R12=DX1*DX2+DY1*DY2 COA=R12/(R1*R2) STR(I,J,5)=57.29578*ACOS(COA) C C CALCULATE H AND HGLOBAL C STR(I,J,6)=CS(I,J1,3)-CS(I,J,3) STR(I,J,7)=ABS(CS(1,J1,3)-CS(1,J,3)+CS(2,IJ1,3)-CS(2,IJ,3))/2. C 25 CONTINUE 23 CONTINUE C C PRINT ANGLE TABLE C DO 48 K=5,7,2 DO 49 J=1,NPHO IJ=NPHO-J+1 HOL(J)=STR(2,IJ,K) 49 CONTINUE DO 50 J=1,NPHO STR(2,J,K)=HOL(J) 50 CONTINUE 48 CONTINUE WRITE(9,500) WRITE(9,38) 38 FORMAT(' ROTATION AND RISE TABLE, 5" TO 3" DIRECTION') WRITE(9,39) 39 FORMAT(' S5" S3" R(P) T(C1") TWIST * H(C1") RISE SLIDE X DSP Y DSP C1/C1') DO 300 I=1,NPLA N1=NC(1,I) I2=NPLA-I+1 N2=NC(2,I2) DX=ATM(N1,1)-ATM(N2,1) DY=ATM(N1,2)-ATM(N2,2) SX=(ATM(N1,1)+ATM(N2,1))/2. SY=(ATM(N1,2)+ATM(N2,2))/2. HM=SQRT(SX**2+SY**2) RM=SQRT(DX**2+DY**2) SL=(SX*DX+SY*DY)/RM DS=(SX*DY-SY*DX)/RM STR(1,I,10)=-SL STR(1,I,9)=DS STR(1,I,11)=RM 300 CONTINUE C NST=NPLA-1 DO 249 I=1,NST I1=I+1 I2=NPLA-I+1 I3=NPLA-I NC1=NC(1,I) NC2=NC(2,I2) ND1=NC(1,I1) ND2=NC(2,I3) DO 250 K=1,3 AM(K)=(ATM(NC1,K)-ATM(NC2,K)+ATM(ND1,K)-ATM(ND2,K))/2. BM(K)=(ATM(NC1,K)+ATM(NC2,K)-ATM(ND1,K)-ATM(ND2,K))/2. 250 CONTINUE AMAG=SQRT(AM(1)**2+AM(2)**2+AM(3)**2) ADB=AM(1)*BM(1)+AM(2)*BM(2)+AM(3)*BM(3) STR(1,I,8)=-ADB/AMAG STR(1,I1,8)=0.00 249 CONTINUE C DO 40 I=1,2 WRITE(9,41)I 41 FORMAT(' STRAND ',I4) DO 42 J=1,NPLA WRITE(9,43)(STR(I,J,K),K=1,11) 43 FORMAT(5F7.2,2F7.3,4F7.2) 42 CONTINUE 40 CONTINUE WRITE(9,500) WRITE(9,51) 51 FORMAT(' D,Q,TG AND HG ARE MAGNITUDES. ALL OTHER DERIVED *QUANTITIES HAVE') WRITE(9,52) 52 FORMAT(' PROPER SIGNS--OPPOSITE FOR DESCENDING AND ASCENDING * STRANDS.') C C CALCULATE AND PRINT ALL P-P DISTANCES BETWEEN STRANDS C WRITE(9,206) 206 FORMAT(1H1) WRITE(9,4)TITL WRITE(9,4)TITM WRITE(9,4)TITN DO 200 I=1,NPHO DO 200 J=1,NPHO SUMMA=0.0 DO 201 K=1,3 201 SUMMA=SUMMA+(PS(1,I,K)-PS(2,J,K))**2 PDIT(I,J)=SQRT(SUMMA)-5.8 200 CONTINUE WRITE(9,202) 202 FORMAT(' PHOSPHORUS-PHOSPHORUS DISTANCES LESS 5.8 A') WRITE(9,203) 203 FORMAT(' STRAND 1 DOWN, STRAND 2 ACROSS, 5" TO 3" DIRECTION') DO 204 I=1,NPHO WRITE(9,500) WRITE(9,205)(PDIT(I,J),J=1,NPHO) 205 FORMAT(1X,20F6.2) 204 CONTINUE STOP END