aiida.tools.dbimporters.plugins package

Submodules

class aiida.tools.dbimporters.plugins.cod.CodDbImporter(**kwargs)[source]

Bases: aiida.tools.dbimporters.baseclasses.DbImporter

Database importer for Crystallography Open Database.

__init__(**kwargs)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__module__ = 'aiida.tools.dbimporters.plugins.cod'
_angle_clause(key, alias, values)[source]

Returns SQL query predicate for querying lattice angles.

_composition_clause(key, alias, values)[source]

Returns SQL query predicate for querying elements in formula fields.

_connect_db()[source]

Connects to the MySQL database for performing searches.

_disconnect_db()[source]

Closes connection to the MySQL database.

_double_clause(key, alias, values, precision)[source]

Returns SQL query predicate for querying double-valued fields.

_formula_clause(key, alias, values)[source]

Returns SQL query predicate for querying formula fields.

_int_clause(key, alias, values)[source]

Returns SQL query predicate for querying integer fields.

_keywords = {'a': ['a', <function _length_clause at 0x7f842072e6e0>], 'alpha': ['alpha', <function _angle_clause at 0x7f842072e7d0>], 'authors': ['authors', <function _str_fuzzy_clause at 0x7f8420693488>], 'b': ['b', <function _length_clause at 0x7f842072e6e0>], 'beta': ['beta', <function _angle_clause at 0x7f842072e7d0>], 'c': ['c', <function _length_clause at 0x7f842072e6e0>], 'chemical_name': ['chemname', <function _str_fuzzy_clause at 0x7f8420693488>], 'determination_method': ['method', <function _str_exact_or_none_clause at 0x7f84202f4e60>], 'diffraction_pressure': ['diffrpressure', <function _pressure_clause at 0x7f842072e758>], 'diffraction_temp': ['diffrtemp', <function _temperature_clause at 0x7f842072e2a8>], 'doi': ['doi', <function _str_exact_clause at 0x7f84202f4de8>], 'element': ['element', <function _composition_clause at 0x7f84203f7de8>], 'first_page': ['firstpage', <function _str_exact_clause at 0x7f84202f4de8>], 'formula': ['formula', <function _formula_clause at 0x7f84202f4938>], 'gamma': ['gamma', <function _angle_clause at 0x7f842072e7d0>], 'id': ['file', <function _int_clause at 0x7f84202f4b18>], 'journal': ['journal', <function _str_fuzzy_clause at 0x7f8420693488>], 'journal_issue': ['issue', <function _str_exact_clause at 0x7f84202f4de8>], 'journal_volume': ['volume', <function _int_clause at 0x7f84202f4b18>], 'last_page': ['lastpage', <function _str_exact_clause at 0x7f84202f4de8>], 'measurement_pressure': ['cellpressure', <function _pressure_clause at 0x7f842072e758>], 'measurement_temp': ['celltemp', <function _temperature_clause at 0x7f842072e2a8>], 'mineral_name': ['mineral', <function _str_fuzzy_clause at 0x7f8420693488>], 'number_of_elements': ['nel', <function _int_clause at 0x7f84202f4b18>], 'spacegroup': ['sg', <function _str_exact_clause at 0x7f84202f4de8>], 'spacegroup_hall': ['sgHall', <function _str_exact_clause at 0x7f84202f4de8>], 'title': ['title', <function _str_fuzzy_clause at 0x7f8420693488>], 'volume': ['vol', <function _volume_clause at 0x7f842072ed70>], 'year': ['year', <function _int_clause at 0x7f84202f4b18>], 'z': ['Z', <function _int_clause at 0x7f84202f4b18>]}
_length_clause(key, alias, values)[source]

Returns SQL query predicate for querying lattice vector lengths.

_pressure_clause(key, alias, values)[source]

Returns SQL query predicate for querying pressure.

_str_exact_clause(key, alias, values)[source]

Returns SQL query predicate for querying string fields.

_str_exact_or_none_clause(key, alias, values)[source]

