@@ -159,7 +159,7 @@ class BaseSNVFilters:
159159 @classmethod
160160 def filter_criteria (
161161 cls ,
162- category : Literal ["clinical" , "research" , "quality" ],
162+ category : Literal ["clinical" , "research" , "post_quality" , " quality" ],
163163 analysis_type : Optional [Enum ] = None ,
164164 variant_caller : Optional [Enum ] = None ,
165165 exclude_variantcaller_filters : Optional [bool ] = False ,
@@ -169,7 +169,7 @@ def filter_criteria(
169169 Shared filtering logic to get filters based on criteria.
170170
171171 Args:
172- category (Literal["clinical", "research", "quality"]): The filter category to use.
172+ category (Literal["clinical", "research", "post_quality", " quality"]): The filter category to use.
173173 analysis_type (Optional[Enum]): Filter based on analysis type (default: None).
174174 variant_caller (Optional[Enum]): Filter based on variant caller (default: None).
175175 exclude_variantcaller_filters (Optional[bool]): If True, excludes the variantcaller filters.
@@ -208,7 +208,7 @@ def filter_matches(f: VCFFilter) -> bool:
208208 @classmethod
209209 def get_bcftools_filter_string (
210210 cls ,
211- category : Literal ["clinical" , "research" , "quality" ],
211+ category : Literal ["clinical" , "research" , "post_quality" , " quality" ],
212212 analysis_type : Optional [Enum ] = None ,
213213 variant_caller : Optional [Enum ] = None ,
214214 soft_filter_normals : Optional [bool ] = None ,
@@ -218,7 +218,7 @@ def get_bcftools_filter_string(
218218 Get a set of filter names based on various attributes.
219219
220220 Args:
221- category (Literal["clinical", "research", "quality"]): The filter category to use.
221+ category (Literal["clinical", "research", "post_quality", " quality"]): The filter category to use.
222222 analysis_type (Optional[Enum]): Filter based on analysis type (default: None).
223223 variant_caller (Optional[Enum]): Filter based on variant caller (default: None).
224224 soft_filter_normals (Optional[bool]): If True, removes filters in MATCHED_NORMAL_FILTER_NAMES.
@@ -256,7 +256,7 @@ def get_bcftools_filter_string(
256256 @classmethod
257257 def get_filters (
258258 cls ,
259- category : Literal ["clinical" , "research" , "quality" ],
259+ category : Literal ["clinical" , "research" , "post_quality" , " quality" ],
260260 analysis_type : Optional [Enum ] = None ,
261261 variant_caller : Optional [Enum ] = None ,
262262 exclude_variantcaller_filters : Optional [bool ] = True ,
@@ -266,7 +266,7 @@ def get_filters(
266266 Get a list of filters matching the specified attributes.
267267
268268 Args:
269- category (Literal["clinical", "research", "quality"]): The filter category to use.
269+ category (Literal["clinical", "research",, "post_quality", "quality"]): The filter category to use.
270270 analysis_type (Optional[Enum]): Filter based on analysis type (default: None).
271271 variant_caller (Optional[Enum]): Filter based on variant caller (default: None).
272272 exclude_variantcaller_filters (Optional[bool]): If True, excludes the variantcaller filters.
@@ -285,12 +285,15 @@ def get_filters(
285285
286286
287287class WgsSNVFilters (BaseSNVFilters ):
288+ post_quality = [
289+ VCFFilter (tag_value = 0.01 , filter_name = "gnomad_hard_threshold" , field = "INFO" ),
290+ ]
288291 research = [
289292 VCFFilter (tag_value = 0.01 , filter_name = "SWEGENAF" , field = "INFO" ),
290293 VCFFilter (tag_value = 0.001 , filter_name = "balsamic_high_pop_freq" , field = "INFO" ),
291294 ]
292295 clinical = research + [
293- VCFFilter (tag_value = 0.01 , filter_name = "Frq" , field = "INFO" ),
296+ VCFFilter (tag_value = 0.005 , filter_name = "Frq" , field = "INFO" ),
294297 VCFFilter (tag_value = 0.1 , filter_name = "ArtefactFrq" , field = "INFO" ),
295298 ]
296299 quality = [
@@ -331,15 +334,18 @@ class WgsSNVFilters(BaseSNVFilters):
331334
332335
333336class TgaSNVFilters (BaseSNVFilters ):
337+ post_quality = [
338+ VCFFilter (tag_value = 0.01 , filter_name = "gnomad_hard_threshold" , field = "INFO" ),
339+ ]
334340 research = [
335341 VCFFilter (
336342 filter_name = "MERGED" , Description = "SNV Merged with neighboring variants"
337343 ),
338344 VCFFilter (tag_value = 0.01 , filter_name = "SWEGENAF" , field = "INFO" ),
339- VCFFilter (tag_value = 0.005 , filter_name = "balsamic_high_pop_freq" , field = "INFO" ),
345+ VCFFilter (tag_value = 0.001 , filter_name = "balsamic_high_pop_freq" , field = "INFO" ),
340346 ]
341347 clinical = research + [
342- VCFFilter (tag_value = 0.01 , filter_name = "Frq" , field = "INFO" ),
348+ VCFFilter (tag_value = 0.005 , filter_name = "Frq" , field = "INFO" ),
343349 VCFFilter (tag_value = 0.1 , filter_name = "ArtefactFrq" , field = "INFO" ),
344350 VCFFilter (tag_value = 0.3 , filter_name = "HighOccurrenceFrq" , field = "INFO" ),
345351 ]
@@ -403,10 +409,10 @@ class TgaSNVFilters(BaseSNVFilters):
403409class TgaUmiSNVFilters (BaseSNVFilters ):
404410 research = [
405411 VCFFilter (tag_value = 0.01 , filter_name = "SWEGENAF" , field = "INFO" ),
406- VCFFilter (tag_value = 0.02 , filter_name = "balsamic_high_pop_freq" , field = "INFO" ),
412+ VCFFilter (tag_value = 0.001 , filter_name = "balsamic_high_pop_freq" , field = "INFO" ),
407413 ]
408414 clinical = research + [
409- VCFFilter (tag_value = 0.01 , filter_name = "Frq" , field = "INFO" ),
415+ VCFFilter (tag_value = 0.005 , filter_name = "Frq" , field = "INFO" ),
410416 VCFFilter (tag_value = 0.1 , filter_name = "ArtefactFrq" , field = "INFO" ),
411417 ]
412418 quality = [
0 commit comments