Plink in Python

Ich möchte PLINK-Datendateien (.bed, .fam, .map) usw. in Python verwenden. Es gibt ein Modul namens Pyplink.

Installation

Kann mit pip installiert werden

shell


pip install pyplink

Wie benutzt man

Angenommen, Sie haben eine Reihe von Dateien in Ihrem aktuellen Verzeichnis, z. B. foo.bed foo.fam foo.bim

python3


from pyplink import PyPlink
pyp = PyPlink("foo")

Dadurch wird ein Objekt namens pyp erstellt. Dies ist ein integriertes Objekt von .bed-, .fam- und .bim-Dateien. Sie können mit verschiedenen Mitgliedsfunktionen auf jede Information zugreifen.

python3


pyp.get_fam()
pyp.get_nb_samples()
pyp.get_bim()
pyp.get_nb_markers()

python3


markerNames = pyp.get_bim().iloc[:,5]

Ermitteln Sie den Genotyp, indem Sie den Markernamen angeben. Basisinformationen können unter Verwendung von acgt erhalten werden.

python3


pyp.get_geno_marker(markerNames[0])
pyp.get_acgt_geno_marker(markerNames[0])

Sie können die Marker-ID und den Genotyp auch als Iterator abrufen.

python3


markers = ["rs7092431", "rs9943770", "rs1578483"]
for marker_id, genoypes in pyp.iter_geno_marker(markers):
  print(marker_id)
  print(genotypes, end="\n\n")

Beispielskript

Holen Sie sich alle Genotypen männlicher Proben für Marker auf 23 Chromosomen

python3


for marker_ID, genotypes in pyp.iter_geno_marker(y_markers):
    male_genotypes = genotypes[males]
    print("{:d} total genotypes".format(len(genotypes)))
    print("{:d} genotypes for {:,d} males ({} on chr{} and position {:,d})".format(
        len(male_genotypes),
        males.sum(),
        marker_ID,
        all_markers.loc[marker_ID, "chrom"],
        all_markers.loc[marker_ID, "pos"],
    ))
    break

Ermitteln Sie die Häufigkeit und den Genotyp des Minor-Allels des angegebenen Markers

python3


founders = (all_samples.father == "0") & (all_samples.mother == "0")
markers = ["rs7092431", "rs9943770", "rs1587483"]

for marker_ID, genotypes in pyp.iter_geno_marker(markers):
    valid_genotypes = genotypes[founders.values & (genotypes != -1)]
    maf = valid_genotypes.sum()/(len(valid_genotypes)*2)
    print(marker_ID, round(maf, 6), sep="\t")
    print(genotypes)

Recommended Posts

Plink in Python
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
SendKeys in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Sortierte Liste in Python
Täglicher AtCoder # 36 mit Python
Clustertext in Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Täglicher AtCoder # 18 in Python
Bearbeiten Sie Schriftarten in Python
Singleton-Muster in Python
Dateioperationen in Python
Lesen Sie DXF mit Python
Täglicher AtCoder # 53 in Python
Tastenanschlag in Python
Verwenden Sie config.ini mit Python
Täglicher AtCoder # 33 in Python
Löse ABC168D in Python
Logistische Verteilung in Python
Täglicher AtCoder # 7 in Python
LU-Zerlegung in Python
Einfacher gRPC in Python