src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl 1.25
1.25 2010/01/27 22:22:34 tdreszer
Altered sort order. take only last matching line of metadata from fileDb.ra. Don't show antibody if its eq input
Index: src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl,v
retrieving revision 1.24
retrieving revision 1.25
diff -b -B -U 4 -r1.24 -r1.25
--- src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl 22 Jan 2010 17:31:41 -0000 1.24
+++ src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl 27 Jan 2010 22:22:34 -0000 1.25
@@ -357,9 +357,9 @@
my $submitDate = "";
my %metaData;
### TODO: Developer: set sort order here; sortables must have same number of strings and '~' is lowest val printable
- my @sortFields = ("cell","dataType","rnaExtract","localization","fragSize","mapAlgorithm","ripAntibody","ripTgtProtein","treatment","antibody","lab","type","view","level","annotation","replicate","subId");
+ my @sortFields = ("cell","dataType","rnaExtract","localization","fragSize","mapAlgorithm","ripAntibody","ripTgtProtein","treatment","antibody","protocol","input","lab","type","view","level","annotation","replicate","subId");
my @sortables = map( "~", (1..scalar(@sortFields))); # just has to have a tilde for each field
my $typePrefix = "";
my $results = $db->quickQuery("select type from $database.trackDb where tableName = '$tableName'");
if($results) {
@@ -372,9 +372,9 @@
$results = $db->quickQuery("select settings from $database.trackDb where tableName = '$tableName'");
if(!$results) {
### TODO: This needs to be replaced with a select from a fileDb table
if(stat("fileDb.ra")) {
- $results = `grep metadata fileDb.ra | grep '$fileName'`;
+ $results = `grep metadata fileDb.ra | grep '$fileName' | tail -1`; # Always prefer the last line found
chomp $results;
$results =~ s/^ +//;
$results =~ s/ +$//;
}
@@ -408,13 +408,20 @@
my ( $tagRef, $valRef ) = Encode::metadataLineToArrays($pair[1]);
my @tags = @{$tagRef};
my @vals = @{$valRef};
my $tix = 0;
+ my $input = "";
while($tags[$tix]) {
if($tags[$tix] eq "dateUnrestricted") {
$releaseDate = $vals[$tix];
} elsif($tags[$tix] eq "dateSubmitted") {
$submitDate = $vals[$tix];
+ } elsif($tags[$tix] eq "antibody" || $tags[$tix] eq "input") {
+ if($input eq "") {
+ $input = $vals[$tix];
+ } elsif($input eq $vals[$tix]) {
+ $input = "removeAntiBodyDup";
+ }
}
$tix++;
}
if($metaData{type}) {
@@ -422,8 +429,9 @@
unshift @vals, $metaData{type};
}
my %remove; # Don't display these metadata values
$remove{project} = $remove{composite} = $remove{fileName} = $remove{dateSubmitted} = $remove{dateUnrestricted} = $remove{parentTable} = 1;
+ $remove{antibody} = 1 if($input eq "removeAntiBodyDup"); # remove antibody if input=antibody
( $tagRef, $valRef ) = metadataArraysRemoveHash( \@tags,\@vals,\%remove );
( $tagRef, $valRef ) = metadataArraysMoveValuesToFront($tagRef, $valRef,\@sortFields);
@tags = @{$tagRef};
@vals = @{$valRef};