# for emacs: -*- mode: sh; -*- # Drosophila virilis -- # # Agencourt's 1 August 2005 assembly # # NOTE: this doc may have genePred loads that fail to include # the bin column. Please correct that for the next build by adding # a bin column when you make any of these tables: # # mysql> SELECT tableName, type FROM trackDb WHERE type LIKE "%Pred%"; # +-------------+---------------------------------+ # | tableName | type | # +-------------+---------------------------------+ # | xenoRefGene | genePred xenoRefPep xenoRefMrna | # | geneMapper | genePred | # | genscan | genePred genscanPep | # +-------------+---------------------------------+ # DOWNLOAD SEQUENCE (DONE 8/11/05 angie) # First did the download 8/5/05, but found that the sequence was # identical to the droMoj2 sequence. Asked Mike Eisen about it, # he tracked it down with Agencourt and it's fixed now. ssh kkstore02 mkdir /cluster/store11/droVir2 cd /cluster/data ln -s /cluster/store11/droVir2 droVir2 cd /cluster/data/droVir2 mkdir jkStuff bed mkdir downloads cd downloads wget http://rana.lbl.gov/drosophila/assemblies/dvir_agencourt_arachne_01aug05.tar.gz tar xvzf dvir_agencourt_arachne_01aug05.tar.gz cd agencourt_arachne_01aug05 faSize scaffolds.fa #206998770 bases (17083947 N's 189914823 real 189914823 upper 0 lower) in 13562 sequences in 1 files #Total size: mean 15263.1 sd 412429.3 min 57 (scaffold_12950) max 25269527 (scaffold_13049) median 1249 #N count: mean 1259.7 sd 14604.9 #U count: mean 14003.5 sd 405086.1 #L count: mean 0.0 sd 0.0 # PARTITION SCAFFOLDS FOR REPEATMASKER RUN (DONE 8/11/05 angie) # Chop up large scaffolds into ~500kb chunks for RepeatMasker, # then glom the tiny scaffolds up into ~500k collections (looks like # some almost-500k pieces are glommed together --> a few almost-1M chunks, # but that's OK). ssh kkstore02 cd /cluster/data/droVir2 mkdir scaffoldsSplit mv downloads/agencourt_arachne_01aug05/scaffolds.fa . faSplit size scaffolds.fa 500000 -oneFile \ scaffoldsSplit -lift=jkStuff/scaffoldsSplit.lft mkdir chunks500k faSplit about scaffoldsSplit.fa 500000 chunks500k/chunk_ # CREATING DATABASE (DONE 8/5/05 angie) # Create the database. ssh hgwdev # Make sure there is at least 5 gig free for the database df -h /var/lib/mysql #/dev/sdc1 /dev/sdc1 1.8T 970G 690G 59% /var/lib/mysql hgsql '' -e 'create database droVir2' # Copy the table "grp" from an existing database to the new database hgsql droVir2 -e 'create table grp (PRIMARY KEY(NAME)) select * from dm2.grp' # RUN REPEAT MASKER (DONE 8/11/05 angie) ssh kkstore02 cat /cluster/bluearc/RepeatMasker/Libraries/version #RepBase Update 9.11, RM database version 20050112 # make the run directory, output directory, and job list cd /cluster/data/droVir2 cat << '_EOF_' > jkStuff/RMDrosophila #!/bin/csh -fe cd $1 /bin/mkdir -p /tmp/droVir2/$2 /bin/cp ../chunks500k/$2 /tmp/droVir2/$2/ pushd /tmp/droVir2/$2 /cluster/bluearc/RepeatMasker/RepeatMasker -s -spec drosophila $2 popd /bin/cp /tmp/droVir2/$2/$2.out ./ /bin/rm -fr /tmp/droVir2/$2/* /bin/rmdir --ignore-fail-on-non-empty /tmp/droVir2/$2 /bin/rmdir --ignore-fail-on-non-empty /tmp/droVir2 '_EOF_' # << this line makes emacs coloring happy chmod +x jkStuff/RMDrosophila mkdir RMRun RMOut cp /dev/null RMRun/RMJobs foreach f ( chunks500k/*.fa ) set chunk = $f:t echo ../jkStuff/RMDrosophila \ /cluster/data/droVir2/RMOut $chunk \ '{'check in line+ /cluster/data/droVir2/$f'}' \ '{'check out line+ /cluster/data/droVir2/RMOut/$chunk.out'}' \ >> RMRun/RMJobs end # do the run ssh kk9 cd /cluster/data/droVir2/RMRun para make RMJobs para time #Completed: 394 of 394 jobs #Average job time: 3463s 57.71m 0.96h 0.04d #Longest finished job: 6860s 114.33m 1.91h 0.08d #Submission to last job: 22081s 368.02m 6.13h 0.26d # Lift up the split-scaffold .out's to scaffold .out's ssh kkstore02 cd /cluster/data/droVir2 foreach f (RMOut/*.fa.out) liftUp $f:r:r.scaf.out jkStuff/scaffoldsSplit.lft warn $f > /dev/null end # Make a consolidated scaffold .out file too: head -3 RMOut/chunk_00.fa.out > RMOut/scaffolds.fa.out foreach f (RMOut/*.scaf.out) tail +4 $f >> RMOut/scaffolds.fa.out end # Load the .out files into the database with: ssh hgwdev hgLoadOut droVir2 /cluster/data/droVir2/RMOut/scaffolds.fa.out # hgLoadOut made a "scaffolds_rmsk" table even with -table=rmsk, # but we want a non-split with no prefix table: hgsql droVir2 -e 'rename table scaffolds_rmsk to rmsk' # Fix up the indices too: hgsql droVir2 -e 'drop index bin on rmsk; \ drop index genoStart on rmsk; \ drop index genoEnd on rmsk; \ create index bin on rmsk (genoName(7), bin); \ create index genoStart on rmsk (genoName(7), genoStart);' # EXTRACT AGP FROM ASSEMBLY.LINKS FILE (DONE 1/23/06 angie) ssh hgwdev cd /cluster/data/droVir2 # assembly.links includes negative gap values which are supposed to # indicate overlap between contigs, but when scaffold sequences were # generated, Mike Eisen chose to use +25 instead of the negative values. # So replace negative gap values with 25 for consistency with the # scaffold sequences, then translate to AGP: perl -wpe 'next if (/^#/); @w = split; \ $w[6] = 25 if ($w[6] < 0); $w[7] = 25 if ($w[7] < 0); \ $_ = join("\t", @w) . "\n";' \ downloads/agencourt_arachne_01aug05/assembly.links \ | ~/kent/src/utils/arachneLinksToAgp.pl \ > scaffolds.agp nice checkAgpAndFa scaffolds.agp scaffolds.fa | tail hgGoldGapGl -noGl droVir2 scaffolds.agp # EXTRACTING GAP INFO FROM BLOCKS OF NS (DONE 8/11/04 angie) ssh kkstore02 mkdir /cluster/data/droVir2/bed/fakeAgp cd /cluster/data/droVir2/bed/fakeAgp faGapSizes ../../scaffolds.fa \ -niceSizes=5,10,20,25,30,40,50,100,250,500,1000,10000,100000 # A disproportionately large number of gaps are exactly 25bp long, so # hgFakeAgp's default -minContigGap of 25 will be fine. hgFakeAgp ../../scaffolds.fa fake.agp ssh hgwdev hgLoadGap -unsplit droVir2 /cluster/data/droVir2/bed/fakeAgp/fake.agp # SIMPLE REPEATS (TRF) (DONE 8/11/05 angie) ssh kolossus mkdir /cluster/data/droVir2/bed/simpleRepeat cd /cluster/data/droVir2/bed/simpleRepeat nice trfBig -trf=/cluster/bin/i386/trf ../../scaffolds.fa \ /dev/null -bedAt=simpleRepeat.bed -tempDir=/tmp \ |& egrep -v '^(Removed|Tandem|Copyright|Loading|Allocating|Initializing|Computing|Scanning|Freeing)' \ > trf.log & # check on this with tail -f trf.log # Load this into the database as so ssh hgwdev hgLoadBed droVir2 simpleRepeat \ /cluster/data/droVir2/bed/simpleRepeat/simpleRepeat.bed \ -sqlTable=$HOME/kent/src/hg/lib/simpleRepeat.sql # FILTER SIMPLE REPEATS (TRF) INTO MASK (DONE 8/11/05 angie) # make a filtered version of the trf output: # keep trf's with period <= 12: ssh kkstore02 cd /cluster/data/droVir2/bed/simpleRepeat awk '{if ($5 <= 12) print;}' simpleRepeat.bed > trfMask.bed # MASK FA USING REPEATMASKER AND FILTERED TRF FILES (DONE 8/11/05 angie) ssh kkstore02 cd /cluster/data/droVir2 maskOutFa -soft scaffolds.fa bed/simpleRepeat/trfMask.bed \ scaffolds.fa maskOutFa -softAdd scaffolds.fa RMOut/scaffolds.fa.out scaffolds.fa # Now clean up the unmasked split scaffolds to avoid confusion later. rm -r chunks500k scaffoldsSplit.fa jkStuff/scaffoldsSplit.lft # STORE SEQUENCE AND ASSEMBLY INFORMATION (DONE 8/11/05 angie) # Translate to 2bit ssh kkstore02 cd /cluster/data/droVir2 faToTwoBit scaffolds.fa droVir2.2bit # Make chromInfo.tab. mkdir bed/chromInfo twoBitInfo droVir2.2bit stdout \ | awk '{printf "%s\t%s\t/gbdb/droVir2/droVir2.2bit\n", $1, $2;}' \ > bed/chromInfo/chromInfo.tab # Make symbolic a link from /gbdb/droVir2 to the 2bit. ssh hgwdev mkdir -p /gbdb/droVir2 ln -s /cluster/data/droVir2/droVir2.2bit /gbdb/droVir2/ # Load chromInfo table. hgsql droVir2 < $HOME/kent/src/hg/lib/chromInfo.sql hgsql droVir2 -e 'load data local infile \ "/cluster/data/droVir2/bed/chromInfo/chromInfo.tab" into table chromInfo' # Make chrom.sizes from chromInfo contents and check scaffold count. hgsql droVir2 -N -e 'select chrom,size from chromInfo' \ > /cluster/data/droVir2/chrom.sizes wc -l /cluster/data/droVir2/chrom.sizes # 13562 /cluster/data/droVir2/chrom.sizes # MAKE HGCENTRALTEST ENTRY AND TRACKDB TABLE (DONE 8/12/05 angie) # Make trackDb table so browser knows what tracks to expect: ssh hgwdev cd ~/kent/src/hg/makeDb/trackDb cvs up -d -P # Edit trackDb/makefile to add droVir2 to the DBS variable. mkdir drosophila/droVir2 # Create a simple drosophila/droVir2/description.html file. cvs add drosophila/droVir2 cvs add drosophila/droVir2/description.html make update DBS=droVir2 ZOO_DBS= # go public on genome-test cvs ci makefile cvs ci drosophila/droVir2 mkdir /gbdb/droVir2/html # in a clean, updated tree's kent/src/hg/makeDb/trackDb: make alpha # Note: genome and organism fields must correspond # with defaultDb values hgsql -h genome-testdb hgcentraltest -e \ 'INSERT INTO dbDb \ (name, description, nibPath, organism, \ defaultPos, active, orderKey, genome, scientificName, \ htmlPath, hgNearOk, hgPbOk, sourceName) values \ ("droVir2", "Aug. 2005", "/gbdb/droVir2", "D. virilis", \ "scaffold_12963:19375824-19416317", 1, 57, \ "D. virilis", \ "Drosophila virilis", "/gbdb/droVir2/html/description.html", \ 0, 0, "Agencourt 1 August 2005");' # This is not the first droVir, so defaultDb and genomeClade already # have entries for D. virilis. # PUT SEQUENCE ON /ISCRATCH FOR BLASTZ (DONE 8/11/05 angie) # First, agglomerate small scaffolds into chunks of ~100k median # (many scaffolds are larger than that) so we don't have too many # files for one dir, but keep a reasonably low job run time: ssh kkstore02 cd /cluster/data/droVir2 mkdir chunksUnsplit faSplit about scaffolds.fa 100000 chunksUnsplit/chunk_ ssh kkr1u00 mkdir /iscratch/i/droVir2 rsync -av /cluster/data/droVir2/chunksUnsplit /iscratch/i/droVir2/ rsync -av /cluster/data/droVir2/droVir2.2bit /iscratch/i/droVir2/ iSync # PRODUCING GENSCAN PREDICTIONS (DONE 8/12/05 angie) ssh kkstore02 # Make hard-masked scaffolds and split up for processing: cd /cluster/data/droVir2 maskOutFa scaffolds.fa hard scaffolds.fa.masked mkdir chunksUnsplitMasked faSplit about scaffolds.fa.masked 100000 chunksUnsplitMasked/chunk_ mkdir /cluster/data/droVir2/bed/genscan cd /cluster/data/droVir2/bed/genscan # Check out hg3rdParty/genscanlinux to get latest genscan: cvs co hg3rdParty/genscanlinux # Make 3 subdirectories for genscan to put their output files in mkdir gtf pep subopt ls -1S ../../chunksUnsplitMasked/chunk*.fa > chunks.list cat << '_EOF_' > gsub #LOOP gsBig {check in line+ $(path1)} {check out line gtf/$(root1).gtf} -trans={check out line pep/$(root1).pep} -subopt={check out line subopt/$(root1).bed} -exe=hg3rdParty/genscanlinux/genscan -par=hg3rdParty/genscanlinux/HumanIso.smat -tmp=/tmp -window=2400000 #ENDLOOP '_EOF_' # << this line keeps emacs coloring happy ssh kki cd /cluster/data/droVir2/bed/genscan gensub2 chunks.list single gsub jobList para make jobList para time #Completed: 348 of 348 jobs #Average job time: 26s 0.44m 0.01h 0.00d #Longest finished job: 982s 16.37m 0.27h 0.01d #Submission to last job: 1014s 16.90m 0.28h 0.01d # If there are crashes, diagnose with "para problems". # If a job crashes due to genscan running out of memory, re-run it # manually with "-window=1200000" instead of "-window=2400000". # Concatenate scaffold-level results: ssh kkstore02 cd /cluster/data/droVir2/bed/genscan cat gtf/*.gtf > genscan.gtf cat subopt/*.bed > genscanSubopt.bed cat pep/*.pep > genscan.pep # Clean up rm -r /cluster/data/droVir2/chunksUnsplitMasked # Load into the database as so: ssh hgwdev cd /cluster/data/droVir2/bed/genscan ldHgGene -gtf droVir2 genscan genscan.gtf hgPepPred droVir2 generic genscanPep genscan.pep hgLoadBed droVir2 genscanSubopt genscanSubopt.bed # MAKE DOWNLOADABLE FILES (DONE 8/11/05 angie) ssh kkstore02 mkdir /cluster/data/droVir2/zips cd /cluster/data/droVir2 gzip -c RMOut/scaffolds.fa.out > zips/scaffoldOut.gz gzip -c scaffolds.fa > zips/scaffoldFa.gz gzip -c scaffolds.fa.masked > zips/scaffoldFaMasked.gz gzip -c bed/simpleRepeat/trfMask.bed > zips/scaffoldTrf.gz ssh hgwdev mkdir /usr/local/apache/htdocs/goldenPath/droVir2 cd /usr/local/apache/htdocs/goldenPath/droVir2 mkdir bigZips database # Create README.txt files in bigZips/ and database/ to explain the files. cd bigZips ln -s /cluster/data/droVir2/zips/*.gz . nice md5sum *.gz > md5sum.txt # MAKE 11.OOC FILE FOR BLAT (DONE 8/12/05 angie) # Use -repMatch=100 (based on size -- for human we use 1024, and # fly size is ~4.4% of human judging by gapless dm1 genome size from # featureBits -- we would use 45, but bump that up a bit to be more # conservative). ssh kkr1u00 mkdir /cluster/bluearc/droVir2 blat /cluster/data/droVir2/droVir2.2bit /dev/null /dev/null -tileSize=11 \ -makeOoc=/cluster/bluearc/droVir2/11.ooc -repMatch=100 #Wrote 14361 overused 11-mers to /cluster/bluearc/droVir2/11.ooc cp -p /cluster/bluearc/droVir2/*.ooc /iscratch/i/droVir2/ iSync # AUTO UPDATE GENBANK MRNA RUN (TODO 8/12/05 angie) ssh hgwdev # Update genbank config and source in CVS: cd ~/kent/src/hg/makeDb/genbank cvsup . # Edit etc/genbank.conf and add these lines (note scaffold-browser settings): # droVir2 (D. virilis) droVir2.genome = /iscratch/i/droVir2/droVir2.2bit droVir2.mondoTwoBitParts = 1000 droVir2.lift = no droVir2.refseq.mrna.native.load = no droVir2.refseq.mrna.xeno.load = yes droVir2.refseq.mrna.xeno.pslReps = -minCover=0.15 -minAli=0.75 -nearTop=0.005 droVir2.genbank.mrna.xeno.load = yes # GenBank has no D. virilis ESTs at this point... that may change. droVir2.genbank.est.native.load = no droVir2.genbank.est.xeno.load = no droVir2.downloadDir = droVir2 droVir2.perChromTables = no cvs ci etc/genbank.conf # Update src/align/gbBlat to use /iscratch/i/droVir2/11.ooc cvs diff src/align/gbBlat make cvs ci src/align/gbBlat # Install to /cluster/data/genbank: make install-server ssh `fileServer /cluster/data/genbank/` cd /cluster/data/genbank # This is an -initial run, (xeno) RefSeq only: nice bin/gbAlignStep -srcDb=refseq -type=mrna -initial droVir2 & tail -f [its logfile] # Load results: ssh hgwdev cd /cluster/data/genbank nice bin/gbDbLoadStep -verbose=1 -drop -initialLoad droVir2 featureBits droVir2 xenoRefGene #16520385 bases of 165766797 (9.966%) in intersection # Clean up: rm -rf work/initial.droVir2 # This is an -initial run, mRNA only: nice bin/gbAlignStep -srcDb=genbank -type=mrna -initial droVir2 & tail -f [its logfile] # Load results: ssh hgwdev cd /cluster/data/genbank nice bin/gbDbLoadStep -verbose=1 -drop -initialLoad droVir2 featureBits droVir2 all_mrna #19602 bases of 165766797 (0.012%) in intersection featureBits droVir2 xenoMrna #17295487 bases of 165766797 (10.434%) in intersection # Clean up: rm -rf work/initial.droVir2 # SWAP CHAINS FROM DM2, BUILD NETS ETC. (DONE 8/12/05 angie) mkdir /cluster/data/droVir2/bed/blastz.dm2.swap cd /cluster/data/droVir2/bed/blastz.dm2.swap doBlastzChainNet.pl -swap /cluster/data/dm2/bed/blastz.droVir2/DEF \ >& do.log echo "check /cluster/data/droVir2/bed/blastz.dm2.swap/do.log" \ | mail -s "check do.log" $USER # Add {chain,net}Dm2 to trackDb.ra if necessary. # MAKE GCPERCENT (DONE 8/15/05 angie) ssh hgwdev mkdir /cluster/data/droVir2/bed/gc5Base cd /cluster/data/droVir2/bed/gc5Base hgGcPercent -wigOut -doGaps -file=stdout -win=5 -verbose=2 droVir2 \ /cluster/data/droVir2 | wigEncode stdin gc5Base.wig gc5Base.wib mkdir /gbdb/droVir2/wib ln -s `pwd`/gc5Base.wib /gbdb/droVir2/wib hgLoadWiggle -pathPrefix=/gbdb/droVir2/wib droVir2 gc5Base gc5Base.wig # MAKE THIS THE DEFAULT ASSEMBLY WHEN THERE ARE ENOUGH TRACKS (TODO 8/?/05 angie) hgsql -h genome-testdb hgcentraltest -e \ 'UPDATE defaultDb set name = "droVir2" where genome = "D. virilis";' # AUTO UPDATE GENBANK MRNA AND EST GENES RUN (DONE, 2005-08-22, markd) # align with revised genbank process cd ~kent/src/makeDb/genbank cvs update -d etc # edit etc/genbank.conf to add droVir2, had to run on pk, due to kk # being down. Set temporary locations for server files # droVir2 (D. virilis) # genbank has 35 mRNAs and 633 ESTs at time of initial build droVir2.serverGenome = /cluster/data/droVir2/droVir2.2bit ##droVir2.clusterGenome = /iscratch/i/droVir2/droVir2.2bit ##droVir2.ooc = /iscratch/i/droVir2/11.ooc droVir2.clusterGenome = /san/sanvol1/scratch/droVir2/droVir2.2bit droVir2.ooc = /san/sanvol1/scratch/droVir2/11.ooc droVir2.lift = no droVir2.refseq.mrna.native.load = yes droVir2.refseq.mrna.xeno.load = yes droVir2.refseq.mrna.xeno.pslCDnaFilter = -minCover=0.15 -coverNearTop=0.005 -minId=0.60 -idNearTop=0.005 -maxRepMatch=0.4 -bestOverlap droVir2.genbank.mrna.xeno.load = yes droVir2.genbank.est.native.load = yes droVir2.genbank.est.xeno.load = no droVir2.downloadDir = droVir2 droVir2.perChromTables = no # update /cluster/data/genbank/ make etc-update ssh kkstore02 cd /cluster/data/genbank nice bin/gbAlignStep -initial droVir2 & # when finished ssh hgwdev cd /cluster/data/genbank nice ./bin/gbDbLoadStep -drop -initialLoad droVir2& # AUTO UPDATE GENBANK MRNA AND EST GENES RUN (DONE, 2005-08-31, markd) # redo genbank revised alignment procedure once again to # pickup local near best pslCDnaFilter # align with revised genbank process cd ~kent/src/makeDb/genbank cvs update -d etc # edit etc/genbank.conf to add droVir2 # droVir2 (D. virilis) # genbank has 35 mRNAs and 633 ESTs at time of initial build droVir2.serverGenome = /cluster/data/droVir2/droVir2.2bit droVir2.clusterGenome = /iscratch/i/droVir2/droVir2.2bit droVir2.ooc = /iscratch/i/droVir2/11.ooc droVir2.lift = no droVir2.refseq.mrna.native.pslCDnaFilter = ${lowCover.refseq.mrna.native.pslCDnaFilter} droVir2.refseq.mrna.xeno.pslCDnaFilter = ${lowCover.refseq.mrna.xeno.pslCDnaFilter} droVir2.genbank.mrna.native.pslCDnaFilter = ${lowCover.genbank.mrna.native.pslCDnaFilter} droVir2.genbank.mrna.xeno.pslCDnaFilter = ${lowCover.genbank.mrna.xeno.pslCDnaFilter} droVir2.genbank.est.native.pslCDnaFilter = ${lowCover.genbank.est.native.pslCDnaFilter} droVir2.genbank.est.xeno.pslCDnaFilter = ${lowCover.genbank.est.xeno.pslCDnaFilter} droVir2.refseq.mrna.native.load = yes droVir2.refseq.mrna.xeno.load = yes droVir2.genbank.mrna.xeno.load = yes droVir2.genbank.est.native.load = yes droVir2.genbank.est.xeno.load = no droVir2.downloadDir = droVir2 droVir2.perChromTables = no # update /cluster/data/genbank/ make etc-update ssh kkstore02 cd /cluster/data/genbank nice bin/gbAlignStep -initial droVir2 & # when finished ssh hgwdev cd /cluster/data/genbank nice ./bin/gbDbLoadStep -drop -initialLoad droVir2& # GENEMAPPER PREDICTIONS FROM UCB (DONE 1/24/06 angie) ssh hgwdev mkdir /cluster/data/droVir2/bed/geneMapper cd /cluster/data/droVir2/bed/geneMapper wget http://bio.math.berkeley.edu/genemapper/GFF/rel0.2/DroVir_20050801.gff # Don't use -genePredExt... there are no start/stop_codon items, so # all get marked "incmpl", and name2 always gets the same value as name. # Get rid of custom track header lines: egrep -v '^(track|browser) ' DroVir_20050801.gff \ | ldHgGene -gtf droVir2 geneMapper stdin #################################################################### # MAKE Drosophila Proteins track (DONE braney 2005-08-20) ssh kkstore02 mkdir -p /cluster/data/droVir2/blastDb cd /cluster/data/droVir2/blastDb faSplit sequence ../scaffolds.fa 400 x for i in *.fa; do formatdb -i $i -p F 2> /dev/null; done rm *.fa *.log ssh kk set destDir=/cluster/panasas/home/store/droVir2/blastDb mkdir -p $destDir cp /cluster/data/droVir2/blastDb/* $destDir mkdir -p /cluster/data/droVir2/bed/tblastn.dm2FB cd /cluster/data/droVir2/bed/tblastn.dm2FB ls -1S $destDir/*.nsq | sed "s/\.nsq//" > target.lst mkdir fbfa # calculate a reasonable number of jobs calc `wc /cluster/data/dm2/bed/blat.dm2FB/dm2FB.psl|awk "{print \\\$1}"`/\(80000/`wc target.lst | awk "{print \\\$1}"`\) # 18929/(80000/396) = 93.698550 split -l 94 /cluster/data/dm2/bed/blat.dm2FB/dm2FB.psl fbfa/fb cd fbfa for i in *; do pslxToFa $i $i.fa; rm $i; done cd .. ls -1S fbfa/*.fa > fb.lst mkdir -p /cluster/bluearc/droVir2/bed/tblastn.dm2FB/blastOut ln -s /cluster/bluearc/droVir2/bed/tblastn.dm2FB/blastOut for i in `cat fb.lst`; do mkdir blastOut/`basename $i .fa`; done tcsh cat << '_EOF_' > blastGsub #LOOP blastSome $(path1) {check in line $(path2)} {check out exists blastOut/$(root2)/q.$(root1).psl } #ENDLOOP '_EOF_' cat << '_EOF_' > blastSome #!/bin/sh BLASTMAT=/iscratch/i/blast/data export BLASTMAT g=`basename $2` f=/tmp/`basename $3`.$g for eVal in 0.01 0.001 0.0001 0.00001 0.000001 1E-09 1E-11 do if /scratch/blast/blastall -M BLOSUM80 -m 0 -F no -e $eVal -p tblastn -d $1 -i $2 -o $f.8 then mv $f.8 $f.1 break; fi done if test -f $f.1 then if /cluster/bin/i386/blastToPsl $f.1 $f.2 then liftUp -nosort -type=".psl" -pslQ -nohead $3.tmp /cluster/data/dm2/bed/blat.dm2FB/protein.lft warn $f.2 mv $3.tmp $3 rm -f $f.1 $f.2 $f.3 $f.4 exit 0 fi fi rm -f $f.1 $f.2 $3.tmp $f.3 $f.8 $f.4 exit 1 '_EOF_' chmod +x blastSome gensub2 target.lst fb.lst blastGsub blastSpec para create blastSpec para push # No time information. Ran several partial jobs due to power failures ssh kkstore02 cd /cluster/data/droVir2/bed/tblastn.dm2FB tcsh cat << '_EOF_' > chainGsub #LOOP chainSome $(path1) #ENDLOOP '_EOF_' cat << '_EOF_' > chainSome (cd $1; cat q.*.psl | simpleChain -prot -outPsl -maxGap=25000 stdin ../c.`basename $1`.psl) '_EOF_' chmod +x chainSome ls -1dS `pwd`/blastOut/fb?? > chain.lst gensub2 chain.lst single chainGsub chainSpec sh chainSpec # No time information cd /cluster/data/droVir2/bed/tblastn.dm2FB/blastOut for i in fb?? do awk "(\$13 - \$12)/\$11 > 0.6 {print}" c.$i.psl > c60.$i.psl sort -rn c60.$i.psl | pslUniq stdin u.$i.psl awk "((\$1 / \$11) ) > 0.60 { print }" c60.$i.psl > m60.$i.psl echo $i done sort -T /tmp -k 14,14 -k 16,16n -k 17,17n u.*.psl m60* | uniq > /cluster/data/droVir2/bed/tblastn.dm2FB/blastDm2FB.psl cd .. wc blastDm2FB.psl # 19549 410529 5250935 blastDm2FB.psl pslUniq blastDm2FB.psl stdout | wc # 18076 379596 5039460 cat fbfa/*fa | grep ">" | wc # 82338 82338 1300520 ssh hgwdev cd /cluster/data/droVir2/bed/tblastn.dm2FB hgLoadPsl droVir2 blastDm2FB.psl featureBits droVir2 blastDm2FB # 18480904 bases of 189915912 (9.731%) in intersection exit # back to kkstore02 rm -rf blastOut # End tblastn ##################################################################### # BLASTZ/CHAIN/NET DM3 Swap (DONE - 2012-03-02 - Chin) cd /cluster/data/dm3/bed/blastz.droVir2.2012-03-01 cat fb.dm3.chainDroVir2Link.txt # 75854911 bases of 162367812 (46.718%) in intersection # swap droVir2 mkdir /cluster/data/droVir2/bed/blastz.dm3.swap cd /cluster/data/droVir2/bed/blastz.dm3.swap time nice -n +19 doBlastzChainNet.pl -verbose=2 \ /cluster/data/dm3/bed/blastz.droVir2/DEF \ -swap -noDbNameCheck \ -workhorse=hgwdev -smallClusterHub=encodek -bigClusterHub=swarm \ -chainMinScore=3000 > swap.log 2>&1 & # real 10m3.062s tail swap.log # *** All done ! Elapsed time: 10m3s # *** Make sure that goldenPath/droVir2/vsDm3/README.txt is accurate. # *** Add {chain,net}Dm3 tracks to trackDb.ra if necessary. cat fb.droVir2.chainDm3Link.txt # 83468526 bases of 189914823 (43.951%) in intersection #####################################################################