Импорт и последующее использование текстового файла с разделителями табуляции в 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 совсем

Другие вопросы по тегам