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
Have you loaded the SQANTI3.env conda environment?
I have loaded the SQANTI3.env conda environment
Problem description
Hi, thanks for your useful tool. But I met a wired problem recently. I ran sqanti3_qc.py firstly and then ran sqanti3_filter.py to filter out transcripts that don't match my rules.
Below is my custom filtering rules:
Some transcripts fulfil my criteria and should be recognised as isoform, but are filtered out by sqanti3. Here is an example:
This isoform was filtered because of out all_canonical.
But I checked classification.txt and junxtions.txt, all junctions in this isoform are canonical.
Below are the information of this isoform in the two files:
classification.txt:
junctions.txt:
So why did such isoforms be filtered out?
Anything else?
No response
The text was updated successfully, but these errors were encountered:
dudududu12138
changed the title
[BUG] sqanti3_filter.py doesn't match my filtering rules
[BUG] sqanti3_filter.py is not filtering according to my custom rules
Sep 3, 2024
Hi, I have checked your source code utilities/filter/rules_filter_functions.R and I found the reason. You checked whether the column of the isoform_info was NA firstly (if (! is.na(isoform_info[rules[i, "column"]]))). If it was NA, it was classified as Artifact. But in my custom rules, I defined some NA rules. Such as the all_canonical column could be NA so that the mono-exon isoform can be checked. Also the predicted-NMD column. I think your codes prefer to coding transcripts while ncRNA will be incorrectly filtered out. Below is the section of your code:
if (! is.na(isoform_info[rules[i, "column"]])){
if (rules[i, "type"] == "Min_Threshold"){
if (as.numeric(isoform_info[rules[i, "column"]]) < as.numeric(rules[i, "rule"])){
is_isoform=FALSE
break
}
}else if (rules[i, "type"] == "Max_Threshold"){
if (as.numeric(isoform_info[rules[i, "column"]]) > as.numeric(rules[i, "rule"])){
is_isoform=FALSE
break
}
}else if (rules[i, "type"] == "Category"){
cat_rules <- rules[rules$column == rules[i, "column"], ]
if ( ! tolower(isoform_info[rules[i, "column"]]) %in% cat_rules[,"rule"]){
is_isoform=FALSE
break
}
}
}else{
is_isoform=FALSE
break
}
Is there an existing issue for this?
Have you loaded the SQANTI3.env conda environment?
Problem description
Hi, thanks for your useful tool. But I met a wired problem recently. I ran sqanti3_qc.py firstly and then ran sqanti3_filter.py to filter out transcripts that don't match my rules.
Below is my custom filtering rules:
Code sample
This is my code:
Error
Some transcripts fulfil my criteria and should be recognised as isoform, but are filtered out by sqanti3. Here is an example:
This isoform was filtered because of
out all_canonical
.But I checked
classification.txt
andjunxtions.txt
, all junctions in this isoform are canonical.Below are the information of this isoform in the two files:
classification.txt:
junctions.txt:
So why did such isoforms be filtered out?
Anything else?
No response
The text was updated successfully, but these errors were encountered: