源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

perl生成特定碱基比例的随机序列的代码

  • 时间:2020-09-08 09:16 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:perl生成特定碱基比例的随机序列的代码
[b]方法一(不使用模块,by agonyr)[/b]
[u]复制代码[/u] 代码如下:
#!/usr/bin/perl -w use strict; my @seq = ( "A", "T", "C", "G" ); my $length = 10000; undef my %hash; $hash{"A"} = int( $length * 0.3 ); $hash{"C"} = int( $length * 0.3 ); $hash{"G"} = int( $length * 0.2 ); $hash{"T"} = int( $length * 0.2 ); my $i = 0; while ( $i 《 $length ) {     my $word = $seq[ rand(@seq) ];     if ( $hash{$word} ) {         print "$word";         $i++;     }     $hash{$word}--; } print "n";
[b]方法二(使用模块,by yixf)[/b]
[u]复制代码[/u] 代码如下:
#!/usr/bin/perl use strict; use warnings; use BioX::SeqUtils::RandomSequence; my $randomizer = BioX::SeqUtils::RandomSequence-》new(     {         l =》 10000,         s =》 1,         y =》 "dna",         a =》 3,         c =》 3,         g =》 2,         t =》 2     } ); print $randomizer-》rand_seq(), "n";
[b]两种方法比较[/b] 设定长度为10000,ACGT的比例为3:3:2:2。
[u]复制代码[/u] 代码如下:
withoutModule Length=10000 GC=49.42% A=2558,C=2503,G=2439,T=2500,Others=0 withModule Length=10000 GC=50.00% A=3000,C=3000,G=2000,T=2000,Others=0
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部