soapread
Read data from Short Oligonucleotide Analysis Package (SOAP) file
Syntax
SOAPStruct = soapread(File)
SOAPStruct = soapread(File,Name,Value)
Description
reads SOAPStruct
= soapread(File
)File
,
a SOAP-formatted file (version 2.15) and returns the data in SOAPStruct
,
a MATLAB® array of structures.
reads
a SOAP-formatted file with additional options specified by one or
more SOAPStruct
= soapread(File
,Name,Value
)Name,Value
pair arguments.
Input Arguments
|
Character vector or string specifying a file name, path and file name, or the text of a SOAP-formatted file. If you specify only a file name, that file must be on the MATLAB search path or in the Current Folder. The |
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
|
Scalar or vector that controls the reading of a single sequence
entry or block of sequence entries from a SOAP-formatted file containing
multiple sequences. Enter a scalar |
|
Logical specifying whether or not to include the Default: true |
Output Arguments
|
An N-by-1 array of structures containing sequence alignment and mapping information from a SOAP-formatted file, where N is the number of alignment records stored in the SOAP-formatted file. Each structure contains the following fields.
|
Examples
Read the alignment records (entries) from the sample01.soap
file
into a MATLAB array of structures and access some of the data:
% Read the alignment records stored in the file sample01.soap data = soapread('sample01.soap')
data = 17x1 struct array with fields: QueryName Sequence Quality NumHits PairedEndSourceFile Length Strand ReferenceName Position AlignDetails
% Access the quality score for the 6th entry data(6).Quality
ans = <>.>>>8>;:1>>>3>6>
% Determine the strand direction (forward or reverse) of the reference % sequence to which the 12th entry aligns data(12).Strand
ans = -
Read a block of alignment records (entries) from the sample01.soap
file
into a MATLAB array of structures:
% Read a block of six entries from a SOAP file data_5_10 = soapread('sample01.soap','blockread', [5 10])
data_5_10 = 6x1 struct array with fields: QueryName Sequence Quality NumHits PairedEndSourceFile Length Strand ReferenceName Position AlignDetails
Tips
If your SOAP-formatted file is too large to read using available memory, try either of the following:
Use the
BlockRead
name-value pair arguments to read a subset of entries.Create a
BioIndexedFile
object from the SOAP-formatted file (using'TABLE'
for theFormat
), and then access the entries using methods of theBioIndexedFile
class.
References
[1] Li, R., Yu, C., Li, Y., Lam, T., Yiu, S., Kristiansen, K., and Wang, J. (2009). SOAP2: an improved ultrafast tool for short read alignment. Bioinformatics 25, 15, 1966–1967.
[2] Li, R., Li, Y., Kristiansen, K., and Wang, J. (2008). SOAP: short oligonucleotide alignment program. Bioinformatics 24(5), 713–714.