Skip to content
Snippets Groups Projects
Commit 633e7fb5 authored by Amandine  PERRIN's avatar Amandine PERRIN
Browse files

Correct mmseq functions for pangenome

parent b5c7cd3c
No related branches found
No related tags found
No related merge requests found
...@@ -12,6 +12,8 @@ import os ...@@ -12,6 +12,8 @@ import os
import time import time
import multiprocessing import multiprocessing
import progressbar import progressbar
import copy
from PanACoTA import utils from PanACoTA import utils
logger = logging.getLogger("pangnome.mmseqs") logger = logging.getLogger("pangnome.mmseqs")
...@@ -363,22 +365,25 @@ def create_mmseqs_db(mmseqdb, prt_path, logmmseq): ...@@ -363,22 +365,25 @@ def create_mmseqs_db(mmseqdb, prt_path, logmmseq):
if os.path.isfile(mmseqdb): if os.path.isfile(mmseqdb):
for file in [mmseqdb + ext for ext in outext]: for file in [mmseqdb + ext for ext in outext]:
if not os.path.isfile(file): if not os.path.isfile(file):
break continue
files_existing.append(file) files_existing.append(file)
if len(files_existing) != len(outext): if len(files_existing) != len(outext):
logger.warning(f"mmseq database {mmseqdb} already exists, but at least 1 associated " logger.warning(f"mmseqs database {mmseqdb} already exists, but at least 1 associated "
"file (.dbtype, .index etc). is missing. The program will " "file (.dbtype, .index etc). is missing. The program will "
"remove existing files and recreate the database.") "remove existing files and recreate the database.")
files_remaining = copy.deepcopy(files_existing)
for file in files_existing: for file in files_existing:
os.remove(file) os.remove(file) # Delete file
logger.details("Removing {}".format(file)) files_remaining.remove(file) # Remove file from list of existing files
logger.details(f"Removing '{file}'.")
files_existing = copy.deepcopy(files_remaining)
else: else:
logger.warning("mmseq database {mmseqdb} already exists. The program will " logger.warning(f"mmseqs database {mmseqdb} already exists. The program will "
"use it.") "use it.")
return 0 return 0
if len(files_existing) != len(outext): if len(files_existing) != len(outext):
logger.info("Creating database") logger.info("Creating database")
logger.details("Exiting files: {}".format(len(files_existing))) logger.details("Existing files: {}".format(len(files_existing)))
logger.details("Expected extentions: {}".format(len(outext))) logger.details("Expected extentions: {}".format(len(outext)))
cmd = f"mmseqs createdb {prt_path} {mmseqdb}" cmd = f"mmseqs createdb {prt_path} {mmseqdb}"
msg = (f"Problem while trying to convert database {prt_path} to mmseqs " msg = (f"Problem while trying to convert database {prt_path} to mmseqs "
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment