9734d13d2c7ee8004001a7553145e65af763796a angie Tue Feb 22 11:06:40 2022 -0800 Extract Nextstrain clade from full nextclade output now generated by getNcbi.sh and getCogUk.sh. diff --git src/hg/utils/otto/sarscov2phylo/combineMetadata.sh src/hg/utils/otto/sarscov2phylo/combineMetadata.sh index 87265c3..56f5862 100755 --- src/hg/utils/otto/sarscov2phylo/combineMetadata.sh +++ src/hg/utils/otto/sarscov2phylo/combineMetadata.sh @@ -56,59 +56,59 @@ echo Getting GenBank Pangolin lineages from $ncbiDir/lineage_report.csv tail -n+2 $ncbiDir/lineage_report.csv \ | sed -re 's/^([A-Z][A-Z][0-9]{6}\.[0-9]+)[^,]*/\1/;' \ | awk -F, '$2 != "" && $2 != "None" {print $1 "\t" $2;}' \ | sort -u \ > gbToLineage else echo Getting GenBank Pangolin lineages from $prevMeta zcat $prevMeta \ | tail -n+2 \ | tawk '$2 != "" && $8 != "" { print $2, $8; }' \ | sort -u \ > gbToLineage fi wc -l gbToLineage -if [ -e $ncbiDir/nextclade.tsv ]; then - sort -u $ncbiDir/nextclade.tsv > gbToNextclade +if [ -e $ncbiDir/nextclade.full.tsv.gz ]; then + zcat $ncbiDir/nextclade.full.tsv.gz | cut -f 1,2 | sed -re 's/"//g;' | sort -u > gbToNextclade else touch gbToNextclade fi wc -l gbToNextclade join -t$'\t' -a 1 gb.metadata gbToNextclade \ | join -t$'\t' -a 1 - gbToLineage \ | tawk '{ if ($2 == "") { $2 = "?"; } print $1, $1, $2, $3, $4, "", $6, $7, $8; }' \ | join -t$'\t' -o 1.2,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9 idToName - \ | uniq \ >> gisaidAndPublic.$today.metadata.tsv # COG-UK metadata: -if [ -e $cogUkDir/nextclade.tsv ]; then - sort $cogUkDir/nextclade.tsv > cogUkToNextclade +if [ -e $cogUkDir/nextclade.full.tsv.gz ]; then + zcat $cogUkDir/nextclade.full.tsv.gz | cut -f 1,2 | sed -re 's/"//g' | sort -u > cogUkToNextclade else touch cogUkToNextclade fi #*** Could also add sequence length to metadata from faSizes output... tail -n+2 $cogUkDir/cog_metadata.csv \ | awk -F, -v 'OFS=\t' '{print $1, "", $5, $3, "", "", "", $7; }' \ | sed -re 's/UK-ENG/England/; s/UK-NIR/Northern Ireland/; s/UK-SCT/Scotland/; s/UK-WLS/Wales/;' \ | sort \ | join -t$'\t' -a 1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,2.2,1.8 - cogUkToNextclade \ | join -t$'\t' -o 1.2,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9 idToName - \ >> gisaidAndPublic.$today.metadata.tsv # CNCB metadata: tail -n+2 $cncbDir/cncb.metadata.tsv \ | tawk '{ if ($3 != "GISAID" && $3 != "GenBank" && $3 != "Genbank") { print $2, "", $10, $11, $9, $5, $6} }' \ | sed -re 's@\t([A-Za-z -]+)( / [A-Za-z -'"'"']+)+\t@\t\1\t@; s/Sapiens/sapiens/;' \ | sort \ | join -t$'\t' -a 1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,2.2 - $cncbDir/nextclade.tsv \ | join -t$'\t' -a 1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,2.2 - $cncbDir/pangolin.tsv \ | join -t$'\t' -o 1.2,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9 idToName - \ >> gisaidAndPublic.$today.metadata.tsv wc -l gisaidAndPublic.$today.metadata.tsv zcat $gisaidDir/metadata_batch_$today.tsv.gz \ | grep -Fwf <(grep EPI_ISL samples.$today | cut -d\| -f 2) \ | tawk '{print $1 "|" $3 "|" $5, "", $5, $7, $15, $13, $14, $18, $19;}' \ >> gisaidAndPublic.$today.metadata.tsv wc -l gisaidAndPublic.$today.metadata.tsv -gzip -f gisaidAndPublic.$today.metadata.tsv +pigz -p 8 -f gisaidAndPublic.$today.metadata.tsv