pcingola / SnpSift

Other
35 stars 20 forks source link

SnpSift Filter issue #90

Closed Am3LieC closed 2 months ago

Am3LieC commented 2 months ago

Hi,

I'm having some issues with SnpSift filter. My files have been annotated with the dbNSFP annotation and I want to filter them based on the predictions of some missense deleteriousness algorithms.

I'm having trouble using the feature !~ (Does not Match Regular expression) in the following line for example : snpsift filter "(dbNSFP_LRT_pred !~ 'D') | (dbNSFP_Polyphen2_HDIV_pred !~ 'D') | (dbNSFP_Polyphen2_HVAR_pred !~ 'D') | (dbNSFP_SIFT_pred !~ 'D') | (dbNSFP_MutationTaster_pred !~ 'A') | (dbNSFP_MutationTaster_pred !~ 'D')" I obtain the following error : -bash: !~: event not found

Has anyone ever faced the same error?

However, using the inverse function =~ (Match regular expression) with the following line, it works : snpsift filter "(dbNSFP_LRT_pred =~ 'D') | (dbNSFP_Polyphen2_HDIV_pred =~ 'D') | (dbNSFP_Polyphen2_HVAR_pred =~ 'D') | (dbNSFP_SIFT_pred =~ 'D') | (dbNSFP_MutationTaster_pred =~ 'A') | (dbNSFP_MutationTaster_pred =~ 'D')"

Another question : why are all missense deleteriousness predictions not always available for all variants? For example, some variants are annotated only for "dbNSFP_LRT_pred" but do not have the other annotations. Sometimes it has all the annotations for these 5 algorithms, sometimes only some.

Thank you for your help,

Am3LieC commented 2 months ago

If if anyone else looks here for the same error, I managed this by using the following combination of Snpsift operator: snpsift filter "! (dbNSFP_LRT_pred =~ 'D')" INSTEAD of snpsift filter "(dbNSFP_LRT_pred !~ 'D')"