Returns SQL query predicate for querying string fields, allowing to use Python’s “None” in addition.

_str_fuzzy_clause(key, alias, values)[source]

Returns SQL query predicate for fuzzy querying of string fields.

_temperature_clause(key, alias, values)[source]

Returns SQL query predicate for querying temperature.

_volume_clause(key, alias, values)[source]

Returns SQL query predicate for querying unit cell volume.

angle_precision = 0.001
get_supported_keywords()[source]

Returns the list of all supported query keywords.

Returns:list of strings
length_precision = 0.001
pressure_precision = 1
query(**kwargs)[source]

Performs a query on the COD database using keyword = value pairs, specified in kwargs.

Returns:an instance of aiida.tools.dbimporters.plugins.cod.CodSearchResults.
query_sql(**kwargs)[source]

Forms a SQL query for querying the COD database using keyword = value pairs, specified in kwargs.

Returns:string containing a SQL statement.
setup_db(**kwargs)[source]

Changes the database connection details.

temperature_precision = 0.001
volume_precision = 0.001
class aiida.tools.dbimporters.plugins.cod.CodEntry(uri, db_name='Crystallography Open Database', db_uri='http://www.crystallography.net', **kwargs)[source]

Bases: aiida.tools.dbimporters.baseclasses.CifEntry

Represents an entry from COD.

__init__(uri, db_name='Crystallography Open Database', db_uri='http://www.crystallography.net', **kwargs)[source]

Creates an instance of aiida.tools.dbimporters.plugins.cod.CodEntry, related to the supplied URI.

__module__ = 'aiida.tools.dbimporters.plugins.cod'
_license = 'CC0'
class aiida.tools.dbimporters.plugins.cod.CodSearchResults(results)[source]

Bases: aiida.tools.dbimporters.baseclasses.DbSearchResults

Results of the search, performed on COD.

__init__(results)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__len__()[source]
__module__ = 'aiida.tools.dbimporters.plugins.cod'
_base_url = 'http://www.crystallography.net/cod/'
_get_source_dict(result_dict)[source]

Returns a dictionary, which is passed as kwargs to the created DbEntry instance, describing the source of the entry.

Parameters:result_dict – dictionary, describing an entry in the results.
_get_url(result_dict)[source]

Returns an URL of an entry CIF file.

Parameters:result_dict – dictionary, describing an entry in the results.
exception aiida.tools.dbimporters.plugins.icsd.CifFileErrorExp[source]

Bases: aiida.tools.dbimporters.plugins.icsd.IcsdImporterExp

Raised when the author loop is missing in a CIF file.

__module__ = 'aiida.tools.dbimporters.plugins.icsd'
class aiida.tools.dbimporters.plugins.icsd.IcsdDbImporter(**kwargs)[source]

Bases: aiida.tools.dbimporters.baseclasses.DbImporter

Importer for the Inorganic Crystal Structure Database, short ICSD, provided by FIZ Karlsruhe. It allows to run queries and analyse all the results. See the DbImporter documentation and tutorial page for more information.

Parameters:
  • server

    Server URL, the web page of the database. It is required in order to have access to the full database. I t should contain both the protocol and the domain name and end with a slash, as in:

    server = "http://ICSDSERVER.com/"
    
  • urladd – part of URL which is added between query and and the server URL (default: index.php?). only needed for web page query
  • querydb – boolean, decides whether the mysql database is queried (default: True). If False, the query results are obtained through the web page query, which is restricted to a maximum of 1000 results per query.
  • dl_db – icsd comes with a full (default: icsd) and a demo database (icsdd). This parameter allows the user to switch to the demo database for testing purposes, if the access rights to the full database are not granted.
  • host

    MySQL database host. If the MySQL database is hosted on a different machine, use “127.0.0.1” as host, and open a SSH tunnel to the host using:

    ssh -L 3306:localhost:3306 username@hostname.com
    

    or (if e.g. you get an URLError with Errno 111 (Connection refused) upon querying):

    ssh -L 3306:localhost:3306 -L 8010:localhost:80 username@hostname.com
    
  • user – mysql database username (default: dba)
  • passwd – mysql database password (default: sql)
  • db – name of the database (default: icsd)
  • port – Port to access the mysql database (default: 3306)
