搜索
查看: 7382|回复: 32

【月亮-Perl练习题1】序列的反向互补

[复制链接]

8

主题

55

帖子

336

积分

版主

Rank: 7Rank: 7Rank: 7

积分
336
发表于 2016-8-30 12:05:26 | 显示全部楼层 |阅读模式
本帖最后由 dulunar 于 2016-9-21 00:09 编辑

[Perl] 纯文本查看 复制代码
#!/usr/bin/perl -w
use strict;
use Getopt::Long;
my ($rf,$out,$help);

GetOptions
(
        "rf=s"=>\$rf,
        "out=s"=>\$out,
        "help|?"=>\$help,
);

my $usage=<<INFO;

        Usage:
                perl $0 [options]
Options:
        -rf <file> <in.input reference file>
        -o <string> <out.output file>
INFO

die $usage if ($help || !$rf || !$out);

open IN," $rf " || die "fail open the file";
my $seq;
my $head = <IN>;
while(<IN>){
        chomp;
        $seq .= $_;
}
close IN;

my $re_seq = $seq;
$re_seq =~ tr/ATCGagtc/TAGCtcag/;
$re_seq = reverse($re_seq);
chomp $head;
chomp $re_seq;open OUT,"| gzip > $out.gz" || die $!;
print OUT "$head\n$re_seq\n";
close OUT;





上一篇:生信里的计算机语言入门
下一篇:【Panda姐-perl练习题9】统计碱基个数及GC%
我的微博:dulunar
回复

使用道具 举报

7

主题

34

帖子

216

积分

中级会员

Rank: 3Rank: 3

积分
216
发表于 2016-8-30 20:14:27 | 显示全部楼层
本帖最后由 babytong 于 2016-8-30 20:21 编辑

请问序列的方向互补指的是什么?反向互补序列吗?
下面是来自百度的对反向互补序列的解释, 相信对楼主的帖子理解有帮助
原序列:AATTCCGG

则反向序列为:GGCCTTAA   就是原序列反过来;

互补序列:TTAAGGCC      就是与原序列互补;

反向互补:CCGGAATT      就是与反向序列互补。

互补的概念就是A-T,C--G配对
建议楼主把出题形式变成:
已知 :(这里给出反向互补序列的概念)
           然后  (这里给出一段序列)

求:这段序列的反向互补序列

欢迎关注https://www.jianshu.com/u/4f5e357a6212
回复 支持 反对

使用道具 举报

8

主题

55

帖子

336

积分

版主

Rank: 7Rank: 7Rank: 7

积分
336
 楼主| 发表于 2016-9-2 17:08:50 | 显示全部楼层
babytong 发表于 2016-8-30 20:14
请问序列的方向互补指的是什么?反向互补序列吗?
下面是来自百度的对反向互补序列的解释, 相信对楼主的帖 ...

恩,我打快了~把字写错了,谢谢~
我的微博:dulunar
回复 支持 反对

使用道具 举报

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2016-9-2 17:18:06 | 显示全部楼层
你的程序写的好正规呀,我没有接受过系统性入门训练,写的perl程序都是可丢弃的, 基本上自己都不会去回头看自己的代码。
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复 支持 反对

使用道具 举报

8

主题

55

帖子

336

积分

版主

Rank: 7Rank: 7Rank: 7

积分
336
 楼主| 发表于 2016-9-2 22:05:12 | 显示全部楼层
Jimmy 发表于 2016-9-2 17:18
你的程序写的好正规呀,我没有接受过系统性入门训练,写的perl程序都是可丢弃的, 基本上自己都不会去回头 ...

别这样,群主~

最近在给老板跑一篇文章的数据,忙昏了~

很抱歉啊!
我的微博:dulunar
回复 支持 反对

使用道具 举报

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2016-9-3 07:43:28 | 显示全部楼层
dulunar 发表于 2016-9-2 22:05
别这样,群主~

最近在给老板跑一篇文章的数据,忙昏了~

我是真心的在夸你哦,别误会,我以后可能要写大型程序,也会走人正规的代码编写道路的。
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复 支持 反对

使用道具 举报

4

主题

29

帖子

119

积分

注册会员

Rank: 2

积分
119
发表于 2016-9-17 13:06:07 | 显示全部楼层
数据处理的地方大概懂了,但前边那部分没看懂,求楼主讲解啊!
回复 支持 反对

使用道具 举报

8

主题

55

帖子

336

积分

版主

Rank: 7Rank: 7Rank: 7

积分
336
 楼主| 发表于 2016-9-18 17:28:03 | 显示全部楼层
深藏功与名 发表于 2016-9-17 13:06
数据处理的地方大概懂了,但前边那部分没看懂,求楼主讲解啊!

那个地方,你说?
我的微博:dulunar
回复 支持 反对

使用道具 举报

4

主题

29

帖子

119

积分

注册会员

Rank: 2

积分
119
发表于 2016-9-19 13:59:17 | 显示全部楼层
[Perl] 纯文本查看 复制代码
GetOptions
(
        "rf=s"=>\$rf,
        "out=s"=>\$out,
        "help|?"=>\$help,
);
 
my $usage=<<INFO;
 
        Usage:
                perl $0 [options]
Options:
        -rf <file> <in.input reference file>
        -o <string> <out.output file>
INFO
 
die $usage if ($help || !$rf || !$out);


这一部分,谢谢回答
回复 支持 反对

使用道具 举报

8

主题

55

帖子

336

积分

版主

Rank: 7Rank: 7Rank: 7

积分
336
 楼主| 发表于 2016-9-19 19:32:53 | 显示全部楼层
深藏功与名 发表于 2016-9-19 13:59
[mw_shl_code=perl,true]GetOptions
(
        "rf=s"=>\$rf,

这一部分是用来告诉你该怎么使用这个脚本的,-rf就是输入的reference文件,-o就是输出的方向互补文件~

Getopt:ong 模块来接收用户命令行参数 ,,详情:
http://www.php-oa.com/2009/04/04/perl_getopt-long.html
我的微博:dulunar
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|生信技能树    

GMT+8, 2019-6-16 19:45 , Processed in 0.036540 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.