Answers.Body: <p>I want to advise you to use FASTA format, instead of obscure unknown formats. In R, there are many packages that can handle FASTA format and it is therefore more convenient. I will show you how to make a FASTA file from your data, and then I will show an example of how to import such a FASTA file and sub select your proteins of interest.</p>
  
  <pre><code>input &lt;- scan("seq2.txt", what = character(), sep = "\t")
  length(input)
  new &lt;- gsub("f", "&gt;f", input[-1:-2])
  write.table(new, "seq2.fasta", quote = F, row.names = F, col.names = F)
  
  library(seqinr)
  fasta.file &lt;- read.fasta("seq2.fasta", seqtype = "AA", as.string = TRUE)
  prot.id &lt;- scan("protein_id.txt", what = character(), sep = "\t")
  selection &lt;- fasta.file[names(fasta.file) %in% prot.id]
  length(selection)
  [1] 87
  
  head(selection, 2)
  $`fig|6666666.151743.peg.5044`
  [1] "MTKNTIHRTILVCASLIAMPAMAQGTTEAGQEGASLADIVVTAQRRSENLQNVPISVTAITSEQAIKLGITQPDVIAQMVPGLQLNHSAWGLTPFLRGVGTNSVAIGNEPAVALFVDDVYLPTGSAGVFQLNSISSIEVLKGPQGTLFGRNATGGVIHIRTRDPSFDPSASATASYGNYDTISGQLYGSTGLTDTVAINFALQGIDQRKGWGVNGTTGNEANSMSGWGGRAKLLWNMGEETSLLVAGSYDRRSSDQGQPGRSIAGTFTRDGYSADAAGLGFYDVMSNLDTVQKSTTRSLSGKLTHDFGSARLVLISAFSKTVVDPVVSDSDGSPSPFFQTREFAMGGRTFTQEVQLLSPEGSAVKWILGAFYLHDRSFMDATYEGQAFGTSKSHTDAVQRTNSIAGFGQVTTEILPRTNLTLGLRYTSDRRSLDAVARLLPATGAAVTFGPFEDAKTFNSVTGRASIDHHFSDDLMGYIAYNRGFKSGIYNFTGIVAGTTTLPPPVNPETLDAYTIGFKSEFLNRRLRVNAEAFLYEYSDLQVQIVLPTGTTLTNASKATIKGIDFEISAIPVRNLTVSASIGLLDGRYKDFRNAPSFFLLPPNAPTPYDPARCSGPNPYPAVQGSAPATQRSCDVSGNRLIQAPPFSSNLQLLYTLPTDLGDFDLSASWAHGGNYEYDVFSSPLTRQPRTDIVNGSVQWTAPGGTFNVRLWANNLTGEKYYTIATTGSTAGAKYAAAAPRTYGVTLGANF"
  attr(,"name")
  [1] "fig|6666666.151743.peg.5044"
  attr(,"Annot")
  [1] "&gt;fig|6666666.151743.peg.5044"
  attr(,"class")
  [1] "SeqFastaAA"
  
  $`fig|6666666.151743.peg.5063`
  [1] "MTVEQALARMLEGTGLEAQRLSPTAYRLVQAAPPASRRDPVRPAPPLPPEGSVDIIVTGTKREEPLARLPISVAIVQAPGEQGGALLPGTEEVAQRLDGLTLTNLGPGRNRQFIRGVADSPFNGNSQSTVAILINDARATYNAPDPDLKLVDVERVELLKGPQGSLYGTGTLGGVYHIVTRPPDAGSFAAMAGMGASLATHGEMGGSAEAMVNLPVVADRLALRAVAYAVREPGWIDTAGRGDANRGELRGGRVALRALAGDWTVDLNGMAQMRDVADSQYVYARHALERPAQPAEPHDNDFALMALRVAGKLGGADLVYAGNWVDHDVSSTLDASDLSASAFGIAPPALYLEQRRNRLFDQEVRLSQTRDDGLSWLAGLSFVDVRNHLSGVVRGVRDETVGTGIQGVVEFSAFGDMRMPLTGALSLSVGGRLFHSRIEEEQGARHARIEASVARSGFTPSLALSWQAGAHDFLYARYAGALRPGGLSRTGAASAERFESDELQTVEMGWRHSASAWLTVNLDAFLTTWSHMQSDYLLADGLIGTRNVGDARIRGVEASVDWKPAAGWAISAGLVGQSALLTRTNEGLRLEDRHLPVVPDWKARFGVNRHFDLSGWSGSMGVNLAYLGPSRLSFDPGLDRRMGDYALANADLALRRKDWSIRLSGSNLLDCKADSFAFGNPFALARGTQYTPLRPRQWAIGFTKNW"
  attr(,"name")
  [1] "fig|6666666.151743.peg.5063"
  attr(,"Annot")
  [1] "&gt;fig|6666666.151743.peg.5063"
  attr(,"class")
  [1] "SeqFastaAA"
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-30T13:54:57.463Z
Answers.Text: looks like its bit more complicated than i thought let me run ,do you have a sed or awk ways to get around this file format?
Answers.UserDisplayName: kcm
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-30T13:58:03.123Z
Answers.Text: No, like I said: I advice you to USE the fasta file format because you can use a lot of tools for your purposes instead of reinventing the wheel with your own format.
Answers.UserDisplayName: benn
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-30T14:06:52.803Z
Answers.Text: how did you write the selection object into a file as the object is list .."Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) : 
    cannot coerce class ‘"SeqFastaAA"’ to a data.frame"