__init__(**kwargs)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__module__ = 'aiida.tools.dbimporters.plugins.icsd'
_angle_clause(key, alias, values)[source]

Return SQL query predicate for querying lattice angles.

_composition_clause(key, alias, values)[source]

Return SQL query predicate for querying elements in formula fields.

_crystal_system_clause(key, alias, values)[source]

Return SQL query predicate for querying crystal_system.

_density_clause(key, alias, values)[source]

Return SQL query predicate for querying density.

_double_clause(key, alias, values, precision)[source]

Return SQL query predicate for querying double-valued fields.

_formula_clause(key, alias, values)[source]

Return SQL query predicate for querying formula fields.

_int_clause(key, alias, values)[source]

Return SQL query predicate for querying integer fields :param key: Database keyword :param alias: Query parameter name :param values: Corresponding values from query :return: SQL query predicate

_length_clause(key, alias, values)[source]

Return SQL query predicate for querying lattice vector lengths.

_parse_all(v)[source]

Convert numbers, strings, lists into strings. :param k: query parameter :param v: corresponding values :return retval: string

_parse_mineral(v)[source]

Convert mineral_name and chemical_name into right format. :param k: query parameter :param v: corresponding values :return retval: string

_parse_number(v)[source]

Convert int into string. :param k: query parameter :param v: corresponding values :return retval: string

_parse_system(v)[source]

Return crystal system in the right format. :param k: query parameter :param v: corresponding values :return retval: string

_parse_volume(v)[source]

Convert volume, cell parameter and angle queries into right format. :param k: query parameter :param v: corresponding values :return retval: string

_pressure_clause(key, alias, values)[source]

Return SQL query predicate for querying pressure.

_query_sql_db(**kwargs)[source]

Perform a query on Icsd mysql database using keyword = value pairs, specified in kwargs. Returns an instance of IcsdSearchResults. :param kwargs: A list of keyword = [values] pairs :return: IcsdSearchResults

_queryweb(**kwargs)[source]

Perform a query on the Icsd web database using keyword = value pairs, specified in kwargs. Returns an instance of IcsdSearchResults. :note: Web search has a maximum result number fixed at 1000. :param kwargs: A list of keyword = [values] pairs :return: IcsdSearchResults

_str_exact_clause(key, alias, values)[source]

Return SQL query predicate for querying string fields.

_str_fuzzy_clause(key, alias, values)[source]

Return SQL query predicate for fuzzy querying of string fields.

_temperature_clause(key, alias, values)[source]

Return SQL query predicate for querying temperature.

_volume_clause(key, alias, values)[source]

Return SQL query predicate for querying unit cell volume.

