Source code for snputils.ancestry.io.local.read.functional
from pathlib import Path
from typing import Union
from snputils.ancestry.genobj.local import LocalAncestryObject
[docs]
def read_lai(file: Union[str, Path], **kwargs) -> LocalAncestryObject:
"""
Automatically detect the local ancestry data file format from the file's extension and
read it into a `snputils.ancestry.genobj.LocalAncestryObject`.
**Supported formats:**
- `.msp`: Text-based MSP format.
- `.msp.tsv`: Text-based MSP format with TSV extension.
Args:
file (str or pathlib.Path):
Path to the file to be read. It should end with `.msp` or `.msp.tsv`.
**kwargs: Additional arguments passed to the reader method.
"""
from snputils.ancestry.io.local.read.auto import LAIReader
return LAIReader(file).read(**kwargs)
[docs]
def read_msp(file: Union[str, Path]) -> 'LocalAncestryObject':
"""
Read data from an `.msp` or `.msp.tsv` file and construct a `snputils.ancestry.genobj.LocalAncestryObject`.
Args:
file (str or pathlib.Path):
Path to the file to be read. It should end with `.msp` or `.msp.tsv`.
Returns:
LocalAncestryObject: A LocalAncestryObject instance.
"""
from snputils.ancestry.io.local.read.msp import MSPReader
return MSPReader(file).read()