Answers.UserDisplayName: kcm
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-30T14:17:34.083Z
Answers.Text: able to write it...and im really glad for your help.....
Answers.UserDisplayName: kcm
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-30T16:28:07.023Z
Answers.Text: Great to hear, good luck with the analysis.
Answers.UserDisplayName: benn
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-30T13:07:10.270Z
Answers.LastActivityDate: 2018-11-30T14:41:22.553Z
Answers.LastEditDate: 2018-11-30T14:41:22.553Z
Answers.UserDisplayName: benn
Body: <p>I tried to subset the dataframe in R since there are empty space after each line in the sequence which shows 'NA' when i read the files into R ,as a result of which when i subset it just takes the sequence Protein_IDS and sequence line by line not as whole </p>
  
  <p>Im looking for this Protein_ID in one column and respective sequence in other </p>
  
  <pre><code>Proteins_IDs                Sequence                                                    
    &lt;chr&gt;                       &lt;chr&gt;                                                       
  1 fig|6666666.151743.peg.5284 MERQAVAVVFHDWRRAIQQRNKTAAADRGVDPVGVGHNSKIESLQPRSSVCRASLIQVPG
  2 NA                          RLLNGEIFYSLAEAKVLIEAWRRHYNTVRPHSSLGYRPPAPETATPPYPASGSASLHLRP
  3 NA                          DMAAMGLIH                                                   
  4 NA                          NA                                                          
  5 fig|6666666.151743.peg.5285 MIDRQTAQVRRWSFVLGSSIAAMAAASATPAWAQCSPDPTVADSVTNCTGTDSDGLRVTT
  6 NA                          DGSMVEVAPSASVSGAGAAAITVDIAPVSGSYYARKATINVGGSVDGGTQSGISVLSGSV
  </code></pre>
  
  <p>So i have made another file with list of protein ID which i want to subset from this file..I tried removing empty space from the file but couldn;t as it the sequence should come in one line but instead there is line break</p>
  
  <p><a href="https://drive.google.com/open?id=1AO9s3BuLu7nFOGUp6g5Zpm3N7MFrv93K" rel="nofollow noreferrer">data files</a></p>
  
  <p>I tried this <code>SEQ &lt;- inner_join(seq,protein_id)</code> whose output is this its like each ID is associated with multiple sequence </p>
  
  <pre><code>fig|6666666.151743.peg.5044 MTKNTIHRTILVCASLIAMPAMAQGTTEAGQEGASLADIVVTAQRRSENLQNVPISVTAI
  2 fig|6666666.151743.peg.5063 MTVEQALARMLEGTGLEAQRLSPTAYRLVQAAPPASRRDPVRPAPPLPPEGSVDIIVTGT
  3 fig|6666666.151743.peg.5135 MLRVADGYVEEAADDAIVPSPAVPLSVPSAPVRFEAAPARYGARRGPNVPAILVIVLLHA
  </code></pre>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-11-30T12:02:56.243Z