angle_precision = 0.001
density_precision = 0.001
get_supported_keywords()[source]
Returns:List of all supported query keywords.
keywords = {'a': ('volume', <function _parse_volume at 0x7f8420295d70>), 'alpha': ('volume', <function _parse_volume at 0x7f8420295d70>), 'authors': ('authors', <function _parse_all at 0x7f8420295b90>), 'b': ('volume', <function _parse_volume at 0x7f8420295d70>), 'beta': ('volume', <function _parse_volume at 0x7f8420295d70>), 'c': ('volume', <function _parse_volume at 0x7f8420295d70>), 'chemical_name': ('mineral', <function _parse_mineral at 0x7f8420295938>), 'crystal_system': ('system', <function _parse_system at 0x7f84202957d0>), 'element': ('elements', <function _parse_all at 0x7f8420295b90>), 'formula': ('formula', <function _parse_all at 0x7f8420295b90>), 'gamma': ('volume', <function _parse_volume at 0x7f8420295d70>), 'id': ('authors', <function _parse_all at 0x7f8420295b90>), 'journal': ('journal', <function _parse_all at 0x7f8420295b90>), 'mineral_name': ('mineral', <function _parse_mineral at 0x7f8420295938>), 'number_of_elements': ('elementc', <function _parse_all at 0x7f8420295b90>), 'spacegroup': ('spaceg', <function _parse_all at 0x7f8420295b90>), 'title': ('title', <function _parse_all at 0x7f8420295b90>), 'volume': ('volume', <function _parse_volume at 0x7f8420295d70>), 'year': ('year', <function _parse_all at 0x7f8420295b90>)}
keywords_db = {'a': ['A_LEN', <function _length_clause at 0x7f841fafaf50>], 'alpha': ['ALPHA', <function _angle_clause at 0x7f841fafa500>], 'authors': ['AUTHORS_TEXT', <function _str_fuzzy_clause at 0x7f8420665398>], 'b': ['B_LEN', <function _length_clause at 0x7f841fafaf50>], 'beta': ['BETA', <function _angle_clause at 0x7f841fafa500>], 'c': ['C_LEN', <function _length_clause at 0x7f841fafaf50>], 'chemical_name': ['CHEM_NAME', <function _str_fuzzy_clause at 0x7f8420665398>], 'crystal_system': ['CRYST_SYS_CODE', <function _crystal_system_clause at 0x7f841f536f50>], 'density': ['DENSITY_CALC', <function _density_clause at 0x7f841fafab90>], 'element': ['SUM_FORM;', <function _composition_clause at 0x7f8420665f50>], 'formula': ['SUM_FORM', <function _formula_clause at 0x7f8420665d70>], 'gamma': ['GAMMA', <function _angle_clause at 0x7f841fafa500>], 'id': ['COLL_CODE', <function _int_clause at 0x7f8420665c80>], 'journal': ['journal', <function _str_fuzzy_clause at 0x7f8420665398>], 'measurement_temp': ['TEMPERATURE', <function _temperature_clause at 0x7f841fafa230>], 'molar_mass': ['MOL_MASS', <function _density_clause at 0x7f841fafab90>], 'number_of_elements': ['EL_COUNT', <function _int_clause at 0x7f8420665c80>], 'pdf_num': ['PDF_NUM', <function _str_exact_clause at 0x7f8420665b90>], 'spacegroup': ['SGR', <function _str_exact_clause at 0x7f8420665b90>], 'title': ['AU_TITLE', <function _str_fuzzy_clause at 0x7f8420665398>], 'volume': ['C_VOL', <function _volume_clause at 0x7f841fafaed8>], 'wyckoff': ['WYCK', <function _str_exact_clause at 0x7f8420665b90>], 'year': ['MPY', <function _int_clause at 0x7f8420665c80>], 'z': ['Z', <function _int_clause at 0x7f8420665c80>]}
length_precision = 0.001
pressure_precision = 1
query(**kwargs)[source]

Depending on the db_parameters, the mysql database or the web page are queried. Valid parameters are found using IcsdDbImporter.get_supported_keywords().

Parameters:kwargs – A list of ‘’keyword = [values]’’ pairs.
setup_db(**kwargs)[source]

Change the database connection details. At least the host server has to be defined.

Parameters:kwargs – db_parameters for the mysql database connection (host, user, passwd, db, port)
temperature_precision = 0.001
volume_precision = 0.001
class aiida.tools.dbimporters.plugins.icsd.IcsdEntry(uri, **kwargs)[source]

Bases: aiida.tools.dbimporters.baseclasses.CifEntry

Represent an entry from Icsd.

Note:
  • Before July 2nd 2015, source[‘id’] contained icsd.IDNUM (internal icsd id number) and source[‘extras’][‘cif_nr’] the cif number (icsd.COLL_CODE).
  • After July 2nd 2015, source[‘id’] has been replaced by the cif number and source[‘extras’][‘idnum’] is icsd.IDNUM .
__init__(uri, **kwargs)[source]

Create an instance of IcsdEntry, related to the supplied URI.

