Walkthrough
Metagenome comparison with sourmash¶
Sourmash is a tool for calculating and comparing MinHash signatures. Sourmash compare calculates the jaccard similarity of MinHash signatures.
If you don't already have them, retrieve the assembled contigs:
for i in $(cat assembly_names.txt)
do
osf -u philliptbrooks@gmail.com -p dm938 fetch ${i} ${i}
echo ${i}
done
Calculate signatures¶
Calculate sourmash signatures for reads:
for filename in *_1.trim2.fq.gz
do
#Remove _1.trim2.fq from file name to create base
base=$(basename $filename _1.trim2.fq.gz)
echo $base
docker run -v ${PWD}:/data quay.io/biocontainers/sourmash:2.0.0a1--py35_2 \
sourmash compute \
--merge /data/${base}.trim2.fq.gz \
--scaled 10000 \
-k 21,31,51 \
/data/${base}_1.trim2.fq.gz \
/data/${base}_2.trim2.fq.gz \
-o /data/${base}.pe.trim2.fq.gz.k21_31_51.sig
done
for filename in *_1.trim30.fq.gz
do
#Remove _1.trim30.fq from file name to create base
base=$(basename $filename _1.trim30.fq.gz)
echo $base
docker run -v ${PWD}:/data quay.io/biocontainers/sourmash:2.0.0a1--py35_2 \
sourmash compute \
--merge /data/${base}.trim30.fq.gz \
--scaled 10000 \
-k 21,31,51 \
/data/${base}_1.trim30.fq.gz \
/data/${base}_2.trim30.fq.gz \
-o /data/${base}pe.trim30.fq.gz.k21_31_51.sig
done
Calculate sourmash signatures for assemblies:
for i in osfstorage/assembly/SRR606249{"_1","_subset10_1","_subset25_1","_subset50_1"}.trim{"2","30"}.fq.gz_megahit_output/final.contigs.fa
do
base=`echo ${i} | awk -F/ '{print $3}'`
echo ${base}
docker run -v ${PWD}:/data quay.io/biocontainers/sourmash:2.0.0a1--py35_2 \
sourmash compute \
-k 21,31,51 \
--scaled 10000 \
/data/${i} \
-o /data/${base}.k21_31_51.sig
done
for i in osfstorage/assembly/SRR606249{"_1","_subset10_1","_subset25_1","_subset50_1"}.trim{"2","30"}.fq.gz_spades_output/contigs.fasta
do
base=`echo ${i} | awk -F/ '{print $3}'`
echo ${base}
docker run -v ${PWD}:/data quay.io/biocontainers/sourmash:2.0.0a1--py35_2 \
sourmash compute \
-k 21,31,51 \
--scaled 10000 \
/data/${i} \
-o /data/${base}.k21_31_51.sig
done
Compare read signatures¶
Run sourmash compare on all the read signatures:
for i in 21 31 51
do
docker run -v ${PWD}:/data quay.io/biocontainers/sourmash:2.0.0a1--py35_2 \
sourmash compare \
/data/SRR606249.pe.trim2.fq.gz.k21_31_51.sig \
/data/SRR606249.pe.trim30.fq.gz.k21_31_51.sig \
/data/SRR606249_subset10.pe.trim2.fq.gz.k21_31_51.sig \
/data/SRR606249_subset10.pe.trim30.fq.gz.k21_31_51.sig \
/data/SRR606249_subset25.pe.trim2.fq.gz.k21_31_51.sig \
/data/SRR606249_subset25.pe.trim30.fq.gz.k21_31_51.sig \
/data/SRR606249_subset50.pe.trim2.fq.gz.k21_31_51.sig \
/data/SRR606249_subset50.pe.trim30.fq.gz.k21_31_51.sig \
-k ${i} \
--csv /data/SRR606249.pe.trim2and30_comparison.k${i}.csv
done
Compare assembly signatures¶
for i in 21 31 51
do
docker run -v ${PWD}:/data quay.io/biocontainers/sourmash:2.0.0a1--py35_2 \
sourmash compare \
/data/SRR606249_1.trim2.fq.gz_megahit_output.k21_31_51.sig \
/data/SRR606249_1.trim2.fq.gz_spades_output.k21_31_51.sig \
/data/SRR606249_1.trim30.fq.gz_megahit_output.k21_31_51.sig \
/data/SRR606249_1.trim30.fq.gz_spades_output.k21_31_51.sig \
/data/SRR606249_subset10_1.trim2.fq.gz_megahit_output.k21_31_51.sig \
/data/SRR606249_subset10_1.trim2.fq.gz_spades_output.k21_31_51.sig \
/data/SRR606249_subset10_1.trim30.fq.gz_megahit_output.k21_31_51.sig \
/data/SRR606249_subset25_1.trim2.fq.gz_spades_output.k21_31_51.sig \
/data/SRR606249_subset25_1.trim30.fq.gz_megahit_output.k21_31_51.sig \
/data/SRR606249_subset25_1.trim30.fq.gz_spades_output.k21_31_51.sig \
/data/SRR606249_subset50_1.trim2.fq.gz_megahit_output.k21_31_51.sig \
/data/SRR606249_subset50_1.trim2.fq.gz_spades_output.k21_31_51.sig \
/data/SRR606249_subset50_1.trim30.fq.gz_megahit_output.k21_31_51.sig \
/data/SRR606249_subset50_1.trim30.fq.gz_spades_output.k21_31_51.sig \
-k ${i} \
--csv /data/SRR606249.pe.trim2and30_megahitandspades_comparison.k${i}.csv
done
Compare read signatures to assembly signatures¶
for i in 21 31 51
do
docker run -v ${PWD}:/data quay.io/biocontainers/sourmash:2.0.0a1--py35_2 \
sourmahs compare \
/data/SRR606249_1.trim2.fq.gz_megahit_output.k21_31_51.sig \
/data/SRR606249_1.trim2.fq.gz_spades_output.k21_31_51.sig \
/data/SRR606249.pe.trim2.fq.gz.k21_31_51.sig \
/data/SRR606249.pe.trim30.fq.gz.k21_31_51.sig \
/data/SRR606249_1.trim30.fq.gz_megahit_output.k21_31_51.sig \
/data/SRR606249_1.trim30.fq.gz_spades_output.k21_31_51.sig \
-k ${i} \
--csv /data/SRR606249.pe.trim2and30_readstoassemblies_comparison.k${i}.csv
done