text: user9040: I converted an .sdf file containing around 50,000 anti-viral agents to individual .pdb files using OpenBabel. However, when I tried opening the .pdb files with Autodock I kept getting the error below. What do you think is causing the error.
  Thank you for your time and patience.
  Error Message:
  
  “ Error pasing the following line in pdb:
  HETATM 1 C UNL 1 52355.00975659.051 0.000 1.00 0.000 ."
  
  
  
  user6322: A PDB file has strict spacing rules as documented here.
  The coordinates should be:
  31 - 38       Real(8.3)      x             Orthogonal coordinates for X.
  39 - 46       Real(8.3)      y             Orthogonal coordinates for Y.
  47 - 54       Real(8.3)      z             Orthogonal coordinates for Z.
  
  So trying this on your line:
  'HETATM 1 C UNL 1 52355.00975659.051 0.000 1.00 0.000'[30:39]
  
  I get 9.051 0., which is not a number.
  The whole line is formatted incorrectly however.
  So as you say you are using Autodock why not pass a mol2 to prepare_ligand4.py instead which is an acceptable format?
  Alternatively, you could convert your multi-entry sdf to pdb files via RDKit in Python:
  suppl = Chem.SDMolSupplier(sdfile)
  for mol in suppl:
        # mol = Chem.AddHs(mol) # has hydrogens?
        # AllChem.EmbedMolecule(mol) # is 3D?
        AllChem.ComputeGasteigerCharges(m) # sdfs do not have partial charges
        Chem.MolToPDBFile(m, f"{mol.GetProp('_Name')}.pdb")
  
  
original_text: 9040: <p>I converted an .sdf file containing around 50,000 anti-viral agents to individual .pdb files using OpenBabel. However, when I tried opening the .pdb files with Autodock I kept getting the error below. What do you think is causing the error.</p>
  <p>Thank you for your time and patience.</p>
  <p><strong>Error Message:</strong></p>
  <blockquote>
  <p>“ Error pasing the following line in pdb:
  HETATM 1 C UNL 1 52355.00975659.051 0.000 1.00 0.000 .&quot;</p>
  </blockquote>
  <p><a href="https://i.stack.imgur.com/13I5n.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/13I5n.jpg" alt="enter image description here" /></a></p>
   6322: <p>A PDB file has strict spacing rules as documented <a href="http://www.wwpdb.org/documentation/file-format-content/format33/sect9.html#HETATM" rel="nofollow noreferrer">here</a>.
  The coordinates should be:</p>
  <pre><code>31 - 38       Real(8.3)      x             Orthogonal coordinates for X.
  39 - 46       Real(8.3)      y             Orthogonal coordinates for Y.
  47 - 54       Real(8.3)      z             Orthogonal coordinates for Z.
  </code></pre>
  <p>So trying this on your line:</p>
  <pre><code>'HETATM 1 C UNL 1 52355.00975659.051 0.000 1.00 0.000'[30:39]
  </code></pre>
  <p>I get <code>9.051 0.</code>, which is not a number.</p>
  <p>The whole line is formatted incorrectly however.
  So as you say you are using Autodock why not pass a <code>mol2</code> to <code>prepare_ligand4.py</code> instead which is <a href="http://autodock.scripps.edu/faqs-help/how-to/how-to-prepare-a-ligand-file-for-autodock4" rel="nofollow noreferrer">an acceptable format</a>?</p>
  <p>Alternatively, you could convert your multi-entry sdf to pdb files via RDKit in Python:</p>
  <pre><code>suppl = Chem.SDMolSupplier(sdfile)
  for mol in suppl:
        # mol = Chem.AddHs(mol) # has hydrogens?
        # AllChem.EmbedMolecule(mol) # is 3D?
        AllChem.ComputeGasteigerCharges(m) # sdfs do not have partial charges
        Chem.MolToPDBFile(m, f&quot;{mol.GetProp('_Name')}.pdb&quot;)
  </code></pre>
  