code for helical wheel plot



 Hi friends,
              Some time ago i offered to give the code for a program
  which will generate the coordinates for helix wheel given a sequence
  of alpha helix.
           since i recieved a large no. of requests from the people
  asking for such a program, i have decided to post it to the CCL
 
 .
  Please take this program from here. Since it would require me spend
 a lot of time for individual postings, i hope CCL will be convenient
 to all of us.
   About the program:
          This is a very very simple fortran program. It takes an
  initial arbit point with (r,phi,z) as (10,0,0) and keeps on rotating
   this point by 100 deg. for each amino acid in the seq. It increase
   the radius of circle by 5 every 18 residues to avoid overlapping of
    the points.
    INPUT : input to this program is in SINGLE letter code of amino
    acids in format (40(1x,a1))
    Outpot : Output lists the amino acid in SINGLE letter code and
    Coordinates associated with it in a format that is analogous to
    PDB format. The format of the output is (13x,a1,16x,3f8.3).
 *********start of the code********************************************
 c            program helical wheel
 c   it generate the coordinates for plotting a helical wheel for
 c  given sequence of the helix. Method is from
 c  schiffer & Edmundson, Biophyscal J. (1967).
 c   maximum length of helix taken is 40 Amino acids
                 parameter (i=50)
                 character*1 r
                dimension r(i),x(i),y(i),z(i)
                dimension rad(i),phi(i)
                open (unit=1,file='hel.inp')
                open (unit=2,file='hel.out')
   10           format (40(1x,a1))
   11           format (13x,a1,16x,3(f8.3))
                read(1,10) (r(j),j=1,40)
                rad(1)=10.0
                phi(1)=0.0
                 z(1)=0.0
                  k=1
                do j=2,40
                if (r(j).ne.' ') then
                   k=k+1
                if (j.le.18) rad(j)=rad(1)
                if ((j.gt.18).and.(j.le.36)) rad(j)=rad(1)+5.0
                if (j.gt.36) rad(j)=rad(1)+10.0
                phi(j)=phi(j-1)+100.0
                if(phi(j).ge.360.0) phi(j)=phi(j)-360.0
                z(j)=0.0
                  endif
                enddo
                       pi=acos(-1.0)/180.0
                     do j=1,k
                      phi(j)=pi*phi(j)
                   x(j)=rad(j)*cos(phi(j))
                   y(j)=rad(j)*sin(phi(j))
                     write(2,11) r(j),x(j),y(j),z(j)
                     enddo
                     stop
                      end
 
 ********end of the code ***********************************************
          users can change the code at the will and pass it on to
   whomever they wish. This coordinates from this program can visualized
   in any graphics program .e.g. DTMM (DeskTop Molecular Modellar)
      and pltted. In case any body finds a bug in the program, please
   send a mail to me at
                  san : at : mbu.iisc.ernet.in
                          sandeep kumar