Created
March 2, 2018 14:34
-
-
Save goraj/7ba1e9b0a556ae070caf540dd455c211 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def offset_version_detection(quality_string = ''): | |
"""Tries to detect phred score offset automatically. | |
Args: | |
quality_string used to estimate format version and offset | |
Returns: | |
Phred offset | |
Raises: | |
ValueError: Cannot evaluate empty quality string | |
ValueError: Cannot evaluate phred offset | |
""" | |
pass | |
sanger_offset = 33 | |
illumina_offset = 64 | |
if len(quality_string) == 0: | |
raise ValueError('Cannot evaluate empty quality string') | |
minimum_value = min([ord(x) for x in quality_string]) | |
#minimum value needs to be at least 64 for versions [1.3, 1.8) | |
if minimum_value-illumina_offset >= 0: | |
return illumina_offset | |
#minimum value needs to be at least 33 for sanger | |
elif minimum_value-sanger_offset >= 0: | |
return sanger_offset | |
raise ValueError('Cannot evaluate phred offset') | |
def phred_score(character, offset): | |
return ord(character)-offset |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment