R 导入未按逻辑方式排序的数据

R 导入未按逻辑方式排序的数据,r,dataframe,import,R,Dataframe,Import,我有以下形式的数据: >sp|A6NMZ2|SNTAN_HUMAN Sentan OS=Homo sapiens OX=9606 GN=SNTN PE=2 SV=1 39 S AGC/PKA RKMPKRISISKQLAS 25.507 22.884 >sp|O00501|CLD5_HUMAN Claudin-5 OS=Homo sapiens OX=9606 GN=CLDN5 PE=2 SV=1 201

我有以下形式的数据:

>sp|A6NMZ2|SNTAN_HUMAN Sentan OS=Homo sapiens OX=9606 GN=SNTN PE=2 SV=1                 
39  S   AGC/PKA RKMPKRISISKQLAS 25.507  22.884
>sp|O00501|CLD5_HUMAN Claudin-5 OS=Homo sapiens OX=9606 GN=CLDN5 PE=2 SV=1                  
201 S   AGC/PKA LSFPVKYSAPRRPTA 23.138  22.884
207 T   AGC/PKA YSAPRRPTATGDYDK 25.897  22.884
>sp|O14618|CCS_HUMAN Copper chaperone for superoxide dismutase OS=Homo sapiens OX=9606 GN=CCS PE=1 SV=1                 
267 S   AGC/PKA AGKGRKESAQPPAHL 25.541  22.884
>sp|O14828|SCAM3_HUMAN Secretory carrier-associated membrane protein 3 OS=Homo sapiens OX=9606 GN=SCAMP3 PE=1 SV=3                  
32  S   AGC/PKA AVIQHRPSRQYATLD 24.52   22.884
76  S   AGC/PKA LQPSRKLSPTEPKNY 27.39   22.884
我如何在R中将其导入如下数据帧:

A6NMZ2 25.507
O00501 23.138
O00501 25.897

等等。

数据中有一种模式,名称(第1列)在第2列的行中,以sp“开头,由
“|”
分隔,数字(第2列)在第5列的sp“行之后,类似这样应该可以工作:

x <- readLines("myFile.txt")

do.call(rbind, 
        lapply(split(x, cumsum(grepl(">sp", x, fixed = TRUE))), function(i){
          cbind.data.frame(Col1 = unlist(strsplit(i[ 1 ], "|", fixed = TRUE))[ 2 ],
                           Col2 = read.table(text = i[ 2:length(i) ])[, 5])
        }))
#       Col1   Col2
# 1   A6NMZ2 25.507
# 2.1 O00501 23.138
# 2.2 O00501 25.897
# 3   O14618 25.541
# 4.1 O14828 24.520
# 4.2 O14828 27.390

x我在尝试您的代码时遇到此错误:扫描错误(file=file,what=what,sep=sep,quote=quote,dec=dec,:第1行没有12个元素