#fix number for problem files with alternative positions
    mol.allAtoms.number = range(1, len(mol.allAtoms)+1)

    #pdb_filename = mol.name + '.pdb'
    writer = PdbqWriter()
    #writer.write(pdbq_filename, mol.allAtoms, records=['ATOM', 'HETATM'])
    fptr = open(pdbq_filename, 'w')
    ctr = 0
    for l in mol.parser.allLines:
        if l.find('ATOM')==0 or l.find('HETATM')==0:
            at = mol.allAtoms[ctr]
            if at.autodock_element=='A':
                if len(at.name)==1:
                    at.name='A'
                else:
                    at.name = 'A' + at.name[1:]
            writer.write_atom(fptr, mol.allAtoms[ctr])
            ctr = ctr + 1
        else:
            fptr.write(l)
    if verbose:
        print "wrote ", ctr, " atoms to", pdbq_filename
    

# To execute this command type:
# pdbqt_to_pdb.py -f pdbqt_filename_stem [-o outputfilename] -v




    mols = Read(pdbqt_filename)
    if verbose: print('read ', pdbqt_filename)
    mol = mols[0]
    mol.buildBondsByDistance()
    #fix number for problem files with alternative positions
    mol.allAtoms.number = list(range(1, len(mol.allAtoms) + 1))

    #pdb_filename = mol.name + '.pdb'
    writer = PdbqWriter()
    #writer.write(pdbq_filename, mol.allAtoms, records=['ATOM', 'HETATM'])
    fptr = open(pdbq_filename, 'w')
    ctr = 0
    for l in mol.parser.allLines:
        if l.find('ATOM') == 0 or l.find('HETATM') == 0:
            at = mol.allAtoms[ctr]
            if at.autodock_element == 'A':
                if len(at.name) == 1:
                    at.name = 'A'
                else:
                    at.name = 'A' + at.name[1:]
            writer.write_atom(fptr, mol.allAtoms[ctr])
            ctr = ctr + 1
        else:
            fptr.write(l)
    if verbose:
        print("wrote ", ctr, " atoms to", pdbq_filename)

# To execute this command type:
# pdbqt_to_pdb.py -f pdbqt_filename_stem [-o outputfilename] -v