abf9d610fcc6e307ef233c2ae3ecbbaa541e5ba2
dschmelt
  Fri Oct 28 17:09:34 2022 -0700
Adding a few scripts

diff --git src/utils/qa/trackQaHelper src/utils/qa/trackQaHelper
new file mode 100755
index 0000000..328b6d3
--- /dev/null
+++ src/utils/qa/trackQaHelper
@@ -0,0 +1,241 @@
+#!/bin/bash
+#TrackQaHelper guides some of the processes for QA.
+#Written by Daniel Schmelter 7/5/19
+
+echo ""
+echo "Welcome to trackQA helper!"
+echo "-------------------------------------------"
+
+# Background familiarity
+echo "Step 0: Familiarization with the track"
+read -p "Do you wish to get a hgTrackUi link and run findLevel (y/n)?" yn0
+if [ "$yn0" != "${yn0#[Yy]}" ] ; then
+   if [ -z "$db" ] ; then
+         read -p "Please input your db: " db
+   fi
+   if [ -z "$trackName" ] ; then
+         read -p "Please input trackName: " trackName
+   fi
+   echo ""
+   echo "Skim the description, try visualization, and config settings: "
+   echo "" 
+   echo "https://hgwdev.gi.ucsc.edu/cgi-bin/hgTrackUi?db=$db&g=$trackName"
+   echo ""
+   echo "Make edits here: "
+   findLevel $db $trackName
+   if [ -z "$htmlPath" ] ; then
+      htmlPath=`findLevel $db $trackName | grep "\.html"`
+      echo "$htmlPath"
+   fi
+fi
+
+echo ""
+# Check MakeDoc 
+echo "Tracks are required to have a makeDoc."
+read -p " Do you wish to check makeDoc (y/n)?" yn01
+if [ "$yn01" != "${yn01#[Yy]}" ] ; then
+   if [ -z "$db" ] ; then
+         read -p "Please input your db: " db
+   fi
+   if [ -z "$trackName" ] ; then
+         read -p "Please input trackName: " trackName
+   fi
+   echo ""
+   echo "Check MakeDoc:"
+   find /cluster/home/dschmelt/kent/src/hg/makeDb/doc -type f -print | xargs grep -li $trackName
+   echo ""
+   echo "If nothing was found above and it's not an otto track, look manually"
+   echo "ls /cluster/home/dschmelt/kent/src/hg/makeDb/doc/$db.txt"
+fi
+
+echo ""
+# Release Log and URL
+echo "Reminder to fill the ticket's release log and URL"
+echo ""
+
+# Check track Description
+#input path of html file, could be automated with findLevel and parsed
+echo "Step 1: Spellcheck and htmlCheck, no output is good (unfortunately)"
+read -p "Do you wish to run spell check on the track HTML (y/n)?" yn #could be condensed into yn7
+if [ "$yn" != "${yn#[Yy]}" ] ; then
+   if [ -z "$htmlPath" ] ; then
+      read -p "Please enter the path of the html file (in trackDb, use findLevel)" htmlPath
+   fi
+   #Spell check, html check
+   aspell check $htmlPath
+   echo "Step 1.1: Spell check completed!"
+   echo ""
+   #echo "Step 1.2: Comensing htmlCheck checkLinks (Caution, known false positive error)"
+   #htmlCheck checkLinks $htmlPath 2>&1 >/dev/null | grep -v 'db\|getaddr\|hgTables'
+   echo ""
+   #echo "Step 1.3: htmlCheck validate, checks tags and tables"
+   #htmlCheck validate $htmlPath 2>&1 >/dev/null | grep -v BODY
+   #echo ""
+   #sleep 1
+   echo "Step 1.4: Checking that there's a Data Access sections"
+   grep -i -A 10 "data access" $htmlPath
+   echo "Read the page and make sure makes sense and isn't missing anything"
+fi
+echo ""
+
+#Run QAgbTracks, Only works on Tables
+read -p "Step 2: Would you like to run qaGbTracks and joinerCheck on the tables (y/n)?" yn5
+if [ "$yn5" != "${yn5#[Yy]}" ] ; then
+   echo "Run qaGbTracks and joinerCheck scripts on the tables"
+   if [ -z "$db" ] ; then
+      read -p "Please input your db" db
+   fi
+   if [ -z "$tableList" ] ; then
+      read -p "Please input your tableList file path: "  tableList
+   fi
+   cd ~/trackQA
+   cat $tableList | while read $table; do echo $tabe; qaGbTracks $db $table $table; done
+   #Review script output
+   echo "Step 2.1: Review script output"
+   echo "Database       Table   Type    Row count       featureBits     Overlap with gap        Errors"
+   cat ~/trackQA/*.summary
+   cat ~/trackQA/*.log | grep -B1 ERROR
+   echo "Apologies for that chaos"
+fi
+echo ""
+
+# Check search
+read -p "Do you want to check hgC and item search (y/n)?" ynC
+if [ "$ynC" != "${ynC#[Yy]}" ] ; then
+   if [ -z "$db" ] ; then
+         read -p "Please input your db: " db
+   fi
+   if [ -z "$trackName" ] ; then
+         read -p "Please input trackName: " trackName
+   fi
+   echo ""
+   echo "Go to the following link, click into an item, try a search"
+   echo ""
+   echo "https://hgwdev.gi.ucsc.edu/cgi-bin/hgTracks?db=$db&hideTracks=1&$trackName=pack"
+fi
+echo ""
+
+#check TB schema
+read -p "Step 3: Would you like to check Table schema (y/n)?" yn7
+if [ "$yn7" != "${yn7#[Yy]}" ] ; then
+   if [ -z "$db" ] ; then
+         read -p "Please input your db" db
+   fi
+   if [ -z "$trackName" ] ; then
+         read -p "Please input your trackName from URL: " trackName
+   fi
+   echo "Go to the following link and make sure field descriptions are helpful" 
+   echo "https://hgwdev.soe.ucsc.edu/cgi-bin/hgTables?db=$db&hgta_track=$trackName&hgta_doSchema=describe+table+schema"
+fi
+echo ""
+
+# Test Table Browser too
+echo "Check Table Browser"
+echo ""
+echo "https://hgwdev.soe.ucsc.edu/cgi-bin/hgTables?db=$db&hgta_track=$trackName&hgta_table=$trackName"
+echo ""
+
+#Test Data Integrator and GBIB
+echo "Step 4: Check DI and GBIB"
+
+#Test the API
+read -p "Step 5: Would you like to test the API, note bigGenePred and VCF doesnt work, composites and supers will need subtracks specified (y/n)?" yn6
+if [ "$yn6" != "${yn6#[Yy]}" ] ; then
+   echo "The API only works on barChart, bed, bigBed, bigNarrowPeak,
+   bigWig, chain, genePred, interact, narrowPeak, peptideMapping, 
+   psl, wig"
+   if [ -z "$db" ] ; then
+      read -p "Please input your db: " db
+   fi
+   if [ -z "$trackName" ] ; then
+   read -p "Please enter the track name or g=trackName from the hgTrackUi URL: " trackName
+   fi
+   echo "Go to the following link:"
+   echo "https://api-test.gi.ucsc.edu/getData/track?genome=$db;track=$trackName;maxItemsOutput=5"
+fi
+
+
+#Push Gbdb files to beta
+#Ask and push gbDb files to beta 
+read -p "Step 6.1: Do you need to push any gbDb files to beta (y/n)?" yn2
+if [ "$yn2" != "${yn2#[Yy]}" ] ; then
+   sudo gbdbPush
+   echo ""
+fi
+
+echo ""
+
+#Push to Tables Beta
+#Input Tables
+read -p "Step 6.2: Do you have tables to push to beta (y/n)?" yn3
+if [ "$yn3" != "${yn3#[Yy]}" ] ; then
+   read -p "Please input your db: " db
+   read -p "Please input a file path to your table list: " tableList
+   echo "Thank you. These will now be pushed to beta"
+   bigPush.sh $db $tableList 
+fi
+echo ""
+
+#Make beta
+read -p "Step 6.3: Want to make beta (y/n)?" yn4
+if [ "$yn4" != "${yn4#[Yy]}" ] ; then
+   if [ -z "$db" ] ; then
+         read -p "Please input your db: " db
+   fi
+   echo "Making beta for your db"
+   cd /cluster/home/$USER/kent/src/hg/makeDb/trackDb
+   make beta DBS=$db
+fi
+echo ""
+# Check beta
+echo "Check Beta"
+   if [ -z "$db" ] ; then
+         read -p "Please input your db: " db
+   fi
+   if [ -z "$trackName" ] ; then
+         read -p "Please input trackName: " trackName
+   fi
+   echo ""
+   echo "Skim the description, try visualization, TB, and config settings: "
+echo "https://hgwbeta.soe.ucsc.edu/cgi-bin/hgTrackUi?db=$db&g=$trackName"
+
+#BETA COMPLETED
+echo " If the previous steps are done, then BETA QA is completed!!"
+echo ""
+echo "ADD pennantIcons NOW"
+echo "http://genomewiki.ucsc.edu/genecats/index.php/New_track_checklist#Announce_on_indexNews.2C_newsArch.2C_Genome-announce.2C_FB.2C_Twitter"
+#Check release tags and make public
+echo ""
+echo "Please check and modify release tags for RR release MANUALLY"
+
+echo "Step 7: Prep for RR release"
+read -p "Are the release tags OK and pennantIcon added (y/n)?" yn10
+echo ""
+read -p "Ready to make public (y/n)?" yn9
+if [ "$yn9" != "${yn9#[Yy]}" ] ; then
+   cd /cluster/home/$USER/kent/src/hg/makeDb/trackDb
+   make public DBS=$db
+   if [ -z "$trackName" ] ; then
+      read -p "Please input your trackName from g=trackName URL on hgTrackUi: " trackName
+   fi
+   echo "Check beta public at the following link: "
+   echo ""
+   echo "http://hgwbeta-public.soe.ucsc.edu/cgi-bin/hgTrackUi?db=$db&g=$trackName"
+   echo ""
+fi
+
+echo "Send push request for Tables and/or GbDb files"
+echo ""
+
+echo "Run TrackDb and Friends Push script:"
+ssh qateam@hgwbeta sudo /root/trackDbPush
+echo ""
+
+echo "Check RR release"
+echo "https://genome.ucsc.edu/cgi-bin/hgTrackUi?db=$db&g=$trackName"
+
+echo " Announce on Twitter, email, and FB"
+echo "CONGRATS, you are done!"
+##Check download files (after the release?) Broken?
+#echo "Check download files in the cue at this directory: "
+#echo "/usr/local/apache/htdocs-hgdownload/goldenPath/*"