예제 #1
0
        /// <summary>
        /// Convert an InChI string to an IAtomContainer
        /// </summary>
        /// <param name="inchiString"></param>
        /// <returns></returns>

        public static IAtomContainer InChIToAtomContainer(string inchiString)
        {
            string warningMsg, errorMsg;

            InChIGeneratorFactory factory    = InChIGeneratorFactory.getInstance();
            InChIToStructure      intostruct = factory.getInChIToStructure(inchiString, DefaultChemObjectBuilder);

            INCHI_RET ret = intostruct.getReturnStatus();

            if (ret == INCHI_RET.WARNING)             // Structure generated, but with warning message
            {
                warningMsg = "InChI warning: " + intostruct.getMessage();
            }

            else if (ret != INCHI_RET.OKAY)              // Structure generation failed
            {
                errorMsg = "Structure generation failed failed: " + ret.toString() + " [" + intostruct.getMessage() + "]";
                throw new Exception(errorMsg);
            }

            IAtomContainer mol = intostruct.getAtomContainer();


            return(mol);
        }
예제 #2
0
        /// <summary>
        /// Convert an InChI string to an IAtomContainer
        /// </summary>
        /// <param name="inchiString"></param>
        /// <returns></returns>

        public static IAtomContainer InChIToAtomContainer(string inchiString)
        {
            string warningMsg, errorMsg;

            InChIGeneratorFactory factory    = InChIGeneratorFactory.Instance;
            InChIToStructure      intostruct = factory.GetInChIToStructure(inchiString, ChemObjectBuilder.Instance);

            InChIReturnCode ret = intostruct.ReturnStatus;

            if (ret == InChIReturnCode.Warning)             // Structure generated, but with warning message
            {
                warningMsg = "InChI warning: " + intostruct.Message;
            }

            else if (ret != InChIReturnCode.Ok)              // Structure generation failed
            {
                errorMsg = "Structure generation failed failed: " + ret.ToString() + " [" + intostruct.Message + "]";
                throw new Exception(errorMsg);
            }

            IAtomContainer mol = intostruct.AtomContainer;


            return(mol);
        }
예제 #3
0
 static IAtomContainer ParseInChI(string inchi)
 {
     try
     {
         var structure = InChIToStructure.FromInChI(inchi);
         if (structure.ReturnStatus == InChIReturnCode.Ok)
         {
             return(structure.AtomContainer);
         }
     }
     catch (Exception)
     {
     }
     return(null);
 }
예제 #4
0
 public static IAtomContainer MolFromInChI(string inchi)
 {
     try
     {
         var mol = InChIToStructure.FromInChI(inchi);
         if (mol.ReturnStatus > InChIReturnCode.Warning)
         {
             throw new Exception(mol.Message);
         }
         return(mol.AtomContainer);
     }
     catch (Exception)
     {
     }
     return(null);
 }