#!/usr/bin/perl -w # # Script para leitura das intensidades geradas pelo Dapple # Uso: # dapple_parser.pl hibridizacao arquivo.dapple # use DBI; ($lamina,$filename) = ($ARGV[0],$ARGV[1]); unless (defined($lamina) && defined($filename)) { die(" use:\n gpr_parser.pl lamina filename\n"); } $dbh = DBI->connect('DBI:mysql:microarray','mentus','kafka') || die('Couldn\'t connect to MySQL server.'); open(GPR,$filename) || die("Not able to make filehandle: $!\n"); $q2 = "CREATE TABLE $lamina (block_number INT(5),colum INT(5),row INT(5),F635_Median_m_B635 INT(10),F532_Median_m_B532 INT(10),F635_Median INT(10),B635_Median INT(10),F532_Median INT(10),B532_Median INT(10),Flags INT(4),PRIMARY KEY(block_number,row,colum))"; $ctr = $dbh->prepare($q2); $ctr->execute; while ($inp = ) { chomp($inp); if ($inp =~ m/^#/) { next; } @splited = split(/\s+/,$inp); $num = @splited; if ($num != 16) { next; } $block_row = $splited[0] + 1; $block_column = $splited[1] + 1; $column = $splited[2] + 1; $row = $splited[3] + 1; $green = $splited[6] - $splited[7]; $red = $splited[10] - $splited[11]; $block_number = $block_row+($block_column-1)*4; @vec = ($block_number,$column,$row,$red,$green,$splited[10],$splited[11],$splited[6],$splited[7],0); $vec = join(',',@vec); $q3 = "INSERT INTO $lamina VALUES($vec)"; $ins = $dbh->prepare($q3); $ins->execute; }