mirror of
https://github.com/MillironX/taxprofiler.git
synced 2024-11-21 23:46:03 +00:00
Template update for nf-core/tools version 2.5.1
This commit is contained in:
parent
6dfca81761
commit
28045430d1
2 changed files with 16 additions and 3 deletions
|
@ -98,7 +98,9 @@ class RowChecker:
|
||||||
"""Assert that read pairs have the same file extension. Report pair status."""
|
"""Assert that read pairs have the same file extension. Report pair status."""
|
||||||
if row[self._first_col] and row[self._second_col]:
|
if row[self._first_col] and row[self._second_col]:
|
||||||
row[self._single_col] = False
|
row[self._single_col] = False
|
||||||
if Path(row[self._first_col]).suffixes[-2:] != Path(row[self._second_col]).suffixes[-2:]:
|
first_col_suffix = Path(row[self._first_col]).suffixes[-2:]
|
||||||
|
second_col_suffix = Path(row[self._second_col]).suffixes[-2:]
|
||||||
|
if first_col_suffix != second_col_suffix:
|
||||||
raise AssertionError("FASTQ pairs must have the same file extensions.")
|
raise AssertionError("FASTQ pairs must have the same file extensions.")
|
||||||
else:
|
else:
|
||||||
row[self._single_col] = True
|
row[self._single_col] = True
|
||||||
|
@ -157,7 +159,7 @@ def sniff_format(handle):
|
||||||
handle.seek(0)
|
handle.seek(0)
|
||||||
sniffer = csv.Sniffer()
|
sniffer = csv.Sniffer()
|
||||||
if not sniffer.has_header(peek):
|
if not sniffer.has_header(peek):
|
||||||
logger.critical(f"The given sample sheet does not appear to contain a header.")
|
logger.critical("The given sample sheet does not appear to contain a header.")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
dialect = sniffer.sniff(peek)
|
dialect = sniffer.sniff(peek)
|
||||||
return dialect
|
return dialect
|
||||||
|
@ -195,7 +197,8 @@ def check_samplesheet(file_in, file_out):
|
||||||
reader = csv.DictReader(in_handle, dialect=sniff_format(in_handle))
|
reader = csv.DictReader(in_handle, dialect=sniff_format(in_handle))
|
||||||
# Validate the existence of the expected header columns.
|
# Validate the existence of the expected header columns.
|
||||||
if not required_columns.issubset(reader.fieldnames):
|
if not required_columns.issubset(reader.fieldnames):
|
||||||
logger.critical(f"The sample sheet **must** contain the column headers: {', '.join(required_columns)}.")
|
req_cols = ", ".join(required_columns)
|
||||||
|
logger.critical(f"The sample sheet **must** contain these column headers: {req_cols}.")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
# Validate each row.
|
# Validate each row.
|
||||||
checker = RowChecker()
|
checker = RowChecker()
|
||||||
|
|
10
pyproject.toml
Normal file
10
pyproject.toml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Config file for Python. Mostly used to configure linting of bin/check_samplesheet.py with Black.
|
||||||
|
# Should be kept the same as nf-core/tools to avoid fighting with template synchronisation.
|
||||||
|
[tool.black]
|
||||||
|
line-length = 120
|
||||||
|
target_version = ["py37", "py38", "py39", "py310"]
|
||||||
|
|
||||||
|
[tool.isort]
|
||||||
|
profile = "black"
|
||||||
|
known_first_party = ["nf_core"]
|
||||||
|
multi_line_output = 3
|
Loading…
Reference in a new issue