#!/usr/bin/perl use warnings; use strict; use v5.14; use Bio::PopGen::IO; use Bio::PopGen::Statistics; open my $out_file, ">", "chr22_exome_snps_processed_AMR_TRUNCATED_STATS" or die "Can't open output file: $!\n"; my $io = new Bio::PopGen::IO( -format => 'csv', -file => "chr22_exome_snps_processed_AMR_TRUNCATED" ); my @markers; my @samples; while ( my $ind = $io->next_individual ) { if ( $ind =~ /^SAMPLE/ ) { push @markers, $ind; } else { push @samples, [$ind]; } } my $segsites = Bio::PopGen::Statistics->segregating_sites_count( \@samples ); my $singletons = Bio::PopGen::Statistics->singleton_count( \@samples ); my $pi = Bio::PopGen::Statistics->pi( \@samples ); my $theta = Bio::PopGen::Statistics->theta( \@samples ); my $tajima_D = Bio::PopGen::Statistics->tajima_D( \@samples ); my $D_star = Bio::PopGen::Statistics->fu_and_li_D_star( \@samples ); my $F_star = Bio::PopGen::Statistics->fu_and_li_F_star( \@samples ); say $out_file "Population: AMR\tChromosome: 22_TRUNCATED"; say $out_file "Seg sites\tSingletons\tPi\tTheta\tTajima's D\tFu & Li F*\tFu & Li D*"; say $out_file "$segsites\t$singletons\t$pi\t$theta\t$tajima_D\t$F_star\t$D_star"; #### Can't call method "isa" on unblessed reference at /usr/local/share/perl/5.14.2/Bio/PopGen/Statistics.pm line 901, line 3