免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: 咏咏672418539
打印 上一主题 下一主题

帮忙改程序!Pythond 在WINDOWS下是如何规定输出在一个指定文件里? [复制链接]

论坛徽章:
1
青铜圣斗士
日期:2015-12-05 20:21:44
21 [报告]
发表于 2015-12-15 21:21 |只看该作者
回复 19# substr函数


    亲,我做这个例子的验证了一下,有两个问题:
第一是结果不正确,比如E23,结果应该是0.5,但是计算过程中漏了在序列3中有但序列2中没有的一种六联体体CAGTGA的数目。我建议,两种方式,一种是改进上一种程序,使得0的结果也显示,按默认的顺序;第二种方式是改这个程序。
第二个问题是程序有限制!我的一个文件中有很多个序列,可是计算结果只会算到E8-9,之后就没有了。
搞不清楚 了,一切要靠你了,亲~
我的师父啊!!我在追赶你的路上

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
22 [报告]
发表于 2015-12-15 22:10 |只看该作者
本帖最后由 substr函数 于 2015-12-15 22:37 编辑

回复 21# 咏咏672418539


    亲,感谢点出错误 [   ]

试试这个更新版本
save
E1-2        0.857143
E1-3        0.642857
E2-3        0.500000

code
  1. #!/usr/bin/python2
  2. # coding: utf-8

  3. from collections import defaultdict as DICK
  4. from itertools import combinations as COMB

  5. FILE = 'data'  # file name
  6. SAVE = 'save'  # save name
  7. HEAD = '>'  # change '>' ???

  8. D = DICK(dict)
  9. S = open(SAVE, 'w')
  10. K = ''

  11. for L in open(FILE):
  12.     if L.startswith(HEAD):
  13.         K = L.rstrip().split(HEAD)[1]
  14.     else:
  15.         k, _, v = L.split()
  16.         D[K][k] = float(v)

  17. for k1, k2 in COMB(sorted(D.keys()), 2):
  18.     ks = set(D[k1].keys() + D[k2].keys())
  19.     Eij = sum(abs(D[k1].get(k, 0) - D[k2].get(k, 0)) for k in ks)
  20.     S.write('E%s-%s\t%f\n' % (k1, k2, Eij))
  21.     #print 'E%s-%s\t%f' % (k1, k2, Eij)
复制代码
if int
>11                 
AGTGAA        2        0.285714
.....
  1. #!/usr/bin/python2
  2. # coding: utf-8
  3. # 2015-12-15_Q1

  4. from collections import defaultdict  as DICK
  5. from itertools   import combinations as COMB

  6. FILE = 'data'  # file name
  7. SAVE = 'save'  # save name
  8. HEAD = '>'     # change '>' ???

  9. D = DICK(dict)
  10. S = open(SAVE, 'w')
  11. K = None

  12. for L in open(FILE):
  13.     if L.startswith(HEAD):
  14.         K = int(L.rstrip().split(HEAD)[1])
  15.     else:
  16.         k, _, v = L.split()
  17.         D[K][k] = float(v)

  18. for k1, k2 in COMB(sorted(D.keys()), 2):
  19.     ks = set(D[k1].keys() + D[k2].keys())
  20.     Eij = sum(abs(D[k1].get(k, 0) - D[k2].get(k, 0)) for k in ks)
  21.     S.write('E%s-%s\t%f\n' % (k1, k2, Eij))
复制代码

论坛徽章:
1
青铜圣斗士
日期:2015-12-05 20:21:44
23 [报告]
发表于 2015-12-16 10:17 |只看该作者
回复 22# substr函数


    亲,这回用了第二个程序就可以了,太感谢啦
   你真是牛人啊!我要能达到您的这个水平就好了

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
24 [报告]
发表于 2015-12-16 11:39 |只看该作者
回复 23# 咏咏672418539

亲!我是小白
只是一只小白 [   ]

论坛徽章:
1
青铜圣斗士
日期:2015-12-05 20:21:44
25 [报告]
发表于 2015-12-16 17:19 |只看该作者
回复 24# substr函数


    师父,不要谦虚!我对您的崇拜之情犹如涛涛洪水一般,我一定要努力达到你这种程度!
你真的太好了。这么用心的帮助我,真真的非常感谢
有什么我能帮忙的请尽管说,我一定会全力相助!

论坛徽章:
1
青铜圣斗士
日期:2015-12-05 20:21:44
26 [报告]
发表于 2016-01-15 16:34 |只看该作者
回复 24# substr函数


    你好,在吗?如果方便可以再帮我解决一下问题吗?
我现在有一个文件是a.py。其中的内容是
〉1
……
〉2
……
我只想要〉94之后的内容,之前的所有的都不要了。怎么办呢?等你呦

论坛徽章:
1
青铜圣斗士
日期:2015-12-05 20:21:44
27 [报告]
发表于 2016-01-15 16:35 |只看该作者
回复 24# substr函数


    你好,在吗?如果方便可以再帮我解决一下问题吗?
我现在有一个文件是a.py。其中的内容是
〉1
……
〉2
……
我只想要〉94之后的内容,之前的所有的都不要了。怎么办呢?等你呦
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP