сравните фрейм данных со списком и извлеките соответствующие строки в R

#r #bioinformatics

#r #биоинформатика

Вопрос:

У меня есть основной фрейм данных, который содержит 415526 записей (строк), который представляет список белков в 51 виде микроорганизмов. Поскольку каждый белок имеет разное количество белковых доменов, количество столбцов для каждой записи разное.

df

 AC_peg_0686__[locus_tag=Adeh_0688]  Response_reg    Sigma54_activat HTH_8   
AC_peg_0687__[locus_tag=Adeh_0689]  Ribosomal_L31   
AC_peg_0688__[locus_tag=Adeh_0690]  Rho_N   Rho_RNA_bind    ATP-synt_ab 
AC_peg_0689__[locus_tag=Adeh_0691]  No_Domain   
AC_peg_0690__[locus_tag=Adeh_0692]  N_methyl    
AC_peg_0691__[locus_tag=Adeh_0693]  DNA_ligase_aden DNA_ligase_OB   DNA_ligase_ZBD  HHH_2   BRCT    
AC_peg_0692__[locus_tag=Adeh_0694]  Acylphosphatase 
AC_peg_0693__[locus_tag=Adeh_0695]  Radical_SAM DUF2344 
AC_peg_0694__[locus_tag=Adeh_0696]  RNase_E_G   
AC_peg_0695__[locus_tag=Adeh_0697]  Virul_fac_BrkB  
AC_peg_0696__[locus_tag=Adeh_0698]  Bac_DNA_binding 
AC_peg_0697__[locus_tag=Adeh_0699]  FHIPEP  
AC_peg_0698__[locus_tag=Adeh_0700]  Bac_export_2    
AC_peg_0699__[locus_tag=Adeh_0701]  Bac_export_1    
AC_peg_0700__[locus_tag=Adeh_0702]  Bac_export_3    
AC_peg_0701__[locus_tag=Adeh_0703]  FliP    
AC_peg_0702__[locus_tag=Adeh_0704]  FliO
.
.
.
.....and so on....till 415526

  

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

df1

 Bac_export_1
Bac_export_2
Bac_export_3
Bac_export_4
ChapFlgA
CheC
FHIPEP
Flg_hook
FlgD
FlgD_ig
FlgI
FlgI
FlgM
FlgN
FlhC
FlhD
FlhE


  

Мне нужны отдельные файлы для каждого домена белка в списке.

Я пытался сравнивать и пересекать функции, но они не были плодотворными.

 df3 <- intersect(df$col , df1$col)

  

вот пример того, как должен выглядеть мой конечный файл. в этом файле есть только записи, которые соответствуют записи ‘MotB_plug’ из списка.

 Aliivibrio_salmonicida_LFI1238__peg_0951___VSAL_RS05180 MotB_plug   OmpA
Aliivibrio_wodanis__peg_0687___AWOD_RS03580 MotB_plug   OmpA
Grimontia_hollisae_ATCC_33564__peg_1011___AL542_RS08920 MotB_plug   OmpA
Grimontia_hollisae_ATCC_33564__peg_1828___AL542_RS13325 MotB_plug   OmpA
Paraphotobacterium_marinum_NSCS20N07D__peg_0036___CF386_RS00180 MotB_plug   OmpA
Vibrio_alginolyticus_ATCC_17749__peg_2782___N646_RS14135    MotB_plug   OmpA
Vibrio_alginolyticus_ATCC_17749__peg_3208___N646_RS16270    MotB_plug   OmpA

  

как и выше, для каждого элемента списка должны быть разные файлы.

Комментарии:

1. Пожалуйста, предоставьте образцы вашего df и вашего списка после прохождения каждого из них dput()

2. это не работает

3. Из чего получен результат dput(df) ?

4. «` Label = c(«», «A2M», «A2M_BRD», ………….. » TSP_3″, «UnbV_ASPIC», «Vault_3», «VCBS», «WD40», «WG_beta_rep», «YwqJ-дезаминаза», «zf-C4_Topoisom»), class = «factor»)), class = «data.frame», row.names = c(NA, -415546L)) «« он показывает все значения столбцов

5. drive.google.com/drive/folders /… это мои файлы.