__module__ = 'aiida.tools.dbimporters.plugins.icsd'
_license = 'ICSD'
cif
Returns:cif file of Icsd entry.
get_aiida_structure()[source]
Returns:AiiDA structure corresponding to the CIF file.
get_ase_structure()[source]
Returns:ASE structure corresponding to the cif file.
get_cif_node()[source]

Create a CIF node, that can be used in AiiDA workflow.

Returns:aiida.orm.data.cif.CifData object
get_corrected_cif()[source]

Add quotes to the lines in the author loop if missing.

Note:ase raises an AssertionError if the quotes in the author loop are missing.
exception aiida.tools.dbimporters.plugins.icsd.IcsdImporterExp[source]

Bases: exceptions.Exception

__module__ = 'aiida.tools.dbimporters.plugins.icsd'
__weakref__

list of weak references to the object (if defined)

class aiida.tools.dbimporters.plugins.icsd.IcsdSearchResults(query, db_parameters)[source]

Bases: aiida.tools.dbimporters.baseclasses.DbSearchResults

Result manager for the query performed on ICSD.

Parameters:
  • query – mysql query or webpage query
  • db_parameters – database parameter setup during the initialisation of the IcsdDbImporter.
__init__(query, db_parameters)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__module__ = 'aiida.tools.dbimporters.plugins.icsd'
_connect_db()[source]

Connect to the MySQL database for performing searches.

_disconnect_db()[source]

Close connection to the MySQL database.

at(position)[source]

Return position-th result as IcsdEntry.

cif_url = '/index.php?format=cif&action=Export&id%5B%5D={}'
db_name = 'Icsd'
next()[source]

Return next result as IcsdEntry.

query_db_version()[source]

Query the version of the icsd database (last row of RELEASE_TAGS).

query_page()[source]

Query the mysql or web page database, depending on the db_parameters. Store the number_of_results, cif file number and the corresponding icsd number.

Note:Icsd uses its own number system, different from the CIF file numbers.
exception aiida.tools.dbimporters.plugins.icsd.NoResultsWebExp[source]

Bases: aiida.tools.dbimporters.plugins.icsd.IcsdImporterExp

Raised when a webpage query returns no results.

__module__ = 'aiida.tools.dbimporters.plugins.icsd'
aiida.tools.dbimporters.plugins.icsd.correct_cif(cif)[source]

Correct the format of the CIF files. At the moment, it only fixes missing quotes in the authors field (ase.read.io only works if the author names are quoted, if not an AssertionError is raised).

Parameters:cif – A string containing the content of the CIF file.
Returns:a string containing the corrected CIF file.
class aiida.tools.dbimporters.plugins.mpod.MpodDbImporter(**kwargs)[source]

Bases: aiida.tools.dbimporters.baseclasses.DbImporter

Database importer for Material Properties Open Database.

__init__(**kwargs)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__module__ = 'aiida.tools.dbimporters.plugins.mpod'
_keywords = {'authors': ['publ_author', <function _str_clause at 0x7f84206a8d70>], 'cod_id': ['cod_code', <function _str_clause at 0x7f84206a8d70>], 'element': ['element', None], 'formula': ['formula', <function _str_clause at 0x7f84206a8d70>], 'phase_name': ['phase_name', <function _str_clause at 0x7f84206a8d70>]}
_str_clause(key, alias, values)[source]

Returns part of HTTP GET query for querying string fields.

get_supported_keywords()[source]

Returns the list of all supported query keywords.

Returns:list of strings
query(**kwargs)[source]

Performs a query on the MPOD database using keyword = value pairs, specified in kwargs.

Returns:an instance of aiida.tools.dbimporters.plugins.mpod.MpodSearchResults.
query_get(**kwargs)[source]

Forms a HTTP GET query for querying the MPOD database. May return more than one query in case an intersection is needed.

Returns:a list containing strings for HTTP GET statement.
setup_db(query_url=None, **kwargs)[source]

Changes the database connection details.

class aiida.tools.dbimporters.plugins.mpod.MpodEntry(uri, **kwargs)[source]

Bases: aiida.tools.dbimporters.baseclasses.CifEntry

