Hi Smith,I think this is a bug
, where spots with a median background of zero don't get normalized values created.
The following changes should be made in LoadExpt2DB.pl (in the cgi-bin/SMD/queue/ directory:
In getNormValue_DAT:
change:
if ($list>0 &&
$list>0 &&
$list>0 &&
$list>0){
to:
if ($list > 0 &&
$list >= 0 &&
$list > 0 &&
$list >= 0){
In getNormValue_GPR:
change:
if ($list>0 &&
$list>0 &&
$list>0 &&
$list>0){
to:
if ($list > 0 &&
$list >= 0 &&
$list > 0 &&
$list >= 0){
In UpdateResultTable_DAT:
change:
my $CH2BN_MEDIAN = $CH2B_MEDIAN / $normvalue if ($normvalue != 0 && $CH2B_MEDIAN);
my $CH2DN_MEAN = $CH2IN_MEAN - $CH2BN_MEDIAN if ($CH2IN_MEAN && $CH2BN_MEDIAN);
to:
my $CH2BN_MEDIAN = $CH2B_MEDIAN / $normvalue if ($normvalue != 0 && $CH2B_MEDIAN >= 0);
my $CH2DN_MEAN = $CH2IN_MEAN - $CH2BN_MEDIAN if ($CH2IN_MEAN && $CH2BN_MEDIAN >= 0);
In UpdateResultTable_GPR:
change:
my $CH2BN_MEDIAN = $CH2B_MEDIAN / $normvalue if ($normvalue != 0 && $CH2B_MEDIAN);
my $CH2DN_MEAN = $CH2IN_MEAN - $CH2BN_MEDIAN if ($CH2IN_MEAN && $CH2BN_MEDIAN);
to:
my $CH2BN_MEDIAN = $CH2B_MEDIAN / $normvalue if ($normvalue != 0 && $CH2B_MEDIAN >= 0);
my $CH2DN_MEAN = $CH2IN_MEAN - $CH2BN_MEDIAN if ($CH2IN_MEAN && $CH2BN_MEDIAN >=0);
You'll also need to update the data in the database, such that those spots with a median background of zero do get their values created. An easy way to do this is to simply renormalize all experiments (or at least those that have any spots with a median background of zero). The batch renormalization tool should hopefully help with this. Let me know if you have any questions,
Cheers,
Gavin