def delete_database(args): from elaspic import elaspic_database db = elaspic_database.MyDatabase() if db.engine == "sqlite": os.remove(db.engine.database) else: db.delete_database_tables(drop_schema=True, drop_uniprot_sequence=True) logger.info("Done!")
def load_data_to_database(args, tables): if not args.url: raise Exception("URL argument was not provided; don't know where to load the data from!") from elaspic import elaspic_database db = elaspic_database.MyDatabase() for table_name in tables: load_table_to_database(table_name, args.url, db.engine)
def __init__( self, uniprot_id, mutations, configurations=None, run_type="5", number_of_tries=[], uniprot_domain_pair_ids=[], ): """Run the main function of the program and parse errors. Parameters ---------- uniprot_domain_pair_ids : list of integers List of uniprot_domain_pair_ids specifying which uniprot domain pairs to analyse. run_type : str 1 / sequence: Calculate provean supporting set. 2 / model: Calculate all homology models. 3 / mutations: Calculate mutations using precalculated provean and models (not working) 4 : Calculate mutations using precalculated provean (calculating mutations on the fly) (not working) 5 : Calculate mutations, calculating provean and homology models as required. """ super().__init__(configurations) if isinstance(run_type, (int, float)): run_type = str(int(run_type)) self.uniprot_id = uniprot_id self.mutations = self._split_mutations(mutations) self.calculated_mutations = [] self.run_type = self._validate_run_type(run_type) self.number_of_tries = number_of_tries self.uniprot_domain_pair_ids = uniprot_domain_pair_ids logger.info("=" * 80) logger.info("## Input parameters") logger.info("uniprot_id: {}".format(uniprot_id)) logger.info("mutations: {}".format(mutations)) logger.info("run_type: {}".format(run_type)) logger.info( "uniprot_domain_pair_ids: {}".format(uniprot_domain_pair_ids)) logger.info("unique_temp_dir: {}".format( conf.CONFIGS["unique_temp_dir"])) logger.info("db_schema: {}".format(conf.CONFIGS.get("db_schema"))) logger.info("temp_dir: {temp_dir}".format(**conf.CONFIGS)) logger.info("=" * 80) logger.info("") # Switch to the root of the unique tmp directory os.chdir(conf.CONFIGS["unique_temp_dir"]) # Initialise the sql database for accessing all information self.db = elaspic_database.MyDatabase() # Obtain all domains and interactions for a given uniprot logger.info("Obtaining protein domain information...") self.uniprot_domains = self.db.get_uniprot_domain( self.uniprot_id, True) self._update_path_to_data(self.uniprot_domains) logger.info("Found {} domains.".format(len(self.uniprot_domains))) # Mutations results self.uniprot_mutations = []
def create_database(args): from elaspic import elaspic_database db = elaspic_database.MyDatabase() db.create_database_tables(drop_schema=True) logger.info("Done!")
if hasattr(pytest, "config"): QUICK = pytest.config.getoption("--quick") CONFIG_FILE = pytest.config.getoption("--config-file") or CONFIG_FILE conf.read_configuration_file(CONFIG_FILE) assert conf.CONFIGS["db_type"] logger.debug("Running quick: {}".format(QUICK)) logger.debug("Config file: {}".format(CONFIG_FILE)) # Imports that require a parsed config file import helper_fns # noqa from elaspic import elaspic_database # noqa db = elaspic_database.MyDatabase() conf.CONFIGS["engine"] = db.get_engine() conf.CONFIGS["engine"].execute("SET sql_mode = ''") test_cases = [] def append_test_cases(df, num=3, num_mutations=3): """. Parameters ---------- df : DataFrame Contains the following columns: - `uniprot_id` - `uniprot_sequence`