#!/usr/bin/perl # Copyright 2013 O. Sotolongo use strict; use warnings; use Data::Dump qw(dump); my $ifile = "pcors.txt"; #my $ofile = "ab_cortical_volume_pcor.csv"; my $ofile = "ab_pib_recerc.csv"; my %covtable; my $itsaroi; my $itsab; open DIF, "<$ifile" or die "Error:\n$!"; while(){ #ROI: lh_frontalpole_GrayVol BETA: total_amyloid PCOR: 0.0326186447676574 PVALUE: 0.77890554238218 if(my ($roi, $beta, $pcor, $pvalue) = /^ROI:\s(.*)\sBETA:\s(.*)\sPCOR:\s(.*)\sPVALUE:\s(.*)$/){ $covtable{$roi}{$beta}{'pcor'} = $pcor; $covtable{$roi}{$beta}{'p-value'} = $pvalue; $itsaroi = $roi; } } close DIF; open ODF, ">$ofile" or die "Could not open file\n"; foreach my $abeta (sort keys %{$covtable{$itsaroi}}){ print ODF " ,".$abeta."_pcor, ".$abeta."_pvalue"; } print ODF "\n"; foreach my $roi (sort keys %covtable){ print ODF "$roi"; foreach my $abeta (sort keys %{$covtable{$roi}}){ print ODF ", $covtable{$roi}{$abeta}{'pcor'}, $covtable{$roi}{$abeta}{'p-value'}" } print ODF "\n"; } close ODF;