Repository 'vigiechiro_bilanenrichipf'
hg clone https://toolshed.g2.bx.psu.edu/repos/ecology/vigiechiro_bilanenrichipf

Changeset 1:775809e2f6c8 (2019-04-26)
Previous changeset 0:823a09219c00 (2019-03-13) Next changeset 2:911f80dce38d (2019-06-05)
Commit message:
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit 7ef0e58cbcbf41088e359f00b6c86504c773c271
modified:
BilanEnrichiPF.R
BilanEnrichiPFen.xml
SpeciesList.csv
test-data/BilanEnrichiPF_Test1.tabular
test-data/BilanEnrichiPF_Test1_out_tab.tabular
vigiechiro_macros.xml
b
diff -r 823a09219c00 -r 775809e2f6c8 BilanEnrichiPF.R
--- a/BilanEnrichiPF.R Wed Mar 13 11:18:11 2019 -0400
+++ b/BilanEnrichiPF.R Fri Apr 26 12:19:29 2019 -0400
[
b'@@ -1,229 +1,237 @@\n+#!/usr/bin/env Rscript\n+\n+args <- commandArgs(trailingOnly = TRUE)\n+\n+#print(args)\n+\n+EchelleErreur=c("","POSSIBLE","PROBABLE","SUR")\n+EchelleNumErreur=c(99,50,10,1)\n+\n suppressMessages(library(data.table))\n suppressMessages(library(DT))\n suppressMessages(library(htmlwidgets))\n \n f2p <- function(x) #get date-time data from recording file names\n {\n-  if (is.data.frame((x)[1])) {pretemps <- vector(length = nrow(x))}\n+  if (is(x)[1] == "data.frame") {pretemps <- vector(length = nrow(x))}\n   op <- options(digits.secs = 3)\n   pretemps <- paste(substr(x, nchar(x) - 18, nchar(x)-4), ".", substr(x, nchar(x) - 2, nchar(x)), sep = "")\n   strptime(pretemps, "%Y%m%d_%H%M%OS",tz="UTC")-7200\n }\n \n-args <- commandArgs(trailingOnly = TRUE)\n-EchelleErreur=c("NA","POSSIBLE","PROBABLE","SUR")\n-EchelleNumErreur=c(99,50,10,1)\n+\n \n-   \n IdC2=fread(args[1])\n-refPF=fread(args[2])\n-GroupList=fread(args[3])\n \n if(substr(IdC2$`nom du fichier`[1],2,2)!="a")\n {\n-  print("Protocole non conforme, ce script doit etre lance pour un protocole Point Fixe")\n+#  print("Protocole non conforme, ce script doit etre lance uniquement pour un protocole Point Fixe")\n+  print("Wrong protocol, please only use this tool for a \\\'Point Fixe\\\' protocol.")\n }else{\n+  refPF=fread(args[2])\n+  GroupList=fread(args[3])\n+  \n+  IdC2$ConfV[is.na(IdC2$ConfV)]=""\n+  \n+  \n+  #compute error risk by species (minimum error among files)\n+  #to be replaced by glm outputs if I\'ll have time\n+  RisqueErreurT=aggregate(IdC2$IdProb,by=list(IdC2$IdExtrap)\n+                          ,FUN=function(x) round((1-max(x))*100))\n+  barplot(RisqueErreurT$x,names.arg=RisqueErreurT$Group.1,las=2)\n+  #compute error risk accoring to observer/validator (a little dirty because it relies on alphabetical order of confidence classes: POSSIBLE < PROBABLE < SUR)\n+  RisqueErreurOV0=match(IdC2$ConfV,EchelleErreur)\n+  RisqueErreurOV=aggregate(RisqueErreurOV0,by=list(IdC2$IdExtrap)\n+                           ,FUN=max) \n+  RisqueErreurOV2=EchelleNumErreur[RisqueErreurOV$x]\n+  #compute minimum error risk between man and machine\n+  RisqueErreur=pmin(RisqueErreurT$x,RisqueErreurOV2)\n+  \n+  #compute number of files validated per species\n+  FichValid=aggregate(IdC2$IdV,by=list(IdC2$IdExtrap,IdC2$\'nom du fichier\')\n+                      ,FUN=function(x) sum(x!="")) \n+  NbValid2=aggregate(FichValid$x,by=list(FichValid$Group.1),FUN=function(x) sum(x>0))\n   \n-\n-#compute error risk by species (minimum error among files)\n-#to be replaced by glm outputs if I\'ll have time\n-RisqueErreurT=aggregate(IdC2$IdProb,by=list(IdC2$IdExtrap),FUN=function(x) ceiling((1-max(x-0.0001))*100))\n-\n-#barplot(RisqueErreurT$x,names.arg=RisqueErreurT$Group.1,las=2)\n-#compute error risk accoring to observer/validator (a little dirty because it relies on alphabetical order of confidence classes: POSSIBLE < PROBABLE < SUR)\n-RisqueErreurOV0=match(IdC2$ConfV,EchelleErreur)\n-RisqueErreurOV=aggregate(RisqueErreurOV0,by=list(IdC2$IdExtrap)\n-                         ,FUN=max) \n-RisqueErreurOV2=EchelleNumErreur[RisqueErreurOV$x]\n-#compute minimum error risk between man and machine\n-RisqueErreur=pmin(RisqueErreurT$x,RisqueErreurOV2,na.rm=TRUE)\n-\n-#compute number of files validated per species\n-FichValid=aggregate(IdC2$IdV,by=list(IdC2$IdExtrap,IdC2$\'nom du fichier\')\n-                                 ,FUN=function(x) sum(!is.na(x))) \n-NbValid2=aggregate(FichValid$x,by=list(FichValid$Group.1),FUN=function(x) sum(x>0))\n-\n-DiffC50=vector() # to store the median of confidence difference between unvalidated records and validated ones\n-DiffT50=vector() # to store the median of time difference between unvalidated records and validated ones\n-for (j in 1:nlevels(as.factor(IdC2$IdExtrap)))\n-{\n-  IdSp=subset(IdC2\n-              ,IdC2$IdExtrap==levels(as.factor(IdC2$IdExtrap))[j])\n-  IdSp=IdSp[order(IdSp$IdProb),]\n-  IdSpV=subset(IdSp,!is.na(IdSp$IdV))\n-  if(nrow(IdSpV)>0)\n+  DiffC50=vector() # to store the median of confidence difference between unvalidate'..b'ns = "Effort de validation", \n-              background = styleEqual(c("-","FAIBLE","SUFFISANT","FORT"), c("white", "cyan", "royalblue", "darkblue"))) %>%\n-  formatStyle(columns = c("Nb de Contacts par Nuit","Niveau d\'Activite"),valueColumns="Niveau d\'Activite",\n-              background = styleEqual(c("FAIBLE","MODEREE","FORTE","TRES FORTE"), c("palegoldenrod", "greenyellow", "limegreen", "darkgreen")))\n-\n-saveWidget(SummHTML,"output-summary.html")\n-write.table(SummPart,"output-summary.tabular",sep="\\t",row.names=F,quote=FALSE)\n-\n-#compute number of files validated per night/hour\n-IdC2$Heure=sapply(IdC2$`nom du fichier`,FUN=function(x) substr(x,nchar(x)-9,nchar(x)-8))\n-\n-ActNuit=aggregate(IdC2$`nom du fichier`,by=list(IdC2$IdExtrap,IdC2$Session),FUN=length)\n-ListSpref=match(ActNuit$Group.1,refPF$Espece)\n-Subref=refPF[ListSpref]\n-\n-\n-QualifActN=vector()\n-for (k in 1:nrow(ActNuit))\n-{\n-  if(is.na(Subref$Q25[k]))\n-  {\n-    QualifActN=c(QualifActN,NA)\n-  }else{\n-    cuts=cbind(-Inf,as.numeric(Subref$Q25[k]),as.numeric(Subref$Q75[k])\n-               ,as.numeric(Subref$Q98[k]),Inf)\n-    \n-    QualifActN=c(QualifActN,findInterval(ActNuit$x[k],cuts,left.open=T))\n-  }\n-}\n-ActNuit$QualifActN=QualifActN\n-\n-ActNuitT=dcast(data=ActNuit,formula=Group.1~Group.2\n-              ,value.var="x")\n-ActNuitT[is.na(ActNuitT)]=0\n-RefNuitT=dcast(data=ActNuit,formula=Group.1~Group.2\n-               ,value.var="QualifActN")\n-ARNuit=merge(ActNuitT,RefNuitT,by="Group.1")\n-\n-SummPartshort=cbind(SummPart[,c(1:5)],TriGroupe=SummPart[,TriGroupe])\n-SummPartN=merge(SummPartshort,ARNuit,by.x="Code",by.y="Group.1")\n-SummPartN=SummPartN[order(TriGroupe,decreasing=T),]\n-\n-test=grepl(".x",colnames(SummPartN))\n-colnames(SummPartN)=mapply(FUN=function(x,y) if(y){substr(x,1,2)}else{x}\n-                           ,colnames(SummPartN),test)\n-ListNuit=subset(colnames(SummPartN),test)\n-ListRef=subset(colnames(SummPartN),grepl(".y",colnames(SummPartN)))\n-testHide=match(ListRef,colnames(SummPartN))-1\n-#to do: extend colors to other columns to improve readability\n-SummHTMLN=datatable(SummPartN, rownames = FALSE,options = list(\n-  columnDefs = list(list(targets = testHide,visible = FALSE)))) %>%\n-  formatStyle(columns = c("Code","Groupe","Nom francais","Nom scientifique","Risque d\'erreur (%)"),valueColumns="Risque d\'erreur (%)", \n-              background = styleInterval(c(1, 10, 50), c("white", "khaki", "orange", "orangered"))) %>%\n-  formatStyle(columns = ListNuit,valueColumns=ListRef, \n-              background = styleEqual(c(1,2,3,4), c("palegoldenrod", "greenyellow", "limegreen", "darkgreen")))\n-\n-saveWidget(SummHTMLN,"output-nightly.html")\n-write.table(SummPartN,"output-nightly.tabular",sep="\\t",row.names=F,quote=FALSE)\n-\n-\n-#summary by hour\n-ActMoyH=dcast(data=IdC2,formula=IdExtrap~Heure\n-              ,fun.aggregate=length)\n-ActMoyHA=aggregate(IdC2$`nom du fichier`\n-                   ,by=list(IdC2$IdExtrap,IdC2$Heure)\n-                   ,FUN=length)\n-\n-test=(as.numeric(colnames(ActMoyH))>12)\n-ColDebut=subset(colnames(ActMoyH),test)\n-ColFin=subset(colnames(ActMoyH),test==F)\n-ListH=c(ColDebut,ColFin)\n-neworder=c("IdExtrap",ColDebut,ColFin)\n-ActMoyH=ActMoyH[,..neworder]\n-\n-SummPartH=merge(SummPartshort,ActMoyH,by.x="Code",by.y="IdExtrap")\n-SummPartH=SummPartH[order(TriGroupe,decreasing=T),]\n-\n-\n-brks <- quantile(ActMoyHA$x, probs = seq(.05, .95, .05), na.rm = TRUE)-1\n-clrs <- round(seq(255, 40, length.out = length(brks) + 1), 0) %>%\n-{paste0("rgb(255,", ., ",", ., ")")}\n-\n-\n-SummHTMLH=datatable(SummPartH, rownames = FALSE) %>%\n-  formatStyle(columns = c("Code","Groupe","Nom francais","Nom scientifique","Risque d\'erreur (%)"),valueColumns="Risque d\'erreur (%)", \n-              background = styleInterval(c(1, 10, 50), c("white", "khaki", "orange", "orangered"))) %>%\n-  formatStyle(columns=ListH, backgroundColor = styleInterval(brks, clrs))\n-\n-saveWidget(SummHTMLH,"output-hourly.html")\n-write.table(SummPartH,"output-hourly.tabular",sep="\\t",row.names=F,quote=FALSE)\n-\n-}\n'
b
diff -r 823a09219c00 -r 775809e2f6c8 BilanEnrichiPFen.xml
--- a/BilanEnrichiPFen.xml Wed Mar 13 11:18:11 2019 -0400
+++ b/BilanEnrichiPFen.xml Fri Apr 26 12:19:29 2019 -0400
[
@@ -3,8 +3,9 @@
     <macros>
         <import>vigiechiro_macros.xml</import>
     </macros>   
-
-    <expand macro="vigiechiro_bilanPF_bilanRP_requirements" />
+    <expand macro="vigiechiro_requirements">
+        <expand macro="vigiechiro_bilanenrichi_requirements"/>
+    </expand>
     <command detect_errors="exit_code"><![CDATA[
         Rscript '$__tool_directory__/BilanEnrichiPF.R' 
             '$idc2' 
b
diff -r 823a09219c00 -r 775809e2f6c8 SpeciesList.csv
--- a/SpeciesList.csv Wed Mar 13 11:18:11 2019 -0400
+++ b/SpeciesList.csv Fri Apr 26 12:19:29 2019 -0400
b
b"@@ -1,214 +1,390 @@\n-Esp;Nesp;France;Turquie;Espagne;Norfolk;Scientific name;Group;NomFR;GroupFR\n-Aegcau;piaf;x;x;x;x;Aegithalos caudatus;bird;M\xe9sange \xe0 longue queue;Autre\n-Alcatt;piaf;x;x;x;x;Alcedo atthis;bird;Martin-p\xeacheur d'Europe;Autre\n-amph;amph;x;x;x;x;Amphibia sp.;frog;Amphibien sp.;Autre\n-Antius;Antius;x;;x;;Antaxius spinibrachius;bush-cricket;Antaxie voyageuse;Sauterelle\n-Antped;Antped;x;;;;Antaxius pedestris;bush-cricket;Antaxie marbree;Sauterelle\n-Antpet;piaf;x;x;;;Anthus petrosus;bird;Pipit maritime;Autre\n-Antsor;Antsor;x;;;;Antaxius sorrezensis;bush-cricket;Antaxie cevenole;Sauterelle\n-Apoagr;Aposp;x;;;;Apodemus agrarius;other mammal;Mulot ray\xe9;Autre\n-Apofla;Aposp;x;x;x;;Apodemus flavicollis;other mammal;Mulot \xe0 collier;Autre\n-Aposp;Aposp;x;x;x;x;Apodemus sp.;other mammal;Mulot sp.;Autre\n-Aposyl;Aposp;x;x;x;x;Apodemus sylvaticus;other mammal;Mulot sylvestre;Autre\n-Apuapu;piaf;x;x;x;x;Apus apus;bird;Martinet noir;Autre\n-Barbar;Barbar;x;x;x;x;Barbastella barbastellus;bat;Barbastelle d'Europe;Chauve-souris\n-Barfis;Barfis;x;;;;Barbitistes fischeri;bush-cricket;Barbitiste languedocien;Sauterelle\n-Barsan;Barsan;x;;x;;Barbitistes 'sanzii';bush-cricket;Barbitiste cryptique;Sauterelle\n-Barser;Barser;x;;x;;Barbitistes serricauda;bush-cricket;Barbitiste des bois;Sauterelle\n-Bicbic;Bicbic;x;;x;;Bicolorana bicolor;bush-cricket;Decticelle bicolore;Sauterelle\n-buzz;noise;x;x;x;x;insect wingbeats;noise;bourdonnement;Autre\n-car;noise;x;x;x;x;vehicle;noise;v\xe9hicule;Autre\n-Carcar;piaf;x;x;x;x;Carduelis carduelis;bird;Chardonneret \xe9l\xe9gant;Autre\n-Cerbra;piaf;x;x;x;x;Certhia brachydactyla;bird;Grimpereau des jardins;Autre\n-Cetcet;piaf;x;x;x;x;Cettia cettia;bird;Bouscarle de Cetti;Autre\n-chirp;chirp;x;;;;chirp;noise;chirp;Autre\n-Chlchl;piaf;x;x;x;x;Chloris chloris;bird;Verdier d'Europe;Autre\n-Chovag;criq;x;x;x;x;Chorthippus vagans;grasshopper;Criquet des pins;Autre\n-Cicatr;Cicatr;x;x;x;;Cicadatra atra;cicada;Cigale noire;Autre\n-Cicorn;Cicorn;x;x;x;;Cicada orni;cicada;Cigale grise;Autre\n-Cisjun;piaf;x;x;x;x;Cisticola juncidis;bird;Cisticole des joncs;Autre\n-Concon;Concon;x;x;x;;Conocephalus conocephalus;bush-cricket;Conoc\xe9phale africain;Sauterelle\n-Condor;Condor;x;x;x;x;Conocephalus dorsalis;bush-cricket;Conocephale des marais;Sauterelle\n-Confus;Confus;x;;x;x;Conocephalus fuscus;bush-cricket;Conocephale bigarre;Sauterelle\n-Corcho;Epheph;x;;;;Corsteropleurus chopardi;bush-cricket;Ephippig\xe8re corse;Sauterelle\n-Cornix;piaf;x;x;x;x;Corvus cornix;bird;Corneille mantel\xe9e;Autre\n-criq;criq;x;x;x;x;Caelifera sp.;grasshopper;Criquet sp.;Autre\n-Crorus;Mussp;x;x;x;x;Crocidura russula;other mammal;Crocidure musette;Autre\n-Cyacae;piaf;x;x;x;x;Cyanistes caerulea;bird;M\xe9sange bleue;Autre\n-Cympud;Cympud;x;;x;;Cymbalophora pudica;moth;Ecaille pudique;Autre\n-Cyrscu;Cyrscu;x;;x;;Cyrtaspis scutatus;bush-cricket;Meconeme a bouclier;Sauterelle\n-Decalb;Decalb;x;x;x;;Decticus albifrons;bush-cricket;Dectique a front blanc;Sauterelle\n-Denmaj;piaf;x;x;x;x;Dendrocopos major;bird;Pic \xe9peiche;Autre\n-elec;noise;x;x;x;x;electronical noise;noise;parasite;Autre\n-Embcae;piaf;x;x;x;x;Emberiza caesia;bird;Bruant cendrillard;Autre\n-Embcal;piaf;x;x;x;x;Emberiza calandra;bird;Bruant proyer;Autre\n-Embcir;piaf;x;x;x;x;Emberiza cirlus;bird;Bruant zizi;Autre\n-Embcit;piaf;x;x;x;x;Emberiza citrinella;bird;Bruant jaune;Autre\n-Epheph;Epheph;x;;x;;Ephippiger ephippiger;bush-cricket;Ephippigere des vignes;Sauterelle\n-Eptana;Eptnil;x;x;;;Eptesicus anatolicus;bat;Serotine d'Anatolie;Chauve-souris\n-Eptisa;Eptisa;;;x;;Eptesicus isabellinus;bat;Serotine isabelle;Chauve-souris\n-Eptnil;Eptnil;x;;x;;Eptesicus nilssonii;bat;S\xe9rotine bor\xe9ale;Chauve-souris\n-Eptser;Eptser;x;x;x;x;Eptesicus serotinus;bat;Serotine commune;Chauve-souris\n-Erirub;piaf;x;x;x;x;Erithacus rubecula;bird;Rougegorge familier;Autre\n-Euccho;criq;x;x;x;x;Euchorthippus chopardii;grasshopper;Criquet des bragalous;Autre\n-Eumbor;gril;x;x;x;;Eumodycogryllus bordigalensis;ground-cricket;Grillon bordelais;Autre\n-Eupcha;Eupsp;x;x;;;Eu"..b"ubetra;bird;Tarier des pr\xe9s;Autre\n+Saxrubi;piaf;piaf;x;;;x;Saxicola rubicola;bird;Tarier p\xe2tre;Autre\n+Scorus;piaf;piaf;x;;;x;Scolopax rusticola;bird;B\xe9casse des bois;Autre\n+Sepsep;Sepsep;Sepsep;x;;x;;Sepiana sepium;bush-cricket;Decticelle echassiere;Sauterelle\n+Serser;piaf;piaf;x;x;x;x;Serinus serinus;bird;Serin cini;Autre\n+Siteur;piaf;piaf;x;x;x;x;Sitta europaea;bird;Sittelle torchepot;Autre\n+Sorcor;Mussp;Mussp;x;x;x;x;Soricinus coronatus;other mammal;Musaraigne couronn\xe9e;Autre\n+Spispi;piaf;piaf;x;;;x;Spinus spinus;bird;Tarin des aulnes;Autre\n+Stralu;piaf;piaf;x;x;x;x;Strix aluco;bird;Chouette hulotte;Autre\n+Strdec;piaf;piaf;x;x;x;;Streptopelia decaocto;bird;Tourterelle turque;Autre\n+Stuvul;piaf;piaf;x;x;x;x;Sturnus vulgaris;bird;Etourneau sansonnet;Autre\n+Susscr;Susscr;Susscr;x;;;;Sus scrofa;other mammal;Sanglier;Autre\n+Sylatr;piaf;piaf;x;x;x;x;Sylvia atricapilla;bird;Fauvette \xe0 t\xeate noire;Autre\n+Sylbor;piaf;piaf;x;;;x;Sylvia borin;bird;Fauvette des jardins;Autre\n+Sylcan;piaf;piaf;x;;;;Sylvia cantillans;bird;Fauvette passerinette;Autre\n+Sylcom;piaf;piaf;x;x;x;x;Sylvia communis;bird;Fauvette grisette;Autre\n+Sylcur;piaf;piaf;x;;;x;Sylvia curruca;bird;Fauvette babillarde;Autre\n+Sylmel;piaf;piaf;x;x;x;x;Sylvia melanocephala;bird;Fauvette m\xe9lanoc\xe9phale;Autre\n+Sylund;piaf;piaf;x;;;x;Sylvia undata;bird;Fauvette pitchou;Autre\n+Tadten;Tadten;Tadten;x;x;x;;Tadarida teniotis;bat;Molosse;Chauve-souris\n+Tamsib;Tamsib;Tamsib;x;;;;Tamias sibiricus;other mammal;Tamia de Sib\xe9rie;Autre\n+Tesori;Tesori;Tesori;;;;;Tessellana orina;bush-cricket;Decticelle orina;Sauterelle\n+Testes;Testes;Testes;x;x;x;;Tessellana tessellata;bush-cricket;Decticelle carroyee;Sauterelle\n+Tetarg;Tetarg;Tetarg;x;;x;;Tettigetta argentata;cicada;Cigale argentee;Autre\n+Tetcan;Tetcan;Tetvir;x;x;x;;Tettigonia cantans;bush-cricket;Sauterelle cymbaliere;Sauterelle\n+Tethis;Tethis;Tetvir;;;x;;Tettigonia hispanica;bush-cricket;Sauterelle hispanique;Sauterelle\n+Tetpyg;Tetpyg;Tetpyg;x;;x;;Tettigetta pygmea;cicada;Cigale pygmee;Autre\n+Tetvir;Tetvir;Tetvir;x;x;x;x;Tettigonia viridissima;bush-cricket;Sauterelle verte;Sauterelle\n+Thycor;Thycor;Thycor;x;;x;;Thyreonotus corsicus;bush-cricket;Decticelle marocaine;Sauterelle\n+Trineb;piaf;piaf;x;;;x;Tringa nebularia;bird;Chevalier aboyeur;Autre\n+Trioch;piaf;piaf;x;;;x;Tringa ochropus;bird;Chevalier culblanc;Autre\n+Tritot;piaf;piaf;x;;;x;Tringa totanus;bird;Chevalier gambette;Autre\n+Trotro;piaf;piaf;x;x;x;x;Troglodytes troglodytes;bird;Troglodyte mignon;Autre\n+Turili;piaf;piaf;x;;;x;Turdus iliacus;bird;Grive mauvis;Autre\n+Turmer;piaf;piaf;x;x;x;x;Turdus merula;bird;Merle noir;Autre\n+Turphi;piaf;piaf;x;x;x;x;Turdus philomelos;bird;Grive musicienne;Autre\n+Turpil;piaf;piaf;x;x;x;x;Turdus pilaris;bird;Grive litorne;Autre\n+Turvis;piaf;piaf;x;;;x;Turdus viscivorus;bird;Grive draine;Autre\n+Tyllil;Tyllil;Tyllil;x;x;x;;Tylopsis lilifolia;bush-cricket;Phaneroptere liliace;Sauterelle\n+Tytalb;piaf;piaf;x;;;x;Tyto alba;bird;Effraie des clochers;Autre\n+Urobre;Urosp;Urosp;x;;;;Uromenus brevicollis;bush-cricket;Ephippig\xe8re d'Alg\xe9rie;Sauterelle\n+Urorug;Urosp;Urosp;x;;x;;Uromenus rugosicollis;bush-cricket;Ephippigere carenee;Sauterelle\n+Urosp;Urosp;Urosp;x;x;;;Uromenus sp.;bush-cricket;Ephippig\xe8re car\xe9n\xe9e/d'Alg\xe9rie;Sauterelle\n+Vanvan;piaf;piaf;x;;;x;Vanellus vanellus;bird;Vanneau hupp\xe9;Autre\n+Vesmur;Vesmur;Vesmur;x;x;x;;Vespertilio murinus;bat;Serotine bicolore;Chauve-souris\n+Vulvul;Vulvul;Vulvul;x;;;x;Vulpes vulpes;other mammal;Renard roux;Autre\n+wind;noise;noise;x;x;x;x;wind;noise;vent;Autre\n+wings;wings;wings;x;;;x;wings;noise;battements;Autre\n+Xencin;piaf;piaf;x;x;x;x;Xenus cinereus;bird;Chevalier bargette;Autre\n+Yerbey;Yerbey;Yerbey;x;;;;Yersinella beybienkoi;bush-cricket;Decticelle italienne;Sauterelle\n+Yerray;Yerray;Yerray;x;;x;;Yersinella raymondii;bush-cricket;Decticelle frele;Sauterelle\n+Yposp;Yposp;Yposp;x;x;x;x;Yponomeuta sp.;moth;Hyponomeute sp.;Autre\n+Zeuabb;Metbra;Metbra;x;;x;;Zeuneriana abbreviata;bush-cricket;Decticelle aquitaine;Sauterelle\n"
b
diff -r 823a09219c00 -r 775809e2f6c8 test-data/BilanEnrichiPF_Test1.tabular
--- a/test-data/BilanEnrichiPF_Test1.tabular Wed Mar 13 11:18:11 2019 -0400
+++ b/test-data/BilanEnrichiPF_Test1.tabular Fri Apr 26 12:19:29 2019 -0400
b
b'@@ -1,1119 +1,2575 @@\n-nom du fichier\ttadarida_taxon\ttemps_debut\ttemps_fin\tfrequence_mediane\ttadarida_probabilite\ttadarida_taxon_autre\tobservateur_taxon\tobservateur_probabilite\tvalidateur_taxon\tvalidateur_probabilite\tparticipation\tamph\tAntius\tAntped\tAntsor\tAposp\tBarbar\tBarfis\tBarsan\tBarser\tBicbic\tchirp\tCicatr\tCicorn\tConcon\tConfus\tCorcho\tcriq\tCympud\tCyrscu\tDecalb\tEpheph\tEptnil\tEptser\tEupsp\tgril\tHypsav\tInsp11\tInsp12\tInssp5\tInssp6\tInssp7\tInssp8\tInssp9\tIsopyr\tLamsp.\tLeppun\tLyrple\tmamm\tMetsau\tMicagr\tMinsch\tMussp\tMyoalc\tMyobec\tMyobra\tMyocap\tMyodas\tMyodau\tMyoema\tMyoGT\tMyomys\tMyonat\tnoise\tNyclas\tNyclei\tNycnoc\tOrtsp.\tPhafal\tPhanan\tPhofem\tPhogri\tpiaf\tPipkuh\tPipnat\tPippip\tPippyg\tPlaaff\tPlaalb\tPlafal\tPlaint\tPlasab\tPleaur\tPleaus\tPlemac\tPtebon\tPtecor\tPteger\tPtepon\tRatnor\tRhieur\tRhifer\tRhihip\tRoeroe\tRusnit\tSepsep\tTadten\tTestes\tTetcan\tTetpyg\tTetvir\tThycor\tTyllil\tUrobre\tUrorug\tVesmur\tYerbey\tYerray\tZeuabb\tProbEsp_C2bs\tIdScore\tIdProb\tIdV\tConfV\tSession\tTimeNum\tIdExtrap\tTypeE\n-Car470026-2017-Pass1-Z1-CEN2-S2U17907_20170620_212736_466\tnoise\t0\t3.4\t8\t0.54\tpiaf, Tetvir, Tadten, Phogri\tNA\tNA\tNA\tNA\tIdCor2La\t0.014\t0\t0.002\t0\t0\t0.002\t0.008\t0\t0\t0\t0\t0\t0\t0\t0.002\t0\t0\t0\t0\t0.008\t0.006\t0\t0.004\t0.002\t0.018\t0.002\t0\t0.02\t0\t0\t0\t0\t0\t0.002\t0.016\t0.012\t0.006\t0.01\t0\t0.002\t0\t0\t0.022\t0\t0\t0.002\t0\t0.004\t0\t0.002\t0\t0.006\t0.32\t0.006\t0.024\t0.006\t0\t0.012\t0.018\t0.016\t0.016\t0.072\t0.004\t0.004\t0.01\t0.006\t0.008\t0.006\t0\t0.01\t0\t0\t0\t0.002\t0\t0\t0\t0\t0\t0\t0\t0\t0.022\t0.004\t0.002\t0.018\t0.01\t0.004\t0\t0.22\t0\t0.002\t0\t0.002\t0\t0\t0.004\t0\tnoise\t0.32\t0.535772632896184\tNA\tNA\t20/06/2017\t1497986856.466\tnoise\t0\n-Car470026-2017-Pass1-Z1-CEN2-S2U17907_20170620_214303_165\tpiaf\t0\t0.4\t9\t0.492\tPhogri\tNA\tNA\tNA\tNA\tIdCor2La\t0.016\t0\t0\t0\t0.046\t0\t0\t0\t0\t0.002\t0.002\t0\t0\t0.002\t0.002\t0\t0.002\t0\t0\t0.022\t0.002\t0\t0\t0.004\t0.046\t0\t0\t0.004\t0\t0\t0\t0\t0\t0\t0.004\t0\t0.002\t0.014\t0\t0\t0\t0.002\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.046\t0.006\t0.002\t0.002\t0\t0\t0\t0.082\t0.014\t0.608\t0.004\t0\t0.012\t0.002\t0.002\t0\t0\t0.002\t0\t0\t0.002\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.002\t0\t0\t0\t0.038\t0\t0.002\t0\t0.002\t0\t0\t0\t0\tpiaf\t0.608\t0.869163154548341\tNA\tNA\t20/06/2017\t1497987783.165\tpiaf\t0\n-Car470026-2017-Pass1-Z1-CEN2-S2U17907_20170620_220943_339\tTetvir\t0\t2.1\t10\t0.632\tnoise\tNA\tNA\tNA\tNA\tIdCor2La\t0.006\t0\t0\t0.024\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.002\t0\t0.002\t0\t0\t0\t0.006\t0.002\t0\t0\t0.016\t0.002\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.002\t0\t0.002\t0.002\t0\t0.002\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.038\t0.002\t0\t0.002\t0\t0.002\t0.006\t0.008\t0.01\t0.01\t0.002\t0.002\t0.006\t0\t0\t0\t0\t0.006\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.004\t0.002\t0\t0.002\t0.002\t0.004\t0\t0.82\t0.002\t0\t0\t0.002\t0\t0\t0\t0\tTetvir\t0.82\t0.994213383250455\tNA\tNA\t20/06/2017\t1497989383.339\tTetvir\t0\n-Car470026-2017-Pass1-Z1-CEN2-S2U17907_20170620_220946_143\tTetvir\t0\t2.1\t10\t0.686\tNA\tNA\tNA\tNA\tNA\tIdCor2La\t0.006\t0\t0\t0.018\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.002\t0\t0\t0\t0.006\t0.002\t0\t0\t0.016\t0.002\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.002\t0.002\t0.002\t0.002\t0\t0.002\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.036\t0\t0\t0.002\t0\t0.004\t0.006\t0.008\t0.008\t0.01\t0.004\t0.002\t0.004\t0\t0\t0\t0\t0.01\t0\t0\t0.002\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.004\t0.002\t0\t0.002\t0\t0.004\t0\t0.828\t0\t0\t0\t0.002\t0\t0\t0\t0\tTetvir\t0.828\t0.994696495235809\tNA\tNA\t20/06/2017\t1497989386.143\tTetvir\t0\n-Car470026-2017-Pass1-Z1-CEN2-S2U17907_20170620_220946_143\tnoise\t2\t2.1\t22\t0.628\tNA\tNA\tNA\tNA\tNA\tIdCor2La\t0.01\t0\t0.004\t0\t0.004\t0\t0.006\t0\t0\t0\t0\t0\t0\t0\t0.004\t0\t0\t0\t0.002\t0.004\t0.004\t0\t0.01\t0.002\t0.012\t0.004\t0\t0.016\t0\t0.002\t0\t0\t0\t0.006\t0.016\t0.014\t0.002\t0.004\t0\t0.01\t0.002\t0.002\t0.016\t0\t0\t0\t0\t0.002\t0\t0.004\t0\t0.006\t0.33\t0.008\t0.038\t0.008\t0\t0.042\t0.016\t0.022\t0.022\t0.018\t0.002\t0.004\t0.014\t0.018\t0.012\t0.008\t0.002\t0.012\t0\t0.002\t0.002\t0.004\t0\t0\t0.002\t0\t0\t0\t0.002\t0\t0.028\t0.008\t0\t0.006\t0.016\t0.002\t0\t0.166\t0\t0.014\t0\t0.002\t0\t0\t0.002\t0\tnoise\t0.33\t0.562073868264103\tNA\tNA\t20/06/2017\t1497989386.143\tnoise\t0\n-Car470026-2017-Pass1-Z1-CEN2-S2U17907_20170620_221112_677\tTetvir\t0\t2.5\t10\t0.574\tnoise, Phogri\tNA\tNA\tNA\tNA\tIdCor2La\t0.006\t0\t0\t0.02\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.002\t0\t0.002\t0\t0\t0\t0.006\t0.002\t0\t0\t0.016\t0.002\t0.002\t0\t0.002\t0\t0\t0\t0\t0\t0\t0.002\t0\t0.002\t0.002\t0\t0.002\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0.002\t0\t0\t0.046\t0.002\t0\t0.002\t0\t0.002\t0.006\t0.004\t0.01\t0.012\t0.002\t0.002\t0.006\t0\t0\t0\t0\t0'..b'056\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145000_573"\t0.9\t3.1\t9\t"noise"\t0.97\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.97\t""\t""\t"18/03/2019"\t1552913400.573\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145007_123"\t0.5\t5\t18\t"noise"\t0.97\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.97\t""\t""\t"18/03/2019"\t1552913407.123\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145012_120"\t0.1\t5\t10\t"noise"\t0.99\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.99\t""\t""\t"18/03/2019"\t1552913412.12\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145017_117"\t0.4\t5\t12\t"noise"\t0.99\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.99\t""\t""\t"18/03/2019"\t1552913417.117\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145022_115"\t4.1\t4.2\t16\t"noise"\t0.96\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.96\t""\t""\t"18/03/2019"\t1552913422.115\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145034_317"\t0.1\t1.8\t15\t"noise"\t0.97\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.97\t""\t""\t"18/03/2019"\t1552913434.317\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145041_128"\t1\t5\t17\t"noise"\t0.99\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.99\t""\t""\t"18/03/2019"\t1552913441.128\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145046_125"\t0.3\t4.9\t14\t"noise"\t0.97\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.97\t""\t""\t"18/03/2019"\t1552913446.125\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145051_123"\t0.8\t5\t14\t"noise"\t0.97\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.97\t""\t""\t"18/03/2019"\t1552913451.123\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145102_648"\t0.5\t0.7\t15\t"noise"\t0.98\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.98\t""\t""\t"18/03/2019"\t1552913462.648\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145109_779"\t0.2\t4.9\t17\t"noise"\t0.98\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.98\t""\t""\t"18/03/2019"\t1552913469.779\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145114_776"\t0.2\t3.2\t13\t"noise"\t0.99\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.99\t""\t""\t"18/03/2019"\t1552913474.776\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145132_003"\t2.1\t5\t14\t"noise"\t0.99\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.99\t""\t""\t"18/03/2019"\t1552913492.003\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145154_285"\t0.9\t5\t7\t"noise"\t0.98\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.98\t""\t""\t"18/03/2019"\t1552913514.285\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145159_555"\t1\t5\t19\t"noise"\t0.95\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.95\t""\t""\t"18/03/2019"\t1552913519.555\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145213_299"\t2\t2.1\t14\t"noise"\t0.96\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.96\t""\t""\t"18/03/2019"\t1552913533.299\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145244_077"\t0\t5\t9\t"noise"\t0.99\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.99\t""\t""\t"18/03/2019"\t1552913564.077\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145249_075"\t1.4\t4.9\t19\t"noise"\t0.98\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.98\t""\t""\t"18/03/2019"\t1552913569.075\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145255_160"\t0.1\t0.2\t20\t"noise"\t0.87\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.87\t""\t""\t"18/03/2019"\t1552913575.16\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145304_000"\t0.7\t0.8\t7\t"noise"\t0.95\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.95\t""\t""\t"18/03/2019"\t1552913584\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145309_184"\t1\t2.2\t21\t"noise"\t0.97\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.97\t""\t""\t"18/03/2019"\t1552913589.184\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145316_885"\t1.4\t2.9\t8\t"noise"\t0.92\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.92\t""\t""\t"18/03/2019"\t1552913596.885\t"noise"\t0\n+"Car340103-2019-Pass1-Z5-015652-ETOIL_20190318_145321_883"\t0.2\t2.1\t8\t"noise"\t0.98\t""\t""\t""\t""\t""\t"5cab5fae49ce43001133062f"\t0.98\t""\t""\t"18/03/2019"\t1552913601.883\t"noise"\t0\n'
b
diff -r 823a09219c00 -r 775809e2f6c8 test-data/BilanEnrichiPF_Test1_out_tab.tabular
--- a/test-data/BilanEnrichiPF_Test1_out_tab.tabular Wed Mar 13 11:18:11 2019 -0400
+++ b/test-data/BilanEnrichiPF_Test1_out_tab.tabular Fri Apr 26 12:19:29 2019 -0400
b
@@ -1,12 +1,20 @@
-Code Groupe Nom francais Nom scientifique Risque d'erreur (%) Nb Validations Effort de validation Nb de Contacts par Nuit Niveau d'Activite TriGroupe
-Pipkuh Chauve-souris Pipistrelle de Kuhl Pipistrellus kuhlii 2 0 NA 11 MODEREE 3
-Pipnat Chauve-souris Pipistrelle de Nathusius Pipistrellus nathusii 25 0 NA 7 FORTE 3
-Nyclei Chauve-souris Noctule de Leisler Nyctalus leisleri 1 0 NA 6 MODEREE 3
-Eptser Chauve-souris Serotine commune Eptesicus serotinus 16 0 NA 4 MODEREE 3
-Pippip Chauve-souris Pipistrelle commune Pipistrellus pipistrellus 11 0 NA 4 FAIBLE 3
-MyoGT Chauve-souris Murin de grande taille Myotis cf. myotis 9 0 NA 2 MODEREE 3
-Barbar Chauve-souris Barbastelle d'Europe Barbastella barbastellus 4 0 NA 1 FAIBLE 3
-Tetvir Sauterelle Sauterelle verte Tettigonia viridissima 1 0 NA 643 MODEREE 2
-noise Autre bruit noise 17 0 NA 424 FAIBLE 1
-piaf Autre Oiseau sp. Aves sp. 8 0 NA 15 MODEREE 1
-Lamsp. Autre Lampyre sp. Lampyris sp. 1 0 NA 1 FAIBLE 1
+"Code" "Groupe" "Nom francais" "Nom scientifique" "Risque d'erreur (%)" "Nb Validations" "Effort de validation" "Nb de Contacts par Nuit" "Niveau d'Activite" "TriGroupe"
+"Pippip" "Chauve-souris" "Pipistrelle commune" "Pipistrellus pipistrellus" "1" NA "-" "8" "FAIBLE" 3
+"Nyclei" "Chauve-souris" "Noctule de Leisler" "Nyctalus leisleri" "37" NA "-" "2" "FAIBLE" 3
+"Pipkuh" "Chauve-souris" "Pipistrelle de Kuhl" "Pipistrellus kuhlii" "3" NA "-" "2" "FAIBLE" 3
+"Pippyg" "Chauve-souris" "Pipistrelle soprane" "Pipistrellus pygmaeus" "11" NA "-" "2" "FAIBLE" 3
+"Eptser" "Chauve-souris" "Serotine commune" "Eptesicus serotinus" "3" NA "-" "1" "FAIBLE" 3
+"Rhifer" "Chauve-souris" "Grand Rhinolophe" "Rhinolophus ferrumequinum" "1" NA "-" "1" "FAIBLE" 3
+"Rhihip" "Chauve-souris" "Petit Rhinolophe" "Rhinolophus hipposideros" "3" NA "-" "1" "FAIBLE" 3
+"Hypsav" "Chauve-souris" "Vespere de Savi" "Hypsugo savii" "60" NA "-" "0" "FAIBLE" 3
+"Pipnat" "Chauve-souris" "Pipistrelle de Nathusius" "Pipistrellus nathusii" "51" NA "-" "0" "FAIBLE" 3
+"Tetvir" "Sauterelle" "Sauterelle verte" "Tettigonia viridissima" "64" NA "-" "8" "FAIBLE" 2
+"Leppun" "Sauterelle" "Sauterelle ponctuee" "Leptophyes punctatissima" "94" NA "-" "2" "FAIBLE" 2
+"Phogri" "Sauterelle" "Decticelle cendree" "Pholidoptera griseoaptera" "92" NA "-" "2" "MODEREE" 2
+"Plaint" "Sauterelle" "Decticelle intermediaire" "Platycleis intermedia" "92" NA "-" "2" "FAIBLE" 2
+"Testes" "Sauterelle" "Decticelle carroyee" "Tessellana tessellata" "85" NA "-" "2" "FAIBLE" 2
+"Yerray" "Sauterelle" "Decticelle frele" "Yersinella raymondii" "91" NA "-" "2" "FAIBLE" 2
+"Confus" "Sauterelle" "Conocephale bigarre" "Conocephalus fuscus" "62" NA "-" "0" "FAIBLE" 2
+"Decalb" "Sauterelle" "Dectique a front blanc" "Decticus albifrons" "78" NA "-" "0" "FAIBLE" 2
+"noise" "Autre" "bruit" "noise" "1" NA "-" "1148" "MODEREE" 1
+"piaf" "Autre" "Oiseau sp." "Aves sp." "1" NA "-" "102" "MODEREE" 1
b
diff -r 823a09219c00 -r 775809e2f6c8 vigiechiro_macros.xml
--- a/vigiechiro_macros.xml Wed Mar 13 11:18:11 2019 -0400
+++ b/vigiechiro_macros.xml Fri Apr 26 12:19:29 2019 -0400
b
@@ -1,5 +1,5 @@
 <macros>
-    <token name="@VERSION@">0.1.0</token>
+    <token name="@VERSION@">0.1.1</token>
     <xml name="vigiechiro_bibref">
         <citations>
             <citation type="bibtex">
@@ -28,13 +28,16 @@
             <citation type="doi">10.5334/jors.154</citation>  
         </citations>
     </xml>
-    <xml name="vigiechiro_bilanPF_bilanRP_requirements">
+    <xml name="vigiechiro_requirements">
         <requirements>
-            <requirement type="package" version="1.4.3">r-reshape2</requirement> 
-            <requirement type="package" version="1.11.4">r-data.table</requirement>
-            <requirement type="package" version="0.4">r-dt</requirement>
-            <requirement type="package" version="1.2">r-htmlwidgets</requirement>
-            <requirement type="package" version="2.6">pandoc</requirement>
-        </requirements>
+            <requirement type="package" version="1.12.2">r-data.table</requirement>
+            <yield />
+        </requirements>
+    </xml>
+    <xml name="vigiechiro_bilanenrichi_requirements">
+        <requirement type="package" version="1.4.3">r-reshape2</requirement> 
+        <requirement type="package" version="0.4">r-dt</requirement>
+        <requirement type="package" version="1.2">r-htmlwidgets</requirement>
+        <requirement type="package" version="2.6">pandoc</requirement>
     </xml>
 </macros>