Pandas-plink เป็นแพ็คเกจ Python สำหรับการอ่านรูปแบบไฟล์ไบนารีของ PLINK และเมทริกซ์ความสัมพันธ์ที่เกิดขึ้นจริง (PLINK หรือ GCTA) การอ่านไฟล์เกิดขึ้นผ่านการโหลดแบบ Lazy Loading ซึ่งหมายความว่าจะช่วยประหยัดหน่วยความจำโดยการอ่านเฉพาะจีโนไทป์ที่ผู้ใช้เข้าถึงได้จริงเท่านั้น
การเปลี่ยนแปลงที่สำคัญสามารถพบได้ที่ CHANGELOG.md
สามารถติดตั้งได้โดยใช้ pip:
pip install pandas-plink
หรือสามารถติดตั้งผ่าน conda:
conda install -c conda-forge pandas-plink
มันง่ายเหมือน
>> > from pandas_plink import read_plink1_bin
>> > G = read_plink1_bin ( "chr11.bed" , "chr11.bim" , "chr11.fam" , verbose = False )
>> > print ( G )
< xarray . DataArray 'genotype' ( sample : 14 , variant : 779 ) >
dask . array < shape = ( 14 , 779 ), dtype = float64 , chunksize = ( 14 , 779 ) >
Coordinates :
* sample ( sample ) object 'B001' 'B002' 'B003' ... 'B012' 'B013' 'B014'
* variant ( variant ) object '11_316849996' '11_316874359' ... '11_345698259'
father ( sample ) < U1 '0' '0' '0' '0' '0' '0' ... '0' '0' '0' '0' '0' '0'
fid ( sample ) < U4 'B001' 'B002' 'B003' 'B004' ... 'B012' 'B013' 'B014'
gender ( sample ) < U1 '0' '0' '0' '0' '0' '0' ... '0' '0' '0' '0' '0' '0'
i ( sample ) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13
iid ( sample ) < U4 'B001' 'B002' 'B003' 'B004' ... 'B012' 'B013' 'B014'
mother ( sample ) < U1 '0' '0' '0' '0' '0' '0' ... '0' '0' '0' '0' '0' '0'
trait ( sample ) < U2 '-9' '-9' '-9' '-9' '-9' ... '-9' '-9' '-9' '-9' '-9'
a0 ( variant ) < U1 'C' 'G' 'G' 'C' 'C' 'T' ... 'T' 'A' 'C' 'A' 'A' 'T'
a1 ( variant ) < U1 'T' 'C' 'C' 'T' 'T' 'A' ... 'C' 'G' 'T' 'G' 'C' 'C'
chrom ( variant ) < U2 '11' '11' '11' '11' '11' ... '11' '11' '11' '11' '11'
cm ( variant ) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0
pos ( variant ) int64 157439 181802 248969 ... 28937375 28961091 29005702
snp ( variant ) < U9 '316849996' '316874359' ... '345653648' '345698259'
>> > print ( G . sel ( sample = "B003" , variant = "11_316874359" ). values )
0.0
>> > print ( G . a0 . sel ( variant = "11_316874359" ). values )
G
>> > print ( G . sel ( sample = "B003" , variant = "11_316941526" ). values )
2.0
>> > print ( G . a1 . sel ( variant = "11_316941526" ). values )
C
บางส่วนของจีโนไทป์จะถูกอ่านเมื่อผู้ใช้เข้าถึง
เมทริกซ์ความแปรปรวนร่วมสามารถอ่านได้ง่ายมาก ตัวอย่าง:
>> > from pandas_plink import read_rel
>> > K = read_rel ( "plink2.rel.bin" )
>> > print ( K )
< xarray . DataArray ( sample_0 : 10 , sample_1 : 10 ) >
array ([[ 0.885782 , 0.233846 , - 0.186339 , - 0.009789 , - 0.138897 , 0.287779 ,
0.269977 , - 0.231279 , - 0.095472 , - 0.213979 ],
[ 0.233846 , 1.077493 , - 0.452858 , 0.192877 , - 0.186027 , 0.171027 ,
0.406056 , - 0.013149 , - 0.131477 , - 0.134314 ],
[ - 0.186339 , - 0.452858 , 1.183312 , - 0.040948 , - 0.146034 , - 0.204510 ,
- 0.314808 , - 0.042503 , 0.296828 , - 0.011661 ],
[ - 0.009789 , 0.192877 , - 0.040948 , 0.895360 , - 0.068605 , 0.012023 ,
0.057827 , - 0.192152 , - 0.089094 , 0.174269 ],
[ - 0.138897 , - 0.186027 , - 0.146034 , - 0.068605 , 1.183237 , 0.085104 ,
- 0.032974 , 0.103608 , 0.215769 , 0.166648 ],
[ 0.287779 , 0.171027 , - 0.204510 , 0.012023 , 0.085104 , 0.956921 ,
0.065427 , - 0.043752 , - 0.091492 , - 0.227673 ],
[ 0.269977 , 0.406056 , - 0.314808 , 0.057827 , - 0.032974 , 0.065427 ,
0.714746 , - 0.101254 , - 0.088171 , - 0.063964 ],
[ - 0.231279 , - 0.013149 , - 0.042503 , - 0.192152 , 0.103608 , - 0.043752 ,
- 0.101254 , 1.423033 , - 0.298255 , - 0.074334 ],
[ - 0.095472 , - 0.131477 , 0.296828 , - 0.089094 , 0.215769 , - 0.091492 ,
- 0.088171 , - 0.298255 , 0.910274 , - 0.024663 ],
[ - 0.213979 , - 0.134314 , - 0.011661 , 0.174269 , 0.166648 , - 0.227673 ,
- 0.063964 , - 0.074334 , - 0.024663 , 0.914586 ]])
Coordinates :
* sample_0 ( sample_0 ) object 'HG00419' 'HG00650' ... 'NA20508' 'NA20753'
* sample_1 ( sample_1 ) object 'HG00419' 'HG00650' ... 'NA20508' 'NA20753'
fid ( sample_1 ) object 'HG00419' 'HG00650' ... 'NA20508' 'NA20753'
iid ( sample_1 ) object 'HG00419' 'HG00650' ... 'NA20508' 'NA20753'
>> > print ( K . values )
[[ 0.89 0.23 - 0.19 - 0.01 - 0.14 0.29 0.27 - 0.23 - 0.10 - 0.21 ]
[ 0.23 1.08 - 0.45 0.19 - 0.19 0.17 0.41 - 0.01 - 0.13 - 0.13 ]
[ - 0.19 - 0.45 1.18 - 0.04 - 0.15 - 0.20 - 0.31 - 0.04 0.30 - 0.01 ]
[ - 0.01 0.19 - 0.04 0.90 - 0.07 0.01 0.06 - 0.19 - 0.09 0.17 ]
[ - 0.14 - 0.19 - 0.15 - 0.07 1.18 0.09 - 0.03 0.10 0.22 0.17 ]
[ 0.29 0.17 - 0.20 0.01 0.09 0.96 0.07 - 0.04 - 0.09 - 0.23 ]
[ 0.27 0.41 - 0.31 0.06 - 0.03 0.07 0.71 - 0.10 - 0.09 - 0.06 ]
[ - 0.23 - 0.01 - 0.04 - 0.19 0.10 - 0.04 - 0.10 1.42 - 0.30 - 0.07 ]
[ - 0.10 - 0.13 0.30 - 0.09 0.22 - 0.09 - 0.09 - 0.30 0.91 - 0.02 ]
[ - 0.21 - 0.13 - 0.01 0.17 0.17 - 0.23 - 0.06 - 0.07 - 0.02 0.91 ]]
โปรดดูเอกสารประกอบของ pandas-plink สำหรับข้อมูลเพิ่มเติม
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT