Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Bed Reader

Project description

PyPI version Build Status PyPI - Python Version

Read and write the PLINK BED format, simply and efficiently.

Features:

  • Fast multi-threaded C++ engine.
  • Supports all Python indexing methods. Slice data by individuals (samples) and/or SNPs (variants).
  • Used by PySnpTools, FaST-LMM, and PyStatGen.
  • Supports PLINK 1.9.

Install

pip install bed-reader

Usage

Read genomic data from a .bed file.

>>> import numpy as np
>>> from bed_reader import open_bed, sample_file
>>>
>>> file_name = sample_file("small.bed")
>>> bed = open_bed(file_name)
>>> val = bed.read()
>>> print(val)
[[ 1.  0. nan  0.]
 [ 2.  0. nan  2.]
 [ 0.  1.  2.  0.]]
>>> del bed

Read every second individual and SNPs (variants) from 20 to 30.

>>> file_name2 = sample_file("some_missing.bed")
>>> bed2 = open_bed(file_name2)
>>> val2 = bed2.read(index=np.s_[::2,20:30])
>>> print(val2.shape)
(50, 10)
>>> del bed2

List the first 5 individual (sample) ids, the first 5 SNP (variant) ids, and every unique chromosome. Then, read every value in chromosome 5.

>>> with open_bed(file_name2) as bed3:
...     print(bed3.iid[:5])
...     print(bed3.sid[:5])
...     print(np.unique(bed3.chromosome))
...     val3 = bed3.read(index=np.s_[:,bed3.chromosome=='5'])
...     print(val3.shape)
['iid_0' 'iid_1' 'iid_2' 'iid_3' 'iid_4']
['sid_0' 'sid_1' 'sid_2' 'sid_3' 'sid_4']
['1' '10' '11' '12' '13' '14' '15' '16' '17' '18' '19' '2' '20' '21' '22'
 '3' '4' '5' '6' '7' '8' '9']
(100, 6)

Project Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for bed-reader, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size bed_reader-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl (141.8 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size bed_reader-0.1.1-cp37-cp37m-manylinux2010_x86_64.whl (2.1 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size bed_reader-0.1.1-cp37-cp37m-win_amd64.whl (470.5 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size bed_reader-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl (142.5 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size bed_reader-0.1.1-cp38-cp38-manylinux2010_x86_64.whl (2.1 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size bed_reader-0.1.1-cp38-cp38-win_amd64.whl (472.3 kB) File type Wheel Python version cp38 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page