Comments.Text: It is very hard to understand your question. Please try to formulate the question, by telling what you have, what you want and what you have tried (including code).
Comments.UserDisplayName: benn
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-11-30T12:11:58.160Z
Comments.Text: edited the question
Comments.UserDisplayName: kcm
Tags: <r>
Title: Subset data frame based on ID
ThreadText: # Subset data frame based on ID
  
  (Asked by: username_0 on 2018-11-30)
  
  I tried to subset the dataframe in R since there are empty space after each line in the sequence which shows 'NA' when i read the files into R ,as a result of which when i subset it just takes the sequence Protein\_IDS and sequence line by line not as whole
  
  Im looking for this Protein\_ID in one column and respective sequence in other
  
  ```
  Proteins_IDs                Sequence                                                    
    <chr>                       <chr>                                                       
  1 fig|6666666.151743.peg.5284 MERQAVAVVFHDWRRAIQQRNKTAAADRGVDPVGVGHNSKIESLQPRSSVCRASLIQVPG
  2 NA                          RLLNGEIFYSLAEAKVLIEAWRRHYNTVRPHSSLGYRPPAPETATPPYPASGSASLHLRP
  3 NA                          DMAAMGLIH                                                   
  4 NA                          NA                                                          
  5 fig|6666666.151743.peg.5285 MIDRQTAQVRRWSFVLGSSIAAMAAASATPAWAQCSPDPTVADSVTNCTGTDSDGLRVTT
  6 NA                          DGSMVEVAPSASVSGAGAAAITVDIAPVSGSYYARKATINVGGSVDGGTQSGISVLSGSV
  
  ```
  
  So i have made another file with list of protein ID which i want to subset from this file..I tried removing empty space from the file but couldn;t as it the sequence should come in one line but instead there is line break
  
  [data files](https://drive.google.com/open?id=1AO9s3BuLu7nFOGUp6g5Zpm3N7MFrv93K)
  
  I tried this `SEQ <- inner_join(seq,protein_id)` whose output is this its like each ID is associated with multiple sequence
  
  ```
  fig|6666666.151743.peg.5044 MTKNTIHRTILVCASLIAMPAMAQGTTEAGQEGASLADIVVTAQRRSENLQNVPISVTAI
  2 fig|6666666.151743.peg.5063 MTVEQALARMLEGTGLEAQRLSPTAYRLVQAAPPASRRDPVRPAPPLPPEGSVDIIVTGT
  3 fig|6666666.151743.peg.5135 MLRVADGYVEEAADDAIVPSPAVPLSVPSAPVRFEAAPARYGARRGPNVPAILVIVLLHA
  
  ```
  
  **Tags:** r
  
  > **Comments:**
  > **username_1**: It is very hard to understand your question. Please try to formulate the question, by telling what you have, what you want and what you have tried (including code).  
  > **username_0**: edited the question  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2018-11-30. Score: 5 | Accepted answer
  
  I want to advise you to use FASTA format, instead of obscure unknown formats. In R, there are many packages that can handle FASTA format and it is therefore more convenient. I will show you how to make a FASTA file from your data, and then I will show an example of how to import such a FASTA file and sub select your proteins of interest.
  
  ```
  input <- scan("seq2.txt", what = character(), sep = "\t")
  length(input)
  new <- gsub("f", ">f", input[-1:-2])
  write.table(new, "seq2.fasta", quote = F, row.names = F, col.names = F)
  
  library(seqinr)
  fasta.file <- read.fasta("seq2.fasta", seqtype = "AA", as.string = TRUE)
  prot.id <- scan("protein_id.txt", what = character(), sep = "\t")
  selection <- fasta.file[names(fasta.file) %in% prot.id]
  length(selection)
  [1] 87
  
  head(selection, 2)
  $`fig|6666666.151743.peg.5044`
  [1] "MTKNTIHRTILVCASLIAMPAMAQGTTEAGQEGASLADIVVTAQRRSENLQNVPISVTAITSEQAIKLGITQPDVIAQMVPGLQLNHSAWGLTPFLRGVGTNSVAIGNEPAVALFVDDVYLPTGSAGVFQLNSISSIEVLKGPQGTLFGRNATGGVIHIRTRDPSFDPSASATASYGNYDTISGQLYGSTGLTDTVAINFALQGIDQRKGWGVNGTTGNEANSMSGWGGRAKLLWNMGEETSLLVAGSYDRRSSDQGQPGRSIAGTFTRDGYSADAAGLGFYDVMSNLDTVQKSTTRSLSGKLTHDFGSARLVLISAFSKTVVDPVVSDSDGSPSPFFQTREFAMGGRTFTQEVQLLSPEGSAVKWILGAFYLHDRSFMDATYEGQAFGTSKSHTDAVQRTNSIAGFGQVTTEILPRTNLTLGLRYTSDRRSLDAVARLLPATGAAVTFGPFEDAKTFNSVTGRASIDHHFSDDLMGYIAYNRGFKSGIYNFTGIVAGTTTLPPPVNPETLDAYTIGFKSEFLNRRLRVNAEAFLYEYSDLQVQIVLPTGTTLTNASKATIKGIDFEISAIPVRNLTVSASIGLLDGRYKDFRNAPSFFLLPPNAPTPYDPARCSGPNPYPAVQGSAPATQRSCDVSGNRLIQAPPFSSNLQLLYTLPTDLGDFDLSASWAHGGNYEYDVFSSPLTRQPRTDIVNGSVQWTAPGGTFNVRLWANNLTGEKYYTIATTGSTAGAKYAAAAPRTYGVTLGANF"
  attr(,"name")
  [1] "fig|6666666.151743.peg.5044"
  attr(,"Annot")
  [1] ">fig|6666666.151743.peg.5044"
  attr(,"class")
  [1] "SeqFastaAA"
  
  $`fig|6666666.151743.peg.5063`
  [1] "MTVEQALARMLEGTGLEAQRLSPTAYRLVQAAPPASRRDPVRPAPPLPPEGSVDIIVTGTKREEPLARLPISVAIVQAPGEQGGALLPGTEEVAQRLDGLTLTNLGPGRNRQFIRGVADSPFNGNSQSTVAILINDARATYNAPDPDLKLVDVERVELLKGPQGSLYGTGTLGGVYHIVTRPPDAGSFAAMAGMGASLATHGEMGGSAEAMVNLPVVADRLALRAVAYAVREPGWIDTAGRGDANRGELRGGRVALRALAGDWTVDLNGMAQMRDVADSQYVYARHALERPAQPAEPHDNDFALMALRVAGKLGGADLVYAGNWVDHDVSSTLDASDLSASAFGIAPPALYLEQRRNRLFDQEVRLSQTRDDGLSWLAGLSFVDVRNHLSGVVRGVRDETVGTGIQGVVEFSAFGDMRMPLTGALSLSVGGRLFHSRIEEEQGARHARIEASVARSGFTPSLALSWQAGAHDFLYARYAGALRPGGLSRTGAASAERFESDELQTVEMGWRHSASAWLTVNLDAFLTTWSHMQSDYLLADGLIGTRNVGDARIRGVEASVDWKPAAGWAISAGLVGQSALLTRTNEGLRLEDRHLPVVPDWKARFGVNRHFDLSGWSGSMGVNLAYLGPSRLSFDPGLDRRMGDYALANADLALRRKDWSIRLSGSNLLDCKADSFAFGNPFALARGTQYTPLRPRQWAIGFTKNW"
  attr(,"name")
  [1] "fig|6666666.151743.peg.5063"
  attr(,"Annot")
  [1] ">fig|6666666.151743.peg.5063"
  attr(,"class")
  [1] "SeqFastaAA"
  
  ```
  
  > **Comments:**
  > **username_0**: looks like its bit more complicated than i thought let me run ,do you have a sed or awk ways to get around this file format?  
  > **username_1**: No, like I said: I advice you to USE the fasta file format because you can use a lot of tools for your purposes instead of reinventing the wheel with your own format.  
  > **username_0**: how did you write the selection object into a file as the object is list .."Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) :    cannot coerce class ‘"SeqFastaAA"’ to a data.frame"  
  > **username_0**: able to write it...and im really glad for your help.....  
  > **username_1**: Great to hear, good luck with the analysis.  
  
  ---
  
  