Represents an entry from MPOD.

__init__(uri, **kwargs)[source]

Creates an instance of aiida.tools.dbimporters.plugins.mpod.MpodEntry, related to the supplied URI.

__module__ = 'aiida.tools.dbimporters.plugins.mpod'
class aiida.tools.dbimporters.plugins.mpod.MpodSearchResults(results)[source]

Bases: aiida.tools.dbimporters.baseclasses.DbSearchResults

Results of the search, performed on MPOD.

__init__(results)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__len__()[source]
__module__ = 'aiida.tools.dbimporters.plugins.mpod'
_base_url = 'http://mpod.cimav.edu.mx/datafiles/'
_get_source_dict(result_dict)[source]

Returns a dictionary, which is passed as kwargs to the created DbEntry instance, describing the source of the entry.

Parameters:result_dict – dictionary, describing an entry in the results.
_get_url(result_dict)[source]

Returns an URL of an entry CIF file.

Parameters:result_dict – dictionary, describing an entry in the results.
class aiida.tools.dbimporters.plugins.nninc.NnincDbImporter(**kwargs)[source]

Bases: aiida.tools.dbimporters.baseclasses.DbImporter

Database importer for NNIN/C Pseudopotential Virtual Vault.

__init__(**kwargs)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__module__ = 'aiida.tools.dbimporters.plugins.nninc'
_keywords = {'element': ['element', None], 'pseudopotential_class': ['frmspclass', <function _str_clause at 0x7f84206a8a28>], 'xc_approximation': ['frmxcprox', <function _str_clause at 0x7f84206a8a28>], 'xc_type': ['frmxctype', <function _str_clause at 0x7f84206a8a28>]}
_str_clause(key, alias, values)[source]

Returns part of HTTP GET query for querying string fields.

get_supported_keywords()[source]

Returns the list of all supported query keywords.

Returns:list of strings
query(**kwargs)[source]

Performs a query on the NNIN/C Pseudopotential Virtual Vault using keyword = value pairs, specified in kwargs.

Returns:an instance of aiida.tools.dbimporters.plugins.nninc.NnincSearchResults.
query_get(**kwargs)[source]

Forms a HTTP GET query for querying the NNIN/C Pseudopotential Virtual Vault.

Returns:a string with HTTP GET statement.
setup_db(query_url=None, **kwargs)[source]

Changes the database connection details.

class aiida.tools.dbimporters.plugins.nninc.NnincEntry(uri, **kwargs)[source]

Bases: aiida.tools.dbimporters.baseclasses.UpfEntry

Represents an entry from NNIN/C Pseudopotential Virtual Vault.

__init__(uri, **kwargs)[source]

Creates an instance of aiida.tools.dbimporters.plugins.nninc.NnincEntry, related to the supplied URI.

__module__ = 'aiida.tools.dbimporters.plugins.nninc'
class aiida.tools.dbimporters.plugins.nninc.NnincSearchResults(results)[source]

Bases: aiida.tools.dbimporters.baseclasses.DbSearchResults

Results of the search, performed on NNIN/C Pseudopotential Virtual Vault.

__init__(results)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__len__()[source]
__module__ = 'aiida.tools.dbimporters.plugins.nninc'
_base_url = 'http://nninc.cnf.cornell.edu/psp_files/'
_get_source_dict(result_dict)[source]

Returns a dictionary, which is passed as kwargs to the created DbEntry instance, describing the source of the entry.

Parameters:result_dict – dictionary, describing an entry in the results.
_get_url(result_dict)[source]

Returns an URL of an entry CIF file.

Parameters:result_dict – dictionary, describing an entry in the results.
class aiida.tools.dbimporters.plugins.oqmd.OqmdDbImporter(**kwargs)[source]

Bases: aiida.tools.dbimporters.baseclasses.DbImporter

Database importer for Open Quantum Materials Database.

__init__(**kwargs)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__module__ = 'aiida.tools.dbimporters.plugins.oqmd'
_keywords = {'element': ['element', None]}
_str_clause(key, alias, values)[source]

Returns part of HTTP GET query for querying string fields.

get_supported_keywords()[source]

Returns the list of all supported query keywords.

Returns:list of strings
query(**kwargs)[source]

Performs a query on the OQMD database using keyword = value pairs, specified in kwargs.

Returns:an instance of aiida.tools.dbimporters.plugins.oqmd.OqmdSearchResults.
query_get(**kwargs)[source]

Forms a HTTP GET query for querying the OQMD database.

Returns:a strings for HTTP GET statement.
setup_db(query_url=None, **kwargs)[source]

Changes the database connection details.

class aiida.tools.dbimporters.plugins.oqmd.OqmdEntry(uri, **kwargs)[source]

Bases: aiida.tools.dbimporters.baseclasses.CifEntry

Represents an entry from OQMD.

__init__(uri, **kwargs)[source]

Creates an instance of aiida.tools.dbimporters.plugins.oqmd.OqmdEntry, related to the supplied URI.

__module__ = 'aiida.tools.dbimporters.plugins.oqmd'
class aiida.tools.dbimporters.plugins.oqmd.OqmdSearchResults(results)[source]

Bases: aiida.tools.dbimporters.baseclasses.DbSearchResults

Results of the search, performed on OQMD.

__init__(results)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__len__()[source]
__module__ = 'aiida.tools.dbimporters.plugins.oqmd'
_base_url = 'http://oqmd.org/materials/export/conventional/cif/'
_get_source_dict(result_dict)[source]

Returns a dictionary, which is passed as kwargs to the created DbEntry instance, describing the source of the entry.

Parameters:result_dict – dictionary, describing an entry in the results.
_get_url(result_dict)[source]

Returns an URL of an entry CIF file.

Parameters:result_dict – dictionary, describing an entry in the results.
class aiida.tools.dbimporters.plugins.pcod.PcodDbImporter(**kwargs)[source]

Bases: aiida.tools.dbimporters.plugins.cod.CodDbImporter

Database importer for Predicted Crystallography Open Database.

__init__(**kwargs)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__module__ = 'aiida.tools.dbimporters.plugins.pcod'
_angle_clause(*args, **kwargs)[source]

Returns SQL query predicate for querying lattice angles.

_composition_clause(*args, **kwargs)[source]

Returns SQL query predicate for querying elements in formula fields.

_formula_clause(*args, **kwargs)[source]

Returns SQL query predicate for querying formula fields.

_int_clause(*args, **kwargs)[source]

Returns SQL query predicate for querying integer fields.

_keywords = {'a': ['a', <function _length_clause at 0x7f841efea140>], 'alpha': ['alpha', <function _angle_clause at 0x7f841f711398>], 'b': ['b', <function _length_clause at 0x7f841efea140>], 'beta': ['beta', <function _angle_clause at 0x7f841f711398>], 'c': ['c', <function _length_clause at 0x7f841efea140>], 'element': ['element', <function _composition_clause at 0x7f841efeab18>], 'formula': ['formula', <function _formula_clause at 0x7f841efea2a8>], 'gamma': ['gamma', <function _angle_clause at 0x7f841f711398>], 'id': ['file', <function _int_clause at 0x7f841efeaf50>], 'number_of_elements': ['nel', <function _int_clause at 0x7f841efeaf50>], 'spacegroup': ['sg', <function _str_exact_clause at 0x7f841efea938>], 'text': ['text', <function _str_fuzzy_clause at 0x7f841f711500>], 'volume': ['vol', <function _volume_clause at 0x7f841efeac80>]}
_length_clause(*args, **kwargs)[source]

Returns SQL query predicate for querying lattice vector lengths.

_str_exact_clause(*args, **kwargs)[source]

Returns SQL query predicate for querying string fields.

_str_fuzzy_clause(*args, **kwargs)[source]

Returns SQL query predicate for fuzzy querying of string fields.

_volume_clause(*args, **kwargs)[source]

Returns SQL query predicate for querying unit cell volume.

query(**kwargs)[source]

Performs a query on the PCOD database using keyword = value pairs, specified in kwargs.

Returns:an instance of aiida.tools.dbimporters.plugins.pcod.PcodSearchResults.
query_sql(**kwargs)[source]

Forms a SQL query for querying the PCOD database using keyword = value pairs, specified in kwargs.

Returns:string containing a SQL statement.
class aiida.tools.dbimporters.plugins.pcod.PcodEntry(uri, db_name='Predicted Crystallography Open Database', db_uri='http://www.crystallography.net/pcod', **kwargs)[source]

Bases: aiida.tools.dbimporters.plugins.cod.CodEntry

Represents an entry from PCOD.

__init__(uri, db_name='Predicted Crystallography Open Database', db_uri='http://www.crystallography.net/pcod', **kwargs)[source]

Creates an instance of aiida.tools.dbimporters.plugins.pcod.PcodEntry, related to the supplied URI.

__module__ = 'aiida.tools.dbimporters.plugins.pcod'
_license = 'CC0'
class aiida.tools.dbimporters.plugins.pcod.PcodSearchResults(results)[source]

Bases: aiida.tools.dbimporters.plugins.cod.CodSearchResults

Results of the search, performed on PCOD.

__init__(results)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__module__ = 'aiida.tools.dbimporters.plugins.pcod'
_base_url = 'http://www.crystallography.net/pcod/cif/'
_get_url(result_dict)[source]

Returns an URL of an entry CIF file.

Parameters:result_dict – dictionary, describing an entry in the results.
class aiida.tools.dbimporters.plugins.tcod.TcodDbImporter(**kwargs)[source]

Bases: aiida.tools.dbimporters.plugins.cod.CodDbImporter

Database importer for Theoretical Crystallography Open Database.

__init__(**kwargs)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__module__ = 'aiida.tools.dbimporters.plugins.tcod'
query(**kwargs)[source]

Performs a query on the TCOD database using keyword = value pairs, specified in kwargs.

Returns:an instance of aiida.tools.dbimporters.plugins.tcod.TcodSearchResults.
class aiida.tools.dbimporters.plugins.tcod.TcodEntry(uri, db_name='Theoretical Crystallography Open Database', db_uri='http://www.crystallography.net/tcod', **kwargs)[source]

Bases: aiida.tools.dbimporters.plugins.cod.CodEntry

Represents an entry from TCOD.

__init__(uri, db_name='Theoretical Crystallography Open Database', db_uri='http://www.crystallography.net/tcod', **kwargs)[source]

Creates an instance of aiida.tools.dbimporters.plugins.tcod.TcodEntry, related to the supplied URI.

__module__ = 'aiida.tools.dbimporters.plugins.tcod'
_license = 'CC0'
class aiida.tools.dbimporters.plugins.tcod.TcodSearchResults(results)[source]

Bases: aiida.tools.dbimporters.plugins.cod.CodSearchResults

Results of the search, performed on TCOD.

__init__(results)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

__module__ = 'aiida.tools.dbimporters.plugins.tcod'
_base_url = 'http://www.crystallography.net/tcod/'

Tests for IcsdDbImporter

class aiida.tools.dbimporters.plugins.test_icsd.TestIcsd(methodName='runTest')[source]

Bases: aiida.backends.testbase.AiidaTestCase

__module__ = 'aiida.tools.dbimporters.plugins.test_icsd'
__unittest_skip__ = True
__unittest_skip_why__ = 'Server name required'
setUp()[source]

Set up IcsdDbImporter for web and mysql db query.

test_dbquery_zero_results(**kwargs)[source]
test_mysqldb(**kwargs)[source]

Test connection to Icsd mysql database.

test_server()[source]

Test Icsd intranet webinterface

test_web_COLLCODE_155006()[source]

Query for the CIF code 155006, should return 1 result.

test_web_zero_results()[source]

No results should be obtained from year 3000.

aiida.tools.dbimporters.plugins.test_icsd.has_mysqldb()[source]
Returns:True if the ase module can be imported, False otherwise.