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

begin tests for pan2pergenome

parent eebc718a
Branches
Tags
No related merge requests found
Pipeline #34009 passed
......@@ -226,8 +226,7 @@ def write_genome_file(listdir, aldir, dname, strain, member, several):
"option -F (or --force).".format(strain, geprtfile, gegenfile))
return
# If one of the 2 files already exists, overwrite both files (same behaviour
# as if no file exists)
# If at least one of the 2 files already exists, overwrite both files
with open(gegenfile, "w") as gegf, open(geprtfile, "w") as gepf:
for mem, fam in member.items():
if strain not in several[fam]:
......@@ -256,8 +255,12 @@ def write_missing_genomes(fam_genomes, several, all_genomes, aldir, dname):
name of dataset
"""
for fam, genomes in fam_genomes.items():
missfile = os.path.join(aldir, dname + "-current." + fam + ".miss.lst")
# File where missing genomes will be written
missfile = os.path.join(aldir, f"{dname}-current.{fam}.miss.lst")
with open(missfile, "w") as mff:
# missing = missing or several members:
# miss: all genomes - genomes in the family
# several: add to 'miss' genomes with several members in the family
missing = (set(all_genomes) - set(genomes)).union(set(several[fam]))
if missing:
mff.write("\n".join(missing) + "\n")
ESCO4_00001 Aldir/TEST6-current.1.gen
ESCO4_00003 Aldir/TEST6-current.3.gen
ESCO4_00004 Aldir/TEST6-current.2.gen
ESCO4_00001 test/data/align/generated_by_unit-tests/Aldir/test_write_genome-current.1.gen
ESCO4_00003 test/data/align/generated_by_unit-tests/Aldir/test_write_genome-current.3.gen
ESCO4_00004 test/data/align/generated_by_unit-tests/Aldir/test_write_genome-current.2.gen
ESCO4_00001 Aldir/TEST6-current.1.prt
ESCO4_00003 Aldir/TEST6-current.3.prt
ESCO4_00004 Aldir/TEST6-current.2.prt
ESCO4_00001 test/data/align/generated_by_unit-tests/Aldir/test_write_genome-current.1.prt
ESCO4_00003 test/data/align/generated_by_unit-tests/Aldir/test_write_genome-current.3.prt
ESCO4_00004 test/data/align/generated_by_unit-tests/Aldir/test_write_genome-current.2.prt
This diff is collapsed.
......@@ -71,3 +71,20 @@ def compare_order_content(file1, file2):
print(f"'{line1}' vs {line2} do not correspond.")
return False
return True
def compare_file_to_list(file1, exp):
"""
Check that the file contains the same lines as the list 'exp', in any order
"""
missing = []
with open(file1, "r") as outf:
for line in outf:
missing.append(line.strip())
if len(missing) != len(exp):
print(f"{len(missing)} lines in {file1}, {len(exp)} lines expected")
return False
if set(missing) != set(exp):
print("Not same lines")
return False
return True
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment