Converting implicit Hydrogens to explicit
The following methods are available in chemaxon.calculations.Hydrogenize class to convert implicit hydrogen atoms to explicit ones:
-     
Hydrogenize.convertImplicitHToExplicit(MoleculeGraph molecule, MolAtom[] atoms, int f)
 -     
Hydrogenize.convertImplicitHToExplicit(MoleculeGraph molecule)
 
In the first method the coordinate refinement to avoid atom collisions can be skipped using the OMIT_POSTCLEAN option.
You can convert implicit Hydrogens to explicit ones without additional cleaning:
//import a simple chainMolecule mol = MolImporter.importMol("methylhexene.mol");Hydrogenize.convertImplicitHToExplicit(mol, null, MoleculeGraph.OMIT_POSTCLEAN);| 
               | 
                
               | 
                
               | 
        
| 
         original methylhexene molecule  | 
                
         with OMIT_POSTCLEAN option  | 
                
         without OMIT_POSTCLEAN option  | 
        
Working example to add explicit H to chiral centers only
                /*  * Copyright (c) 1998-2014 ChemAxon Ltd. All Rights Reserved.  */ import java.io.IOException; import chemaxon.struc.Molecule; import chemaxon.struc.MolAtom; import chemaxon.formats.MolImporter; import chemaxon.struc.StereoConstants; public class ExplicitHToChiralCenter {     /**      * Example to add Explicit H to Chiral centers only.      * @param args   command line arguments      * @throws java.io.IOException       *       * @version 5.1 04/24/2008      * @since Marvin 5.1      * @author Andras Volford      */     // ODD and EVEN parity values     static int ODD = StereoConstants.PARITY_ODD;         static int EVEN = StereoConstants.PARITY_EVEN;         public static void main(String[] args) throws IOException {         if (args.length < 1) {             System.err.println("Usage: java ExplicitHToChiralCenter                filename");             System.exit(0);         }         // create importer for the file argument         String s = (String) args[0];         MolImporter molimp = new MolImporter(s);         // store the imported molecules in m         Molecule m = new Molecule();         while (molimp.read(m)) {  // read molecules from the file             int ac = m.getAtomCount();             // Atoms with odd or even parity             MolAtom[] t = new MolAtom[ac];             int n = 0;             for (int i = 0; i < ac; i++){                 int p = m.getParity(i);                 boolean add = p == ODD || p == EVEN;                 // if the atom has ODD or EVEN parity                 if (add) {                     t[n++] = m.getAtom(i);                 }             }             // reduce atom array             MolAtom[] a = new MolAtom[n];            System.arraycopy(t, 0, a, 0, n);                         // add explicit H 			Hydrogenize.convertImplicitHToExplicit(m, a, 0);                         if (m.getDim() != 2)                 m.clean(2, null);                          // write the result             System.out.print(m.toFormat("sdf"));          }     } }