1
我有一個叫snp.txt該文件是這樣的:合併文件座標的兩個文件在python
chrom chromStart chromEnd name strand observed
chr1 259 260 rs72477211 + A/G single
chr1 433 433 rs56289060 + -/C insertion
chr1 491 492 rs55998931 + C/T single
chr1 518 519 rs62636508 + C/G single
chr1 582 583 rs58108140 + A/G single
我有第二個文件gene.txt
chrom chromStart chromEnd tf_title tf_score
chr1 200 270 NFKB1 123
chr1 420 440 IRF4 234
chr1 488 550 BCL3 231
chr1 513 579 TCF12 12
chr1 582 583 BAD170 89
的最終輸出我想要的是:output.txt的
chrom chromStart chromEnd name strand observed tf_title tf_score
chr1 259 260 rs72477211 + A/G NFKB1 123
chr1 433 433 rs56289060 + -/C IRF4 234
chr1 491 492 rs55998931 + C/T BCL3 231
chr1 518 519 rs62636508 + C/G TCF12 12
chr1 582 583 rs58108140 + A/G BAD170 89
我希望能夠做的關鍵是看gene.txt,並檢查是否在日的rsnumber snp.txt的名字列位於由chrom,chromStart和chromEnd建立的相同區域。
例如:
在snp.txt 的RSID rs72477211的第一行是在位置259和260。
現在gene.txt之間CHR1,NFKB1也在CHR1但位置之間200和270, 這意味着rsid rs72477211位於NFKB1區域,所以在輸出txt中記錄了這一點。
我無法做到這一點在使用熊貓合併功能,我不知道哪裏開始。 這些文件非常大,因此循環會非常低效。 有人可以幫忙嗎?謝謝!
謝謝,你能解釋一下,你指的是什麼,chromStart_x和y? – CadisEtRama
合併的工作原理如下:chromstart和chromend都存在於兩個數據框中,但我們僅合併名稱。它會爲結果數據框中的重複列添加後綴。看看合併文檔 – Boud