4 Commits

Author SHA1 Message Date
ae96f2f9df Updated local repository publishing requirement for CI
All checks were successful
automlst.cli/pipeline/head This commit looks good
2025-03-14 15:35:28 +00:00
15ad241303 Makes use of autoBIGS 0.14.* and fixes CSV export issue caused by missing target.
Some checks failed
automlst.cli/pipeline/head This commit looks good
automlst.cli/pipeline/tag There was a failure building this commit
2025-03-14 15:24:43 +00:00
b56c75849c All branches pushes to git.reslate.systems now
Some checks failed
automlst.cli/pipeline/head This commit looks good
automlst.cli/pipeline/tag There was a failure building this commit
2025-03-07 16:10:11 +00:00
09cc9787fd Fixed --csv output being blank when listing dbs
Some checks reported errors
automlst.cli/pipeline/head Something is wrong with the build of this commit
2025-03-07 16:08:25 +00:00
4 changed files with 15 additions and 15 deletions

1
Jenkinsfile vendored
View File

@@ -40,7 +40,6 @@ pipeline {
when { when {
branch '**/main' branch '**/main'
} }
environment { environment {
CREDS = credentials('username-password-rs-git') CREDS = credentials('username-password-rs-git')
} }

View File

@@ -8,7 +8,7 @@ dynamic = ["version"]
readme = "README.md" readme = "README.md"
license = {text = "GPL-3.0-or-later"} license = {text = "GPL-3.0-or-later"}
dependencies = [ dependencies = [
"autoBIGS-engine==0.13.*" "autoBIGS-engine==0.14.*"
] ]
requires-python = ">=3.12" requires-python = ">=3.12"
description = "A CLI tool to rapidly fetch fetch MLST profiles given sequences for various diseases." description = "A CLI tool to rapidly fetch fetch MLST profiles given sequences for various diseases."

View File

@@ -53,18 +53,19 @@ async def run(args: Namespace):
writer.writerows(sorted_seqdef_dbs) writer.writerows(sorted_seqdef_dbs)
print("\nDatabase output written to {0}".format(args.csv_output)) print("\nDatabase output written to {0}".format(args.csv_output))
csv_scheme_rows = [] if args.list_bigsdb_schemes:
for bigsdb_scheme_name in args.list_bigsdb_schemes: csv_scheme_rows = []
schemes = await bigsdb_index.get_schemes_for_seqdefdb(bigsdb_scheme_name) for bigsdb_scheme_name in args.list_bigsdb_schemes:
csv_scheme_rows.extend([(name, id, bigsdb_scheme_name) for name, id in sorted(schemes.items())]) schemes = await bigsdb_index.get_schemes_for_seqdefdb(bigsdb_scheme_name)
print("The following are the known schemes for \"{0}\", and their associated IDs:".format(bigsdb_scheme_name)) csv_scheme_rows.extend([(name, id, bigsdb_scheme_name) for name, id in sorted(schemes.items())])
print("\n".join(["{0}: {1}".format(name, id) for name, id, database in csv_scheme_rows])) print("The following are the known schemes for \"{0}\", and their associated IDs:".format(bigsdb_scheme_name))
if args.csv_output: print("\n".join(["{0}: {1}".format(name, id) for name, id, database in csv_scheme_rows]))
with open(args.csv_output, "w") as csv_out_handle: if args.csv_output:
writer = csv.writer(csv_out_handle) with open(args.csv_output, "w") as csv_out_handle:
writer.writerow(("Name", "ID", "Database Name")) writer = csv.writer(csv_out_handle)
writer.writerows(csv_scheme_rows) writer.writerow(("Name", "ID", "Database Name"))
print("\nscheme list output written to {0}".format(args.csv_output)) writer.writerows(csv_scheme_rows)
print("\nscheme list output written to {0}".format(args.csv_output))
def run_asynchronously(args: Namespace): def run_asynchronously(args: Namespace):
asyncio.run(run(args)) asyncio.run(run(args))

View File

@@ -79,7 +79,7 @@ async def run(args: Namespace):
if not isinstance(mlst_profiler, BIGSdbMLSTProfiler): if not isinstance(mlst_profiler, BIGSdbMLSTProfiler):
raise TypeError("MLST profiler type invalid") raise TypeError("MLST profiler type invalid")
mlst_profiles = mlst_profiler.profile_multiple_strings(gen_strings, args.stop_on_fail) mlst_profiles = mlst_profiler.profile_multiple_strings(gen_strings, args.stop_on_fail)
failed = await write_mlst_profiles_as_csv(mlst_profiles, args.out) failed = await write_mlst_profiles_as_csv(mlst_profiles, args.out, await bigsdb_index.get_scheme_loci(args.seqdefdb, selected_scheme_id))
if len(failed) > 0: if len(failed) > 0:
print(f"A total of {len(failed)} IDs failed (no profile found):\n{"\n".join(failed)}") print(f"A total of {len(failed)} IDs failed (no profile found):\n{"\n".join(failed)}")
print(f"Completed fetching from {args.seqdefdb} for {scheme_name_lookup[selected_scheme_id]}s for {len(fastas)} sequences.") print(f"Completed fetching from {args.seqdefdb} for {scheme_name_lookup[selected_scheme_id]}s for {len(fastas)} sequences.")