Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elimination des familles isolées #252

Closed
fablhx opened this issue May 16, 2015 · 9 comments
Closed

Elimination des familles isolées #252

fablhx opened this issue May 16, 2015 · 9 comments

Comments

@fablhx
Copy link
Contributor

fablhx commented May 16, 2015

Il existe un utilitaire pour les bases où la création de famille n'est possible qu'en partant d'un membre de la base, et qui permet :

  • des statistiques sur la connexité de la base
  • l'élimination des branches isolées.
    Préalable :
    Faut que GeneWeb soit compilé. cd gwbase/etc et "make".
    Si ça ne compile pas, c'est que GeneWeb n'est pas en ../../geneweb par rapport à gwbase/etc et il suffit d'éditer le Makefile et de changer la ligne
    GWB=../../geneweb
    en ce qui convient, chemin absolu ou relatif.
    Ça compile un certain nombre d'utilitaires (à explorer)
    Celui qui nous intéresse s'appelle "connex". La compilation fabrique un exécutable "connex.opt".
    Taper ./connex.opt -help pour avoir les options. Il n'y en a pas beaucoup.
    Utilisation typique :
    ./connex.opt roglo.gwb
    ou même :
    ./connex.opt roglo
    Ça affiche les composantes connexes qu'il trouve, par taille décroissante.
    S'il en trouve une plus petite que la précédente, il n'affiche pas les plus grosses qu'il trouve, sauf si on met l'option -a.
    On peut essayer directement sur une base en service : par défaut, la base est consultée sans aucune modif.
    Connex lit la base linéairement et ne cherche que les composantes connexes plus petites, sauf si on utilise l'option -a.
    En complément, le script link.pl permet de fabriquer un fichier au format wiki de GeneWeb :
    Utilisation :
    /data/src/gwbase/etc/connex.opt -a /home/roglo/base/roglo |perl link.pl |sort -r >../roglo.gwb/base_d/notes_d/Admin/connex.txt
    met les liens sur les différentes branches, et les statistiques dans la page wiki Admin:connex
    Pour la suppression des branches indésirables, utiliser les statistiques pour dimensionner correctement la requête :
    perl -e 'for ($i=0;$i<1004;$i++) {print "y\n";}'|/data/src/gwbase/etc/connex.opt -del 1 /home/roglo/base/roglo
@fablhx
Copy link
Contributor Author

fablhx commented May 26, 2015

Waouh ! C'est génial !
Je l'ajoute à GeneWeb dès que possible !!!

@fablhx
Copy link
Contributor Author

fablhx commented May 26, 2015

Bonjour
Deux petites questions pour cet utilitaire qui a l'air magique :

  • existe-t'il déjà des versions compilées (je n'ai pas Caml d'installé et pas vraiment le loisir de m'y mettre) ?
  • peut-on voir un exemple de la page au format wiki générée ?
    Merci d'avance

@fablhx
Copy link
Contributor Author

fablhx commented May 28, 2015

Merci.
Un peu de mal à comprendre les infos qui en sortent... Une âme charitable pour m'aider ?
Merci

@GuillaumeBrochu
Copy link
Contributor

Se trouve dans : /contrib/gwbase/etc/connex.ml

@GuillaumeBrochu
Copy link
Contributor

Fonctionne à merveille, mais il faut éviter le répertoire parent ".." quand on spécifie la base à utiliser, sinon erreur.

Exemple (en supposant qu'on ait copié connex.opt dans gw/ avec les autres exécutables):

Fonctionne bien:

./bin/distribution/gw/connex.opt bases/test

Produit une erreur:

./bin/distribution/gw/connex.opt ../geneweb/bases/test
*** secure rejects open ../geneweb/bases/test.gwb/patches
*** secure rejects open ../geneweb/bases/test.gwb/base
Fatal error: exception Sys_error("invalid access")

@dominique95880
Copy link
Contributor

dominique95880 commented Jan 25, 2017

Bonjour

Après tâtonnements, je suis parvenu à faire fonctionner connex sous Windows 10, en utilisant le compilateur Ocaml 4.02.3+mingw64c.

Mes observations :
Chemin d'accès du programme source : /contrib/gwbase/etc/connex.ml

d'où cd geneweb/contrib/gwbase/etc (pour être dans le bon répertoire)

Compilation 1 :
make ne compile pas connex mais uniquement public et public2

Compilation 2 : modification de Makefile
remplacement de la ligne
ALL_EXE := public public2
par la ligne
ALL_EXE := public public2 connex
make compile public et public2 et connex
Je renomme connex.opt en connex.exe et je copie cet exe dans le répertoire gw ordinaire (là où l'on a déjà gwd.exe) et ça ne marche pas à l'éxécution (message manque ocamlrun ou avoisinant).

Compilation 3 :
Même modif de Makefile de Compilation 2 mais je ne lance plus make "tout court" mais make opt
Je renomme le nouveau connex.opt en connex.exe etc. et ça tourne.

Avec les répertoire bindir et basedir qui vont bien je lance
cd "%basedir%"
"%bindir%\connex.exe" -a mabase >comm.log
et j'ai les réponses suivantes :
Connex component "dominique95880.gw" length 4386

  • Alfred Jules Émile.0 DERAM
  • Julienne Olive Lucie.0 DASSONNEVILLE
    Connex component "dominique95880.gw" length 1
  • Pierre Louis François.0 DERAM
  • Catherine.0 DEBRUYNE
    Connex component "dominique95880.gw" length 21
  • Jean-Baptiste Benjamin.0 DERAM
  • Catherine Xavière.0 BERQUIN
    Connex component "dominique95880.gw" length 30
  • Thomas Léon Émile.0 DERAM
  • Pauline Élodie Léontine.0 BIET
    Connex component "dominique95880.gw" length 5
  • Félix Constantin.0 DERAM
  • Marie Cécile.0 DUYME
    Connex component "dominique95880.gw" length 7
  • Henri Joseph.0 VASSEUR
  • Marie Virginie.0 DECOOL
    Connex component "dominique95880.gw" length 3
  • Jean André.0 BLONDEZ
  • Jeanne Thérèse Colette.0 WAELES
    Connex component "dominique95880.gw" length 3
  • Jean-Baptiste.0 BLONDÉ
  • Isabelle Claire.0 CABARET
    Connex component "dominique95880.gw" length 4
  • Charles Auguste Édouard.0 BLONDÉ
  • Eugénie Julienne.0 DEBRIL
    Connex component "dominique95880.gw" length 3
  • Louis Gervain.0 BLONDÉ
  • Isabelle Claire.0 DEBAECKE
    Connex component "dominique95880.gw" length 2
  • Mathieu.0 BLONDÉ
  • ?.0 ? (i=3746)
    Connex component "dominique95880.gw" length 2
  • Jean.0 BLONDEZ
  • Rosalie.0 SMAGGHE
    Connex component "dominique95880.gw" length 3
  • Henri Charles Louis.0 DESMIDT
  • Sylvie Amélie.0 BLONDEZ
    Connex component "dominique95880.gw" length 2
  • Benjamin Xavier.0 VANDENBERGHE
  • Rosalie Séraphine.0 TARDU
    Connex component "dominique95880.gw" length 1
  • Séraphin Louis.0 BEUN
  • Flavie Nathalie.0 HONDERMARCK
    Connex component "dominique95880.gw" length 3
  • Pierre.1 de WILDE
  • Jacqueline.0 van HOVE
    Connex component "dominique95880.gw" length 1
  • François.0 de WERF
  • Jossine.0 van LOKEREN
    Connex component "dominique95880.gw" length 5
  • Mailliaert.0 MORMENTYN
  • Guillemine.0 ROUCKIER
    Connex component "dominique95880.gw" length 2
  • Adrien.0 de WILDE
  • Marie.0 KERTEBATE
    Connex component "dominique95880.gw" length 5
  • Mathieu.0 GHORIS
  • Marie Françoise.0 VESAERT
    Connex component "dominique95880.gw" length 3
  • Jacques.2 GHORIS
  • Marie Jeanne.0 EECKHOUT
    Connex component "dominique95880.gw" length 1
  • Charles.0 DERAM
  • Jossine.0 van ROYE
    Connex component "dominique95880.gw" length 1
  • Pierre.0 de WAILLY
  • Jeanne.0 DERAM
    Connex component "dominique95880.gw" length 4
  • Baudouin.1 DERAM
  • Marie Catherine.0 COBREU
    Connex component "dominique95880.gw" length 1
  • Cornil.0 DESCHODT
  • Micheline.0 JANSSOONE
    Connex component "dominique95880.gw" length 1
  • Henri.0 GHYSEL
  • Marie Catherine.0 BARREZEELE
    Connex component "dominique95880.gw" length 1
  • Josse.0 MORMENTYN
  • Marie.0 SCHACHT
    Connex component "dominique95880.gw" length 4
  • Marc.0 van PEENE
  • Nicole.0 MORMENTYN
    Connex component "dominique95880.gw" length 2
  • Pierre.0 de HONDT
  • Marie Françoise.1 BERTELOOT
    Connex component "dominique95880.gw" length 2
  • Jean Mathieu.0 BERTELOOT
  • Jeanne.0 PAUWELS
    Connex component "dominique95880.gw" length 1
  • Simon.0 BAES
  • Marie Anne.1 BERTELOOT
    Connex component "dominique95880.gw" length 1
  • Pierre Jacques.1 GHYS
  • Marie Philippine.0 POLAERT
    Connex component "dominique95880.gw" length 3
  • Pierre Fidel.0 LAFÈRE
  • Marie Louise Anne Félicité.0 DAENE
    Connex component "dominique95880.gw" length 1
  • François Xavier.3 BERTELOOT
  • Marie Pétronille.0 ASSEMAN
    Connex component "dominique95880.gw" length 2
  • Jean Charles.1 DERAM
  • Marie Angélique.0 BEKE
    Connex component "dominique95880.gw" length 2
  • Jean.1 QUESTROY
  • Jeanne.0 VELGEMACKER
    Connex component "dominique95880.gw" length 1
  • Pierre Jacques.0 GALLE
  • Marie Cécile.0 FIERL
    Connex component "dominique95880.gw" length 1
  • Jean.0 HUYGHE
  • Marie.0 HELLEBODT
    Connex component "dominique95880.gw" length 1
  • Jean.5 HUYGHE
  • Marie.0 BOURY
    Connex component "dominique95880.gw" length 3
  • Jean.1 REINNEVILLE
  • Marie Charlotte.0 CHAMPAGNE
    Connex component "dominique95880.gw" length 13
  • Jean-Baptiste.2 REINNEVILLE
  • Marie Anne.0 MAYEUX
    Connex component "dominique95880.gw" length 6
  • Jean Auguste.0 MORLET
  • Marie Louise Adélaïde.0 POUDRAT
    Connex component "dominique95880.gw" length 26
  • Nicolas Henri.0 PERCEBOIS
  • Françoise Hélène.0 PIEFFER
    Connex component "dominique95880.gw" length 6
  • Nicolas.0 PERCEBOIS
  • Jeanne Marie.0 BOURGEOIS
    Connex component "dominique95880.gw" length 3
  • Pierre.0 BENOIT
  • Marie Nicole.0 PERCEBOIS
    Connex component "dominique95880.gw" length 1
  • Henri.0 PERCEBOIS
  • Marguerite Henriette.0 MARQUET
    Connex component "dominique95880.gw" length 9
  • Jean.0 PERCEBOIS
  • Anne.0 VEAUCHELET
    Connex component "dominique95880.gw" length 6
  • Valéry Émile.0 REINNEVILLE
  • Louise Eugénie.0 BLONDEL
    Connex component "dominique95880.gw" length 3
  • Sébastien.0 RIEGERT
  • Thérèse.0 GEBHART
    Connex component "dominique95880.gw" length 1
  • François.1 DEVIVAISE
  • Marie.0 OGER
    Connex component "dominique95880.gw" length 1
  • François.2 DEVIVAISE
  • Antoinette.0 ISTASSE
    Connex component "dominique95880.gw" length 13
  • Pierre.0 DEVIVAISE
  • Antoinette.0 MOYEN
    Connex component "dominique95880.gw" length 1
  • Antoine.9 DEVIVAISE
  • Marie Louise Marguerite.0 MAGNIER
    Connex component "dominique95880.gw" length 2
  • Charles.1 DERAM
  • Marie.0 BAELEN
    Connex component "dominique95880.gw" length 6
  • Liévin Xavier.0 DERAM
  • Virginie Célestine Josèphe.0 HEMERY
    Connex component "dominique95880.gw" length 1
    i=15150
  • ?.0 ? (i=15151)

Le length 4386 correspond à mon arbre "en propre"; je suppose qu'il doit contenir 4386 familles.
les autres length correspondent à des "non collatéraux" qui n'attendent qu'à devenir des collatéraux lorsque j'aurai trouvé le point de jonction. Par exemple, mon dernier ilot correspond à un enfant abandonné (parents inconnus (? ? et ? ?, mais deux mères possibles).
Je ne sais pas comment sont pris en compte les simples témoins.

Dominique

Cet utilitaire m'a permis de retrouver une famille de contemporains ( Mr + Mme, sans enfant) qui était perdue dans mon arbre et que j'avais du saisir à nouveau il y a de cela X années.

@hgouraud
Copy link
Collaborator

hgouraud commented Jan 25, 2017 via email

@a2line
Copy link
Collaborator

a2line commented Jan 25, 2017

Exemple des quelques données statistiques données en entête par l’outil connex :

Résultat : 25974 familles réparties en 488 blocs.
Meilleur bloc connexe : 22580. => Connexité : 86.93%.
Mais 244 familles restent isolées (0.94%)
Liste : 244(1) 65(2) 73(3) 19(4) 20(5) 17(6) 6(7) 4(8) 4(9) 5(10) 1(11) 1(12) 4(13) 4(14) 1(15)

@a2line a2line mentioned this issue Apr 20, 2018
@a2line
Copy link
Collaborator

a2line commented Sep 12, 2018

#608 est mergé au master à travers #656 et l'outil connex a été intégré à gwsetup avec un rendu possible directement en note (notes_d/connex.txt).

@a2line a2line closed this as completed Sep 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants