Is this a BUG in TargetPrediction.pm?

Issue #98 resolved
WJH1987 created an issue

At line 560, the full name of microRNA will assign to all these vars.

if(lc($miRNA) eq lc($found_miRNA)){ $result->{$id}->{miRNA}=$found_miRNA; $result->{$id}->{EnsEMBL}=$found_miRNA; $result->{$id}->{HGNC}=$found_miRNA; $result->{$id}->{utr}=$found_miRNA; $result->{$id}->{method}=$found_miRNA; $result->{$id}->{target_site}=$found_miRNA; $result->{$id}->{score}=$found_miRNA; $result->{$id}->{energy}=$found_miRNA;
}

Since ENSG id ( eg. ENSG00000123700) VS the full name of mir ( eg. hsa-miR-338-5p ), so this line will not generate any results.

foreach my $gene (keys %$UTRs){ if(($gene eq $result->{$id}->{EnsEMBL}) or ($gene eq $result->{$id}->{HGNC}) or ($gene eq $result->{$id}->{utr})){

Therefore the result will be empty.

Can I fix these codes as bellow ( I have tested these code, and the result is generated correctly) : $result->{$id}->{miRNA}=$found_miRNA; $result->{$id}->{EnsEMBL}=$ensembl; $result->{$id}->{HGNC}=$hgnc; $result->{$id}->{utr}=$utr; $result->{$id}->{method}=$method; $result->{$id}->{target_site}=$target_site; $result->{$id}->{score}=$score; $result->{$id}->{energy}=$energy;

Comments (4)

  1. WJH1987 reporter

    After these codes, also have some problems.

    print OUT "\t" . $result->{$id}->{method} ."\t" . $result->{$id}->{target_site} ."\t" . $result->{$id}->{normalized_score} ."\t";

    print OUT "\t" . $result->{$id}->{score} ."\t".$result->{$id}->{energy} ."\n";

    Here, $result->{$id}->{normalized_score} is not defined, and doulbe "\t", so there are two empty columns in the result file.

  2. Eduardo Andres Leon

    Dear WJH1978, Thanks for reporting this possible bug, I'm checking this part of the code to see what is happening. I've re-run 3 different examples and all of them are working perfectly with the old code, so this seems weird

    I'll let you know

  3. Log in to comment