0b3af4a3872dc6650a9410229c55437a814bddd1 rhead Fri Apr 20 17:44:59 2012 -0700 On second thought, changed the copy at the end to a move, so that the new file will have the same ownership as the person who ran the script. Changed the final steps to look at the file in the new location, not the current directory. diff --git src/utils/qa/makeUniProtFile.csh src/utils/qa/makeUniProtFile.csh index 7b7b577..88d96c4 100755 --- src/utils/qa/makeUniProtFile.csh +++ src/utils/qa/makeUniProtFile.csh @@ -1,116 +1,118 @@ #!/bin/tcsh -e source `which qaConfig.csh` ######################################## # # Ann Zweig 05-2009 # # Use this script to create a file for the folks at UnitProt. # They will use the file to create links from their web site back to our # Gene details pages. # ######################################## onintr cleanup set db='' set org='' set hasKGs='' set num='' if ($#argv != 1 ) then echo echo " Use this script to create a mapping of UniProt IDs to Gene IDs. \ UniProt will pick it up from our download server and use it to \ create links from their web site to our gene details pages. For the \ gene sets from outside sources, check this script first to be sure it is \ using the most up-to-date tables." echo echo " usage: db" echo exit 1 else set db=$argv[1] endif # run only from hgwdev if ( "$HOST" != "hgwdev" ) then echo "\nERROR: you must run this script on hgwdev!\n" exit 1 endif # human and mouse use an official UCSC Genes build if ( $db =~ "hg*" || $db =~ "mm*" ) then # get the data from the two KG-related tables hgsql -Ne "SELECT displayId, kgId FROM kgProtAlias" \ $db > $db.rawDataForUniProt hgsql -Ne "SELECT spId, kgId FROM kgSpAlias WHERE spId != ''" \ $db >> $db.rawDataForUniProt else #non-UCSC Gene assembly # each of the non-KG assemblies are treated a little differently if ( $db =~ "rn*" ) then hgsql -Ne "SELECT value, name FROM rgdGene2ToUniProt" $db > $db.rawDataForUniProt endif if ( $db =~ "dm*" ) then hgsql -Ne "SELECT alias, a.name FROM flyBase2004Xref AS a, \ flyBaseToUniProt AS b WHERE a.name=b.name AND alias != 'n/a'" \ $db > $db.rawDataForUniProt endif if ( $db =~ "ce*" ) then hgsql -Ne "SELECT acc, name FROM sangerGene AS a, uniProt.gene AS b \ WHERE a.proteinID=b.val and acc != 'n/a'" $db > $db.rawDataForUniProt endif if ( $db =~ "danRer*" ) then echo " \nERROR: Although a file could be generated for danRer, uniProt has" echo " decided that they do not want to do that mapping...yet\n" exit 1 endif if ( $db =~ "sacCer*" ) then echo " \nERROR: Although a file could be generated for sacCer, uniProt has" echo " decided that they do not want to do that mapping...yet\n" exit 1 endif endif if ( -e $db.rawDataForUniProt ) then # find out the name of the organism for this database set org=`hgsql -Ne 'SELECT organism FROM dbDb where name = "'$db'" LIMIT 1' \ hgcentraltest | perl -wpe '$_ = lcfirst($_)'` # now add the organism name to every row sed -e 's/$/ '$org'/' $db.rawDataForUniProt > $db.rawDataForUniProt.plus else echo " \nERROR: It is not possible to make a mapping file for UniProt from" echo " the database you entered: $db\n" exit 1 endif # make sure there is only one Gene ID - UniProt ID pair sort -k1,1 -u $db.rawDataForUniProt.plus > $db.uniProtToUcscGenes.txt # make the new directory and copy the file there -mkdir -p /usr/local/apache/htdocs-hgdownload/goldenPath/$db/UCSCGenes -cp -f $db.uniProtToUcscGenes.txt /usr/local/apache/htdocs-hgdownload/goldenPath/$db/UCSCGenes/uniProtToUcscGenes.txt +set copyDir = /usr/local/apache/htdocs-hgdownload/goldenPath/$db/UCSCGenes +mkdir -p $copyDir +mv $db.uniProtToUcscGenes.txt $copyDir/uniProtToUcscGenes.txt # how big is the file -set num=`wc -l $db.uniProtToUcscGenes.txt | awk '{print $1}'` +set num=`wc -l $copyDir/uniProtToUcscGenes.txt | awk '{print $1}'` + # explain the output to the user echo "\nSUCCESS!\n" echo "Here's a sample of the ${num}-line file you just created" echo " (expect: UniProtId ucscGeneId orgName)" -head $db.uniProtToUcscGenes.txt +head $copyDir/uniProtToUcscGenes.txt echo " \nAsk for a push of your new file to hgdownload:\n" echo " /usr/local/apache/htdocs-hgdownload/goldenPath/$db/UCSCGenes/uniProtToUcscGenes.txt" # clean up old files (except the real one) cleanup: rm -f $db.rawDataForUniProt* exit 0