write.dna: Write DNA Sequences in a File

View source: R/write.dna.R

write.dnaR Documentation

Write DNA Sequences in a File


These functions write in a file a list of DNA sequences in sequential, interleaved, or FASTA format. write.FASTA can write either DNA or AA sequences.


write.dna(x, file, format = "interleaved", append = FALSE,
          nbcol = 6, colsep = " ", colw = 10, indent = NULL,
          blocksep = 1)
write.FASTA(x, file, header = NULL, append = FALSE)



a list or a matrix of DNA sequences, or of AA sequences for write.FASTA.


a file name specified by either a variable of mode character, or a double-quoted string.


a character string specifying the format of the DNA sequences. Three choices are possible: "interleaved", "sequential", or "fasta", or any unambiguous abbreviation of these.


a logical, if TRUE the data are appended to the file without erasing the data possibly existing in the file, otherwise the file (if it exists) is overwritten (FALSE the default).


a numeric specifying the number of columns per row (6 by default); may be negative implying that the nucleotides are printed on a single line.


a character used to separate the columns (a single space by default).


a numeric specifying the number of nucleotides per column (10 by default).


a numeric or a character specifying how the blocks of nucleotides are indented (see details).


a numeric specifying the number of lines between the blocks of nucleotides (this has an effect only if 'format = "interleaved"').


a vector of mode character giving the header to be written in the FASTA file before the sequences. By default, there is no header.


Three formats are supported in the present function: see the help page of read.dna and the references below for a description.

If the sequences have no names, then they are given "1", "2", ... as labels in the file.

With the interleaved and sequential formats, the sequences must be all of the same length. The names of the sequences are not truncated.

The argument indent specifies how the rows of nucleotides are indented. In the interleaved and sequential formats, the rows with the taxon names are never indented; the subsequent rows are indented with 10 spaces by default (i.e., if indent = NULL). In the FASTA format, the rows are not indented by default. This default behaviour can be modified by specifying a value to indent: the rows are then indented with “indent” (if it is a character) or ‘indent’ spaces (if it is a numeric). For example, specifying indent = " " or indent = 3 will have the same effect (use indent = "\t" for a tabulation).

The different options are intended to give flexibility in formatting the sequences. For instance, if the sequences are very long it may be judicious to remove all the spaces beween columns (colsep = ""), in the margins (indent = 0), and between the blocks (blocksep = 0) to produce a smaller file.

write.dna(, format = "fasta") can be very slow if the sequences are long (> 10 kb). write.FASTA is much faster in this situation but the formatting is not flexible: each sequence is printed on a single line, which is OK for big files that are not intended to be open with a text editor.


None (invisible ‘NULL’).


Specifying a negative value for ‘nbcol’ (meaning that the nucleotides are printed on a single line) gives the same output for the interleaved and sequential formats.

The names of the sequences can be truncated with the function makeLabel. In particular, Clustal is limited to 30 characters, and PHYML seems limited to 99 characters.


Emmanuel Paradis


Anonymous. FASTA format. https://en.wikipedia.org/wiki/FASTA_format

Felsenstein, J. (1993) Phylip (Phylogeny Inference Package) version 3.5c. Department of Genetics, University of Washington. http://evolution.genetics.washington.edu/phylip/phylip.html

See Also

read.dna, read.GenBank, makeLabel

ape documentation built on May 29, 2024, 10:50 a.m.