# HG changeset patch # User estrain # Date 1684949063 0 # Node ID 59e137488c63978382822ee7ac9f6e62f2d1d612 # Parent 50867379763d60313431eb8c8aeb0d9b08981de4 Uploaded diff -r 50867379763d -r 59e137488c63 ._median_size.py Binary file ._median_size.py has changed diff -r 50867379763d -r 59e137488c63 ._microrunqc.xml Binary file ._microrunqc.xml has changed diff -r 50867379763d -r 59e137488c63 ._mlstAddFields.pl Binary file ._mlstAddFields.pl has changed diff -r 50867379763d -r 59e137488c63 ._run_fastq_scan.py Binary file ._run_fastq_scan.py has changed diff -r 50867379763d -r 59e137488c63 ._sum_mlst.py Binary file ._sum_mlst.py has changed diff -r 50867379763d -r 59e137488c63 microrunqc.xml --- a/microrunqc.xml Fri Mar 10 17:01:21 2023 +0000 +++ b/microrunqc.xml Wed May 24 17:24:23 2023 +0000 @@ -1,4 +1,4 @@ - + skesa @@ -103,7 +103,9 @@ --minscore $options.minscore #end if #end if - ${outname}.fasta > ${outname}.mlst.tsv; + ${outname}.fasta > ${outname}.mlst_raw.tsv; + + perl mlstAddFields.pl ${outname}.mlst_raw.tsv > ${outname}.mlst.tsv; python $__tool_directory__/run_fastq_scan.py --fastq ${bwalist} --out fq_out.tab --type ${fqscan}; diff -r 50867379763d -r 59e137488c63 mlstAddFields.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mlstAddFields.pl Wed May 24 17:24:23 2023 +0000 @@ -0,0 +1,54 @@ +#!/usr/bin/perl +# + +use List::MoreUtils qw(first_index indexes); + +open MLST,$ARGV[0]; + +@mlstout=split(/\t/,); + +$schema=$mlstout[1]; +$mlstST=$mlstout[2]; + +# Assumes mlst command is installed and available in the path +# Retrieve the location of the MLST databases +$mlstdesc=`mlst -h | grep \"db/pubmlst\"`; +@vals = split(/\'/,$mlstdesc); +$mlstloc=$vals[1]; +$mlstloc=~s/bin\/\.\.//g; + +my(%schema); + +$mlstfile = "$mlstloc/$schema/$schema.txt"; +open IN,$mlstfile; +@headers=split(/\t/,); +my $clonal = first_index { /clonal\_complex/ } @headers; +my $cc = first_index { /CC/ } @headers; +my $lineage = first_index { /Lineage/ } @headers; +my $species = first_index { /species/ } @headers; +while($line=) { + chomp($line); + my(@vals)=split(/\t/,$line); + my(@desc); + if ($clonal>0 && length($vals[$clonal])>0) { + push(@desc,"clonal_complex=".$vals[$clonal]); + } + if ($cc>0 && length($vals[$clonal])>0) { + push(@desc,"CC=".$vals[$cc]); + } + if ($lineage>0 && length($vals[$linage])>0) { + push(@desc,"Lineage=".$vals[$lineage]); + } + if ($species>0 && length($vals[$species])>0) { + push(@desc,"species=".$vals[$species]); + } + $schema{$vals[0]}=join(',',@desc); +} + +print shift(@mlstout)."\t".shift(@mlstout)."\t".shift(@mlstout)."\t"; +if(exists($schema{$mlstST})) { + print $schema{$mlstST}; +} +foreach(@mlstout) { + print "\t".$_; +}