Beispiel #1
0
        /// <summary>
        /// Method to estimate remaining search time
        /// </summary>
        /// <returns>Estimated remainin search time</returns>
        public float estimateRemainingTime()
        {
            float esimated_time;

            _indigo.setSessionID();
            Bingo.checkResult(_indigo, _bingoLib.bingoEstimateRemainingTime(_id, &esimated_time));
            return(esimated_time);
        }
Beispiel #2
0
        /// <summary>
        /// Returns a shared IndigoObject for the matched target
        /// </summary>
        /// <returns>Shared Indigo object for the current search operation</returns>
        public IndigoObject getIndigoObject()
        {
            _indigo.setSessionID();
            IndigoObject res = new IndigoObject(_indigo, Bingo.checkResult(_indigo, _bingoLib.bingoGetObject(_id)));

            _reference = res;
            return(res);
        }
Beispiel #3
0
 /// <summary>
 /// Dispose method that closes the database
 /// </summary>
 public void Dispose()
 {
     if (_id >= 0 && _dllLoader != null && _dllLoader.isValid() && _indigo != null && _lib != null)
     {
         _indigo.setSessionID();
         Bingo.checkResult(_indigo, _lib.bingoCloseDatabase(_id));
         _id = -1;
     }
 }
Beispiel #4
0
 /// <summary>
 /// Perform search by molecular formula
 /// </summary>
 /// <param name="query">string with formula to search. For example, 'C22 H23 N3 O2'.</param>
 /// <param name="options">search options</param>
 /// <returns>Bingo search object instance</returns>
 public BingoObject searchMolFormula(string query, string options)
 {
     if (options == null)
     {
         options = "";
     }
     _indigo.setSessionID();
     return(new BingoObject(Bingo.checkResult(_indigo, _lib.bingoSearchMolFormula(_id, query, options)), _indigo, _lib));
 }
Beispiel #5
0
 /// <summary>
 /// Execute similarity search operation
 /// </summary>
 /// <param name="query">indigo object (molecule or reaction)</param>
 /// <param name="min">Minimum similarity value</param>
 /// <param name="max">Maximum similairy value</param>
 /// <param name="metric">Default value is "tanimoto"</param>
 /// <returns>Bingo search object instance</returns>
 public BingoObject searchSim(IndigoObject query, float min, float max, string metric)
 {
     if (metric == null)
     {
         metric = "tanimoto";
     }
     _indigo.setSessionID();
     return(new BingoObject(Bingo.checkResult(_indigo, _lib.bingoSearchSim(_id, query.self, min, max, metric)), _indigo, _lib));
 }
Beispiel #6
0
 /// <summary>
 /// </summary>
 public void Dispose()
 {
     if (_id >= 0 && _dllLoader != null && _dllLoader.isValid() && _bingoLib != null && _indigo != null)
     {
         _indigo.setSessionID();
         Bingo.checkResult(_indigo, _bingoLib.bingoEndSearch(_id));
         _id = -1;
     }
 }
Beispiel #7
0
        /// <summary>
        /// Creates a chemical storage of a specifed type in a specified location
        /// </summary>
        /// <param name="indigo">Indigo instance</param>
        /// <param name="location">Directory with the files location</param>
        /// <param name="type">"molecule" or "reaction"</param>
        /// <param name="options">Additional options separated with a semicolon. See the Bingo documentation for more details.</param>
        /// <returns>Bingo database instance</returns>
        public static Bingo createDatabaseFile(Indigo indigo, string location, string type, string options)
        {
            indigo.setSessionID();
            if (options == null)
            {
                options = "";
            }
            BingoLib lib        = Bingo.getLib(indigo);
            int      databaseID = Bingo.checkResult(indigo, lib.bingoCreateDatabaseFile(location, type, options));

            return(new Bingo(indigo, databaseID, lib));
        }
Beispiel #8
0
 /// <summary>
 /// Returns Bingo version
 /// </summary>
 /// <returns>Bingo version</returns>
 public string version()
 {
     _indigo.setSessionID();
     return(Bingo.checkResult(_indigo, _lib.bingoVersion()));
 }
Beispiel #9
0
 /// <summary>
 /// Returns an IndigoObject for the record with the specified id
 /// </summary>
 /// <param name="id">record id</param>
 /// <returns>Indigo object</returns>
 public IndigoObject getRecordById(int id)
 {
     _indigo.setSessionID();
     return(new IndigoObject(_indigo, Bingo.checkResult(_indigo, _lib.bingoGetRecordObj(_id, id))));;
 }
Beispiel #10
0
 /// <summary>
 /// Post-process index optimization
 /// </summary>
 public void optimize()
 {
     _indigo.setSessionID();
     Bingo.checkResult(_indigo, _lib.bingoOptimize(_id));
 }
Beispiel #11
0
 /// <summary>
 /// Delete a record by id
 /// </summary>
 /// <param name="id">Record id</param>
 public void delete(int id)
 {
     _indigo.setSessionID();
     Bingo.checkResult(_indigo, _lib.bingoDeleteRecord(_id, id));
 }
Beispiel #12
0
 /// <summary>
 /// Inserts a structure under a specified id
 /// </summary>
 /// <param name="record">Indigo object with a chemical structure (molecule or reaction)</param>
 /// <param name="id">record id</param>
 /// <returns> inserted record id</returns>
 public int insert(IndigoObject record, int id)
 {
     _indigo.setSessionID();
     return(Bingo.checkResult(_indigo, _lib.bingoInsertRecordObjWithId(_id, record.self, id)));
 }
Beispiel #13
0
 /// <summary>
 /// Method to return current similarity value. Should be called after next() method.
 /// </summary>
 /// <returns>Similarity value</returns>
 public float getCurrentSimilarityValue()
 {
     _indigo.setSessionID();
     return(Bingo.checkResult(_indigo, _bingoLib.bingoGetCurrentSimilarityValue(_id)));
 }
Beispiel #14
0
 /// <summary>
 /// Method to return current record id. Should be called after next() method.
 /// </summary>
 /// <returns>Record id</returns>
 public int getCurrentId()
 {
     _indigo.setSessionID();
     return(Bingo.checkResult(_indigo, _bingoLib.bingoGetCurrentId(_id)));
 }
Beispiel #15
0
 /// <summary>
 /// Method to move to the next record
 /// </summary>
 /// <returns>True if there are any more records</returns>
 public bool next()
 {
     _indigo.setSessionID();
     return((Bingo.checkResult(_indigo, _bingoLib.bingoNext(_id)) == 1) ? true : false);
 }
Beispiel #16
0
 /// <summary>
 /// Method to estimate remaining hits count error
 /// </summary>
 /// <returns>Estimated hits count error</returns>
 public int estimateRemainingResultsCountError()
 {
     _indigo.setSessionID();
     return(Bingo.checkResult(_indigo, _bingoLib.bingoEstimateRemainingResultsCountError(_id)));
 }