fasta2DNAbin: Read large DNA alignments into R

View source: R/import.R

fasta2DNAbinR Documentation

Read large DNA alignments into R


The function fasta2DNAbin reads alignments with the fasta format (extensions ".fasta", ".fas", or ".fa"), and outputs a DNAbin object (the efficient DNA representation from the ape package). The output contains either the full alignments, or only SNPs. This implementation is designed for memory-efficiency, and can read in larger datasets than Ape's read.dna.

The function reads data by chunks of a few genomes (minimum 1, no maximum) at a time, which allows one to read massive datasets with negligible RAM requirements (albeit at a cost of computational time). The argument chunkSize indicates the number of genomes read at a time. Increasing this value decreases the computational time required to read data in, while increasing memory requirements.


fasta2DNAbin(file, quiet=FALSE, chunkSize=10, snpOnly=FALSE)



a character string giving the path to the file to convert, with the extension ".fa", ".fas", or ".fasta".

Can also be a connection (which will be opened for reading if necessary, and if so closed (and hence destroyed) at the end of the function call).


a logical stating whether a conversion messages should be printed (FALSE, default) or not (TRUE).


an integer indicating the number of genomes to be read at a time; larger values require more RAM but decrease the time needed to read the data.


a logical indicating whether SNPs only should be returned.


an object of the class DNAbin


Thibaut Jombart

See Also

- ?DNAbin for a description of the class DNAbin.

- read.snp: read SNPs in adegenet's '.snp' format.

- read.PLINK: read SNPs in PLINK's '.raw' format.

- df2genind: convert any multiallelic markers into adegenet genind.

- import2genind: read multiallelic markers from various software into adegenet.


## Not run: 
## show the example file ##
## this is the path to the file:
myPath <- system.file("files/usflu.fasta",package="adegenet")

## read the file
obj <- fasta2DNAbin(myPath, chunk=10) # process 10 sequences at a time

## End(Not run)

adegenet documentation built on Oct. 2, 2022, 5:05 p.m.