genetic_forensic_portal.app.utils package

Contains various utility functions used throughout the application.

Modules: - familial_analysis_utils: Contains utility functions for displaying familial analysis results. - validate_input_files: Contains utility functions for validating that user-uploaded TSV files are in the correct format that can be processed.

Submodules

genetic_forensic_portal.app.utils.familial_analysis_utils module

Contains utility functions for displaying familial analysis results.

genetic_forensic_portal.app.utils.familial_analysis_utils.highlight_exact_matches(cell)
Parameters:

cell (Any)

Return type:

str | None

genetic_forensic_portal.app.utils.validate_input_file module

Contains utility functions for validating that user-uploaded TSV files are in the correct format that can be processed.

This file originally from Mary (mkkuhner) @ UW’s Center for Environmental Forensic Science

genetic_forensic_portal.app.utils.validate_input_file.legal_msat_value(msat)

Converts an expected microsatellite value from a string to an int and check if said int is within the expected range (or -999).

Parameters:

msat (str | int) – The microsatellite value to check.

Return type:

bool

genetic_forensic_portal.app.utils.validate_input_file.report_error(lineno, error)

Raise an error with a line number and error message.

Parameters:
Return type:

None

genetic_forensic_portal.app.utils.validate_input_file.validate_input_file(infile)

Check that the input file is legal.

That is to say, check the following: - The header starts with “MatchID” - The header contains the correct number of microsatellites - The header contains the correct microsatellites - Each line contains the correct number of microsatellites - Each microsatellite value is legal - Each SID (sample ID) is present exactly twice

Parameters:

infile (io.StringIO) – The input file to check.

Return type:

None