\name{read.fasta.demo}

\alias{read.fasta.demo}
\alias{read.fasta.demo1}
\alias{read.fasta.demo2}
\alias{read.fasta.demo3}
\alias{read.fasta.demo3B}


\title{Reading FASTA data from a collection of files}

\description{
  Just some demo functions implemented in C to illustrate the use of the
  Biostrings C interface for loading character data into an XStringSet object.
  These functions only support a simplified form of the FASTA format where
  the records have only 2 lines: one for the description (starting with a '>')
  and one for the sequences.
}

\usage{
  read.fasta.demo1(filepaths, desc.prefix=">")
  read.fasta.demo2(filepaths, baseClass, desc.prefix=">")
  read.fasta.demo3(filepaths, baseClass, desc.prefix=">")
  read.fasta.demo3B(filepaths, baseClass, desc.prefix=">")
}

\arguments{
  \item{filepaths}{
    A character vector containing file paths.
  }
  \item{baseClass}{
    Must be the name of one of the direct XString subtypes i.e.
    \code{"BString"}, \code{"DNAString"}, \code{"RNAString"}
    or \code{"AAString"}.
    The elements of the \link[Biostrings]{XStringSet} object returned by the
    reading function will be of that class.
    For example with \code{baseClass="DNAString"}, this
    \link[Biostrings]{XStringSet} object will be a
    \link[Biostrings]{DNAStringSet} object
    therefore all its elements will be \link[Biostrings]{DNAString} objects.
  }
  \item{desc.prefix}{
    A single string containing the markup used at the beginning of each
    description line.
  }
}

\details{
  [NO DETAILS FOR NOW]
}

\seealso{
  \link[Biostrings]{XStringSet-class},
  \link[Biostrings]{DNAString-class}
}

\examples{
  file <- system.file("extdata", "fake.fa", package="BiostringsCinterfaceDemo")

  ## Load the file into a named character vector
  x1 <- read.fasta.demo1(file)
  x1

  ## Load the file into a DNAStringSet object
  x2 <- read.fasta.demo2(file, "DNAString")
  x2

  ## Load the file into a list of 2 XStringSet objects
  x3 <- read.fasta.demo3(file, "DNAString")
  x3
  x3B <- read.fasta.demo3B(file, "DNAString")
  x3B
}

\keyword{manip}