4b6cb56f6b3515084b0e04b184e2e27d99114cba hiram Fri Jun 12 10:35:43 2020 -0700 beginning panPan3 build refs #25720 diff --git src/hg/makeDb/doc/panPan3/initialBuild.txt src/hg/makeDb/doc/panPan3/initialBuild.txt new file mode 100644 index 0000000..1feb8de --- /dev/null +++ src/hg/makeDb/doc/panPan3/initialBuild.txt @@ -0,0 +1,1054 @@ +# for emacs: -*- mode: sh; -*- + +# This file describes browser build for the panPan3 + +# Can use existing photograph (otherwise find one before starting here) + +######################################################################### +# Initial steps, reuse existing photograph (DONE - 2020-06-12 - Hiram) +# Might be a different individual, requests made + +# To start this initialBuild.txt document, from a previous assembly document: + +mkdir ~/kent/src/hg/makeDb/doc/panPan3 +cd ~/kent/src/hg/makeDb/doc/panPan3 + +sed -e 's/gorGor6/panPan3/g; s/GorGor6/PanPan3/g; s/DONE/TBD/g;' \ + ../gorGor6/initialBuild.txt > initialBuild.txt + +mkdir -p /hive/data/genomes/panPan3/refseq +cd /hive/data/genomes/panPan3 + +# Can use existing photograph +cp -p ../panPan2/photoReference.txt ./ +cat photoReference.txt +photoCreditURL http://a-z-animals.com/animals/bonobo/pictures/2955/ +photoCreditName Photo courtesy of Kabir Bakie + +## download from NCBI +cd /hive/data/genomes/panPan3/refseq + +time rsync -L -a -P --stats \ +rsync://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/013/052/645/GCF_013052645.1_Mhudiblu_PPA_v0/ ./ + +# sent 3,203 bytes received 6,058,365,683 bytes 56,886,092.83 bytes/sec +# total size is 6,056,874,807 speedup is 1.00 + +# real 1m45.870s + +# this information is from the top of +# panPan3/refseq/*_assembly_report.txt +# (aka: panPan3/refseq/GCF_013052645.1_Mhudiblu_PPA_v0_assembly_report.txt ) + +# Assembly name: Mhudiblu_PPA_v0 +# Organism name: Pan paniscus (pygmy chimpanzee) +# Isolate: Mhudiblu (Carbone #601152) +# Sex: female +# Taxid: 9597 +# BioSample: SAMN11123633 +# BioProject: PRJNA526933 +# Submitter: University of Washington +# Date: 2020-05-15 +# Assembly type: haploid +# Release type: major +# Assembly level: Chromosome +# Genome representation: full +# WGS project: SSBP01 +# Assembly method: FALCON v. (git hash: 91e700c4) Nov 2015 +# Expected final version: no +# Genome coverage: 85.0x +# Sequencing technology: PacBio RSII; Illumina +# GenBank assembly accession: GCA_013052645.1 +# RefSeq assembly accession: GCF_013052645.1 +# RefSeq assembly and GenBank assemblies identical: no +# +## Assembly-Units: +## GenBank Unit Accession RefSeq Unit Accession Assembly-Unit name +## GCA_013052655.1 GCF_013052655.1 Primary Assembly +## GCF_000029195.1 non-nuclear + +# check assembly size for later reference: + +faSize G*0_genomic.fna.gz + +# 3051901337 bases (36551040 N's 3015350297 real 1802830734 upper +# 1212519563 lower) in 4293 sequences in 1 files +# Total size: mean 710901.8 sd 9447605.7 min 209 (NW_023258064.1) +# max 224621958 (NC_048239.1) median 32647 +# %39.73 masked total, %40.21 masked real + +############################################################################# +# establish config.ra file (DONE - Hiram - 2020-06-12) + cd /hive/data/genomes/panPan3 + ~/kent/src/hg/utils/automation/prepConfig.pl panPan3 mammal bonobo \ + refseq/*_assembly_report.txt > panPan3.config.ra + + # verify it is sane: + diff panPan3.config.ra ../panPan2/panPan2.config.ra + + # fixup commonName, from: +commonName Pygmy chimpanzee +to +commonName Bonobo + +genomeCladePriority 35 +to +genomeCladePriority 15 + +orderKey 17442 +to +orderKey 2623 + + # verify it really does look sane + cat panPan3.config.ra +# config parameters for makeGenomeDb.pl: +db panPan3 +clade mammal +genomeCladePriority 15 +scientificName Pan paniscus +commonName Bonobo +assemblyDate May 2020 +assemblyLabel University of Washington +assemblyShortLabel Mhudiblu_PPA_v0 +orderKey 2623 +# mitochondrial sequence included in refseq release +# mitoAcc NC_001644.1 +mitoAcc none +fastaFiles /hive/data/genomes/panPan3/ucsc/*.fa.gz +agpFiles /hive/data/genomes/panPan3/ucsc/*.agp +# qualFiles none +dbDbSpeciesDir bonobo +photoCreditURL http://a-z-animals.com/animals/bonobo/pictures/2955/ +photoCreditName Photo courtesy of Kabir Bakie +ncbiGenomeId 10729 +ncbiAssemblyId 7133581 +ncbiAssemblyName Mhudiblu_PPA_v0 +ncbiBioProject 526933 +ncbiBioSample SAMN11123633 +genBankAccessionID GCF_013052645.1 +taxId 9597 + +############################################################################# +# setup UCSC named files (DONE - 2020-06-12 - Hiram) + + mkdir /hive/data/genomes/panPan3/ucsc + cd /hive/data/genomes/panPan3/ucsc + + # check for duplicate sequences: + time faToTwoBit -noMask ../refseq/G*0_genomic.fna.gz refseq.2bit + # real 0m44.404s + + + twoBitDup refseq.2bit + # no output is a good result, otherwise, would have to eliminate duplicates + # the scripts creating the fasta here will be using this refseq.2bit file + # remove it later + + time ~/kent/src/hg/utils/automation/ucscCompositeAgp.pl \ + ../refseq/G*0_genomic.fna.gz \ + ../refseq/*_assembly_structure/Primary_Assembly +NC_048239.1 chr1 +NC_048240.1 chr2A +NC_048241.1 chr2B +NC_048242.1 chr3 +NC_048243.1 chr4 +NC_048244.1 chr5 +NC_048245.1 chr6 +NC_048246.1 chr7 +NC_048247.1 chr8 +NC_048248.1 chr9 +NC_048249.1 chr10 +NC_048250.1 chr11 +NC_048251.1 chr12 +NC_048252.1 chr13 +NC_048253.1 chr14 +NC_048254.1 chr15 +NC_048255.1 chr16 +NC_048256.1 chr17 +NC_048257.1 chr18 +NC_048258.1 chr19 +NC_048259.1 chr20 +NC_048260.1 chr21 +NC_048261.1 chr22 +NC_048262.1 chrX + +# real 11m31.473s + + time ~/kent/src/hg/utils/automation/unplacedWithChroms.pl \ + ../refseq/*_assembly_structure/Primary_Assembly + # processed 4268 sequences into chrUn.fa.gz + # real 0m50.843s + + # there are *no* unlocalized sequences + time ~/kent/src/hg/utils/automation/unlocalizedWithChroms.pl \ + ../refseq/*_assembly_structure/Primary_Assembly + + # bash syntax here + mitoAcc=`grep "^# mitoAcc" ../panPan3.config.ra | awk '{print $NF}'` + printf "# mitoAcc %s\n" "$mitoAcc" +# mitoAcc NC_001644.1 + + zcat \ + ../refseq/*_assembly_structure/non-nuclear/assem*/AGP/chrMT.comp.agp.gz \ + | grep -v "^#" | sed -e "s/^$mitoAcc/chrM/;" > chrM.agp + + cat chrM.agp +# chrM 1 16563 1 O NC_001644.1 1 16563 + + + printf ">chrM\n" > chrM.fa + twoBitToFa -noMask refseq.2bit:$mitoAcc stdout | grep -v "^>" >> chrM.fa + gzip chrM.fa + + faSize chrM.fa.gz +# 16563 bases (0 N's 16563 real 16563 upper 0 lower) in 1 sequences in 1 files + + # verify fasta and AGPs agree + time faToTwoBit *.fa.gz test.2bit + # real 0m55.327s + + cat *.agp | checkAgpAndFa stdin test.2bit 2>&1 | tail -4 + # All AGP and FASTA entries agree - both files are valid + + # and no sequence lost from orginal: + twoBitToFa test.2bit stdout | faSize stdin +# 3051901337 bases (36551040 N's 3015350297 real 3015350297 upper +# 0 lower) in 4293 sequences in 1 files + + # same numbers as above (except for upper/lower masking) +# 3051901337 bases (36551040 N's 3015350297 real 1802830734 upper +# 1212519563 lower) in 4293 sequences in 1 files + + # no longer need these temporary 2bit files + rm test.2bit refseq.2bit + +############################################################################# +# Initial database build (DONE - 2020-06-12 - Hiram) + + # verify sequence and AGP are OK: + cd /hive/data/genomes/panPan3 + time (makeGenomeDb.pl -workhorse=hgwdev -dbHost=hgwdev -fileServer=hgwdev \ + -stop=agp panPan3.config.ra) > agp.log 2>&1 + # real 2m32.140s + + # then finish it off: + time (makeGenomeDb.pl -workhorse=hgwdev -dbHost=hgwdev \ + -fileServer=hgwdev -continue=db panPan3.config.ra) > db.log 2>&1 +XXX - running - Fri Jun 12 10:29:45 PDT 2020 + # real 17m28.042s + + # check in the trackDb files created in TemporaryTrackDbCheckout/ + # and add panPan3 to trackDb/makefile + + # temporary symlink until masked sequence is available + cd /hive/data/genomes/panPan3 + ln -s `pwd`/panPan3.unmasked.2bit /gbdb/panPan3/panPan3.2bit + +############################################################################# +# check gap table vs NCBI gap file (TBD - 2019-11-19 - Hiram) + mkdir /hive/data/genomes/panPan3/bed/gap + cd /hive/data/genomes/panPan3/bed/gap + + zgrep -v "^#" ../../refseq/G*_gaps.txt.gz \ + | awk '{printf "%s\t%d\t%d\t%s_%s\n", $1,$2-1,$3,$5,$6}' \ + | sort -k1,1 -k2,2n > refseq.gap.bed + + # type survey: + cut -f4 *.bed | sort | uniq -c + # 220 between_scaffolds_na + # 639 within_scaffold_map + + # how much defined by NCBI: + awk '{print $3-$2}' *.bed | ave stdin | grep -w total + # total 45844299.000000 + + # how much in the gap table: + hgsql -e 'select * from gap;' panPan3 | awk '{print $4-$3}' \ + | ave stdin | grep -w total + # total 45844299.000000 + + # equal amounts, no need to adjust the gap table + +############################################################################## +# cpgIslands on UNMASKED sequence (TBD - 2019-11-19 - Hiram) + mkdir /hive/data/genomes/panPan3/bed/cpgIslandsUnmasked + cd /hive/data/genomes/panPan3/bed/cpgIslandsUnmasked + + time (doCpgIslands.pl -dbHost=hgwdev -bigClusterHub=ku -buildDir=`pwd` \ + -tableName=cpgIslandExtUnmasked \ + -maskedSeq=/hive/data/genomes/panPan3/panPan3.unmasked.2bit \ + -workhorse=hgwdev -smallClusterHub=ku panPan3) > do.log 2>&1 + # real 4m13.285s + + cat fb.panPan3.cpgIslandExtUnmasked.txt + # 28001209 bases of 2999027915 (0.934%) in intersection + +############################################################################# +# cytoBandIdeo - (TBD - 2019-11-19 - Hiram) + mkdir /hive/data/genomes/panPan3/bed/cytoBand + cd /hive/data/genomes/panPan3/bed/cytoBand + makeCytoBandIdeo.csh panPan3 + +############################################################################# +# run up idKeys files for chromAlias/ncbiRefSeq (TBD - 2019-11-19 - Hiram) + mkdir /hive/data/genomes/panPan3/bed/idKeys + cd /hive/data/genomes/panPan3/bed/idKeys + + time (doIdKeys.pl \ + -twoBit=/hive/data/genomes/panPan3/panPan3.unmasked.2bit \ + -buildDir=`pwd` panPan3) > do.log 2>&1 & + # real 2m48.092s + + cat panPan3.keySignature.txt + # 10c42ee6ea4a90775c5da9d8b83854aa + +############################################################################# +# gapOverlap (TBD - 2019-11-19 - Hiram) + mkdir /hive/data/genomes/panPan3/bed/gapOverlap + cd /hive/data/genomes/panPan3/bed/gapOverlap + time (doGapOverlap.pl \ + -twoBit=/hive/data/genomes/panPan3/panPan3.unmasked.2bit panPan3 ) \ + > do.log 2>&1 & + # real 1m50.075s + + # there is only one: + wc -l bed.tab + # 1 bed.tab + cut -f2- bed.tab +chrX 66519024 66677016 chrX:66519025-66677016 1000 + 66519024 66677016 0 2 1000,1000 0,156992 + + cat fb.panPan3.gapOverlap.txt + # 2000 bases of 3044872214 (0.000%) in intersection + +############################################################################# +# tandemDups (TBD - 2019-11-19 - Hiram) + mkdir /hive/data/genomes/panPan3/bed/tandemDups + cd /hive/data/genomes/panPan3/bed/tandemDups + time (~/kent/src/hg/utils/automation/doTandemDup.pl \ + -twoBit=/hive/data/genomes/panPan3/panPan3.unmasked.2bit panPan3) \ + > do.log 2>&1 & + # real 188m34.598s + + cat fb.panPan3.tandemDups.txt + # 155315479 bases of 3044872214 (5.101%) in intersection + + bigBedInfo panPan3.tandemDups.bb | sed -e 's/^/# /;' +# version: 4 +# fieldCount: 13 +# hasHeaderExtension: yes +# isCompressed: yes +# isSwapped: 0 +# extraIndexCount: 0 +# itemCount: 2,822,307 +# primaryDataSize: 72,710,994 +# primaryIndexSize: 292,560 +# zoomLevels: 9 +# chromCount: 5335 +# basesCovered: 1,635,503,835 +# meanDepth (of bases covered): 14.396921 +# minDepth: 1.000000 +# maxDepth: 381.000000 +# std of depth: 29.341113 + +######################################################################### +# ucscToINSDC and ucscToRefSeq table/track (TBD - 2019-11-19 - Hiram) + # construct idKeys for the refseq sequence + mkdir /hive/data/genomes/panPan3/refseq/idKeys + cd /hive/data/genomes/panPan3/refseq/idKeys + faToTwoBit ../GCF_*0_genomic.fna.gz panPan3.refSeq.2bit + + time (doIdKeys.pl -buildDir=`pwd` \ + -twoBit=`pwd`/panPan3.refSeq.2bit refseqPanPan3) > do.log 2>&1 & + # real 2m50.723s + + cat refseqPanPan3.keySignature.txt + # 10c42ee6ea4a90775c5da9d8b83854aa + + # and the genbank sequence needs keys too: + mkdir /hive/data/genomes/panPan3/refseq/idKeysGenbank + cd /hive/data/genomes/panPan3/refseq/idKeysGenbank + faToTwoBit /hive/data/outside/ncbi/genomes/genbank/vertebrate_mammalian/Gorilla_gorilla/all_assembly_versions/GCA_008122165.1_Kamilah_GGO_v0/GCA_008122165.1_Kamilah_GGO_v0_genomic.fna.gz panPan3.genbank.2bit + + time (doIdKeys.pl -buildDir=`pwd` \ + -twoBit=`pwd`/panPan3.genbank.2bit genbankPanPan3) > do.log 2>&1 & + # real 3m11.098s + + cat genbankPanPan3.keySignature.txt + # 84734b343949ddf1e28b453d25d3ddf7 + + mkdir /hive/data/genomes/panPan3/bed/chromAlias + cd /hive/data/genomes/panPan3/bed/chromAlias + + join -t$'\t' ../idKeys/panPan3.idKeys.txt \ + ../../refseq/idKeysGenbank/genbankPanPan3.idKeys.txt | cut -f2- \ + | sort -k1,1 | join -t$'\t' <(sort -k1,1 ../../chrom.sizes) - \ + | awk '{printf "%s\t0\t%d\t%s\n", $1, $2, $3}' \ + | sort -k1,1 -k2,2n > ucscToINSDC.bed + + join -t$'\t' ../idKeys/panPan3.idKeys.txt \ + ../../refseq/idKeys/refseqPanPan3.idKeys.txt | cut -f2- \ + | sort -k1,1 | join -t$'\t' <(sort -k1,1 ../../chrom.sizes) - \ + | awk '{printf "%s\t0\t%d\t%s\n", $1, $2, $3}' \ + | sort -k1,1 -k2,2n > ucscToRefSeq.bed + + # should be same line counts throughout: + wc -l * ../../chrom.sizes + # 5485 ucscToINSDC.bed + # 5486 ucscToRefSeq.bed + # 5486 ../../chrom.sizes + + # need to find the accession for the INSDC equivalent to chrM: + egrep chrM * +# ucscToRefSeq.bed:chrM 0 16412 NC_011120.1 + + # lookup that accession at NCBI Entrez: X93347.1 + # and add to ucscToINSDC.bed: + printf "chrM\t0\t16564\tAY612638.1\n" >> ucscToINSDC.bed + # verify: + grep chrM * +ucscToINSDC.bed:chrM 0 16412 X93347.1 +ucscToRefSeq.bed:chrM 0 16412 NC_011120.1 + + export chrSize=`cut -f1 ucscToINSDC.bed | awk '{print length($0)}' | sort -n | tail -1` + echo $chrSize + # 26 + # use the $chrSize in this sed + sed -e "s/21/$chrSize/" $HOME/kent/src/hg/lib/ucscToINSDC.sql \ + | hgLoadSqlTab panPan3 ucscToINSDC stdin ucscToINSDC.bed + # should be the same for ucscToRefSeq: + export chrSize=`cut -f1 ucscToRefSeq.bed | awk '{print length($0)}' | sort -n | tail -1` + echo $chrSize + # 26 + sed -e "s/21/$chrSize/" $HOME/kent/src/hg/lib/ucscToINSDC.sql \ + | sed -e 's/INSDC/RefSeq/g;' \ + | hgLoadSqlTab panPan3 ucscToRefSeq stdin ucscToRefSeq.bed + + # should be quiet for all OK + checkTableCoords panPan3 + + # should cover %100 entirely: + featureBits -countGaps panPan3 ucscToINSDC + # 3044872214 bases of 3044872214 (100.000%) in intersection + featureBits -countGaps panPan3 ucscToRefSeq + # 3044872214 bases of 3044872214 (100.000%) in intersection + +######################################################################### +# add chromAlias table (TBD - 2019-11-19 - Hiram) + + mkdir /hive/data/genomes/panPan3/bed/chromAlias + cd /hive/data/genomes/panPan3/bed/chromAlias + + hgsql -N -e 'select chrom,name from ucscToRefSeq;' panPan3 \ + | sort -k1,1 > ucsc.refseq.tab + hgsql -N -e 'select chrom,name from ucscToINSDC;' panPan3 \ + | sort -k1,1 > ucsc.genbank.tab + + wc -l *.tab + # 5486 ucsc.genbank.tab + # 5486 ucsc.refseq.tab + + + ~/kent/src/hg/utils/automation/chromAlias.pl ucsc.*.tab \ + > panPan3.chromAlias.tab + +for t in refseq genbank +do + c0=`cat ucsc.$t.tab | wc -l` + c1=`grep $t panPan3.chromAlias.tab | wc -l` + ok="OK" + if [ "$c0" -ne "$c1" ]; then + ok="ERROR" + fi + printf "# checking $t: $c0 =? $c1 $ok\n" +done +# checking refseq: 5486 =? 5486 OK +# checking genbank: 5486 =? 5486 OK + + # verify chrM is here properly: + grep chrM panPan3.chromAlias.tab +# NC_011120.1 chrM refseq +# X93347.1 chrM genbank + + hgLoadSqlTab panPan3 chromAlias ~/kent/src/hg/lib/chromAlias.sql \ + panPan3.chromAlias.tab + +######################################################################### +# fixup search rule for assembly track/gold table (TBD - 2019-11-19 - Hiram) + cd ~/kent/src/hg/makeDb/trackDb/gorilla/panPan3 + # preview prefixes and suffixes: + hgsql -N -e "select frag from gold;" panPan3 \ + | sed -e 's/[0-9][0-9]*//;' | sort | uniq -c + 1 NC_.1 + 6344 SRLZ.1 + + # implies a rule: '[NS][CR][L0-9_][Z0-9][0-9]+(\.[0-9]+)?' + + # verify this rule will find them all and eliminate them all: + hgsql -N -e "select frag from gold;" panPan3 | wc -l + # 6345 + + hgsql -N -e "select frag from gold;" panPan3 \ + | egrep -e '[NS][CR][L0-9_][Z0-9][0-9]+(\.[0-9]+)?' | wc -l + # 6345 + + hgsql -N -e "select frag from gold;" panPan3 \ + | egrep -v -e '[NS][CR][L0-9_][Z0-9][0-9]+(\.[0-9]+)?' | wc -l + # 0 + + # hence, add to trackDb/rhesus/panPan3/trackDb.ra +searchTable gold +shortCircuit 1 +termRegex [NS][CR][L0-9_][Z0-9][0-9]+(\.[0-9]+)? +query select chrom,chromStart,chromEnd,frag from %s where frag like '%s%%' +searchPriority 8 + + # verify searches work in the position box + +########################################################################## +# running repeat masker (TBD - 2019-11-19 - Hiram) + mkdir /hive/data/genomes/panPan3/bed/repeatMasker + cd /hive/data/genomes/panPan3/bed/repeatMasker + time (doRepeatMasker.pl -buildDir=`pwd` \ + -bigClusterHub=ku -dbHost=hgwdev -workhorse=hgwdev \ + -smallClusterHub=ku panPan3) > do.log 2>&1 + # real 415m10.888s + + cat faSize.rmsk.txt +# 3044872214 bases (45844299 N's 2999027915 real 1492721019 upper +# 1506306896 lower) in 5486 sequences in 1 files +# Total size: mean 555025.9 sd 8254410.8 min 202 (chrUn_NW_022154607v1) +# max 219763114 (chr1) median 29244 +# %49.47 masked total, %50.23 masked real + + egrep -i "versi|relea" do.log +# RepeatMasker version development-$Id: RepeatMasker,v 1.332 2017/04/17 19:01:11 rhubley Exp $ +# grep version of RepeatMasker$ /hive/data/staging/data/RepeatMasker/RepeatMasker +# February 01 2017 (open-4-0-8) 1.332 version of RepeatMasker +# grep RELEASE /hive/data/staging/data/RepeatMasker/Libraries/RepeatMaskerLib.embl +# CC Dfam_Consensus RELEASE 20181026; * +# CC RepBase RELEASE 20181026; * + + time featureBits -countGaps panPan3 rmsk + # 1506305481 bases of 3044872214 (49.470%) in intersection + # real 0m41.857s + + # why is it different than the faSize above ? + # because rmsk masks out some N's as well as bases, the faSize count above + # separates out the N's from the bases, it doesn't show lower case N's + + # faster way to get the same result on high contig count assemblies: + time hgsql -N -e 'select genoName,genoStart,genoEnd from rmsk;' panPan3 \ + | bedSingleCover.pl stdin | ave -col=4 stdin | grep "^total" + # total 1506305481.000000 + # real 0m22.271s + +########################################################################## +# running simple repeat (TBD - 2019-11-19 - Hiram) + + mkdir /hive/data/genomes/panPan3/bed/simpleRepeat + cd /hive/data/genomes/panPan3/bed/simpleRepeat + time (doSimpleRepeat.pl -buildDir=`pwd` -bigClusterHub=ku \ + -dbHost=hgwdev -workhorse=hgwdev -smallClusterHub=ku \ + -trf409=6 panPan3) > do.log 2>&1 + # real 243m33.198s + + cat fb.simpleRepeat + # 260449789 bases of 2999027915 (8.684%) in intersection + + cd /hive/data/genomes/panPan3 + # using the Window Masker result: + cd /hive/data/genomes/panPan3 +# twoBitMask bed/windowMasker/panPan3.cleanWMSdust.2bit \ +# -add bed/simpleRepeat/trfMask.bed panPan3.2bit + # you can safely ignore the warning about fields >= 13 + + # add to rmsk after it is done: + twoBitMask panPan3.rmsk.2bit \ + -add bed/simpleRepeat/trfMask.bed panPan3.2bit + # you can safely ignore the warning about fields >= 13 + twoBitToFa panPan3.2bit stdout | faSize stdin > faSize.panPan3.2bit.txt + cat faSize.panPan3.2bit.txt +# 3044872214 bases (45844299 N's 2999027915 real 1490817836 upper +# 1508210079 lower) in 5486 sequences in 1 files +# Total size: mean 555025.9 sd 8254410.8 min 202 (chrUn_NW_022154607v1) +# max 219763114 (chr1) median 29244 +# %49.53 masked total, %50.29 masked real + + rm /gbdb/panPan3/panPan3.2bit + ln -s `pwd`/panPan3.2bit /gbdb/panPan3/panPan3.2bit + +######################################################################### +# CREATE MICROSAT TRACK (TBD - 2019-11-20 - Hiram) + ssh hgwdev + mkdir /cluster/data/panPan3/bed/microsat + cd /cluster/data/panPan3/bed/microsat + + awk '($5==2 || $5==3) && $6 >= 15 && $8 == 100 && $9 == 0 {printf("%s\t%s\t%s\t%dx%s\n", $1, $2, $3, $6, $16);}' \ + ../simpleRepeat/simpleRepeat.bed > microsat.bed + + hgLoadBed panPan3 microsat microsat.bed + # Read 27700 elements of size 4 from microsat.bed + +########################################################################## +## WINDOWMASKER (TBD - 2019-11-19 - Hiram) + + mkdir /hive/data/genomes/panPan3/bed/windowMasker + cd /hive/data/genomes/panPan3/bed/windowMasker + time (doWindowMasker.pl -buildDir=`pwd` -workhorse=hgwdev \ + -dbHost=hgwdev panPan3) > do.log 2>&1 + # real 115m21.931s + + # Masking statistics + cat faSize.panPan3.cleanWMSdust.txt +# 3044872214 bases (45844299 N's 2999027915 real 1771826758 upper +# 1227201157 lower) in 5486 sequences in 1 files +# Total size: mean 555025.9 sd 8254410.8 min 202 (chrUn_NW_022154607v1) +# max 219763114 (chr1) median 29244 +# %40.30 masked total, %40.92 masked real + + cat fb.panPan3.rmsk.windowmaskerSdust.txt + # 879562979 bases of 3044872214 (28.887%) in intersection + +########################################################################## +# cpgIslands - (TBD - 2019-11-20 - Hiram) + mkdir /hive/data/genomes/panPan3/bed/cpgIslands + cd /hive/data/genomes/panPan3/bed/cpgIslands + time (doCpgIslands.pl -dbHost=hgwdev -bigClusterHub=ku \ + -workhorse=hgwdev -smallClusterHub=ku panPan3) > do.log 2>&1 + # real 4m0.657s + + cat fb.panPan3.cpgIslandExt.txt + # 20339043 bases of 2999027915 (0.678%) in intersection + +############################################################################## +# genscan - (TBD - 2019-11-20 - Hiram) + mkdir /hive/data/genomes/panPan3/bed/genscan + cd /hive/data/genomes/panPan3/bed/genscan + time (doGenscan.pl -buildDir=`pwd` -workhorse=hgwdev -dbHost=hgwdev \ + -bigClusterHub=ku panPan3) > do.log 2>&1 + # real 100m37.264s + + cat fb.panPan3.genscan.txt + # 51534246 bases of 2999027915 (1.718%) in intersection + + cat fb.panPan3.genscanSubopt.txt + # 53019930 bases of 2999027915 (1.768%) in intersection + +######################################################################### +# Create kluster run files (TBD - 2019-11-20 - Hiram) + + # numerator is panPan3 gapless bases "real" as reported by: + featureBits -noRandom -noHap panPan3 gap + # 41796384 bases of 2715375767 (1.539%) in intersection + # ^^^ + + # denominator is hg19 gapless bases as reported by: + # featureBits -noRandom -noHap hg19 gap + # 234344806 bases of 2861349177 (8.190%) in intersection + # 1024 is threshold used for human -repMatch: + calc \( 2715375767 / 2861349177 \) \* 1024 + # ( 2715375767 / 2861349177 ) * 1024 = 971.760038 + + # ==> use -repMatch=950 according to size scaled down from 1024 for human. + # and rounded down to nearest 50 + cd /hive/data/genomes/panPan3 + time blat panPan3.2bit \ + /dev/null /dev/null -tileSize=11 -makeOoc=jkStuff/panPan3.11.ooc \ + -repMatch=950 + # Wrote 39217 overused 11-mers to jkStuff/panPan3.11.ooc + + # gorGor5 at repMatch=1100: + # Wrote 31384 overused 11-mers to jkStuff/gorGor5.11.ooc + # gorGor4 at repMatch=1000: + # Wrote 32028 overused 11-mers to jkStuff/gorGor4.11.ooc + + # check non-bridged gaps to see what the typical size is: + hgsql -N \ + -e 'select * from gap where bridge="no" order by size;' panPan3 \ + | sort -k7,7nr | ave -col=7 stdin + # min 100.000000 + # max 100.000000 + # they are all 100 sized, 220 gaps + + # minimum gap size is 100 and produces a reasonable number of lifts + gapToLift -verbose=2 -minGap=100 panPan3 jkStuff/panPan3.nonBridged.lft \ + -bedFile=jkStuff/panPan3.nonBridged.bed + wc -l jkStuff/panPan3.nonBri* + # 5706 jkStuff/panPan3.nonBridged.bed + # 5706 jkStuff/panPan3.nonBridged.lft + +######################################################################## +# lastz/chain/net swap human/hg38 (TBD - 2019-11-20 - Hiram) + + # original alignment + cd /hive/data/genomes/hg38/bed/lastzPanPan3.2019-11-20 + + cat fb.hg38.chainPanPan3Link.txt + # 2908900659 bases of 3095998939 (93.957%) in intersection + cat fb.hg38.chainSynPanPan3Link.txt + # 2885980361 bases of 3095998939 (93.216%) in intersection + cat fb.hg38.chainRBest.PanPan3.txt + # 2693876207 bases of 3095998939 (87.012%) in intersection + + # and for the swap: + mkdir /hive/data/genomes/panPan3/bed/blastz.hg38.swap + cd /hive/data/genomes/panPan3/bed/blastz.hg38.swap + + time (doBlastzChainNet.pl -verbose=2 \ + /hive/data/genomes/hg38/bed/lastzPanPan3.2019-11-20/DEF \ + -swap -chainMinScore=3000 -chainLinearGap=medium \ + -workhorse=hgwdev -smallClusterHub=hgwdev -bigClusterHub=ku \ + -syntenicNet) > swap.log 2>&1 + # real 63m46.473s + + cat fb.panPan3.chainHg38Link.txt + # 2738870921 bases of 2999027915 (91.325%) in intersection + cat fb.panPan3.chainSynHg38Link.txt + # 2728591501 bases of 2999027915 (90.983%) in intersection + + time (doRecipBest.pl -load -workhorse=hgwdev -buildDir=`pwd` panPan3 hg38) \ + > rbest.log 2>&1 + # real 62m14.470s + + cat fb.panPan3.chainRBest.Hg38.txt + # 2697792568 bases of 2999027915 (89.956%) in intersection + +########################################################################### +# lastz/chain/net swap mouse/mm10 (TBD - 2019-11-21 - Hiram) + + # original alignment + cd /hive/data/genomes/mm10/bed/lastzPanPan3.2019-11-20 + cat fb.mm10.chainPanPan3Link.txt + # 929953885 bases of 2652783500 (35.056%) in intersection + cat fb.mm10.chainSynPanPan3Link.txt + # 882047357 bases of 2652783500 (33.250%) in intersection + cat fb.mm10.chainRBest.PanPan3.txt + # 885135149 bases of 2652783500 (33.366%) in intersection + + mkdir /hive/data/genomes/panPan3/bed/blastz.mm10.swap + cd /hive/data/genomes/panPan3/bed/blastz.mm10.swap + time (doBlastzChainNet.pl -verbose=2 \ + /hive/data/genomes/mm10/bed/lastzPanPan3.2019-11-20/DEF \ + -swap -syntenicNet \ + -workhorse=hgwdev -smallClusterHub=hgwdev -bigClusterHub=ku \ + -chainMinScore=3000 -chainLinearGap=medium) > swap.log 2>&1 + # real 72m34.088s + + cat fb.panPan3.chainMm10Link.txt + # 1017872526 bases of 2999027915 (33.940%) in intersection + cat fb.panPan3.chainSynMm10Link.txt + # 880983055 bases of 2999027915 (29.376%) in intersection + + time (doRecipBest.pl -load -workhorse=hgwdev panPan3 mm10 \ + -buildDir=`pwd` -workhorse=hgwdev) > rbest.log 2>&1 & + # real 237m38.959s + + cat fb.panPan3.chainRBest.Mm10.txt + # 883663662 bases of 2999027915 (29.465%) in intersection + +############################################################################## +# GENBANK AUTO UPDATE (TBD - 2019-11-20 - Hiram) + ssh hgwdev + cd $HOME/kent/src/hg/makeDb/genbank + git pull + # /cluster/data/genbank/data/organism.lst shows: + # organism mrnaCnt estCnt refSeqCnt + # Gorilla 1 0 0 + # Gorilla gorilla 617 30 95 + # Gorilla gorilla gorilla 4 0 0 + + # that single 'Gorilla' name is a new one, adding that to + # the list of Gorilla names in src/lib/gbGenome.c + + # edit etc/genbank.conf to add panPan3 just before galGal5 + +# Gorilla - refseq assembly: GCF_008122165.1 +panPan3.serverGenome = /hive/data/genomes/panPan3/panPan3.2bit +panPan3.ooc = /hive/data/genomes/panPan3/jkStuff/panPan3.11.ooc +panPan3.lift = /hive/data/genomes/panPan3/jkStuff/panPan3.nonBridged.lft +panPan3.perChromTables = no +panPan3.refseq.mrna.native.pslCDnaFilter = ${ordered.refseq.mrna.native.pslCDnaFilter} +panPan3.refseq.mrna.xeno.pslCDnaFilter = ${ordered.refseq.mrna.xeno.pslCDnaFilter} +panPan3.genbank.mrna.native.pslCDnaFilter = ${ordered.genbank.mrna.native.pslCDnaFilter} +panPan3.genbank.mrna.xeno.pslCDnaFilter = ${ordered.genbank.mrna.xeno.pslCDnaFilter} +panPan3.genbank.est.native.pslCDnaFilter = ${ordered.genbank.est.native.pslCDnaFilter} +panPan3.genbank.est.xeno.pslCDnaFilter = ${ordered.genbank.est.xeno.pslCDnaFilter} +panPan3.downloadDir = panPan3 +# default yes refseq.mrna.native refseq.mrna.xeno genbank.mrna.native +# default yes genbank.est.native +# default no genbank.mrna.xeno genbank.est.xeno + + # verify the files specified exist before checking in the file: + grep ^panPan3 etc/genbank.conf | grep hive | awk '{print $NF}' | xargs ls -og +# -rw-rw-r-- 1 792944027 Nov 20 10:59 /hive/data/genomes/panPan3/panPan3.2bit +# -rw-rw-r-- 1 156876 Nov 20 11:06 /hive/data/genomes/panPan3/jkStuff/panPan3.11.ooc +# -rw-rw-r-- 1 333597 Nov 20 11:08 /hive/data/genomes/panPan3/jkStuff/panPan3.nonBridged.lft + + git commit -m "Added panPan3 gorilla; refs #24524" etc/genbank.conf src/lib/gbGenome.c + git push + + # update the binaries due to the update in lib/src/gbGenome.c + make install-server + + # update /cluster/data/genbank/: + make etc-update + + # enable daily alignment and update of hgwdev + cd ~/kent/src/hg/makeDb/genbank + git pull + # add panPan3 to: + # etc/hgwdev.dbs etc/align.dbs + git commit -m "Added panPan3 - gorilla refs #24524" etc/hgwdev.dbs etc/align.dbs + git push + make etc-update + + # wait a few days for genbank magic to take place, the tracks will + # appear + +############################################################################# +# augustus gene track (TBD - 2019-11-20 - Hiram) + + mkdir /hive/data/genomes/panPan3/bed/augustus + cd /hive/data/genomes/panPan3/bed/augustus + time (doAugustus.pl -buildDir=`pwd` -bigClusterHub=ku \ + -species=human -dbHost=hgwdev \ + -workhorse=hgwdev panPan3) > do.log 2>&1 + # real 139m55.244s + + cat fb.panPan3.augustusGene.txt + # 55005426 bases of 2999027915 (1.834%) in intersection + +######################################################################### +# ncbiRefSeq (TBD - 2019-11-20 - Hiram) + + mkdir /hive/data/genomes/panPan3/bed/ncbiRefSeq + cd /hive/data/genomes/panPan3/bed/ncbiRefSeq + # running step wise just to be careful + time (~/kent/src/hg/utils/automation/doNcbiRefSeq.pl -buildDir=`pwd` \ + -bigClusterHub=ku -dbHost=hgwdev \ + -stop=download -fileServer=hgwdev -smallClusterHub=ku -workhorse=hgwdev \ + refseq vertebrate_mammalian Gorilla_gorilla \ + GCF_008122165.1_Kamilah_GGO_v0 panPan3) > download.log 2>&1 + # real 1m37.523s + + time (~/kent/src/hg/utils/automation/doNcbiRefSeq.pl -buildDir=`pwd` \ + -continue=process -bigClusterHub=ku -dbHost=hgwdev \ + -stop=process -fileServer=hgwdev -smallClusterHub=ku -workhorse=hgwdev \ + refseq vertebrate_mammalian Gorilla_gorilla \ + GCF_008122165.1_Kamilah_GGO_v0 panPan3) > process.log 2>&1 + # real 2m9.450s + + time (~/kent/src/hg/utils/automation/doNcbiRefSeq.pl -buildDir=`pwd` \ + -continue=load -bigClusterHub=ku -dbHost=hgwdev \ + -stop=load -fileServer=hgwdev -smallClusterHub=ku -workhorse=hgwdev \ + refseq vertebrate_mammalian Gorilla_gorilla \ + GCF_008122165.1_Kamilah_GGO_v0 panPan3) > load.log 2>&1 + # real 0m21.982s + + cat fb.ncbiRefSeq.panPan3.txt + # 74279781 bases of 2999027915 (2.477%) in intersection + + # add: include ../../refSeqComposite.ra alpha + # to the gorilla/panPan3/trackDb.ra to turn on the track in the browser + + featureBits -enrichment panPan3 refGene ncbiRefSeq + # refGene 0.006%, ncbiRefSeq 2.477%, both 0.006%, cover 99.87%, enrich 40.32x + + featureBits -enrichment panPan3 ncbiRefSeq refGene + # ncbiRefSeq 2.477%, refGene 0.006%, both 0.006%, cover 0.25%, enrich 40.32x + + featureBits -enrichment panPan3 ncbiRefSeqCurated refGene + # ncbiRefSeqCurated 0.007%, refGene 0.006%, both 0.006%, cover 94.29%, enrich 14956.14x + + featureBits -enrichment panPan3 refGene ncbiRefSeqCurated + # refGene 0.006%, ncbiRefSeqCurated 0.007%, both 0.006%, cover 99.87%, enrich 14956.14x + +######################################################################### +# LIFTOVER TO gorGor5 (TBD - 2019-11-20 - Hiram) + ssh hgwdev + mkdir /hive/data/genomes/panPan3/bed/blat.gorGor5.2019-11-20 + cd /hive/data/genomes/panPan3/bed/blat.gorGor5.2019-11-20 + doSameSpeciesLiftOver.pl -verbose=2 \ + -debug -bigClusterHub=ku -dbHost=hgwdev -workhorse=hgwdev \ + -ooc=/hive/data/genomes/panPan3/jkStuff/panPan3.11.ooc \ + panPan3 gorGor5 + time (doSameSpeciesLiftOver.pl -verbose=2 \ + -bigClusterHub=ku -dbHost=hgwdev -workhorse=hgwdev \ + -ooc=/hive/data/genomes/panPan3/jkStuff/panPan3.11.ooc \ + panPan3 gorGor5) > doLiftOverToGorGor5.log 2>&1 + # real 936m35.524s + + # see if the liftOver menus function in the browser from panPan3 to gorGor5 + +######################################################################### +# LIFTOVER TO gorGor4 (TBD - 2019-11-20 - Hiram) + ssh hgwdev + mkdir /hive/data/genomes/panPan3/bed/blat.gorGor4.2019-11-20 + cd /hive/data/genomes/panPan3/bed/blat.gorGor4.2019-11-20 + doSameSpeciesLiftOver.pl -verbose=2 \ + -debug -bigClusterHub=ku -dbHost=hgwdev -workhorse=hgwdev \ + -ooc=/hive/data/genomes/panPan3/jkStuff/panPan3.11.ooc \ + panPan3 gorGor4 + time (doSameSpeciesLiftOver.pl -verbose=2 \ + -bigClusterHub=ku -dbHost=hgwdev -workhorse=hgwdev \ + -ooc=/hive/data/genomes/panPan3/jkStuff/panPan3.11.ooc \ + panPan3 gorGor4) > doLiftOverToGorGor4.log 2>&1 + # real 654m46.645s + + # see if the liftOver menus function in the browser from panPan3 to gorGor4 + +######################################################################### +# BLATSERVERS ENTRY (TBD - 2019-11-20 - Hiram) +# After getting a blat server assigned by the Blat Server Gods, + ssh hgwdev + + hgsql -e 'INSERT INTO blatServers (db, host, port, isTrans, canPcr) \ + VALUES ("panPan3", "blat1c", "17914", "1", "0"); \ + INSERT INTO blatServers (db, host, port, isTrans, canPcr) \ + VALUES ("panPan3", "blat1c", "17915", "0", "1");' \ + hgcentraltest + # test it with some sequence + +############################################################################ +## reset default position similar to gorGor5 found via blat of NR_046473.1 mRNA +## (TBD - 2019-11-20 - Hiram) + + # as found from the galGal5 to panPan3 liftOver + ssh hgwdev + hgsql -e 'update dbDb set defaultPos="chr14:81559118-81601404" + where name="panPan3";' hgcentraltest + +############################################################################## +# crispr whole genome (TBD - 2019-11-20 - Hiram) + mkdir /hive/data/genomes/panPan3/bed/crisprAll + cd /hive/data/genomes/panPan3/bed/crisprAll + + # the large shoulder argument will cause the entire genome to be scanned + # this takes a while for a new genome to get the bwa indexing done + time (~/kent/src/hg/utils/automation/doCrispr.pl -verbose=2 -stop=ranges \ + panPan3 ncbiRefSeq -shoulder=250000000 -tableName=crisprAll -fileServer=hgwdev \ + -buildDir=`pwd` -smallClusterHub=hgwdev -bigClusterHub=ku \ + -workhorse=hgwdev) > ranges.log 2>&1 + # real 72m58.740s + + time (~/kent/src/hg/utils/automation/doCrispr.pl -verbose=2 \ + -continue=guides -stop=specScores panPan3 ncbiRefSeq \ + -shoulder=250000000 -tableName=crisprAll -fileServer=hgwdev \ + -buildDir=`pwd` -smallClusterHub=hgwdev -bigClusterHub=ku \ + -workhorse=hgwdev) > specScores.log 2>&1 + # real 8m40.172s + + cat guides/run.time | sed -e 's/^/# /;' +# Completed: 100 of 100 jobs +# CPU time in finished jobs: 12309s 205.15m 3.42h 0.14d 0.000 y +# IO & Wait Time: 290s 4.83m 0.08h 0.00d 0.000 y +# Average job time: 126s 2.10m 0.03h 0.00d +# Longest finished job: 380s 6.33m 0.11h 0.00d +# Submission to last job: 386s 6.43m 0.11h 0.00d + + cat specScores/run.time | sed -e 's/^/# /;' +# Completed: 3041114 of 3041114 jobs +# CPU time in finished jobs: 282305886s 4705098.10m 78418.30h 3267.43d 8.952 y +# IO & Wait Time: 84009113s 1400151.88m 23335.86h 972.33d 2.664 y +# Average job time: 120s 2.01m 0.03h 0.00d +# Longest finished job: 498s 8.30m 0.14h 0.01d +# Submission to last job: 381920s 6365.33m 106.09h 4.42d + +Submission to last job: 274925s 4582.08m 76.37h 3.18d + +# Number of specScores: 227564780 + +# real 7482m37.507s +# user 0m2.047s +# sys 0m2.110s + + ### remember to get back to hgwdev to run this + time (~/kent/src/hg/utils/automation/doCrispr.pl -verbose=2 \ + -continue=effScores -stop=load panPan3 ncbiRefSeq \ + -shoulder=250000000 -tableName=crisprAll -fileServer=hgwdev \ + -buildDir=`pwd` -smallClusterHub=hgwdev -bigClusterHub=ku \ + -workhorse=hgwdev) > load.log 2>&1 + # real 1081m16.460s + + cat effScores/run.time | sed -e 's/^/# /;' +# Completed: 27933 of 27933 jobs +# CPU time in finished jobs: 13825593s 230426.55m 3840.44h 160.02d 0.438 y +# IO & Wait Time: 172582s 2876.37m 47.94h 2.00d 0.005 y +# Average job time: 501s 8.35m 0.14h 0.01d +# Longest finished job: 20199s 336.65m 5.61h 0.23d +# Submission to last job: 22274s 371.23m 6.19h 0.26d + + cat offTargets/run.time | sed -e 's/^/# /;' +# Completed: 152056 of 152056 jobs +# CPU time in finished jobs: 2009038s 33483.97m 558.07h 23.25d 0.064 y +# IO & Wait Time: 2321685s 38694.75m 644.91h 26.87d 0.074 y +# Average job time: 28s 0.47m 0.01h 0.00d +# Longest finished job: 53s 0.88m 0.01h 0.00d +# Submission to last job: 4266s 71.10m 1.19h 0.05d + +######################################################################### +# all.joiner update, downloads and in pushQ - (WORKING - 2019-11-20 - Hiram) + cd $HOME/kent/src/hg/makeDb/schema + # verify all the business is done for release + ~/kent/src/hg/utils/automation/verifyBrowser.pl panPan3 + + # fixup all.joiner until this is a clean output + joinerCheck -database=panPan3 -tableCoverage all.joiner + joinerCheck -database=panPan3 -times all.joiner + joinerCheck -database=panPan3 -keys all.joiner + + # when clean, check in: + git commit -m 'adding rules for panPan3 refs #24524' all.joiner + git push + # run up a 'make alpha' in hg/hgTables to get this all.joiner file + # into the hgwdev/genome-test system + + cd /hive/data/genomes/panPan3 + time (~/kent/src/hg/utils/automation/makeDownloads.pl panPan3) > downloads.log 2>&1 + # real 17m56.213s + +XXX - ready to continue - Tue Mar 31 14:27:51 PDT 2020 + # now ready for pushQ entry + mkdir /hive/data/genomes/panPan3/pushQ + cd /hive/data/genomes/panPan3/pushQ + time ($HOME/kent/src/hg/utils/automation/makePushQSql.pl -redmineList panPan3) > panPan3.pushQ.sql 2> stderr.out + # real 15m52.548s + + # remove the tandemDups and gapOverlap from the file list: + sed -i -e "/tandemDups/d" redmine.panPan3.table.list + sed -i -e "/Tandem Dups/d" redmine.panPan3.releaseLog.txt + sed -i -e "/gapOverlap/d" redmine.panPan3.table.list + sed -i -e "/Gap Overlaps/d" redmine.panPan3.releaseLog.txt + + # check for errors in stderr.out, some are OK, e.g.: + # WARNING: hgwdev does not have /gbdb/panPan3/wib/gc5Base.wib + # WARNING: hgwdev does not have /gbdb/panPan3/wib/quality.wib + # WARNING: hgwdev does not have /gbdb/panPan3/bbi/quality.bw + # WARNING: panPan3 does not have seq + # WARNING: panPan3 does not have extFile + + + # verify the file list does correctly match to files + cat redmine.panPan3.file.list | while read L +do + eval ls $L > /dev/null +done + # should be silent, missing files will show as errors + + # verify database tables, how many to expect: + wc -l redmine.panPan3.table.list + # 63 redmine.panPan3.table.list + + # how many actual: + awk -F'.' '{printf "hgsql -N %s -e '"'"'show table status like \"%s\";'"'"'\n", $1, $2}' redmine.panPan3.table.list | sh | wc -l + # 63 + + # would be a smaller number actual if some were missing + + # add the path names to the listing files in the redmine issue + # in the three appropriate entry boxes: + +# /hive/data/genomes/panPan3/pushQ/redmine.panPan3.file.list +# /hive/data/genomes/panPan3/pushQ/redmine.panPan3.releaseLog.txt +# /hive/data/genomes/panPan3/pushQ/redmine.panPan3.table.list + +#########################################################################