亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2916 | 回復(fù): 8
打印 上一主題 下一主題

新手第一個(gè)帖子:轉(zhuǎn)換格式,求大神給個(gè)意見(jiàn) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2016-04-26 05:26 |只看該作者 |倒序?yàn)g覽
本帖最后由 小風(fēng)0000 于 2016-04-26 11:13 編輯

求大家給個(gè)流程,怎么解決這個(gè)問(wèn)題?找了好久還是解決不了。
按本人的想法是,把dat2做成個(gè)矩陣,然后對(duì)dat1文件進(jìn)行迭代,每次按da2進(jìn)行替換。但是第一步就出現(xiàn)問(wèn)題:怎么讀入數(shù)據(jù),轉(zhuǎn)換成矩陣?

dat1:
ind1        2202220
ind2        2222002
ind3        2222002
ind4        1221102
ind5        2222002
ind6        2212111
ind7        2202210
ind8        1221102
ind9        2222002
ind10        2222002

dat2:
SNPID_600K,Allele_0,Allele_1
snp1,A,C
snp2,A,G
snp3,A,G
snp4,T,C
snp5,T,C
snp6,T,C
snp7,A,G

dat1有10000行,2列,第2列有428896個(gè)數(shù)字。
dat2有428896行,3列。

現(xiàn)在要根據(jù)dat1第2列的數(shù)字轉(zhuǎn)換成字符,以dat1的第2列的第1個(gè)數(shù)字為例,數(shù)字2按dat2里的第3列轉(zhuǎn)換成C C。如果數(shù)字為1則按第2和第3列,轉(zhuǎn)換成A C。如果數(shù)字為0,則按第2列轉(zhuǎn)換成A A。
最后輸出的格式為:
ind1 C C G G A A C C C C C C A A
ind2 C C G G G G C C T T T T G G

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2016-04-26 08:28 |只看該作者
本帖最后由 Hadron74 于 2016-04-26 08:30 編輯

一看你也是學(xué)生物信息的。

按我的理解,dat1的列應(yīng)該對(duì)應(yīng)dat2的行吧,所以你的輸出格式的例子有誤。
如果這樣,程序如下:
  1. dat1 = """ind1        2202220
  2. ind2        2222002
  3. ind3        2222002
  4. ind4        1221102
  5. ind5        2222002
  6. ind6        2212111
  7. ind7        2202210
  8. ind8        1221102
  9. ind9        2222002
  10. ind10        2222002"""

  11. dat2 = """snp1,A,C
  12. snp2,A,G
  13. snp3,A,G
  14. snp4,T,C
  15. snp5,T,C
  16. snp6,T,C
  17. snp7,A,G"""

  18. snps = []
  19. for line in dat2.split("\n"):
  20.     snp,a0,a2=line.rstrip().split(",")
  21.     snps.append((a0,a2))

  22. d1={}
  23. import re
  24. for line in dat1.split("\n"):
  25.     ind,values =re.split("\s+",line.rstrip())
  26.     bases = []
  27.     for i, v in enumerate(values):
  28.         s = snps[i]
  29.         if v == "1":
  30.             bases.append(s[0])
  31.             bases.append(s[1])
  32.         elif v == "2":
  33.             bases.append(s[1])
  34.             bases.append(s[1])
  35.         elif v == "0":
  36.             bases.append(s[0])
  37.             bases.append(s[0])
  38.         else:
  39.             raise ValueError("Not valid number: " + v)

  40.     d1[ind]=bases

  41. print "ind1"," ".join(d1["ind1"])
  42. print "ind2"," ".join(d1["ind2"])
復(fù)制代碼
  1. ind1 C C G G A A C C C C C C A A
  2. ind2 C C G G G G C C T T T T G G
復(fù)制代碼
錯(cuò)別字太多了,看著費(fèi)勁。

論壇徽章:
4
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-14 06:20:00每日論壇發(fā)貼之星
日期:2015-10-14 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-02 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-08 06:20:00
3 [報(bào)告]
發(fā)表于 2016-04-26 08:46 |只看該作者
我也是生物信息的,這個(gè)轉(zhuǎn)換竟然看不懂呢

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2016-04-26 09:12 |只看該作者
回復(fù) 3# mswsg

應(yīng)該是把a(bǔ)lleles 的結(jié)果轉(zhuǎn)換成類似plink的ped格式輸入的數(shù)據(jù)轉(zhuǎn)換。
   

論壇徽章:
4
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-14 06:20:00每日論壇發(fā)貼之星
日期:2015-10-14 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-02 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-08 06:20:00
5 [報(bào)告]
發(fā)表于 2016-04-26 10:37 |只看該作者
二樓對(duì)的就好回復(fù) 4# Hadron74


   

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2016-04-26 11:51 |只看該作者
回復(fù) 2# Hadron74

謝謝,確實(shí)輸出格式給錯(cuò)了,已經(jīng)修改過(guò)來(lái)了。謝謝您的幫忙,我仔細(xì)看了您的代碼。解決問(wèn)題了!

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2016-04-27 11:57 |只看該作者
回復(fù) 5# mswsg


   現(xiàn)在搞生物的寫代碼都這么牛了。
66666666666666666666666666

論壇徽章:
4
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-14 06:20:00每日論壇發(fā)貼之星
日期:2015-10-14 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-02 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-08 06:20:00
8 [報(bào)告]
發(fā)表于 2016-04-27 12:10 |只看該作者
逼著自己學(xué)的,除非是那種后來(lái)轉(zhuǎn)生物的,本來(lái)學(xué)生物的,后來(lái)學(xué)coding的,都比較苦逼,相對(duì)來(lái)說(shuō)python簡(jiǎn)單一點(diǎn)回復(fù) 7# beacon1024


   

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2016-04-29 06:48 |只看該作者
回復(fù) 8# mswsg


是的,自學(xué)很痛苦啊。大神,剛開(kāi)始學(xué),還有個(gè)問(wèn)題請(qǐng)教下:http://www.72891.cn/thread-4244293-1-1.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP