perl生成特定碱基比例的随机序列的代码
发布时间:2023-12-08 05:27:07
标签:碱基比例,随机序列
方法一(不使用模块,by agonyr)
#!/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";
方法二(使用模块,by yixf)
#!/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";
两种方法比较
设定长度为10000,ACGT的比例为3:3:2:2。
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


猜你喜欢
- 前面我们讲了一些Dreamweaver MX的基本操作,相信大家看了后都会觉得比较简单,的确,这是个工具软件,操作方便应该是它的宗旨。其实网
- 前言大家好,我是辣条今天给大家带来几个实用的python脚本工具,原因不难猜这段时间我亲爱的女朋友呢给我整出点小花样,差点让我电脑GG了。我
- python help使用C:\Users\wusong>pythonPython 3.8.2rc1 (tags/v3.8.2rc1:
- set转成list方法如下: list转成set方法如下:s = set('12342212') &n
- 很有创意的鼠标指针风筝,看起来非常有意思。在网络上看到的,一下也想不起来是那里的了,所以特别说一下图片是来自网络的,版权归作者所有。
- 一、题目要求用原生Python实现knn分类算法。二、题目分析数据来源:鸢尾花数据集(见附录Iris.txt)数据集包含150个数据集,分为
- 但是如果是让你接手一个二等残废的网站,并让你在上面改版,而且不能推翻式改版,只能逐步替换旧的程序,那么你会非常痛苦,例如我遇到的问题: 问题
- Python3中configparser模块简介configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字
- 组件实现的基本功能1,根据后端返回的数据格式,传入组件动态的渲染出当前角色有哪些权限(新建,修改)2,适配有2级和只有一级多选的数据3,有全
- 在网上有很多相关主题的讨论,但是一般都是用Iframe和XMLHTTP来实现。Iframe的实现可能是最常看到的。很多论坛和聊天室的无刷新效
- 字符串类型是python里面最常见的类型,是不可变类型,支持单引号、双引号、三引号,三引号是一对连续的单引号或者双引号,允许一个字符串跨多行
- python中有两种方法可以调用父类的方法:super(Child, self).method(args) Parent.meth
- 本次主要是使用selenium模拟登录网页端的TX新闻,本来最开始是模拟请求的,但是某一天突然发现,部分账号需要经过滑块验证才能正常登录,如
- python中的集合什么是集合?集合是一个无序的不重复元素序列常用来对两个列表进行交并差的处理集合与列表一样,支持所有数据类型集合与列表的区
- 尝试安装server[justin@xen20-vm04 "]$ rpm -ivh MySQL-server-5.1.51-1.g
- mybatis通过将sql配置xml文件中,通过解析xml动态标签来实现动态sql如下样例 xml文件<?xml version =
- 使用的这么长时间的mysql,有一天我突然需要使用mysql 的配置文件my.ini时发现没有这个文件并且这个文件不是被隐藏了。查看自己的m
- 省市区县数据来源Google地图. (包括34个省 , 371个市, 2824个县区) /**********创建省级表**********
- 可迭代(iterable)迭代(遍历)就是按照某种顺序逐个访问对象中的每一项。Python中有很多对象都是可以通过for语句来直接遍历的,例
- MSDN:包含正在 SQL Server 实例上运行的进程的相关信息。这些进程可以是客户端进程或系统进程。 视图中主要的字段: 1. Spi