Mercurial > repos > iss > eurl_vtec_wgs_pt
comparison scripts/stx_subtype_pe.sh @ 0:c6bab5103a14 draft
"planemo upload commit 6abf3e299d82d07e6c3cf8642bdea80e96df64c3-dirty"
author | iss |
---|---|
date | Mon, 21 Mar 2022 15:23:09 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c6bab5103a14 |
---|---|
1 tooldir="$1"; | |
2 fastqfile1="$2"; | |
3 fastqfile2="$3"; | |
4 fastafile="$4"; | |
5 | |
6 # ASSEMBLY | |
7 mkdir stxdir; | |
8 skesa --fastq $fastqfile1 $fastqfile2 --contigs_out stxdir/skesa.fasta; | |
9 cp $fastafile stxdir/spades.fasta; | |
10 rm -r output_dir; | |
11 | |
12 # FILTER + ASSEMBLY | |
13 chmod u+x $tooldir/scripts/duk | |
14 $tooldir/scripts/duk -m stxdir/filtered1STX.fq -k 23 $tooldir/data/stx.fa $fastqfile1; | |
15 $tooldir/scripts/duk -m stxdir/filtered2STX.fq -k 23 $tooldir/data/stx.fa $fastqfile2; | |
16 $tooldir/scripts/fastq_pair stxdir/filtered1STX.fq stxdir/filtered2STX.fq; | |
17 $tooldir/scripts/fastq_pair stxdir/filtered1STX.fq.single.fq $fastqfile2; | |
18 $tooldir/scripts/fastq_pair stxdir/filtered2STX.fq.single.fq $fastqfile1; | |
19 cat stxdir/filtered1STX.fq.paired.fq > stxdir/filtered1STX_paired.fq; | |
20 cat stxdir/filtered1STX.fq.single.fq.paired.fq >> stxdir/filtered1STX_paired.fq; | |
21 cat $fastqfile1.paired.fq >> stxdir/filtered1STX_paired.fq; | |
22 cat stxdir/filtered2STX.fq.paired.fq > stxdir/filtered2STX_paired.fq; | |
23 cat $fastqfile2.paired.fq >> stxdir/filtered2STX_paired.fq; | |
24 cat stxdir/filtered2STX.fq.single.fq.paired.fq >> stxdir/filtered2STX_paired.fq; | |
25 dukstx1filesize=$(wc -c "stxdir/filtered1STX_paired.fq" | awk '{print $1}'); | |
26 dukstx2filesize=$(wc -c "stxdir/filtered2STX_paired.fq" | awk '{print $1}'); | |
27 if [ $dukstx1filesize -gt 0 ] && [ $dukstx2filesize -gt 0 ] | |
28 then | |
29 skesa --fastq stxdir/filtered1STX_paired.fq stxdir/filtered2STX_paired.fq --contigs_out stxdir/duk_skesa.fasta; | |
30 perl $tooldir/scripts/spades.pl duk_spades_contigs duk_spades_contig_stats duk_spades_scaffolds duk_spades_scaffold_stats duk_spades_log NODE spades.py --disable-gzip-output --isolate -t 8 --pe1-ff --pe1-1 fastq:stxdir/filtered1STX_paired.fq --pe1-2 fastq:stxdir/filtered2STX_paired.fq | |
31 mv duk_spades_contigs stxdir/duk_spades.fasta; | |
32 rm -r output_dir; | |
33 blastn -query stxdir/duk_skesa.fasta -db $tooldir/data/stx -task blastn -evalue 0.001 -out stxdir/duk_skesa_seqs -outfmt '6 qseqid sseqid sframe qseq' -num_threads 8 -strand both -dust yes -max_target_seqs 1 -perc_identity 95.0; | |
34 blastn -query stxdir/duk_spades.fasta -db $tooldir/data/stx -task blastn -evalue 0.001 -out stxdir/duk_spades_seqs -outfmt '6 qseqid sseqid sframe qseq' -num_threads 8 -strand both -dust yes -max_target_seqs 1 -perc_identity 95.0; | |
35 else | |
36 touch stxdir/duk_skesa_seqs; | |
37 touch stxdir/duk_spades_seqs; | |
38 fi | |
39 | |
40 # SEQUENCE SEARCH | |
41 blastn -query stxdir/skesa.fasta -db $tooldir/data/stx -task blastn -evalue 0.001 -out stxdir/skesa_seqs -outfmt '6 qseqid sseqid sframe qseq' -num_threads 8 -strand both -dust yes -max_target_seqs 1 -perc_identity 95.0; | |
42 blastn -query stxdir/spades.fasta -db $tooldir/data/stx -task blastn -evalue 0.001 -out stxdir/spades_seqs -outfmt '6 qseqid sseqid sframe qseq' -num_threads 8 -strand both -dust yes -max_target_seqs 1 -perc_identity 95.0; | |
43 # DIVIDE STX1 FROM STX2 | |
44 awk 'BEGIN { OFS="\t" }!seen[$1]++ {if (substr($2,1,4)=="stx1") print $1,$3,$4}' stxdir/skesa_seqs > stxdir/stx1_skesa_seqs; | |
45 awk 'BEGIN { OFS="\t" }!seen[$1]++ {if (substr($2,1,4)=="stx2") print $1,$3,$4}' stxdir/skesa_seqs > stxdir/stx2_skesa_seqs; | |
46 awk 'BEGIN { OFS="\t" }!seen[$1]++ {if (substr($2,1,4)=="stx1") print $1,$3,$4}' stxdir/duk_skesa_seqs > stxdir/dukstx1_skesa_seqs; | |
47 awk 'BEGIN { OFS="\t" }!seen[$1]++ {if (substr($2,1,4)=="stx2") print $1,$3,$4}' stxdir/duk_skesa_seqs > stxdir/dukstx2_skesa_seqs; | |
48 awk 'BEGIN { OFS="\t" }!seen[$1]++ {if (substr($2,1,4)=="stx1") print $1,$3,$4}' stxdir/spades_seqs > stxdir/stx1_spades_seqs; | |
49 awk 'BEGIN { OFS="\t" }!seen[$1]++ {if (substr($2,1,4)=="stx2") print $1,$3,$4}' stxdir/spades_seqs > stxdir/stx2_spades_seqs; | |
50 awk 'BEGIN { OFS="\t" }!seen[$1]++ {if (substr($2,1,4)=="stx1") print $1,$3,$4}' stxdir/duk_spades_seqs > stxdir/dukstx1_spades_seqs; | |
51 awk 'BEGIN { OFS="\t" }!seen[$1]++ {if (substr($2,1,4)=="stx2") print $1,$3,$4}' stxdir/duk_spades_seqs > stxdir/dukstx2_spades_seqs; | |
52 # CREATE COMBINED MULTIFASTA FROM SEQUENCES | |
53 perl $tooldir/scripts/MultifastaFromBlast.pl "stxdir/stx1_skesa_seqs,stxdir/dukstx1_skesa_seqs,stxdir/stx1_spades_seqs,stxdir/dukstx1_spades_seqs" "stxdir/multiassembly_stx1.fasta"; | |
54 perl $tooldir/scripts/MultifastaFromBlast.pl "stxdir/stx2_skesa_seqs,stxdir/dukstx2_skesa_seqs,stxdir/stx2_spades_seqs,stxdir/dukstx2_spades_seqs" "stxdir/multiassembly_stx2.fasta"; | |
55 | |
56 # ALIGN AND GET CONSENSUS | |
57 stx1filesize=$(wc -c "stxdir/multiassembly_stx1.fasta" | awk '{print $1}'); | |
58 if [ $stx1filesize -eq 0 ] | |
59 then | |
60 touch stxdir/multiassembly_stx1_consensus.fasta; | |
61 else | |
62 cat $tooldir/data/stx1.fa >> stxdir/multiassembly_stx1.fasta; | |
63 muscle -in stxdir/multiassembly_stx1.fasta -out stxdir/multiassembly_stx1_aligned.fasta; | |
64 awk 'BEGIN {RS=">" ; ORS=""} substr($1,1,4)!="stx1" {print ">"$0}' stxdir/multiassembly_stx1_aligned.fasta > stxdir/multiassembly_stx1_aligned_clean.fasta; | |
65 awk '/^>/ {printf("%s%s\n",(N>0?"\n":""),$0);N++;next;} {printf("%s",$0);} END {printf("\n");}' stxdir/multiassembly_stx1_aligned_clean.fasta > stxdir/multiassembly_stx1_aligned_linear.fasta; | |
66 python $tooldir/scripts/GetConsensus.py -i stxdir/multiassembly_stx1_aligned_linear.fasta -o stxdir/multiassembly_stx1_consensus.fasta; | |
67 fi | |
68 | |
69 stx2filesize=$(wc -c "stxdir/multiassembly_stx2.fasta" | awk '{print $1}'); | |
70 if [ $stx2filesize -eq 0 ] | |
71 then | |
72 touch stxdir/multiassembly_stx2_consensus.fasta; | |
73 else | |
74 cat $tooldir/data/stx2.fa >> stxdir/multiassembly_stx2.fasta; | |
75 muscle -in stxdir/multiassembly_stx2.fasta -out stxdir/multiassembly_stx2_aligned.fasta; | |
76 awk 'BEGIN {RS=">" ; ORS=""} substr($1,1,4)!="stx2" {print ">"$0}' stxdir/multiassembly_stx2_aligned.fasta > stxdir/multiassembly_stx2_aligned_clean.fasta; | |
77 awk '/^>/ {printf("%s%s\n",(N>0?"\n":""),$0);N++;next;} {printf("%s",$0);} END {printf("\n");}' stxdir/multiassembly_stx2_aligned_clean.fasta > stxdir/multiassembly_stx2_aligned_linear.fasta; | |
78 python $tooldir/scripts/GetConsensus.py -i stxdir/multiassembly_stx2_aligned_linear.fasta -o stxdir/multiassembly_stx2_consensus.fasta; | |
79 fi | |
80 cat stxdir/multiassembly_stx1_consensus.fasta > stx.fasta; | |
81 cat stxdir/multiassembly_stx2_consensus.fasta >> stx.fasta; |