Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 1fe671a6 authored by Vincent Danjean's avatar Vincent Danjean
Browse files

correction de bug de la localisation du fait de la modif 9 fichiers

git-svn-id: svn+ssh://imag/users/huron/danjean/svnroot/claire/altree/trunk@204 cf695345-040a-0410-a956-b889e835fe2e
parent ecbb7e0f
No related branches found
No related tags found
No related merge requests found
...@@ -70,13 +70,13 @@ sub FillTableaux ...@@ -70,13 +70,13 @@ sub FillTableaux
my $nb_term = shift; my $nb_term = shift;
if ($present_node->NbChildren()==0) { if ($present_node->NbChildren()==0) {
$presentNode->GetQuantiList(); $present_node->GetQuantiList();
push @{$values}, @{$present_node->GetQuantiList()}; push @{$values}, @{$present_node->GetQuantiList()};
push @{$groups}, $present_node->NbQuanti(); push @{$groups}, $present_node->NbQuanti();
$nb_term++; $nb_term++;
} else { } else {
for my $child ($present_node->GetChildrenList()) { for my $child ($present_node->GetChildrenList()) {
FillTableaux($child, $value, $groups, $nb_term); FillTableaux($child, $values, $groups, $nb_term);
} }
} }
......
...@@ -1039,7 +1039,7 @@ sub SwitchRoot { ...@@ -1039,7 +1039,7 @@ sub SwitchRoot {
} }
################################################################ ################################################################
###################### ASSOCIATION TEST ######################## #################### TRAITE PLS FICHIERS #######################
################################################################ ################################################################
sub TraiteSeveralFiles sub TraiteSeveralFiles
...@@ -1058,7 +1058,7 @@ sub TraiteSeveralFiles ...@@ -1058,7 +1058,7 @@ sub TraiteSeveralFiles
$pmin_min = $res_files->[$i]->{"pmin"}; $pmin_min = $res_files->[$i]->{"pmin"};
} }
} }
print "La pmin minimale est $pmin_min\n"; print "La pmin minimale est $pmin_min, la taille de la distrib pmin est ", scalar(@distrib), "\n";
# sort {$a <=> $b} @distrib; # trie du plus petit au plus grand # sort {$a <=> $b} @distrib; # trie du plus petit au plus grand
my $compte=0; my $compte=0;
...@@ -1516,16 +1516,18 @@ sub main ...@@ -1516,16 +1516,18 @@ sub main
my $racine=$tree->GetRoot(); my $racine=$tree->GetRoot();
my @children=$racine->GetChildrenList(); my @children=$racine->GetChildrenList();
{
my $mat; # EN DEVELOPPEMENT: NANOVA
print "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\n"; # {
$mat=ALTree::Nanova::Tree2mat($tree->GetRoot()); # my $mat;
ALTree::Nanova::WriteMat($mat); # print "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\n";
my $values = []; # $mat=ALTree::Nanova::Tree2mat($tree->GetRoot());
my $groups = []; # ALTree::Nanova::WriteMat($mat);
my $nb_term=0; # my $values = [];
FillTableaux($tree->GetRoot(), $values, $groups, $nb_term); # my $groups = [];
} # my $nb_term=0;
# FillTableaux($tree->GetRoot(), $values, $groups, $nb_term);
# }
$option_require->("permutations", $option_require->("permutations",
"The number of permutations used to calculate". "The number of permutations used to calculate".
...@@ -1596,65 +1598,72 @@ sub main ...@@ -1596,65 +1598,72 @@ sub main
} }
} }
} }
} print "tab_trees @trees\n";
if ($nb_files>1) {
my $p_finale = TraiteSeveralFiles(\@res_files, $nb_files);
print "\n############################################\n";
print "p_value for the $nb_files files = $p_finale\n";
}
########################################################### ###########################################################
# Let's go. Et pour la localisation # Let's go. Et pour la localisation
########################################################### ###########################################################
if ($s_loc==1) { print "tabtrees @trees\n";
#$option_require->("splitmode"); if ($s_loc==1) {
#my($splitmode)=$option_value->("splitmode"); #$option_require->("splitmode");
print "Localisation method using S-character\n"; #my($splitmode)=$option_value->("splitmode");
$option_require->("s-site-number"); print "Localisation method using S-character\n";
my($s_site_nb)=$option_value->("s-site-number"); $option_require->("s-site-number");
$option_require->("s-site-characters"); my($s_site_nb)=$option_value->("s-site-number");
my($s_char_state)=$option_value->("s-site-characters"); $option_require->("s-site-characters");
$option_require->("co-evo"); my($s_char_state)=$option_value->("s-site-characters");
my($co_evo_type)=$option_value->("co-evo"); $option_require->("co-evo");
my($co_evo_type)=$option_value->("co-evo");
# print "co_evo_type=$co_evo_type\n"; # print "co_evo_type=$co_evo_type\n";
#DEBUG print "s_char_state=$s_char_state\n";
if (not ($s_char_state =~
m/([A-Za-z0-9]+)\s*[-=_]*[>]\s*([A-Za-z0-9]+)/)) {
erreur("Invalid character change for character".
" S. It should be Anc -> Der\n", 0);
}
my($s_anc)=$1;
my($s_der)=$2;
my($s_state)= ALTree::Sens->New($s_anc." --> ".$s_der);
my($foret)=ALTree::Foret->New();
#$Data::Dumper::Indent = 0;
for my $file_tree (@trees) {
my $tree=$file_tree->{"tree"};
my ($b_t)=$tree->GetNbBrNonNulle();
my $site=$tree->GetSite($s_site_nb); #DEBUG print "s_char_state=$s_char_state\n";
if (not defined($site)) { if (not ($s_char_state =~
erreur("Invalid value ($s_site_nb) for". m/([A-Za-z0-9]+)\s*[-=_]*[>]\s*([A-Za-z0-9]+)/)) {
" --s-site-number\n", 0); erreur("Invalid character change for character".
" S. It should be Anc -> Der\n", 0);
} }
my($s_anc)=$1;
my($s_der)=$2;
my($s_state)= ALTree::Sens->New($s_anc." --> ".$s_der);
my($foret)=ALTree::Foret->New();
my($s_t, $s_t_rev)=CalculateRit($tree, $s_site_nb, $s_state, #$Data::Dumper::Indent = 0;
$co_evo_type); for my $file_tree (@trees) {
CalculateEit($tree, $s_site_nb, $s_t, $s_t_rev, $b_t); my $tree=$file_tree->{"tree"};
$foret->AddTree($tree);
my ($b_t)=$tree->GetNbBrNonNulle();
my $site=$tree->GetSite($s_site_nb);
if (not defined($site)) {
erreur("Invalid value ($s_site_nb) for".
" --s-site-number\n", 0);
}
print "TREE1, $tree\n";
my($s_t, $s_t_rev)=CalculateRit($tree, $s_site_nb, $s_state,
$co_evo_type);
print "TREE2, $tree\n";
CalculateEit($tree, $s_site_nb, $s_t, $s_t_rev, $b_t);
print "TREE3, $tree\n";
$foret->AddTree($tree);
print "TREE4, $tree\n";
}
$foret->CalculVi();
#PrintAllVi($foret, $s_site_nb);# Non tri
#PrintViMax($foret, $s_site_nb); # Affiche la liste en choisissant
#pour chaque sit, juste le meilleur sens
print "\n";
print "Results:\n";
PrintViMaxSens($foret, $s_site_nb);
} }
$foret->CalculVi(); }
#PrintAllVi($foret, $s_site_nb);# Non tri if ($nb_files>1) {
#PrintViMax($foret, $s_site_nb); # Affiche la liste en choisissant my $p_finale = TraiteSeveralFiles(\@res_files, $nb_files);
#pour chaque sit, juste le meilleur sens print "\n############################################\n";
print "\n"; print "p_value for the $nb_files files = $p_finale\n";
print "Results:\n";
PrintViMaxSens($foret, $s_site_nb);
} }
} }
} }
......
...@@ -41,9 +41,9 @@ sub ReadCorrespond ...@@ -41,9 +41,9 @@ sub ReadCorrespond
if ($ligne =~ /^$/) { if ($ligne =~ /^$/) {
next; next;
} }
###### Qualitative data ###### ####### Qualitative data ######
if ($data_qual eq "qualitative") { if ($data_qual eq "quali") {
@tableau=split(/\s+/, $ligne); @tableau=split(/\s+/, $ligne);
if ($#tableau != 2) { if ($#tableau != 2) {
die "error in $name_correspond: not 3 columns at line '$ligne'\n"; die "error in $name_correspond: not 3 columns at line '$ligne'\n";
...@@ -54,7 +54,8 @@ sub ReadCorrespond ...@@ -54,7 +54,8 @@ sub ReadCorrespond
die "You have probably exchanged the order of cases and controls in file $name_correspond. It should be: haplo_name m_case_number c_control_number\n"; die "You have probably exchanged the order of cases and controls in file $name_correspond. It should be: haplo_name m_case_number c_control_number\n";
} }
$correspondance{$tableau[0]}->{"case"}=$tableau[1]+0; $correspondance{$tableau[0]}->{"case"}=$tableau[1]+0;
$correspondance{$tableau[0]}->{"control"}=$tableau[2]+0; $correspondance{$tableau[0]}->{"control"}=$tableau[2]+0;
} }
} else { } else {
##### Quantitative data ####### ##### Quantitative data #######
...@@ -244,7 +245,7 @@ sub travail ...@@ -244,7 +245,7 @@ sub travail
# print "$nom\n"; # print "$nom\n";
###### QUALITATIVE ###### ###### QUALITATIVE ######
if ($data_qual eq "qualitative") { if ($data_qual eq "quali") {
if (not exists ($correspondance->{$nom})){ if (not exists ($correspondance->{$nom})){
print STDERR "$nom is not found in the file $name_correspond. Assuming it is the outgroup.\nThe number of cases and controls affected to this sequence is set to 0\n"; print STDERR "$nom is not found in the file $name_correspond. Assuming it is the outgroup.\nThe number of cases and controls affected to this sequence is set to 0\n";
$correspondance->{$nom}->{"case"}=0; $correspondance->{$nom}->{"case"}=0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment