From bbf0ef5765e6cc205108b61dd2dfbf0d0a0e6137 Mon Sep 17 00:00:00 2001 From: Arturo Medrano Date: Fri, 21 Apr 2023 09:31:53 -0700 Subject: [PATCH] Added the ability to generate a tsv file as output for easy parsing --- alignSeqsFiles.pl | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/alignSeqsFiles.pl b/alignSeqsFiles.pl index 0eddb25..fdb2327 100755 --- a/alignSeqsFiles.pl +++ b/alignSeqsFiles.pl @@ -157,8 +157,10 @@ sub generate_report { #Prepare output files my $htmlFile = "$outdir/report.html"; + my $tsvFile = "$outdir/report.tsv"; my $plotsFile = "$outdir/plots.html"; + my $tsvHeader = "#Query\tSubject\tQlen\tSlen\tE-value\tIdentity\tQstart\tQend\tQcov\tSstart\tSend\tScov\tQseq\tSseq\n"; my $htmlHeader = < @@ -231,6 +233,9 @@ img { HEADER + open (my $tsvh, ">", $tsvFile) || die $!; + print $tsvh $tsvHeader; + open (my $outh, ">", $htmlFile) || die $!; print $outh $htmlHeader; @@ -299,6 +304,7 @@ HIT print $outh $alnHit; + print $tsvh "$qacc\t$sacc\t$qlen\t$slen\t$eval\t$id\t$qstart\t$qend\t$qcov\t$sstart\t$send\t$scov\t$qseq\t$sseq\n"; #Generate the hydropathy plots my $good = run_quod($qacc, $sacc, $qstart, $qend, $sstart, $send, $qseq, $sseq); @@ -355,6 +361,7 @@ CLOSE print $outh $closeRep; close $outh; + close $tsvh; } @@ -471,10 +478,13 @@ sub run_quod { print $sfh ">$s alignment\n$sseq\n"; close $sfh; + my $labelsStr = "--axis-font 18.0 --tick-font 15.0 --title-font 20.0 --xlabel Residues --ylabel Hydropathy --width 15 --xticks 25"; + my $ylimStr = "--ylim -3 3"; + #Note alnquod requires to add the extension to the image name my $alnFig = "$plotsDir/${q}_vs_${s}_qs${qs}_qe${qe}_ss${ss}_se${se}.png"; - my $cmd1 = qq(quod.py -q -l "$q (red) and $s (blue)" -o $alnFig --xticks 25 --width 15 --edgecolor +0:red +1:blue --facecolor +0:orange +1:cyan --multi frag -- $qalnFile $seqDir/${q}.faa $salnFile $seqDir/${s}.faa); + my $cmd1 = qq(quod.py -q $labelsStr -l "$q (red) and $s (blue)" -o $alnFig $ylimStr --edgecolor +0:red +1:blue --facecolor +0:orange +1:cyan --multi frag -- $qalnFile $seqDir/${q}.faa $salnFile $seqDir/${s}.faa); # print "$cmd1\n\n"; # exit; system $cmd1 unless (-f "${alnFig}"); @@ -496,7 +506,7 @@ sub run_quod { #Plot query hydropathy my $qPfam = get_pfam_coords_for_quod($q, "red"); my $qName = "$plotsDir/${q}_vs_${s}_qaln_qs${qs}_qe${qe}.png"; - my $cmd2 = qq(quod.py -q -l "$q" -o $qName --width 15 --edgecolor red --xticks 25 -w ${qs}-${qe}:+2.7:+:Alignment --no-tms +0 $qTMS $qPfam -- $seqDir/${q}.faa); + my $cmd2 = qq(quod.py -q $labelsStr -l "$q" -o $qName --edgecolor red $ylimStr -w ${qs}-${qe}:+2.7:+:Alignment --no-tms +0 $qTMS $qPfam -- $seqDir/${q}.faa); # print "$cmd2\n\n"; # exit; system $cmd2 unless (-f $qName); @@ -514,7 +524,7 @@ sub run_quod { #Plot Subject hydropaty my $sPfam = get_pfam_coords_for_quod($s, "blue"); my $sName = "$plotsDir/${q}_vs_${s}_saln_ss${ss}_se${se}.png"; - my $cmd3 = qq(quod.py -q -l "$s" -o $sName --width 15 --edgecolor blue --xticks 25 -w ${ss}-${se}:+2.7:+:Alignment --no-tms +0 $sTMS $sPfam -- $seqDir/${s}.faa); + my $cmd3 = qq(quod.py -q $labelsStr -l "$s" -o $sName --edgecolor blue $ylimStr -w ${ss}-${se}:+2.7:+:Alignment --no-tms +0 $sTMS $sPfam -- $seqDir/${s}.faa); # print "$cmd3\n\n"; # exit; system $cmd3 unless (-f $sName); -- 1.9.1