diff --git a/README.md b/README.md index ab440fa..be9bec3 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ [![Master branch build status](https://travis-ci.org/chadlaing/Panseq.svg?branch=master "Master Build Status")](https://travis-ci.org/chadlaing/Panseq) +# Panseq-LC: fork of Panseq, with output modified to include LocusName in SNP table ## OVERVIEW diff --git a/lib/Modules/PanGenome/PanGenome.pm b/lib/Modules/PanGenome/PanGenome.pm index a95a3a9..9efc744 100755 --- a/lib/Modules/PanGenome/PanGenome.pm +++ b/lib/Modules/PanGenome/PanGenome.pm @@ -714,7 +714,7 @@ sub _printResults{ foreach my $snpId(sort keys %{$finalResult->{genomeResults}->{$genome}->{snp}}){ $snpStringHash{$snpId}->{$genomeCounter} = $finalResult->{genomeResults}->{$genome}->{snp}->{$snpId}->{value}; - + $snpStringHash{$snpId}->{'loci'} = $finalResult->{locusInformation}->{name}; $self->_printCoreSnpData( snpId=>$snpId ,locusName=>$finalResult->{locusInformation}->{name} @@ -723,6 +723,10 @@ sub _printResults{ ,startBp=>$finalResult->{genomeResults}->{$genome}->{snp}->{$snpId}->{start_bp} ,contigId=>$finalResult->{genomeResults}->{$genome}->{binary}->[0]->{contig_id} ); + my $lname = "" . $snpStringHash{$snpId}->{'loci'}; + my @refgenome = (split(/[|]/, $lname)); + my $refgenome_ = $refgenome[1]; + $snpStringHash{$snpId}->{'snp_position'} = $finalResult->{genomeResults}->{$refgenome_}->{snp}->{$snpId}->{start_bp}; #if $refgenome==$genome; } #if there are SNPs in a region, add dashes to the snp string @@ -841,14 +845,20 @@ sub _printCoreSnpData{ sub _printSnpTable{ my $self=shift; my $snpStringHash = shift; - + #my $finalResult = shift; my @output; foreach my $id(sort keys %{$snpStringHash}){ my $printLine = "\n"; + my $startbp = ''; #get ref start ID + foreach my $genome(1..scalar(@{$self->settings->orderedGenomeNames})){ - $printLine .= ("\t" . $snpStringHash->{$id}->{$genome}) + $printLine .= ("\t" . $snpStringHash->{$id}->{$genome}); + my $lociname = $snpStringHash->{$id}->{'loci'}; + my $refgenome = (split /|/, $lociname)[1]; + $startbp = $snpStringHash->{$id}->{'snp_position'}; } - push @output, $printLine; + my $snploci = $printLine . "\t" . $snpStringHash->{$id}->{'loci'} . "\t" . $startbp; + push @output, $snploci; } $self->_printFH->{snpTableFH}->print(@output); } @@ -1158,6 +1168,7 @@ sub _getCoreResult { return $snpDataArrayRef; } + 1; diff --git a/t/genomes.batch b/t/genomes.batch new file mode 100644 index 0000000..1a6e6c4 --- /dev/null +++ b/t/genomes.batch @@ -0,0 +1,10 @@ +queryDirectory t/data/genomes/ +percentIdentityCutoff 90 +coreGenomeThreshold 3 +minimumNovelRegionSize 1000 +fragmentationSize 1000 +overwrite 1 +nameOrId name +baseDirectory t/genomes/ +numberOfCores 1 +runMode pan diff --git a/t/plasmids.batch b/t/plasmids.batch new file mode 100644 index 0000000..56c02e0 --- /dev/null +++ b/t/plasmids.batch @@ -0,0 +1,14 @@ +percentIdentityCutoff 90 +queryDirectory t/data/plasmids/ +coreGenomeThreshold 2 +cdhitDirectory /mnt/gvl/apps/linuxbrew/bin/ +minimumNovelRegionSize 500 +fragmentationSize 500 +allelesToKeep 2 +nameOrId name +overwrite 1 +runMode pan +storeAlleles 1 +numberOfCores 1 +cdhit 1 +baseDirectory t/plasmids/ diff --git a/t/query.batch b/t/query.batch new file mode 100644 index 0000000..4e2a125 --- /dev/null +++ b/t/query.batch @@ -0,0 +1,12 @@ +storeAlleles 1 +runMode pan +queryFile t/data/testfragments.fasta +baseDirectory t/query/ +numberOfCores 1 +overwrite 1 +nameOrId name +minimumNovelRegionSize 1 +fragmentationSize 0 +coreGenomeThreshold 2 +percentIdentityCutoff 90 +queryDirectory t/data/genomes/