proteins vibrate , twist , bend , open , close , assemble and disassemble in a variety of ways over many different time scales .
protein motions and conformational accommodation actually lie at the heart of many important protein  ligand interactions , including protein  dna binding ( 1 ) , enzyme  substrate interactions ( 2 ) , muscle contraction ( 3 ) and oligomerization ( 4 ) . owing largely to the continuing developments of x - ray crystallography , nmr spectroscopy and computational molecular dynamics ( md ) , the temporal and spatial scales involved in protein motions are now becoming better understood ( 5 ) .
small - scale ( < 1.0  ) motions over short periods of time ( picoseconds ) can be modelled or measured using either x - ray thermal b factors ( 6 ) , nmr order parameters ( 7 ) or shorter ( < 1 ns ) md simulations .
mid - scale motions ( 1.04.0  ) tend to take place over longer periods of time ( hundreds of picoseconds to nanoseconds ) and can be discerned by comparing nmr structure ensembles , looking at the x - ray structures of different crystal isomorphs or running long ( 10100 ns ) md simulations .
large - scale motions ( 530  ) , which may take microseconds to complete , are typically evident only by comparing two different states or experimentally determined structures of the same molecule ( say , bound and unbound ) .
the fact that molecular motions play such an important role in protein function underlies the growing need to be able to illustrate or visualize these motions in an informative manner .
, relatively few biologists are familiar with , nor do they have the expertise to use , these relatively sophisticated and expensive software tools .
likewise , not all motions ( especially some of the more interesting or larger - scale ones ) can be captured using off - the - shelf md simulations .
more recently , mark gerstein at yale university has developed an excellent and easy - to - use web server ( the morph server ) which allows non - expert users to animate and visualize certain types of protein motions through the generation of short movies ( 8) .
morphs by interpolating the structural changes between two different protein conformers and generating a set of plausible intermediate structures . a hyperlink pointing to the morph results is then emailed to the user .
the primary focus of the morph server has been to facilitate research into , analysis and classification of different kinds of large - scale molecular motions of monomeric proteins . as such
it is not intended to be a general molecular animation tool capable of simulating all aspects of macromolecular motion such as folding / unfolding , docking , oligomerization , multimeric protein motions , vibrational motions and structural ensemble motions .
for instance , the morph server offers only limited user control over rendering , animation parameters , colour and point of view .
likewise , the methods used to generate the movies are computationally intensive and can require up to 1 h of cpu time before completion .
furthermore , the morph server does not allow the modelling of motions from a single input structure or from more than two input structures .
this is somewhat limiting if one is interested in modelling motions from nmr structure ensembles or if one has only a single x - ray structure of a given protein . additionally , the morph server does not support the visualization of other kinds of protein motions , such as folding / unfolding , or of docking and self - assembly events involving two or more structures . here
we wish to describe a general molecular animation server that allows a wide range of motions and dynamic events to be animated and offers a much greater range of user control over rendering and animation parameters .
this server , called moviemaker , allows small- , medium- and large - scale motions to be rendered using as few as 1 and as many as 50 input structures .
it allows users full control over the rendering style , molecular colouring scheme , background , point of view , rotation rate and animation quality .
it also employs a simplified cartesian coordinate interpolation approach coupled with an intelligent superposition algorithm that allows most kinds of molecular movies to be rendered automatically in less than 1 min . unlike any other animation tool that we are aware of
, moviemaker also allows users the option of creating movies of protein folding / unfolding as well as molecular docking or self - assembly ( oligomerization ) of two or more molecules . rather than being a specialized analytical tool , the main purpose of moviemaker is to quickly and conveniently generate realistic , downloadable animations of protein motions that can be used by non - specialists for a variety of educational or instructive purposes .
moviemaker supports seven kinds of animations : ( i ) simple rotation , ( ii ) morphing between two end - state conformers , ( iii ) small - scale vibrations , ( iv ) small molecule docking , ( v ) self - assembly or oligomerization , ( vi ) mid - scale ( structure ensemble ) motions and ( vii ) protein folding / unfolding .
the type of animation is dependent on both the input data and the type of animation selected by the user from a pull - down menu box .
the moviemaker home page presents the user with the type of movie choices that one can generate ( figure 1 ) along with an extensive gallery illustrating the types of motions that can be modelled . upon selecting the appropriate movie type ,
the input for all moviemaker animations is one or more pdb - formatted files containing one or more protein structures
. these can be directly uploaded to moviemaker using the file selector boxes or alternatively one or more pdb accession numbers can be provided and the program will automatically retrieve the appropriate pdb files from the rcsb website ( 9 ) .
the rotation animation is intended to allow all sides of a given structure to be conveniently and continuously viewed .
once the rotation option is selected , only a single pdb file needs to be provided . if multiple structures are found in a single pdb file , the program either treats the ensemble as a single oligomeric structure or the user can select a single chain from that file . to generate the rotation animation
, moviemaker takes the input file and applies a series of standard x , y or z axis rotations to the structure(s ) .
users have the option of changing the speed and extent of the rotation by adjusting the number of frames in the animation ( the default is a rotation of 360 in 10 increments ) . additionally , through the viewing options section located below the data entry section
, users may change the orientation of the molecule ( by rotating along the x , y or z axes ) , the molecular rendering style ( backbone , cpk , ball - and - stick , ribbon ) , molecular content ( backbone only , all atoms , selected side - chains ) , image size and molecular colour ( by secondary structure , rainbow , by chain , single uniform colour ) .
another freeware program called gifmerge ( ) is then used to string the output images from molscript to create an animated gif .
this animated gif is looped continuously to provide a smooth visualization of the rotation process .
the animations are instantly viewable on the user 's web browser and may be saved by right - clicking on the animation image and selecting 
moviemaker also generates a downloadable set of pdb text files that users can use to generate specific images or regenerate animations using their own molecular rendering software .
small molecule docking requires only a single pdb file containing two or more molecular entities that are already bound .
once the small molecule docking option is selected , the moviemaker program automatically parses the input file and identifies all molecular entities ( small molecules and protein chains ) .
users must then select one protein entity and one small molecule entity . to generate a pre - docking or two - component state
, moviemaker then calculates the centre of masses for the protein alone , the small molecule alone and the complex together . a vector is then drawn from the complex 's centre of mass to the small molecule 's centre of mass .
this vector defines the direction that the small molecule entity must move in to create a pre - docking state . to generate a pre - docking state ,
the small molecule is translated 15  along this vector and randomly rotated ( between 15 and 60 ) about its individual x , y and z axes .
moviemaker then calculates a series of intermediate positions by incrementally rotating and translating the small molecule until it reaches its original bound position .
the default increment is 1/20 of the original translation / rotation . as with the rotation option ,
note that the small molecule can be rendered ( cpk , ball - and - stick ) and coloured in a variety of ways .
oligomerization and self - assembly are handled in a very similar manner to small molecule docking .
as with docking , only a single pdb file containing two or more macromolecules is required . however , when the self - assembly option is selected all macromolecular entities within the pdb file will be separated and reassembled .
users do not have the option to select a subset of molecules that are to be assembled or docked .
the same centre of mass calculations , direction vector calculations , rotations and translations are repeated for all subunits in the oligomer to create a preliminary disassembled state .
when moviemaker 's small - scale or vibrational motions option is selected only a single pdb file ( containing a single chain ) is needed .
the key trick to most of moviemaker 's motion generation is to use cartesian coordinate or torsion angle interpolation between a 
in cartesian interpolation the intermediate positions between two states or positions are calculated in a linear fashion based on the coordinates between the two end - points and a chosen increment .
the resulting images therefore depict a pathway that two conformers can take when morphing from one to the other . to create a perturbed state , moviemaker generates random displacements of the x , y and z coordinates of between 0.0 and 1.0  for all heavy atoms in the original pdb file according to the magnitude of their corresponding b factors .
specifically , the ad hoc formula b = 100(|x| + |y| + |z| ) is used to calculate the x , y and z atomic displacements .
if no b factors are present in the file a default value of 60 is used .
these perturbed structures are then rendered and infinitely looped to create the illusion of a long - term md simulation . when the structural ensemble motion option is selected
, users must provide a pdb file containing two or more copies of the same protein molecule .
this can include an nmr structure ensemble ( typically 2040 structures ) or multiple copies ( 210 ) of the same protein in a single unit cell from a standard x - ray structure .
if the molecules are not identical , moviemaker will provide a warning and cancel the rendering operation .
moviemaker uses a recently developed superpositioning tool called superpose ( 11 ) to intelligently and automatically compare , rank and superimpose all structures in the ensemble or unit cell .
moving from the most similar pair to the least similar remaining pair of superimposed structures in the ensemble , cartesian coordinate interpolation is performed to generate a series of intermediate structures .
moviemaker automatically takes into account the number of structures in the ensemble to select an optimal number of intermediate structures for a smooth , fluid transition between states . as with most other animations in moviemaker ,
the ensemble motion option always morphs the structure from a starting state to a perturbed state and back so that the movie can be placed into a smoothly running infinite loop . to depict large - scale motions moviemaker requires two pdb files , each containing the same protein but in a different conformation . as with the ensemble motion option
, moviemaker employs the superpose program to intelligently superimpose the two structures and identify any large - scale hinge or domain motions .
displacements between the two states are categorized ( < 2  over > 90% of the protein length or > 2  over > 10% of the protein length ) by calculating a difference distance matrix between the two superimposed coordinates .
after the displacement has been categorized , intermediate structures are created by interpolating between the two end conformers .
both small motions and larger hinge motions can be mapped using the cartesian interpolation method .
minor distortions creep in for very - large - scale hinge motions , but these distortions can be almost removed by increasing the number of intermediate structures generated between the two conformations . when the protein folding / unfolding option is selected only a single pdb file ( containing a single , folded protein chain ) is needed .
for this kind of animation , coordinate interpolation must be done in torsion angle space as the intermediate structures simply get too distorted during the unfolding process . in torsion angle interpolation
the native structure is regenerated using phi / psi / omega angles derived from the pdb file .
this re - rendering in torsion space requires additional structural optimization and can take several minutes , depending on the size of the structure .
once rendered in torsion angle space , the backbone phi / psi angles are iteratively 
relaxed to an unfolded or extended set of phi / psi torsion angles of 160  10. all intermediate structures are rendered using the same torsion angle structure generator ( called pepmake ) .
as always , moviemaker morphs the structure from the starting state ( folded ) to the end state ( unfolded ) and back so that the movie can be placed into a smoothly running infinite loop .
to assess the performance of moviemaker we chose 30 random protein structures from the pdb consisting of single monomers , complex heteromultimers , nmr ensembles and a variety of proteins with bound ligands .
we assessed the performance of the program using three criteria , ( i ) realism , ( ii ) accuracy and ( iii ) speed , on as many different types of motions as possible .
however , we wanted to make sure that the resulting animations were smooth and did not lead to any obvious 
breaches of the laws of physics such as atoms or chains passing through one another or serious distortions in secondary structure . of nearly 30 animations studied using the default parameters we found only 4 animations that exhibited a mildly unrealistic chain distortion or a physically unrealistic event .
apart from these  breaches , vibrational and ensemble motions , rotations , docking , folding and hinge motions all appeared to be performed very well with no obvious problems . in terms of assessing the accuracy or realism of the small - scale vibrational and structural ensemble motions , we used myoglobin ( 153 residues , pdb 1myf ) and the pointed domain ( 110 residues , pdb 1bqv ) to visually compare moviemaker 's movies with those generated via the md simulation program gromacs ( ) . comparing a short ( 10 ps ) md simulation for myoglobin calculated by gromacs with the motion calculated by moviemaker 's small - scale vibrational motion generator , one can see very little difference ( the two movies are available on moviemaker 's gallery page ) .
similarly , a long - term ( 2.5 ns ) md simulation from gromacs for the pointed domain appears to be qualitatively similar to the ensemble animation generated by moviemaker ( see the gallery page ) . finally hinge motion movements were tested with dna polymerase beta , cyanovarin n , recoverin and calmodulin proteins .
the morphs generated by moviemaker and the yale molecular motions server appear to be essentially identical for these hinge motion movements .
table 1 lists the approximate cpu time ( 2.0 ghz processor with 512 mb ram ) taken for each of the seven types of motion supported by moviemaker .
obviously these times will vary with the load on the server and the speed of the user 's internet connection .
it is clear that the rotation animation is the fastest ( 10 s ) , and the motion for the ensemble of structures is the slowest ( 260 s ) .
most animations are generated in < 30 s. this underlines one of the key strengths of moviemaker 
using conventional md or non - conventional md simulations ( such as adiabiatic dynamics , activated dynamics or brownian dynamics ) would typically take many hours or days of cpu time .
it is important to emphasize that moviemaker is a molecular animation server , not a modelling or md server . in animation or simulation one
attempts to mimic reality using a variety of ad hoc rules that adhere to the general rules of physics . in modelling or md ,
one attempts precisely to regenerate reality by solving newton 's equations of motion using well - calibrated molecular force fields .
simulation or animation is frequently employed by video game developers , cartoonists and special effects artists to generate illusions of motion , speed or impact . rather than attempting to solve newton 's equations for every motion or event , most simulation specialists employ rapidly calculable interpolations and ad hoc rules to generate the necessary visual effect .
this allows them to quickly generate the images needed for interactive game play or tight movie release deadlines . by opting for animation over modelling ( i.e. mimicry over reality )
we have been able to create a very fast and flexible molecular animation tool . although the images and files generated by moviemaker should not be used to calculate or predict key molecular parameters , they certainly could be of considerable use for many educational , instructive or illustrative purposes by non - md specialists .
we believe the animations produced by moviemaker will potentially allow the easy creation of dynamic web pages , informative on line course notes and compelling powerpoint presentations .
summary of different simulation or animation scenarios and the cpu time taken to complete the calculation times will vary according to server load and pdb file size .
 moviemaker is a web server that allows short ( 10 s ) , downloadable movies of protein motions to be generated . 
 it accepts pdb files or pdb accession numbers as input and automatically calculates , renders and merges the necessary image files to create colourful animations covering a wide range of protein motions and other dynamic processes . 
 users have the option of animating ( i ) simple rotation , ( ii ) morphing between two end - state conformers , ( iii ) short - scale , picosecond vibrations , ( iv ) ligand docking , ( v ) protein oligomerization , ( vi ) mid - scale nanosecond ( ensemble ) motions and ( vii ) protein folding / unfolding . 
 moviemaker does not perform molecular dynamics calculations . 
 instead it is an animation tool that uses a sophisticated superpositioning algorithm in conjunction with cartesian coordinate interpolation to rapidly and automatically calculate the intermediate structures needed for many of its animations . 
 users have extensive control over the rendering style , structure colour , animation quality , background and other image features . 
 moviemaker is intended to be a general - purpose server that allows both experts and non - experts to easily generate useful , informative protein animations for educational and illustrative purposes . 
 moviemaker is accessible at . 
INTRODUCTION
PROGRAM DESCRIPTION
RESULTS AND DISCUSSION
CONCLUSION
Figures and Tables