BACKGROUND
the enormous progress made in experimental techniques for 3d structural determination of biological macromolecules and their assemblages resulted in quick expansion of the protein data bank , which currently contains more than  <dig>  entries  <cit> .
combined with the ever increasing accuracy of comparative and ab-initio modeling, nowadays the biophysical community has access to huge amount of structural data.
in a long run, it is anticipated that the entire structural universe  of human genome and other selected organisms will be available  <cit> .
this structural information is crucial for understanding macromolecular function, details of the biochemical reaction, electron and proton transfer phenomena and many other biological processes occurring in the cell.
given the 3d atomic structure of a macromolecule, various computational approaches can be applied to model the above mentioned processes.
perhaps the most popular is molecular dynamics  simulation, which takes the atomic structure as an input and applies computational protocol to simulate its time-dependence using particular force field  <cit> .
other approaches use static structures  to calculate the electrostatic potential distribution and to calculate electrostatic energies  <cit> .
the 3d structures are used to predict pka’s of ionizable groups  <cit> , to calculate the conformational energy  <cit> , to model salt dependence of protein stability and binding  <cit> , and to infer the proton pathway  <cit> .
the knowledge of the atomic structure of a macromolecule is crucial for correct predictions of the effect of mutations on protein stability and affinity  <cit> .
with the progress made in genome sequencing and detection of missense mutations in sick individuals, the 3d structure of the protein carrying the disease-causing defect is a very important component for understanding the molecular mechanism of the disease and for seeking for a possible treatment  <cit> .
at the same time, with the progress and development of nanotechnology, researchers frequently have to model biological macromolecules in conjunction with nano-objects.
such mixed/hybrid systems occur in medicine where researchers need to understand the interaction between biological macromolecules and implants, the implants being made of metal or other solid state materials  <cit> .
the shape of these implants varies from such simple shapes as a plate to very complex shapes  <cit> .
the properties of these objects vary as well spanning from pure conductor   <cit>  to an insulator   <cit> .
biochemists frequently investigate the properties and characteristics of biological macromolecules via experimental devices or techniques involving nano-objects.
typical examples are experiments involving atomic force microscope , where the tip of the microscope, in a shape of cone, is used to probe the molecular surface  <cit> .
other examples include immobilization of biological macromolecules on various surfaces for either binding affinity or conformational changes investigations  <cit> , for protein microarrays  <cit> , or for drug-affinity chromatography  <cit> .
however, the atomic structures of the above-mentioned nano-objects are typically not available in an acceptable format, or the modular size and shape of such objects prevents the creation of usable standard models.
an attempt was made in the delphi distribution  to allow for modeling of four basic types of geometrical figures namely sphere, cylinder, cone and parallelepiped.
however, no visualization and manipulation was allowed and delphi objects were not transferrable to other software available in the computational community.
to overcome these limitations, these hybrid nano-systems need to be rendered in a widely acceptable format that can be used by existing simulation software.
here we report such stand-alone software enriched with gui based on jmol.
the software, the protein nano-object integrator  allows the users to create atomic-style geometrical objects and to integrate them with standard biological macromolecules.
the atomic-style presentation offers huge advantage because, in principle, these systems can be outputted to any existing software that uses pdb files.
this enables the objects’ properties to be adjusted according to the user requirements in order to model the electrostatic and mechanical characteristics of the hybrid structure using the appropriate force field parameters.
implementation
the main body of the gui was designed using an interface coded in java which communicates with a c++ command line program in the background to generate the atomic-style objects.
the program uses the java swing libraries for the visual interface design and encapsulates the biojava implementation of the jmol molecular viewer  <cit>  in order to provide the user with a clear visual representation of their protein and associated nano-objects.
once the program boots, it allows the user to either insert objects into an entirely empty file or open up their own pdb/pqr file for editing.
if the user loads their own file, an intelligent file-parser will chop up their file into the appropriate metafiles consisting of the objects detected in the file via the tagged remark  <dig> headers and the main body of the protein.
these files are contained within the user’s home directory inside an appropriately named hidden folder and are cleaned up upon the program’s exit to conserve the space on the system.
the list of parsed objects is then used to populate the associated code objects and gui tables, complete with each of the parameters used to generate the objects.
once this initial preprocessing is done, the user is then able to manipulate each of the objects individually by either changing the size, shape, or positioning of the object in the space or by changing the atomic properties of the object such as the atomic radius, dielectric constant, atomic identifiers, or object names.
the user can also add or delete individual objects and track which objects have been modified since the last compilation of the file by the color-coding of each of the object names in the list: blue for modified objects, gray for unmodified objects.
a key feature of the pronoi program is the linking of the gui controls to the molecular viewer in order to provide the user with immediate feedback.
the sliders for each of the objects are linked to dynamically generated jmol commands which construct a skeleton of the object’s expected location for the regeneration.
so, even while the user is moving the sliders for the object, the object’s new position can be tracked in real-time.
once the user’s adjustments have been made, the user can regenerate the pdb/pqr file and see exactly how the modeling configuration has changed.
this operation is completed in the background by a call to the c++ object manipulation tool, which, if the appropriate executable is not found, will offer the user a helpful file navigation dialog to let them specify exactly where the program is located.
the java gui will then process all of the parameters from each of the objects, sanitizing and validating each parameter in order to avoid harmful scripts executing on the command line, and then calling the c++ program once for each modified object.
the output from the c++ program results in a single pdb/pqr file for each object which has been prefixed with a remark  <dig> header and contained in the hidden directory.
these files are then combined with the original data from the pdb file and form a new compiled file in the hidden directory and loaded into the molecular viewer.
these actions also preserve the user’s current perspective in the protein space which can be very useful for monitoring small changes to the objects.
the c++ object manipulation tool, which has been explained in a previous work  <cit>  has several additional features worth mentioning.
atomic radii and charges can now be appended to each atom if the user selects the pqr file format for the output.
the atomic radii of the object are simply entered into the gui and passed through but the charges per atom are calculated via a density argument.
the new version of the c++ program allows surface and volume density parameters to be passed into it in units of electron charge per angstrom squared for surface charge density or per angstrom cubed for volumetric charge density options.
the charge per atom is then calculated by the following formulae:
qv=dqÅ·vqa=dqÅ2·a
vsphere=43πr3asphere=4πr <dig>
vcylinder=πr2dir→acylinder=2πr2+2πrdir→
vcone=13πr2hacone=πrr+r2+dir→ <dig>
vbox=a→×b→×c→abox=2a→×b→+a→×c→+b→×c→
where qv and qa are the charges of each atom, d is the given charge density with its units in parentheses as the charge of the electron per angstroms squared or cubed, r is the radius of the object from the input, dir→ is the direction vector also from the input, a→ and b→ and c→ are the input vectors for the box, and v is the volume and a is the area of the specified object.
this is then appended to each atom of the object along with the given radius in conformance to the pqr file format.
in addition to the object manipulation tools, a force field parameters selector has been added to allow the user to convert their original macromolecule pdb data into pqr format in conformance with a set of parameter files.
the current force field parameters used by this program are amber  <cit>  , charmm  <cit>  , opls  <cit>  and parse  <cit>  along with an option in the preferences to upload a properly formatted size  and charge  file-set for a custom force field parameters.
the custom force field parameter option is specifically useful for cases involving non-standard compounds, for which the charges and radii must be obtained with other programs, as for example with the antechamber  <cit> .
this selector, upon object generation, scans the macromolecule pdb file for atom entries and attempts to find the residue and atom names and then find the corresponding radius and charge for the atom from the data read in from the force field parameter files.
if the specific residue name is not found, the program will then try to find the atom name in the global id list and pull the charge and radius from there.
if it is still unsuccessful, the program will record the error and set the atom’s radius to one and its charge to zero.
once all the entries have been processed and if any errors resulting from missing entries have been recorded, a window will appear displaying each of the missing entries letting the user know which entries were not found and need to be addressed.
once the user decides to save their selections and the appropriate changes made, the compiled file will overwrite the original pdb file.
also, if the user attempts to close the program before saving their changes, the program will prompt the user to save.
RESULTS
here we report protein nano-object integrator  which allows for generating atomic-style geometrical objects with user desired shape and dimensions.
an unlimited number of objects can be created and combined with biological macromolecules in any given file that follows the protein data bank  format.
during object creation, users can use sliders to manipulate their shape, dimension, and position within the protein.
in addition, the software offers the option to append charges to the objects by specifying a surface or volumetric charge density.
the biological macromolecule’s atoms can be assigned charges and radii according to the user’s selection of one of four different force fields: amber  <cit>  , charmm  <cit>  , opls  <cit>  and parse  <cit> .
if the object is charged, the biological macromolecules and the atomic-style objects are outputted as position, charge and radius  file; otherwise, the file remains in pdb format.
if the user decides to assign different  dielectric constants to the object and biological macromolecules, the output file is in position, charge, radius and epsilon  format.
three types of benchmark tests were conducted to determine the accuracy of the calculated energies and the versatility of the protein nano-object integrator as compared to delphi’s old style of object creation  <cit>  and cases for which analytical solution for either the potential or electrostatic energy can be obtained.
the cases with available analytical solution include:  a spherical dielectric cavity immersed in a highly dielectric medium with two separated charges located within the sphere  <cit> ;  a wide cylinder representing a semi-infinite dielectric low dielectric plane and a spherical charge first positioned outside and then inside the semi-infinite plane moving along a line perpendicular to the plane surface  <cit> ;  a charged sphere;  a line of charge; and  a charged disk.
the cases for which analytical solution is not available were made by placing a protein, the bovine α-chymotrypsin-eglin c, on the four different types of objects the pronoi can create and then calculating the corresponding solvation energies and comparing with the results of old delphi-style objects  <cit> .
at the end, we illustrate the pronoi capabilities by creating a large composite object in a shape of a robot, the clemson robot, which holds in its hand barnase-barstar complex.
it should be mentioned that when conducting the tests, care was taken to make sure that the parameters of the objects created by the protein nano-object integrator and delphi’s original object creation tool were as similar as possible.
when creating objects with the protein nano-object integrator, the size of the atoms making up the object must be taken into consideration.
for instance, when creating a sphere with a radius of  <dig> Å and atoms with  <dig> Å in radius, the object must include an offset of  <dig> Å in order to account for the additional length produced by the radius of the individual atoms that make up the object; otherwise, the sphere would have an effective radius of  <dig> Å.
the protein nano-object integrator has the option of varying the spacing of the atoms in the created objects.
as the spacing approaches zero, there is a truer representation of a continuous dielectric medium, but this, in turn, creates larger file sizes due to the increasing amount of atoms, which increases the computational time and may cause problems visualizing the object with standard molecular graphic software.
spherical cavity immersed in high dielectric medium
the problem of calculating the energies of two charges contained in a spherical cavity immersed in water was previously described  <cit> .
the protein nano-object integrator was used to create a spherical object with a radius of  <dig> Å and an origin positioned at .
an internal dielectric constant of  <dig> was used for the sphere and an external dielectric constant of  <dig>  that of water, for outside of the sphere.
two charged atoms were placed inside the sphere at positions  and .
each atom carried a columbic charge of 10e.
these parameters precisely follow the old-style example  <dig> in delphi distribution  but with the object creation replaced by the protein nano-object integrator.
delphi was then used to calculate the total self-energy of the spherical object protein with two charges.
the analytical solution to this problem is − <dig> kt.
the dielectric cavity in this case is modeled as multitude of pseudo atoms and strictly speaking is not a homogeneous cavity.
however, as one decreases the spacing between pseudo-atoms forming the cavity, the model should become more homogeneous and at the limit of zero spacing should be perfect homogenous cavity.
to test such an expectation, three separate spheres were created by the program with three different atomic spacings:  <dig>  Å,  <dig>  Å, and  <dig>  Å. figure  <dig> shows the calculated electrostatic energies with both the old-style delphi and with the object created with pronoi as a function of the scale.
as it was expected at large spacing between pseudo atoms forming the dielectric cavity, the calculations with pronoi created object are less accurate than the old style delphi calculations.
however, as the spacing decreases the calculated energies with pronoi generated object approach the results of old-style calculations and at scale larger than  <dig> grid/Å are very close to the analytical solution.
atom moves through semi-infinite dielectric region
the results of the solvation energy of a spherical charge approaching a semi-infinite dielectric region  <cit>   modeled by a cylinder were compared with the old-style object generation and objects generated from the protein nano-object integrator.
the protein nano-object integrator was used to generate a cylinder with the exact same properties as the cylinder generated in the old-style example  <dig>  the coordinates of the cylinder were a , b  and a radius of  <dig> Å. the internal dielectric constant of the sphere was  <dig>  and the external dielectric was  <dig> , that of water.
a probe radius of  <dig>  Å was used in this test.
a charged sphere with a dielectric constant of  <dig> , charge of  <dig> e, and radius of  <dig>  Å was initially placed inside of the cylinder  <dig> Å from the surface boundary of the cylinder.
the charged sphere was then moved  <dig> Å stepwise toward, and then outside of the boundary of the cylinder .
at each step the solvation energies were compared between the old and new-style object generation.
as done in the previous example, atomic spacings of  <dig>  Å, .
<dig> Å, and .
<dig> Å were used to demonstrate how the increased density of generated atoms leads to more accurate results.
figure  <dig> shows the solvation energy values obtained for each of the atomic spacings and for comparison the same done with the old-style delphi created object.
an analytical solution, for positions that the probe sphere does not touch the interface, was obtained by using the method of images .
as can be seen, the all the values are very close to the analytical solution, especially for probe sphere positions away from the interface.
charged sphere
a spherical object was generated by the pronoi with a radius of  <dig>  Å and an atomic spacing of  <dig>  Å. a charge of one electron unit was given to each of the atoms that make up the sphere.
the analytical solution was obtained via coulomb law of a homogeneously charged sphere.
the potential was calculated with delphi at distances of  <dig> Å to  <dig> Å from the sphere.
the delphi calculations were then compared to analytical solutions for this problem .
the distances from  <dig> Å to  <dig> Å were omitted in the graph due to the sphere’s size making the point charge modeling erroneous for these short distances from the sphere’s surface.
however, as the distance increases toward infinity  the results steadily approach the analytical solution.
line of charge
a line of charge was generated using the pronoi by creating a cylinder of radius  <dig>  Å, height of  <dig> Å, atomic spacing of  <dig>  Å and a charge of 1e to each atom making up the line.
for the analytical solution, the object was then modeled as a finite line charge and the electric potential values for distances of  <dig> Å to  <dig> Å from the line charge.
the same calculations were done with delphi as well.
the delphi calculations were then compared to analytical solutions for this problem .
the distances from  <dig> Å to  <dig> Å were omitted in the graph due to the individual atoms size making the point charge modeling erroneous for these short distances from the line of charge.
however, as the distance increases toward infinity  the delphi results are practically identical with analytical solution.
disc of charge
a disc of charge was generated using the pronoi by creating a cylinder of radius  <dig> Å, width of  <dig>  Å, atomic spacing of  <dig>  Å and a charge of 1e to each atom making up the disc.
the object was then modeled as a thin disc of charge and the electric potential values for distances of  <dig> Å to  <dig> Å from the disc of charge were calculated analytical formula.
same calculations were done with delphi as well.
the delphi calculations were then compared to analytical solutions for this problem .
the distances from  <dig> Å to  <dig> Å were omitted in the graph due to the individual atoms size making the disc of charge modeling erroneous for these short distances from the line of charge.
however, as the distance increases toward infinity  the delphi results are identical with analytical solution.
protein placed on created objects
four separate objects were created by the protein nano-object integrator: sphere, cylinder, cone and cube.
the protein complex, the bovine α-chymotrypsin-eglin c, pdb id 1acb, was placed onto these objects, just touching the surface.
the objects were created to have a comparable size to the length of the protein while still keeping the file sizes of the objects at a manageable size .
the sphere had a radius of  <dig> Å. the cylinder had a radius of  <dig> Å and a height of  <dig> Å. the cone had a base diameter of  <dig> Å and an opening angle of  <dig> degrees.
the cube had a length, width and height of  <dig> Å in order for the diagonal of the cube to share a comparable length to the test protein.
depending upon the case, either the object or protein was rotated to make sure of the best fit of the protein onto the surface of the object, while still making sure that the protein did not cross the external boundary of the object.
figure  <dig> shows the configuration at which the proteins were placed onto the objects.
solvation energies were calculated by delphi with a probe radius of  <dig>  and atomic spacing of  <dig>  Å for each of the four examples and compared to the old-style object creation for identical sized objects.
as can be seen from table  <dig>  the percent differences between the two styles are very small.
even with a relatively large atomic spacing of  <dig>  Å as compared to the previous examples, the percentages are very low.
the final column shows the percent difference value between the two object creation styles respective to each object type.
clemson robot
to illustrate the capabilities of the pronoi, we created a composite object in a shape of a robot and called it the clemson robot.
the dimensions of the figure are 312 × 729 ×  <dig> angstroms.
the clemson robot holds in its hand the barstar-barnase complex, pdb id 1brs.
to further illustrate the option of charging the objects, we equipped the clemson robot with volumetric charges.
the charge distributions are: head: + <dig>  e, body: - <dig>  e, each arm: + <dig>  e, each leg: + <dig>  e, each foot: - <dig>  e. this distribution makes the total net charge of the robot to be  <dig>  in each part, the charge density is a constant according to the total charges and atom numbers.
the calculations of the potential and solvation energy were done with parallelized delphi  <cit> .
the main parameters we set in delphi are scale =  <dig>  perfil =  <dig>  the resulting grid size is 1041*1041* <dig>  the dielectric constant in the protein and robot is set as  <dig> , which in the water is set as  <dig> .
the reaction field energy from delphi calculation is − <dig>  kt.
the potential distribution and the corresponding structure of the clemson robot are shown in figure  <dig>
the clemson robot pdb and pqr files are available for download from http://compbio.clemson.edu/delphi.php -- > clemson robot files.
CONCLUSIONS
the pronoi is convenient tool for generating atomic-style shapes in conjunction with biological macromolecule.
charges on the macromolecules atoms and the atoms making the shapes are assigned according to user preferences to allow various scenarios of modeling.
each object and macromolecule can be assigned a user selected dielectric constant.
the output file is in pdb, pqr or pqre format which is readable by almost any software available in biophysical field.
availability and requirements
project name: protein – nano object integrator
project home page: http://compbio.clemson.edu/downloaddir/prono_integrator.tar.gz
operating system: linux os or centos
programming language: java and c++
other requirements: e.g.
java  <dig> .
<dig> or higher, tomcat  <dig>  or higher.
license: none.
any restrictions to use by non-academics: none.
abbreviations
pronoi: protein nano-object integrator; pbe: poisson boltzmann equation; md: molecular dynamics; pqr format: position, charge and radius format; pqre format: position, charge, radius and epsilon format.
competing interests
the authors declare that they have no competing interests.
authors' contributions
ns: developed the pronoi algorithm, wrote the code and integrated it with jmol; bc: designed the test cases, including “clemson robot” and performed the benchmarking; ll: carried benchmarking on “clemson robot”, cl: carried benchmarking on “clemson robot”; ea: designed and supervised the project.
all authors wrote the manuscript.
all authors read and approved the final manuscript.

 the enormous progress made in experimental techniques for 3d structural determination of biological macromolecules and their assemblages resulted in quick expansion of the protein data bank, which currently contains more than entries. combined with the ever increasing accuracy of comparative and ab-initio modeling, nowadays the biophysical community has access to huge amount of structural data. in a long run, it is anticipated that the entire structural universe of human genome and other selected organisms will be available. this structural information is crucial for understanding macromolecular function, details of the biochemical reaction, electron and proton transfer phenomena and many other biological processes occurring in the cell. given the 3d atomic structure of a macromolecule, various computational approaches can be applied to model the above mentioned processes. perhaps the most popular is molecular dynamics simulation, which takes the atomic structure as an input and applies computational protocol to simulate its time-dependence using particular force field. other approaches use static structures to calculate the electrostatic potential distribution and to calculate electrostatic energies. the 3d structures are used to predict pka’s of ionizable groups, to calculate the conformational energy, to model salt dependence of protein stability and binding, and to infer the proton pathway. the knowledge of the atomic structure of a macromolecule is crucial for correct predictions of the effect of mutations on protein stability and affinity. with the progress made in genome sequencing and detection of missense mutations in sick individuals, the 3d structure of the protein carrying the disease-causing defect is a very important component for understanding the molecular mechanism of the disease and for seeking for a possible treatment. at the same time, with the progress and development of nanotechnology, researchers frequently have to model biological macromolecules in conjunction with nano-objects. such mixed/hybrid systems occur in medicine where researchers need to understand the interaction between biological macromolecules and implants, the implants being made of metal or other solid state materials. the shape of these implants varies from such simple shapes as a plate to very complex shapes. the properties of these objects vary as well spanning from pure conductor to an insulator. biochemists frequently investigate the properties and characteristics of biological macromolecules via experimental devices or techniques involving nano-objects. typical examples are experiments involving atomic force microscope, where the tip of the microscope, in a shape of cone, is used to probe the molecular surface. other examples include immobilization of biological macromolecules on various surfaces for either binding affinity or conformational changes investigations, for protein microarrays, or for drug-affinity chromatography. however, the atomic structures of the above-mentioned nano-objects are typically not available in an acceptable format, or the modular size and shape of such objects prevents the creation of usable standard models. an attempt was made in the delphi distribution to allow for modeling of four basic types of geometrical figures namely sphere, cylinder, cone and parallelepiped. however, no visualization and manipulation was allowed and delphi objects were not transferrable to other software available in the computational community. to overcome these limitations, these hybrid nano-systems need to be rendered in a widely acceptable format that can be used by existing simulation software. here we report such stand-alone software enriched with gui based on jmol. the software, the protein nano-object integrator allows the users to create atomic-style geometrical objects and to integrate them with standard biological macromolecules. the atomic-style presentation offers huge advantage because, in principle, these systems can be outputted to any existing software that uses pdb files. this enables the objects’ properties to be adjusted according to the user requirements in order to model the electrostatic and mechanical characteristics of the hybrid structure using the appropriate force field parameters. implementation the main body of the gui was designed using an interface coded in java which communicates with a c++ command line program in the background to generate the atomic-style objects. the program uses the java swing libraries for the visual interface design and encapsulates the biojava implementation of the jmol molecular viewer in order to provide the user with a clear visual representation of their protein and associated nano-objects. once the program boots, it allows the user to either insert objects into an entirely empty file or open up their own pdb/pqr file for editing. if the user loads their own file, an intelligent file-parser will chop up their file into the appropriate metafiles consisting of the objects detected in the file via the tagged remark headers and the main body of the protein. these files are contained within the user’s home directory inside an appropriately named hidden folder and are cleaned up upon the program’s exit to conserve the space on the system. the list of parsed objects is then used to populate the associated code objects and gui tables, complete with each of the parameters used to generate the objects. once this initial preprocessing is done, the user is then able to manipulate each of the objects individually by either changing the size, shape, or positioning of the object in the space or by changing the atomic properties of the object such as the atomic radius, dielectric constant, atomic identifiers, or object names. the user can also add or delete individual objects and track which objects have been modified since the last compilation of the file by the color-coding of each of the object names in the list: blue for modified objects, gray for unmodified objects. a key feature of the pronoi program is the linking of the gui controls to the molecular viewer in order to provide the user with immediate feedback. the sliders for each of the objects are linked to dynamically generated jmol commands which construct a skeleton of the object’s expected location for the regeneration. so, even while the user is moving the sliders for the object, the object’s new position can be tracked in real-time. once the user’s adjustments have been made, the user can regenerate the pdb/pqr file and see exactly how the modeling configuration has changed. this operation is completed in the background by a call to the c++ object manipulation tool, which, if the appropriate executable is not found, will offer the user a helpful file navigation dialog to let them specify exactly where the program is located. the java gui will then process all of the parameters from each of the objects, sanitizing and validating each parameter in order to avoid harmful scripts executing on the command line, and then calling the c++ program once for each modified object. the output from the c++ program results in a single pdb/pqr file for each object which has been prefixed with a remark header and contained in the hidden directory. these files are then combined with the original data from the pdb file and form a new compiled file in the hidden directory and loaded into the molecular viewer. these actions also preserve the user’s current perspective in the protein space which can be very useful for monitoring small changes to the objects. the c++ object manipulation tool, which has been explained in a previous work has several additional features worth mentioning. atomic radii and charges can now be appended to each atom if the user selects the pqr file format for the output. the atomic radii of the object are simply entered into the gui and passed through but the charges per atom are calculated via a density argument. the new version of the c++ program allows surface and volume density parameters to be passed into it in units of electron charge per angstrom squared for surface charge density or per angstrom cubed for volumetric charge density options. the charge per atom is then calculated by the following formulae: qv=dqÅ·vqa=dqÅ2·a vsphere=43πr3asphere=4πr vcylinder=πr2dir→acylinder=2πr2+2πrdir→ vcone=13πr2hacone=πrr+r2+dir→ vbox=a→×b→×c→abox=2a→×b→+a→×c→+b→×c→ where qv and qa are the charges of each atom, d is the given charge density with its units in parentheses as the charge of the electron per angstroms squared or cubed, r is the radius of the object from the input, dir→ is the direction vector also from the input, a→ and b→ and c→ are the input vectors for the box, and v is the volume and a is the area of the specified object. this is then appended to each atom of the object along with the given radius in conformance to the pqr file format. in addition to the object manipulation tools, a force field parameters selector has been added to allow the user to convert their original macromolecule pdb data into pqr format in conformance with a set of parameter files. the current force field parameters used by this program are amber, charmm, opls and parse along with an option in the preferences to upload a properly formatted size and charge file-set for a custom force field parameters. the custom force field parameter option is specifically useful for cases involving non-standard compounds, for which the charges and radii must be obtained with other programs, as for example with the antechamber. this selector, upon object generation, scans the macromolecule pdb file for atom entries and attempts to find the residue and atom names and then find the corresponding radius and charge for the atom from the data read in from the force field parameter files. if the specific residue name is not found, the program will then try to find the atom name in the global id list and pull the charge and radius from there. if it is still unsuccessful, the program will record the error and set the atom’s radius to one and its charge to zero. once all the entries have been processed and if any errors resulting from missing entries have been recorded, a window will appear displaying each of the missing entries letting the user know which entries were not found and need to be addressed. once the user decides to save their selections and the appropriate changes made, the compiled file will overwrite the original pdb file. also, if the user attempts to close the program before saving their changes, the program will prompt the user to save.  here we report protein nano-object integrator which allows for generating atomic-style geometrical objects with user desired shape and dimensions. an unlimited number of objects can be created and combined with biological macromolecules in any given file that follows the protein data bank format. during object creation, users can use sliders to manipulate their shape, dimension, and position within the protein. in addition, the software offers the option to append charges to the objects by specifying a surface or volumetric charge density. the biological macromolecule’s atoms can be assigned charges and radii according to the user’s selection of one of four different force fields: amber, charmm, opls and parse. if the object is charged, the biological macromolecules and the atomic-style objects are outputted as position, charge and radius file; otherwise, the file remains in pdb format. if the user decides to assign different dielectric constants to the object and biological macromolecules, the output file is in position, charge, radius and epsilon format. three types of benchmark tests were conducted to determine the accuracy of the calculated energies and the versatility of the protein nano-object integrator as compared to delphi’s old style of object creation and cases for which analytical solution for either the potential or electrostatic energy can be obtained. the cases with available analytical solution include: a spherical dielectric cavity immersed in a highly dielectric medium with two separated charges located within the sphere; a wide cylinder representing a semi-infinite dielectric low dielectric plane and a spherical charge first positioned outside and then inside the semi-infinite plane moving along a line perpendicular to the plane surface; a charged sphere; a line of charge; and a charged disk. the cases for which analytical solution is not available were made by placing a protein, the bovine α-chymotrypsin-eglin c, on the four different types of objects the pronoi can create and then calculating the corresponding solvation energies and comparing with the results of old delphi-style objects. at the end, we illustrate the pronoi capabilities by creating a large composite object in a shape of a robot, the clemson robot, which holds in its hand barnase-barstar complex. it should be mentioned that when conducting the tests, care was taken to make sure that the parameters of the objects created by the protein nano-object integrator and delphi’s original object creation tool were as similar as possible. when creating objects with the protein nano-object integrator, the size of the atoms making up the object must be taken into consideration. for instance, when creating a sphere with a radius of Å and atoms with Å in radius, the object must include an offset of Å in order to account for the additional length produced by the radius of the individual atoms that make up the object; otherwise, the sphere would have an effective radius of Å. the protein nano-object integrator has the option of varying the spacing of the atoms in the created objects. as the spacing approaches zero, there is a truer representation of a continuous dielectric medium, but this, in turn, creates larger file sizes due to the increasing amount of atoms, which increases the computational time and may cause problems visualizing the object with standard molecular graphic software. spherical cavity immersed in high dielectric medium the problem of calculating the energies of two charges contained in a spherical cavity immersed in water was previously described. the protein nano-object integrator was used to create a spherical object with a radius of Å and an origin positioned at. an internal dielectric constant of was used for the sphere and an external dielectric constant of that of water, for outside of the sphere. two charged atoms were placed inside the sphere at positions and. each atom carried a columbic charge of 10e. these parameters precisely follow the old-style example in delphi distribution but with the object creation replaced by the protein nano-object integrator. delphi was then used to calculate the total self-energy of the spherical object protein with two charges. the analytical solution to this problem is − kt. the dielectric cavity in this case is modeled as multitude of pseudo atoms and strictly speaking is not a homogeneous cavity. however, as one decreases the spacing between pseudo-atoms forming the cavity, the model should become more homogeneous and at the limit of zero spacing should be perfect homogenous cavity. to test such an expectation, three separate spheres were created by the program with three different atomic spacings: Å, Å, and Å. figure shows the calculated electrostatic energies with both the old-style delphi and with the object created with pronoi as a function of the scale. as it was expected at large spacing between pseudo atoms forming the dielectric cavity, the calculations with pronoi created object are less accurate than the old style delphi calculations. however, as the spacing decreases the calculated energies with pronoi generated object approach the results of old-style calculations and at scale larger than grid/Å are very close to the analytical solution. atom moves through semi-infinite dielectric region the results of the solvation energy of a spherical charge approaching a semi-infinite dielectric region modeled by a cylinder were compared with the old-style object generation and objects generated from the protein nano-object integrator. the protein nano-object integrator was used to generate a cylinder with the exact same properties as the cylinder generated in the old-style example the coordinates of the cylinder were a, b and a radius of Å. the internal dielectric constant of the sphere was and the external dielectric was, that of water. a probe radius of Å was used in this test. a charged sphere with a dielectric constant of, charge of e, and radius of Å was initially placed inside of the cylinder Å from the surface boundary of the cylinder. the charged sphere was then moved Å stepwise toward, and then outside of the boundary of the cylinder. at each step the solvation energies were compared between the old and new-style object generation. as done in the previous example, atomic spacings of Å,. Å, and. Å were used to demonstrate how the increased density of generated atoms leads to more accurate results. figure shows the solvation energy values obtained for each of the atomic spacings and for comparison the same done with the old-style delphi created object. an analytical solution, for positions that the probe sphere does not touch the interface, was obtained by using the method of images. as can be seen, the all the values are very close to the analytical solution, especially for probe sphere positions away from the interface. charged sphere a spherical object was generated by the pronoi with a radius of Å and an atomic spacing of Å. a charge of one electron unit was given to each of the atoms that make up the sphere. the analytical solution was obtained via coulomb law of a homogeneously charged sphere. the potential was calculated with delphi at distances of Å to Å from the sphere. the delphi calculations were then compared to analytical solutions for this problem. the distances from Å to Å were omitted in the graph due to the sphere’s size making the point charge modeling erroneous for these short distances from the sphere’s surface. however, as the distance increases toward infinity the results steadily approach the analytical solution. line of charge a line of charge was generated using the pronoi by creating a cylinder of radius Å, height of Å, atomic spacing of Å and a charge of 1e to each atom making up the line. for the analytical solution, the object was then modeled as a finite line charge and the electric potential values for distances of Å to Å from the line charge. the same calculations were done with delphi as well. the delphi calculations were then compared to analytical solutions for this problem. the distances from Å to Å were omitted in the graph due to the individual atoms size making the point charge modeling erroneous for these short distances from the line of charge. however, as the distance increases toward infinity the delphi results are practically identical with analytical solution. disc of charge a disc of charge was generated using the pronoi by creating a cylinder of radius Å, width of Å, atomic spacing of Å and a charge of 1e to each atom making up the disc. the object was then modeled as a thin disc of charge and the electric potential values for distances of Å to Å from the disc of charge were calculated analytical formula. same calculations were done with delphi as well. the delphi calculations were then compared to analytical solutions for this problem. the distances from Å to Å were omitted in the graph due to the individual atoms size making the disc of charge modeling erroneous for these short distances from the line of charge. however, as the distance increases toward infinity the delphi results are identical with analytical solution. protein placed on created objects four separate objects were created by the protein nano-object integrator: sphere, cylinder, cone and cube. the protein complex, the bovine α-chymotrypsin-eglin c, pdb id 1acb, was placed onto these objects, just touching the surface. the objects were created to have a comparable size to the length of the protein while still keeping the file sizes of the objects at a manageable size. the sphere had a radius of Å. the cylinder had a radius of Å and a height of Å. the cone had a base diameter of Å and an opening angle of degrees. the cube had a length, width and height of Å in order for the diagonal of the cube to share a comparable length to the test protein. depending upon the case, either the object or protein was rotated to make sure of the best fit of the protein onto the surface of the object, while still making sure that the protein did not cross the external boundary of the object. figure shows the configuration at which the proteins were placed onto the objects. solvation energies were calculated by delphi with a probe radius of and atomic spacing of Å for each of the four examples and compared to the old-style object creation for identical sized objects. as can be seen from table the percent differences between the two styles are very small. even with a relatively large atomic spacing of Å as compared to the previous examples, the percentages are very low. the final column shows the percent difference value between the two object creation styles respective to each object type. clemson robot to illustrate the capabilities of the pronoi, we created a composite object in a shape of a robot and called it the clemson robot. the dimensions of the figure are 312 × 729 ×  angstroms. the clemson robot holds in its hand the barstar-barnase complex, pdb id 1brs. to further illustrate the option of charging the objects, we equipped the clemson robot with volumetric charges. the charge distributions are: head: + e, body: - e, each arm: + e, each leg: + e, each foot: - e. this distribution makes the total net charge of the robot to be in each part, the charge density is a constant according to the total charges and atom numbers. the calculations of the potential and solvation energy were done with parallelized delphi. the main parameters we set in delphi are scale =  perfil =  the resulting grid size is 1041*1041* the dielectric constant in the protein and robot is set as, which in the water is set as. the reaction field energy from delphi calculation is − kt. the potential distribution and the corresponding structure of the clemson robot are shown in figure the clemson robot pdb and pqr files are available for download from http://compbio.clemson.edu/delphi.php -- > clemson robot files.  the pronoi is convenient tool for generating atomic-style shapes in conjunction with biological macromolecule. charges on the macromolecules atoms and the atoms making the shapes are assigned according to user preferences to allow various scenarios of modeling. each object and macromolecule can be assigned a user selected dielectric constant. the output file is in pdb, pqr or pqre format which is readable by almost any software available in biophysical field. availability and requirements project name: protein – nano object integrator project home page: http://compbio.clemson.edu/downloaddir/prono_integrator.tar.gz operating system: linux os or centos programming language: java and c++ other requirements: e.g. java. or higher, tomcat or higher. license: none. any restrictions to use by non-academics: none. abbreviations pronoi: protein nano-object integrator; pbe: poisson boltzmann equation; md: molecular dynamics; pqr format: position, charge and radius format; pqre format: position, charge, radius and epsilon format. competing interests the authors declare that they have no competing interests. authors' contributions ns: developed the pronoi algorithm, wrote the code and integrated it with jmol; bc: designed the test cases, including “clemson robot” and performed the benchmarking; ll: carried benchmarking on “clemson robot”, cl: carried benchmarking on “clemson robot”; ea: designed and supervised the project. all authors wrote the manuscript. all authors read and approved the final manuscript. 
