I have a file (Fasta) imported as list in R
library("seqinr")
F300 <- read.fasta(file = "files300.fasta", seqtype = "DNA", as.string = TRUE, set.attributes = TRUE, strip.desc = TRUE)
class(F300)
[1] "list"
just to show the structure of the list with any element
F300[100]
$IMEHDJCA_00190
[1] "atgcttaacaacatcaatctcaatttactgcgttctttgctcgtgttgctcgaagagtgtcatgttagccgag"
attr(,"name")
[1] "IMEHDJCA_00190"
attr(,"Annot")
[1] "IMEHDJCA_00190 HTH-type transcriptional regulator YidZ"
attr(,"class")
[1] "SeqFastadna"
So I want to add an extra data to attr(,"Annot") element based in a data frame.
head(DF)
          ID1                 ID2       pident length mismatch gapopen qstart  qend sstart  send evalue bitscore qcovs
1 IMEHDJCA_00190 VFG007029(gi:27366917) 98.238   1362       24       0      1  1362      1  1362      0     2383   100
2 IMEHDJCA_00191 VFG007025(gi:27366916) 98.072   1608       31       0    499  2106      1  1608      0     2798    76
3 IMEHDJCA_00193 VFG007022(gi:37676692) 99.747    396        1       0      1   396     85   480      0      726   100
4 IMEHDJCA_00194 VFG007018(gi:27366913) 95.948  15622      631       2      1 15621      1 15621      0    25340   100
5 IMEHDJCA_00265 VFG007040(gi:27366843) 96.446   1407       50       0     10  1416      1  1407      0     2322    99
6 IMEHDJCA_00797 VFG042882(gi:27366060) 94.687    734       39       0      1   734      1   734      0     1140    99
Using the ID1 of the DF to identified the data in F300, and then add the ID2 character at begins of Annot attribute
I mean, the attributes will be
from
attr(F300[[100]],"Annot")
[1] "IMEHDJCA_00190 HTH-type transcriptional regulator YidZ"
To
attr(F300[[100]],"Annot")
[1] "VFG007029(gi:27366917) IMEHDJCA_00190 HTH-type transcriptional regulator YidZ"
I'm just a little bit lost, I have tried a for loop and something else, but I'm lost, I don't really know how to get a solution !!!
