Я получил текстовый файл следующим образом:
-- SMART RESULTS TEXTFORMAT --
USER_PROTEIN_ID = SAUSA300_RS14200
SMART_PROTEIN_ID = uniprot|Q5HCS9|Q5HCS9_STAAC
NUMBER_OF_FEATURES_FOUND=1
DOMAIN=transmembrane_domain
START=7
END=29
EVALUE=0
TYPE=INTRINSIC
STATUS=visible|OK
-- FINISHED --
-- SMART RESULTS TEXTFORMAT --
USER_PROTEIN_ID = SAUSA300_RS11975
SMART_PROTEIN_ID = uniprot|A6QJ58|A6QJ58_STAAE
NUMBER_OF_FEATURES_FOUND=0
-- FINISHED --
-- SMART RESULTS TEXTFORMAT --
USER_PROTEIN_ID = SAUSA300_RS14395
SMART_PROTEIN_ID = uniprot|Q2FDK5|SRAP_STAA3
NUMBER_OF_FEATURES_FOUND=1
DOMAIN=Pfam:Gram_pos_anchor
START=2221
END=2258
EVALUE=6e-08
TYPE=PFAM
STATUS=visible|OK
-- FINISHED --
Я хочу получить информацию между «SMART RESULTS TEXTFORMAT» и «FINISHED» и экспортировать каждую часть для разных USER_PROTEIN_ID в каждую строку таблицы.
Может ли кто-нибудь предоставить некоторые коды? Я получил несколько сложных самостоятельно. Он оказался в кадре данных, но не знаю, как продолжить экспорт в каждую строку в Excel.
start="-- SMART RESULTS TEXTFORMAT --"
end="-- FINISHED --"
n=nrow(myfile)
index=c(1:n)
myfile=cbind(index,myfile)
starline=as.data.frame(grep(start,myfile[,2]))
endline=as.data.frame(grep(end,myfile[,2]))
indexlist=cbind(starline,endline)
newlist=character(length = n)
for (i in 1:n) {
index1=indexlist[i,1]+1
index2=indexlist[i,2]-1
newlist[i]=as.data.frame(as.data.frame(myfile[index1:index2,2]))
}