here we report the protein nano-object integrator which allows for generating atomic-style geometrical objects with user desired shape and dimensions. the protein nano-object integrator is a convenient tool for generating atomic-style nano shapes in conjunction with biological macromolecule. however, the atomic structures of the nano objects are typically not available or they are solid state entities. with the progress of nanotechnology, one frequently has to model biological macromolecules simultaneously with nano-objects. in addition, it should allow generating composite objects with complex shape by combining basic geometrical figures and embedding biological macromolecules within the system. unlimited number of objects can be created and combined with biological macromolecules in protein data bank format file. according to the user preference, the biological macromolecule atoms can be assigned charges and radii according to four different force fields: amber, charmm, opls and parse. the biological macromolecules and the atomic-style objects are exported as a position, charge and radius file, or if a default dielectric constant distribution is not selected, it is exported as a position, charge, radius and epsilon file. biological macromoleculeselectrostatic calculationsmolecular modelingnano technologydelphipoisson-boltzmann equation as illustration of the capabilities of the pronoi, we created a composite object in a shape of a robot, aptly named the clemson robot, whose parts are charged with various volumetric charge densities and holds the barnase-barstar protein complex in its hand. the default output file is in pqr format which is readable by almost any software available in biophysical field. in addition, the software offers the option to charge the objects with either specified surface or volumetric charge density and to model them with user-desired dielectric constants. charges and radii on the macromolecule atoms and the atoms in the shapes are assigned according to the user’s preferences allowing various scenarios of modeling.
 with the progress of nanotechnology, one frequently has to model biological macromolecules simultaneously with nano-objects. however, the atomic structures of the nano objects are typically not available or they are solid state entities. because of that, the researchers have to investigate such nano systems by generating models of the nano objects in a manner that the existing software be able to carry the simulations. in addition, it should allow generating composite objects with complex shape by combining basic geometrical figures and embedding biological macromolecules within the system.  here we report the protein nano-object integrator which allows for generating atomic-style geometrical objects with user desired shape and dimensions. unlimited number of objects can be created and combined with biological macromolecules in protein data bank format file. once the objects are generated, the users can use sliders to manipulate their shape, dimension and absolute position. in addition, the software offers the option to charge the objects with either specified surface or volumetric charge density and to model them with user-desired dielectric constants. according to the user preference, the biological macromolecule atoms can be assigned charges and radii according to four different force fields: amber, charmm, opls and parse. the biological macromolecules and the atomic-style objects are exported as a position, charge and radius file, or if a default dielectric constant distribution is not selected, it is exported as a position, charge, radius and epsilon file. as illustration of the capabilities of the pronoi, we created a composite object in a shape of a robot, aptly named the clemson robot, whose parts are charged with various volumetric charge densities and holds the barnase-barstar protein complex in its hand.  the protein nano-object integrator is a convenient tool for generating atomic-style nano shapes in conjunction with biological macromolecule. charges and radii on the macromolecule atoms and the atoms in the shapes are assigned according to the user’s preferences allowing various scenarios of modeling. the default output file is in pqr format which is readable by almost any software available in biophysical field. it can be downloaded from: http://compbio.clemson.edu/downloaddir/prono_integrator.tar.gz biological macromoleculeselectrostatic calculationsmolecular modelingnano technologydelphipoisson-boltzmann equation 