9aa849960d756c2cc2c2a1f5bfe5916051f6f95c angie Sun Mar 20 10:25:56 2022 -0700 De-duplicate NCBI fasta. Make hgwdev URL to share daily directories with processed INSDC/GenBank files. diff --git src/hg/utils/otto/sarscov2phylo/getNcbi.sh src/hg/utils/otto/sarscov2phylo/getNcbi.sh index 7352205..d997b6d 100755 --- src/hg/utils/otto/sarscov2phylo/getNcbi.sh +++ src/hg/utils/otto/sarscov2phylo/getNcbi.sh @@ -57,30 +57,34 @@ time $scriptDir/bioSampleJsonToTab.py ncbi_dataset/data/biosample.jsonl | uniq > gb.bioSample.tab # Use BioSample metadata to fill in missing pieces of GenBank metadata and report conflicting # sample collection dates: $scriptDir/gbMetadataAddBioSample.pl gb.bioSample.tab ncbi_dataset.tsv \ > ncbi_dataset.plusBioSample.tsv 2>gbMetadataAddBioSample.log # Make a file for joining collection date with ID: tawk '$3 != "" {print $1, $3;}' ncbi_dataset.plusBioSample.tsv \ | sort > gbToDate # Replace FASTA headers with reconstructed names from enhanced metadata. time cleanGenbank < ncbi_dataset/data/genomic.fna \ | $scriptDir/fixNcbiFastaNames.pl ncbi_dataset.plusBioSample.tsv \ + > genbank.maybeDups.fa +time fastaNames genbank.maybeDups.fa | awk '{print $1 "\t" $0;}' > gb.rename +time faUniqify genbank.maybeDups.fa stdout \ +| faRenameRecords stdin gb.rename stdout \ | xz -T 20 \ > genbank.fa.xz # Run pangolin and nextclade on sequences that are new since yesterday export TMPDIR=/dev/shm fastaNames genbank.fa.xz | awk '{print $1;}' | sed -re 's/\|.*//' | grep -vx pdb | sort -u > gb.names splitDir=splitForNextclade rm -rf $splitDir mkdir $splitDir zcat ../ncbi.latest/nextclade.full.tsv.gz > nextclade.full.tsv cp ../ncbi.latest/nextalign.fa.xz . comm -23 gb.names <(cut -f 1 nextclade.full.tsv | sort -u) > nextclade.names if [ -s nextclade.names ]; then faSomeRecords <(xzcat genbank.fa.xz) nextclade.names stdout \ | faSplit about stdin 30000000 $splitDir/chunk @@ -135,17 +139,20 @@ done rm -rf $splitDir fi wc -l lineage_report.csv # It turns out that sometimes new sequences sneak into ncbi_dataset.tsv before they're included in # genomic.fna. Filter those out so we don't have missing pangolin and nextclade for just-added # COG-UK sequences. (https://github.com/theosanderson/taxodium/issues/10#issuecomment-876800176) grep -Fwf gb.names ncbi_dataset.plusBioSample.tsv > tmp wc -l tmp ncbi_dataset.plusBioSample.tsv mv tmp ncbi_dataset.plusBioSample.tsv rm -f $ottoDir/ncbi.latest ln -s ncbi.$today $ottoDir/ncbi.latest +rm -f ~angie/public_html/sarscov2phylo/ncbi.$today +ln -s $ottoDir/ncbi.$today ~angie/public_html/sarscov2phylo/ncbi.$today + # Clean up rm -r ncbi_dataset