You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unfortunately, if a user formats the input CSV file incorrectly:
The error messages that users see do not help them to understand what happened.
The error messages do not show what formatting errors might be present.
Some formatting errors can be very difficult to find by using Excel, vim, emacs, notepad, etc. (e.g. a newline character \n inside a pathname)
Proposal
Could we consider using the petl Python package to explicitly define constraints for the input CSV files?
The error messages are wonderful!
Consider the example below (copied from petl documentation). The error messages include the row number, the field name, the value that caused the problem, and an error.
Users would have a much better experience if the Terra output log would include this kind of error report.
>>> # define some validation constraints
... header = ('foo', 'bar', 'baz')
>>> constraints = [
... dict(name='foo_int', field='foo', test=int),
... dict(name='bar_date', field='bar', test=etl.dateparser('%Y-%m-%d')),
... dict(name='baz_enum', field='baz', assertion=lambda v: v in ['Y', 'N']),
... dict(name='not_none', assertion=lambda row: None not in row),
... dict(name='qux_int', field='qux', test=int, optional=True),
... ]
The cumulus documentation includes descriptions of what a valid samplesheet CSV file should look like:
https://cumulus-doc.readthedocs.io/en/0.11.0/cellranger.html#single-cell-immune-profiling
That's great! 😀
Unfortunately, if a user formats the input CSV file incorrectly:
\n
inside a pathname)Proposal
Could we consider using the petl Python package to explicitly define constraints for the input CSV files?
The error messages are wonderful!
Consider the example below (copied from petl documentation). The error messages include the row number, the field name, the value that caused the problem, and an error.
Users would have a much better experience if the Terra output log would include this kind of error report.
The text was updated successfully, but these errors were encountered: