+ -
当前位置:首页 → 问答吧 → 求助: 谁有生物基因算法类的书籍推荐

求助: 谁有生物基因算法类的书籍推荐

时间:2010-09-30

来源:互联网

各位大虾,
      
        本人自己瞎搞了半年一事无成,又回到了perl 的怀抱,最近帮助同学写一个生物基因类的项目,谁有这方面的算法类的书籍介绍,做过生物基因的大虾估计知道,有些题目真不是地球人能想出的,我更是想不出来了。

                                                                             小生有礼了

作者: dahe_1984   发布时间: 2010-09-30

Beginning perl for bioinformatics
Mastering Perl for Bioinformatics

后者介绍了bioperl包, 发表在genome research上,cpan上有下,不过个人认为不太好用
一般的自己写写就好了

作者: hufeiyc   发布时间: 2010-09-30

有本叫做生物信息学算法导论的书  还有就是一些测序算法数据 去当当 卓越 上找找看吧

作者: ssuuzzhhee   发布时间: 2010-09-30

生物信息学算法导论  没看过 只是知道有这么一本书

作者: ssuuzzhhee   发布时间: 2010-09-30

感谢大家介绍了,先下来看看

作者: dahe_1984   发布时间: 2010-09-30

回复 hufeiyc


    CTGCAAGGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAAAACGACGGCCAGTGAATTGTAATACGACTCACTATAGGGCGAATTGGGTACCGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGATATCGAATTCCTGCAGCCCcaaacacacgctcggacgcatattacacatgttcatacacttaatactcgctgttttgaattgatgttttaggaatatatatgtagagagagcttccttgagtccattcacaggtcgtgatatgattcaattagcttccgactcattcatccaaataccgagtcgccaaaattcaaactagactcgttaaatgaatgaatgatgcggtagacaaattggatcattgattctctttgattggactgaagggagctccctctctcttttgtattccaattttcttgattaatctttcctgcacaaaaacatgcttgatccactaagtgacatatatgctgccttcgtatatatagttctggtaaaattaacattttgggtttatctttatttaaggcatcgccatgGGGGGATCCACTAGTTCTAGAGCGGCCGCCACCGCGGTGGAGCTCCAGCTTTTGTTCCCTTTAGTGAGGGTTAATTCCGAGCTTGGCGTAATCATGGTCATAGCTGTTTCCTGTGTGAAATTGTTATCCGC

就是这样的一段序列,看里面有没有回文结构

回文结构就是 AT匹配 GC匹配,不分大小写。中间可以跳跃,跳跃算是“突起”,要找最长的。

这个算是一条链,最简单的,您有时间帮忙看看。

作者: dahe_1984   发布时间: 2010-09-30

回复 dahe_1984


    回文结构就是 AT匹配 GC匹配,不分大小写。中间可以跳跃,跳跃算是“突起”,要找最长的
   这句不太懂,是指链中出现AT和GC么,跳跃是值被哪两个字符包围的部分呢,能不能解释的详细一点,毕竟不是学生物的。

作者: 珞水的大叔   发布时间: 2010-09-30

AAAAAAATTTTTTT  最理想的回文结构,全匹配
AAAAAAAGTTTTTTT G算是里面的突起,可以跳过

作者: dahe_1984   发布时间: 2010-09-30

TTTTTTTAAAAAAA呢
GGGGCCCC也是么

作者: 珞水的大叔   发布时间: 2010-09-30

回复 珞水的大叔
科普一下:
因为 DNA 是双链结构,我们都知道 DNA 由 4 种碱基构成,它们分别是 A,T,C,G。DNA 的双链结构是由碱基互补配对原则构成的,配对原则是 A <=> T,C <=> G。
因此,一般的写法:
ATCGAT,其实表示的是
ATCGAT
TAGCTA
这条序列上面的部分正好和下面的部分反过来写是一样的,这样的结构就叫回文结构。
不知道我说清楚了没有。
不过,我现在很忙,楼主的问题,我就不给具体脚本了。只给个我想的思路:
把序列反向互补(就是先反向,再根据碱基配对原则互补),然后,与原序列比较,查找最长相同子串。

作者: Monox   发布时间: 2010-09-30

回复 dahe_1984


    根据Monox的解释,我写了一段查找无突起的回文结构的代码,如下:
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;


  4. my $lele = 'CTGCAAGGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAAAACGACGGCCAGTGAATTGTAATACGACTCACTATAGGGCGAATTGGGTACCGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGATATCGAATTCCTGCAGCCCcaaacacacgctcggacgcatattacacatgttcatacacttaatactcgctgttttgaattgatgttttaggaatatatatgtagagagagcttccttgagtccattcacaggtcgtgatatgattcaattagcttccgactcattcatccaaataccgagtcgccaaaattcaaactagactcgttaaatgaatgaatgatgcggtagacaaattggatcattgattctctttgattggactgaagggagctccctctctcttttgtattccaattttcttgattaatctttcctgcacaaaaacatgcttgatccactaagtgacatatatgctgccttcgtatatatagttctggtaaaattaacattttgggtttatctttatttaaggcatcgccatgGGGGGATCCACTAGTTCTAGAGCGGCCGCCACCGCGGTGGAGCTCCAGCTTTTGTTCCCTTTAGTGAGGGTTAATTCCGAGCTTGGCGTAATCATGGTCATAGCTGTTTCCTGTGTGAAATTGTTATCCGC';
  5. #my $lele = 'ATCGAT';
  6. $lele = uc $lele;
  7. my $hehe;
  8. $hehe = qr/((\w)  (??{$hehe})*     (??{ if($2 eq 'A'){'T'}elsif($2 eq 'T'){'A'}elsif($2 eq 'G'){'C'}elsif($2 eq 'C'){'G'} }))/x;

  9. my $result = '';
  10. while($lele =~ /$hehe/g){
  11.     $result = $1 if(length $result < length $1);
  12. }

  13. print $result;
复制代码
效率未知……
用短的测试很快,但长的我已经跑了5分钟还没有结果,可能是我的机器性能不够吧
你试试先

有突起的还没能想出怎么写,不好意思啊

作者: 珞水的大叔   发布时间: 2010-09-30

热门下载

更多