transformation of csv file with dna sequences to fasta format with rstudio and with biostrings

i have a csv file with DNA sequences. The file has 4 columns which are the name of the chromosome, the start and end of the sequence and the strand (missing or +). I want to transorme this file in fasta format with Rstudio and with the tool of biostring. But i don't know much about the code whick i have to use. First i download the library of biostring. i use this code: c

sv = read.csv("foo.csv") fa = character(4 * nrow(csv)) fa[c(TRUE, FALSE)] = sprintf("> %s", csv$chr) fa[c(FALSE, TRUE)] = csv$seq writeLines(fa, "foo.fasta")
library(Biostrings) seq = csv$seq names(seq) = csv$id dna = DNAStringSet(seq) write.XStringSet(dna, "foo.fasta").

also when i run the code: fa[c(TRUE, FALSE)] = sprintf("> %s", csv$chr), it appears ---Error in fa[c(TRUE, FALSE)] = sprintf("> %s", csv$chr) :replacement has length zero do you reccomend me some other code? or what should change in this code. Thank you

2

1 Answer

If you don't mind not using R to achieve your goal. You can look at bedtools getfasta (documentation) for a command-line solution in Linux.

The usage of is quite simple:

bedtools getfasta -fi yourFasta.fa -bed foo.bed -s

-s option for force strandness.

But first you may need to convert your csv foo.csv to a bed format. You can do this in R also:

library(reader)
df <- read_csv("foo.csv")
write_tsv(df, "foo.bed", col_names=FALSE)

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like