Ejemplo n.º 1
0
 def __textSearch(self, aMol):
     search = TextNumericSearch()
     search.add_compound_name(aMol.identifier,
                              mode="anywhere",
                              ignore_non_alpha_num=True)
     # search.add_synonym(m.identifier) - no need to add synonym separate (should automatically search both name and synonym)
     textHits = search.search(max_hits_per_structure=1)
     return textHits
Ejemplo n.º 2
0
def searchName(name):
    """
    :param name:
    :return: ccdc.search.SearchHit
    """
    searcher = TextNumericSearch()
    searcher.add_synonym(name)
    return retrieveHits(searcher)
Ejemplo n.º 3
0
def searchName(name):
    """
    :param name:
    :return: ccdc.search.SearchHit
    """
    searcher = TextNumericSearch()
    searcher.add_synonym(name)
    return retrieveHits(searcher)
Ejemplo n.º 4
0
def get_csd_entries_by_author(author):
    """
    Uses the default csd databases based on the version of the python API this is being used
    conducts a search
    returns list of refcodes
    """
    query = TextNumericSearch()
    query.add_author(author)
    return [h.identifier for h in query.search()]
Ejemplo n.º 5
0
def searchCCDCNumber(num):
    """
    TODO: look at email reply got
    :param num:
    :return: ccdc.search.SearchHit
    """
    searcher = TextNumericSearch()
    searcher.add_ccdc_number(num)
    return retrieveHits(searcher)
Ejemplo n.º 6
0
def searchCCDCNumber(num):
    """
    TODO: look at email reply got
    :param num:
    :return: ccdc.search.SearchHit
    """
    searcher = TextNumericSearch()
    searcher.add_ccdc_number(num)
    return retrieveHits(searcher)
Ejemplo n.º 7
0
def searchRefcode(refCode):
    """
    TODO: validation refcode
    :param refCode: refcode format of  six letters + digits  ... n
    :return: ccdc.search.SearchHit
    """
    query = TextNumericSearch()
    query.add_all_identifiers(refCode)

    hits = query.search()
    return hits
Ejemplo n.º 8
0
def searchRefcode(refCode):
    """
    TODO: validation refcode
    :param refCode: refcode format of  six letters + digits  ... n
    :return: ccdc.search.SearchHit
    """
    query = TextNumericSearch()
    query.add_all_identifiers(refCode)

    hits = query.search()
    return hits
Ejemplo n.º 9
0
def cacl_density(doi):
    print doi
    query = TextNumericSearch()
    query.add_doi(doi)
    hits = query.search()

    ref_codes = []
    for hit in hits:
        ref_codes.append(hit.identifier)

    csd_crystal_reader = CrystalReader('CSD')

    if len(ref_codes) == 0:
        density = 1
    else:
        crystal = csd_crystal_reader.crystal(ref_codes[0])
        density = crystal.calculated_density
    return "%.3f" % density
Ejemplo n.º 10
0
 def searchCSD(self):
     query = TextNumericSearch()
     for doi in self.doiList:
         # Return any dois which have any structures associated with them:
         refCodes = []
         query.add_doi(doi, mode='anywhere', ignore_non_alpha_num=False)
         searchResults = query.search()
         n = int(len(searchResults))
         for i in searchResults:
             refCodes.append(i.identifier)
         query.clear()
         if n != 0:
             print 'Hit: ' + str(n) + ' in ' + str(doi)
             for i in refCodes:
                 print str(i)
             self.doiHits.append(doi)
             self.nDoiStructures.append(n)
     print str(len(self.doiHits)) + ' Hits found.'