Я биоинформатик и недавно начал собирать питон, и меня интересует построение графика. У меня есть набор узлов и ребер.Постройте график последовательностей и их обратное дополнение
узлы
set(['ACG', 'ATC', 'GAT', 'CGG', 'CGT', 'AAT', 'ATT', 'GGA', 'TTC', 'CCG', 'TCC', 'GAA'])
края
[('ACG', 'CGG'), ('CGG', 'GGA'), ('GGA', 'GAA'), ('GAA', 'AAT'), ('AAT', 'ATC'), ('GAT', 'ATT'), ('ATT', 'TTC'), ('TTC', 'TCC'), ('TCC', 'CCG'), ('CCG', 'CGT')]
Когда я построить нормальный график с помощью описанной выше информации я получить 12 узлов и 10 ребер т.е. два отключенных графики с использованием функции ниже.
def visualize_de_bruijn():
""" Visualize a directed multigraph using graphviz """
nodes = set(['ACG', 'ATC', 'GAT', 'CGG', 'CGT', 'AAT', 'ATT', 'GGA', 'TTC', 'CCG', 'TCC', 'GAA'])
edges = [('ACG', 'CGG'), ('CGG', 'GGA'), ('GGA', 'GAA'), ('GAA', 'AAT'), ('AAT', 'ATC'), ('GAT', 'ATT'), ('ATT', 'TTC'), ('TTC', 'TCC'), ('TCC', 'CCG'), ('CCG', 'CGT')]
dot_str = 'digraph "DeBruijn graph" {\n'
for node in nodes:
dot_str += ' %s [label="%s"] ;\n' % (node, node)
for src, dst in edges:
dot_str += ' %s -> %s ;\n' % (src, dst)
return dot_str + '}\n'
В биологии мы имеем эту концепцию комплементарного спаривания оснований, где А = Т, Т = А, С = С и С = С. Таким образом, бесплатный «ACG» - это «ТГК» и обратная поддержка «ACG» = «CGT», то есть мы отменим дополнение.
В списке узлов мы видим 12 узлов, в которых 6 узлов являются обратными дополнением друг к другу т.е.
ReverseComplement('ACG') = CGT
ReverseComplement('CGG') = CCG
ReverseComplement('GGA') = TCC
ReverseComplement('GAA') = TTC
ReverseComplement('AAT') = ATT
ReverseComplement('ATC') = GAT
Теперь я хотел бы построить график, где есть шесть узлов, узел должен иметь свой собственный значение и его значение обратного дополнения и общее 10 ребер, т. е. график не должен быть отключен. Как визуализировать этот график, используя graphviz в python.? Если есть что-то еще, кроме графика, который может помочь мне визуализировать этот тип графика, пожалуйста, дайте мне знать.?
networkx is good http://networkx.github.io/documentation/latest/gallery.html – Ryan