#
#
#

__author__ = "Randall J. Radmer"
__version__ = "1.0"
__doc__ = """write PDB files"""


import sys
import re

class PDBWriter:
    """PDB object"""
    def __init__(self, pdbParser):
        self.pdbParser=pdbParser
        self.outFilenames={}

    def appendToPdb(self, outFilename, coords, addRemarks='', useNM=False):
        """Return a new PDB file (as a string) with modified coordinates"""
        newCoordSet=self.pdbParser.buildNewPDB(coords,
                                               addRemarks,
                                               useNM=useNM,
                                               removeEND=True)
        if outFilename not in self.outFilenames:
            self.outFilenames[outFilename]=0
            fOut=open(outFilename, 'w')
        else:
            fOut=open(outFilename, 'a')
        fOut.write("MODEL     %d\n" % self.outFilenames[outFilename])
        fOut.write(newCoordSet)
        fOut.write("ENDMDL\n")
        fOut.close()
        self.outFilenames[outFilename]+=1

    def close(self, outFilename):
        fOut=open(outFilename, 'a')
        fOut.write("END\n")
        fOut.close()

