免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3242 | 回复: 8
打印 上一主题 下一主题

Fasta 序列提取模式匹配問題? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-01-14 20:27 |只看该作者 |倒序浏览
本帖最后由 joo_nimrod 于 2016-01-14 22:10 编辑

我有一個fasta 文件,格式爲:
>chr1|hos107.1#gene1
ACACTCCCGGGCCCCCCCCCCCC
ACCTTTCAAAAAAAAAAAAAAA
AATTTTCCCCCCAAAGGGG
>chr1|hos107.2#gene2
ACACTCCCGGGCCCCCCCCCCCC
ACCTTTCAAAAAAAAAAAAAAA
AATTTTC
>chr1|hos107.4#gene3
ACACTCCCGGGCCCCCCCCCCCC
ACCTTTCAAAAAAAAAAAAAAA
AATTTTC
>chr1|hos107.5#gene4
ACACTCCCGGGCCCCCCCCCCCC
ACCTTTCAAAAAAAAAAAAAAA
AATTTTC
.........................

我想分別提取chr1|hos107.×和序列sequence(ACACTCCCGGGCCCCCCCCCCCCACCTTTCAAAAAAAAAAAAAAAAATTTTCCCCCCAAAGGGG)组成一个字典。我用 ListInputName=line.split('\n')[0][1:]
sequence=''.join(myfile.split('\n')[1:]
得到的sequence連在一起了。請大神幫我看下

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-01-15 06:20:00操作系统版块每日发帖之星
日期:2016-01-16 06:20:00IT运维版块每日发帖之星
日期:2016-02-04 06:20:00数据库技术版块每日发帖之星
日期:2016-02-04 06:20:00程序设计版块每日发帖之星
日期:2016-02-10 06:20:01每日论坛发贴之星
日期:2016-02-10 06:20:01
2 [报告]
发表于 2016-01-14 22:00 |只看该作者

  1. >>> f = open('test.txt')
  2. >>> lines = f.readlines()
  3. >>> f.close()
  4. >>> ListInputName=lines[0].strip()[1:]
  5. >>> print ListInputName
  6. chr1|hos107.1
  7. >>> sequece=''.join(lines[1:4]).strip()
  8. >>> print sequece
  9. ACACTCCCGGGCCCCCCCCCCCC
  10. ACCTTTCAAAAAAAAAAAAAAA
  11. AATTTTCCCCCCAAAGGGG
  12. >>>
复制代码

论坛徽章:
0
3 [报告]
发表于 2016-01-14 22:06 |只看该作者
[非常感谢,其实我是想批量地生成一个dict,hot1与sequence相互对应,便于后面的分析。而不是单独提取出一个,您看这可以实现吗?b]回复 2# zhonghua7896321


   

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
4 [报告]
发表于 2016-01-14 22:09 |只看该作者
biopython 没有对应的模块么?

论坛徽章:
0
5 [报告]
发表于 2016-01-14 22:11 |只看该作者
刚学python,不懂biopython,我去看下回复 4# MMMIX


   

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-01-15 06:20:00操作系统版块每日发帖之星
日期:2016-01-16 06:20:00IT运维版块每日发帖之星
日期:2016-02-04 06:20:00数据库技术版块每日发帖之星
日期:2016-02-04 06:20:00程序设计版块每日发帖之星
日期:2016-02-10 06:20:01每日论坛发贴之星
日期:2016-02-10 06:20:01
6 [报告]
发表于 2016-01-14 23:02 |只看该作者
本帖最后由 zhonghua7896321 于 2016-01-14 23:08 编辑

回复 4# MMMIX


    可以的。下边是简单的字典收纳刚才生成的数据。
如果你要批量处理这样的数据文件,那么把刚才的内容封装成一个模块来处理最好,里边用循环和正则来分析规律,把数据存放在字典里边。

我对这样的数据不了解,不知道是否是生物相关的数据。如果是的话,你不妨考虑一下perl,perl对生物方面的编程支持比较好。python对生物方面的编程我没了解过。
但万变不离其宗,只要找准方法,python一样可以解决相应的问题。

  1. >>> info = {}
  2. >>> info[ListInputName] = sequece
  3. >>> print info
  4. {'chr1|hos107.1': 'ACACTCCCGGGCCCCCCCCCCCC\nACCTTTCAAAAAAAAAAAAAAA\nAATTTTCCCCCCAAAGGGG'}
  5. >>>
复制代码

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-01-15 06:20:00操作系统版块每日发帖之星
日期:2016-01-16 06:20:00IT运维版块每日发帖之星
日期:2016-02-04 06:20:00数据库技术版块每日发帖之星
日期:2016-02-04 06:20:00程序设计版块每日发帖之星
日期:2016-02-10 06:20:01每日论坛发贴之星
日期:2016-02-10 06:20:01
7 [报告]
发表于 2016-01-14 23:20 |只看该作者
找到一个python在生物方面的编程资料。

biopython中文指南_生物信息学_超强烈推荐.pdf

1.21 MB, 下载次数: 36

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-01-15 06:20:00操作系统版块每日发帖之星
日期:2016-01-16 06:20:00IT运维版块每日发帖之星
日期:2016-02-04 06:20:00数据库技术版块每日发帖之星
日期:2016-02-04 06:20:00程序设计版块每日发帖之星
日期:2016-02-10 06:20:01每日论坛发贴之星
日期:2016-02-10 06:20:01
8 [报告]
发表于 2016-01-14 23:30 |只看该作者
使用biopython的确很简单呐
你参考一下吧

  1. [root@CentOS ~]# pip install biopython
  2. You are using pip version 7.1.0, however version 7.1.2 is available.
  3. You should consider upgrading via the 'pip install --upgrade pip' command.
  4. Collecting biopython
  5.   Downloading biopython-1.66.tar.gz (13.7MB)
  6.     100% |████████████████████████████████| 13.7MB 1.5kB/s
  7. Installing collected packages: biopython
  8.   Running setup.py install for biopython
  9. Successfully installed biopython-1.66
  10. [root@CentOS ~]#


  11. >>> from Bio import SeqIO
  12. >>> data = {}
  13. >>> with open("test.txt") as f:
  14. ...     for seq in SeqIO.parse(f, "fasta"):
  15. ...         print seq.id
  16. ...         print repr(seq.seq)
  17. ...         data[seq.id] = str(seq.seq)
  18. ...
  19. chr1|hos107.1
  20. Seq('ACACTCCCGGGCCCCCCCCCCCCACCTTTCAAAAAAAAAAAAAAAAATTTTCCC...GGG', SingleLetterAlphabet())
  21. chr1|hos107.2
  22. Seq('ACACTCCCGGGCCCCCCCCCCCCACCTTTCAAAAAAAAAAAAAAAAATTTTC', SingleLetterAlphabet())
  23. >>> print data
  24. {'chr1|hos107.1': 'ACACTCCCGGGCCCCCCCCCCCCACCTTTCAAAAAAAAAAAAAAAAATTTTCCCCCCAAAGGGG', 'chr1|hos107.2': 'ACACTCCCGGGCCCCCCCCCCCCACCTTTCAAAAAAAAAAAAAAAAATTTTC'}
  25. >>>
复制代码

论坛徽章:
0
9 [报告]
发表于 2016-01-15 00:25 |只看该作者
非常感谢,biopython真的很强大回复 7# zhonghua7896321


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP