Импорт и последующее использование текстового файла с разделителями табуляции в networkx
У меня есть большой файл tab2, который я импортировал в python. В 15-м и 16-м столбцах файла-индивидуума клеточные взаимодействия документируются в нисходящем формате, например:
Protein A Protein B
A1 B1
A2 B2
etc. so A1 interacts with B1 and so on....
Мне нужно извлечь эти взаимодействия в списки - "dataA and dataB" (хотя я буду делать это в файлах позже).
Однако, как только я сделал это, мне нужно использовать эти списки / файлы, чтобы создать график для представления общего пути (с использованием networkx). Поэтому я считаю, что мне нужно связать списки таким образом, чтобы A1 находился напротив B1- это интерактор....
Я бы сделал это как-то так:
a = numpy.Protein A(1000)
b = numpy.Protein B(1000)
numpy.column_stack((a,b))
Тем не менее, этот массивный созданный массив может не подходить для ввода в networkx, поскольку мне говорят, что networkx требует его ввода в кортежах для команды, например:
"G.add_edges_from([(1,2),(1,3)])"....
Поэтому мой вопрос: правильно ли я поступаю? Или я должен сначала сосредоточиться на получении данных в сети x, что подходит для сетей? Или есть какой-то способ, который я не рассматриваю для ввода своих данных в него networkx в виде массива?
1 ответ
Все, что вам нужно сделать, это следующее:
1) переберите свой список взаимодействий и создайте список белков, добавив названия белков в список.
2) после создания networkx
объект, для каждого узла, используйте add_node
добавить его в сеть.
3) Повторите итерацию в исходном списке взаимодействий и используйте add_edge
рисовать связи между узлами.
Не нужно использовать numpy
совсем