Construire un graphe de dépendance en python
Je me demandais si le python a quelques intégré dans la bibliothèque (ou une bibliothèque sur le net..)
Qui va créer pour moi un graphe de dépendances ?
J'ai un fichier formaté comme ça
A::Requires = ""
B::Requires = A
C::Requires = B
H::Requires = A
AA::Requires = ""
BB::Requires = AA
C::Requires = B
CC::Requires = BB
Idéalement, je voudrais avoir quelque chose comme un arbre comme ça:
A
+-B
+-C
+-H
AA
+-BB
+-CC
Donc, fondamentalement, Une lib, où je vais donner un tuple (A,B) ou (A,H) et il va construire l'arbre pour moi?
Si une telle lib n'existe pas, ce serait la façon la plus facile d'accomplir quelque chose comme ça?
Merci
furius.ca/snakefood - mais il me semble qu'à travailler avec Python 2.
OriginalL'auteur Johny19 | 2013-01-09
Vous devez vous connecter pour publier un commentaire.
Essayer avec l'un des plusieurs:
graphique de l'outil est très difficile à installer (il faut beaucoup de mémoire pour la compilation, je pense que c'était autour de 5 go de RAM et environ 12 heures de compilation).
networkx est assez décent.
igraph citation de leur page: igraph est un logiciel libre pour la création et la manipulation pure et les graphes orientés. Il comprend des implémentations pour classique de la théorie des graphes à des problèmes comme les arbres de recouvrement minimaux et des flux du réseau, et met également en œuvre des algorithmes pour certaines réseau récentes méthodes d'analyse, comme la structure de la communauté de recherche.
J'ai été à l'aide de tous. Cela dépend vraiment de ce qu'est exactement vous avez besoin. Si vous avez besoin d'eux pour quelque chose d'aussi simple que de dépendances, alors il est vraiment pas important, celui que vous allez utiliser, mais, je recommanderais que vous avoud graphique de l'outil si vous avez besoin d'elle pour quelque chose de plus court et plus léger.
À mon humble avis igraph est pas fait pour la recherche biologique. Il est fait pour tout type de réseaux.
Merci @GaborCsardi pour les critiques. J'ai édité mon post. +1 sur votre commentaire pour la correction!
Je ne suis pas entièrement sûr, j'ai été en utilisant un lot de graphique bibliothèques dernièrement, et les choses se sont mélangé dans ma tête. Recherche par le biais de la documentation et de trouver des exemples et apprendre d'eux, il ne devrait pas être difficile pour vous.
OriginalL'auteur Belphegor
En supposant que votre entrée à partir de ci-dessus est donné comme une chaîne de caractères dans
raw
:Imprimer l'arborescence(s):
cette affiche:
Cela nécessite que tous racines sont présentés à travers
root::Requires = ""
pour être identifié en tant que tel.OriginalL'auteur Theodros Zelleke
Graphviz est idéal pour le renforcement de la documentation de dépendances de manière automatisée.
Il y a un utile bibliothèque Python aussi appelé pygraphviz
Je l'utilise pour construire une dépendance de la carte de sortie dans les deux sous forme textuelle et visuelle qui exporte automatiquement au format PDF.
OriginalL'auteur nathan-cloudright.co.uk