Разобрать фрейм данных - PullRequest
0 голосов
/ 22 мая 2018

У меня просто есть фрейм данных и файл фаста, и мне нужно только сохранить строку в фрейме данных (или создать новый), если seq_id находится в моем файле фаста.

Вотпример:

dataframe:

seq_1    seq_2      GC       Length
seq1     seq2       68       15561
seq4     seq3       89       567
seq9     seq90      45       789
seq97    seq43      56       458
seq45    seq9       67       900

fastafile:

>seq9 
ACTG
>seq97 
ACTG
>seq1
ACTG

и получите новый df такой:

seq_1    seq_2      GC       Length
seq1     seq2       68       15561
seq9     seq90      45       789
seq97    seq43      56       458

Спасибо за васпомогите :)

1 Ответ

0 голосов
/ 22 мая 2018
  1. Считывание строк в fastafile в список строк fasta_lines
  2. Фильтрация имен последовательностей из fasta_lines по seq_list = [s for s in fasta_lines if s.startswith('>')]
  3. Фильтрация строк в кадре данных с помощьюseq_list filter: dataframe = dataframe[dataframe['seq_1'].isin(seq_list) || dataframe['seq_2'].isin(seq_list)]
  4. Проверьте, если dataframe.shape[0] == 0, чтобы в вашем новом фрейме данных не было строк, добавьте новую строку в соответствии с вашей логикой разбора fastafile

Этот ответ требует проверки кода, возможно, после того, как вы укажете логику для обработки fastafile.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...