Добавьте символы в столбцах из фрейма данных в другой фрейм данных в соответствии с соответствующими строками символов вPython

Программы на Python
Ответить
Anonymous
 Добавьте символы в столбцах из фрейма данных в другой фрейм данных в соответствии с соответствующими строками символов в

Сообщение Anonymous »

У меня есть два фрейма данных, разделенных табуляцией. Оба они являются результатами двух конвейеров аннотации генома. Я хотел бы добавить функции, полученные с помощью моего второго конвейера, к результатам, полученным с помощью первого.

Первый - это .gff3, который не имеет заголовков столбцов и выглядит следующим образом:
первый фрейм данных
а второй - .txt, который имеет заголовки столбцов и выглядит так:
второй фрейм данных
Как вы можете видите, оба кадра данных содержат имя гена (например, FUN_000003-T1). Первый фрейм данных содержит его в виде строки символов в 9-м столбце, тогда как второй фрейм данных имеет столбец, посвященный имени гена (столбец SeqName).

Первый фрейм данных также имеет несколько строк для 1 гена в зависимости от того, относится ли он к гену, мРНК или экзону.
Я хотел бы добавить информацию, содержащуюся в «SeqName» из второго фрейма данных, в качестве дополнительных строк символов в 9-й столбец «мРНК». строка соответствующего гена в первом кадре данных, в идеале с ";" в качестве разделителя.
Для первого и второго генов (FUN_000001-T1 и FUN_000002-T1) это будут NA. Однако для FUN_000003-T1 это будет

Код: Выделить всё

SPOK1_PODCOMeiotic driver SPOK1 OS=Podospora comata
Итак, в идеале первый кадр данных должен выглядеть так:

Код: Выделить всё

##gff-version 3
scaffold_1  funannotate gene    7752    9560    .   -   .   ID=FUN_000001;
scaffold_1  funannotate mRNA    7752    9560    .   -   .   ID=FUN_000001-T1;Parent=FUN_000001;product=hypothetical protein;Dbxref=InterPro:IPR016197;note=EggNog:ENOG503PT7G;---NA---
scaffold_1  funannotate exon    9323    9560    .   -   .   ID=FUN_000001-T1.exon1;Parent=FUN_000001-T1;
scaffold_1  funannotate exon    9099    9268    .   -   .   ID=FUN_000001-T1.exon2;Parent=FUN_000001-T1;
scaffold_1  funannotate exon    7752    8954    .   -   .   ID=FUN_000001-T1.exon3;Parent=FUN_000001-T1;
scaffold_1  funannotate CDS 9323    9560    .   -   0   ID=FUN_000001-T1.cds;Parent=FUN_000001-T1;
scaffold_1  funannotate CDS 9099    9268    .   -   2   ID=FUN_000001-T1.cds;Parent=FUN_000001-T1;
scaffold_1  funannotate CDS 7752    8954    .   -   0   ID=FUN_000001-T1.cds;Parent=FUN_000001-T1;
scaffold_1  funannotate gene    10152   11615   .   -   .   ID=FUN_000002;
scaffold_1  funannotate mRNA    10152   11615   .   -   .   ID=FUN_000002-T1;Parent=FUN_000002;product=hypothetical protein;note=EggNog:ENOG503PTE0;---NA---
scaffold_1  funannotate exon    11479   11615   .   -   .   ID=FUN_000002-T1.exon1;Parent=FUN_000002-T1;
scaffold_1  funannotate exon    10152   11421   .   -   .   ID=FUN_000002-T1.exon2;Parent=FUN_000002-T1;
scaffold_1  funannotate CDS 11479   11615   .   -   0   ID=FUN_000002-T1.cds;Parent=FUN_000002-T1;
scaffold_1  funannotate CDS 10152   11421   .   -   1   ID=FUN_000002-T1.cds;Parent=FUN_000002-T1;
scaffold_1  funannotate gene    14672   16909   .   +   .   ID=FUN_000003;
scaffold_1  funannotate mRNA    14672   16909   .   +   .   ID=FUN_000003-T1;Parent=FUN_000003;product=hypothetical protein;Dbxref=InterPro:IPR011009,InterPro:IPR052396;note=COG:S,EggNog:ENOG503NZGI;SPOK1_PODCOMeiotic driver SPOK1 OS=Podospora comata
scaffold_1  funannotate exon    14672   16909   .   +   .   ID=FUN_000003-T1.exon1;Parent=FUN_000003-T1;
scaffold_1  funannotate CDS 14672   16909   .   +   0   ID=FUN_000003-T1.cds;Parent=FUN_000003-T1;
Я не нашел, как это сделать, и был бы благодарен за любую помощь.
Я думал, что это возможно с помощью обычных инструментов обработки текста в bash, но я также мог бы использовать Python или R.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ding-to-ma
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»