Sample SNPs
Fast ordered sampling of rows from large text or binary files. Special cases for DNA variant files (.bed, VCF, HapMap, etc).
|
VCF file input class. More...
#include <varfiles.hpp>
Public Member Functions | |
VcfFileI () | |
Default constructor. | |
VcfFileI (const string &fileName) | |
File name constructor. More... | |
VcfFileI (const VcfFileI &in)=default | |
Copy constructor. | |
VcfFileI & | operator= (const VcfFileI &in)=default |
Copy assignment. | |
VcfFileI (VcfFileI &&in)=default | |
Move constructor. | |
VcfFileI & | operator= (VcfFileI &&in)=default |
Move assignment. | |
~VcfFileI () | |
Destructor. | |
void | open () |
Open stream to read. | |
void | sample (VcfFileO &out, const uint64_t &n) |
Sample SNPs and save to VCF file. More... | |
uint64_t | nsnp () |
Number of SNPs in the object. | |
Public Member Functions inherited from sampFiles::VcfFile | |
VcfFile () | |
Default constructor. | |
VcfFile (const string &fileName) | |
Constructor with file name. More... | |
VcfFile (const VcfFile &in)=default | |
Copy constructor. | |
VcfFile & | operator= (const VcfFile &in)=default |
Copy assignment. | |
VcfFile (VcfFile &&in)=default | |
Move constructor. | |
VcfFile & | operator= (VcfFile &&in)=default |
Move assignment. | |
~VcfFile () | |
Destructor. | |
void | close () |
Close stream. | |
Public Member Functions inherited from sampFiles::GtxtFile | |
GtxtFile () | |
Default constructor. | |
GtxtFile (const string &fileName) | |
Constructor with file name. More... | |
GtxtFile (const string &fileName, const bool &head) | |
Constructor with file name and header indicator. More... | |
GtxtFile (const GtxtFile &in)=default | |
Copy constructor. | |
GtxtFile & | operator= (const GtxtFile &in)=default |
Copy assignment. | |
GtxtFile (GtxtFile &&in)=default | |
Move constructor. | |
GtxtFile & | operator= (GtxtFile &&in)=default |
Move assignment. | |
~GtxtFile () | |
Destructor. | |
Public Member Functions inherited from sampFiles::VarFile | |
VarFile (const VarFile &in)=default | |
Copy constructor. | |
VarFile & | operator= (const VarFile &in)=default |
Copy assignment. | |
VarFile (VarFile &&in)=default | |
Move constructor. | |
VarFile & | operator= (VarFile &&in)=default |
Move assignment. | |
~VarFile () | |
Destructor. | |
Protected Member Functions | |
uint64_t | _numLines () |
Get number of SNPs in the VCF file. More... | |
Protected Member Functions inherited from sampFiles::VarFile | |
VarFile () | |
Default constructor (protected) | |
Additional Inherited Members | |
Protected Attributes inherited from sampFiles::GtxtFile | |
string | _fileName |
File name. | |
bool | _head |
Is there a header? | |
Protected Attributes inherited from sampFiles::VarFile | |
fstream | _varFile |
Variant file stream. | |
VCF file input class.
Reads VCF files, skipping or copying the header as necessary; .idx files are ignored.
|
inline |
File name constructor.
[in] | fileName | file name including extension |
|
protected |
Get number of SNPs in the VCF file.
Assumes Unix-like line endings. Header is not counted.
void VcfFileI::sample | ( | VcfFileO & | out, |
const uint64_t & | n | ||
) |
Sample SNPs and save to VCF file.
Sample \(n\) SNPs without replacement from the file represented by the current object and save to the out
object. Uses Vitter's [3] method. Number of samples has to be smaller that the number of SNPs in the file.
[in] | out | output object |
[in] | n | number of SNPs to sample |