24小时热门版块排行榜    

查看: 2319  |  回复: 26

essen11

铜虫 (初入文坛)

引用回帖:
18楼: Originally posted by jackie1179 at 2012-05-11 11:28:51:
还有一个可能就是你用查找替换可能是不区分大小写的,如果你不需要区分大小写的话,那么可以再修改下

是需要区分大小写的。不用再修改了,我用查找替换找小写的共有14774处,但是我在程序返回的序列中搜索只有10261,看了一下程序返回的序列,这里面的差异有一部分肯定是因为返回序列不完整引起的,但还有一部分是不是因为程序没找到漏掉了。因此我在想,可以怎样修改一下这个程序可以将不含有短序列的序列找出来,这样,两者的和应该是我的序列总数。但我试着改了一下,只返回3000多条序列,肯定是我没处理好。不知道你是否可以帮着改一下程序,返回不含有gggggcg的序列。谢谢!
21楼2012-05-15 21:43:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jackie1179

木虫 (正式写手)

引用回帖:
21楼: Originally posted by essen11 at 2012-05-15 21:43:30:
是需要区分大小写的。不用再修改了,我用查找替换找小写的共有14774处,但是我在程序返回的序列中搜索只有10261,看了一下程序返回的序列,这里面的差异有一部分肯定是因为返回序列不完整引起的,但还有一部分是 ...

这个程序它是先将分布在多行的每条序列合并为一条完整的序列后再进行正则匹配的,所以一般不会出现匹配不到的情况,下面程序中将不含短序列的序列放到文件out2.txt中,其余不变
#!/usr/bin/perl
use strict;
use warnings;

my @name;
my @seqs;
if($ARGV[0] eq '-h' || $ARGV[0] eq '--help') {
  print "Usage: perl ./$0  input_file  substring\n";
  exit(0);
}
if(@ARGV < 2) {
  print "Arguments not enough!\n";
  exit(0);
}
my $cnt=0;
my $subseq=$ARGV[1];
open IN,"<$ARGV[0]";
open OUTFILE, ">outfile.txt";
open OUTFILE2,">out2.txt";
while({
  if (/^>/) {
    ++$cnt;
    $name[$cnt]=$_;   
   
  }

  if(/^[ATCGatcg]/) {
    chomp;
    $seqs[$cnt] .= $_;
  }

}
close IN;
my $i;
my $length;
my $hits=0;
foreach (1..$cnt) {
  if($seqs[$_]=~/$subseq/) {
    ++$hits;
    print OUTFILE "$name[$_]";
    $length=length $seqs[$_];
    for($i=1;$i<=$length;$i++) {
      printf OUTFILE "%s",substr($seqs[$_],$i-1,1);
      if($i%50 == 0) {
        print OUTFILE "\n";
      }
            
    }
    print OUTFILE "\n";
  } else {
    print OUTFILE2 "$name[$_]";
    $length=length $seqs[$_];
    for($i=1;$i<=$length;$i++) {
      printf OUTFILE2 "%s",substr($seqs[$_],$i-1,1);
      if($i%50 == 0) {
        print OUTFILE2 "\n";
      }
    }
    print OUTFILE2 "\n";
  }
}
print "A total of $hits sequences matched.\n";


close OUTFILE;
close OUTFILE2;
22楼2012-05-16 09:14:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

essen11

铜虫 (初入文坛)

引用回帖:
22楼: Originally posted by jackie1179 at 2012-05-16 09:14:03:
这个程序它是先将分布在多行的每条序列合并为一条完整的序列后再进行正则匹配的,所以一般不会出现匹配不到的情况,下面程序中将不含短序列的序列放到文件out2.txt中,其余不变
#!/usr/bin/perl
use strict;
...

if(/^[ATCGatcg]/) {这句话是干什么用的,我怎么改为我要查找的序列之后输出结果就不对了。这里不是起到判别序列里是否有我需要的序列的作用吗?
23楼2012-05-16 18:44:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jackie1179

木虫 (正式写手)

引用回帖:
23楼: Originally posted by essen11 at 2012-05-16 18:44:01:
if(/^/) {这句话是干什么用的,我怎么改为我要查找的序列之后输出结果就不对了。这里不是起到判别序列里是否有我需要的序列的作用吗?

前一个if(/^>/)表示匹配序列名,后一个if(/^[ATCGatcg]/) 表示匹配序列,只要是序列肯定是以ATCGatcg中的一者开头的
24楼2012-05-18 09:40:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jackie1179

木虫 (正式写手)

判别序列里是否有我需要的序列是这一句代码:if($seqs[$_]=~/$subseq/) {
25楼2012-05-18 09:41:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

essen11

铜虫 (初入文坛)

引用回帖:
25楼: Originally posted by jackie1179 at 2012-05-18 09:41:51:
判别序列里是否有我需要的序列是这一句代码:if($seqs=~/$subseq/) {

嗯,多谢。好几天没来了,不好意思。这样一来就没什么问题了。
26楼2012-05-23 19:58:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rongren

木虫 (小有名气)

【答案】应助回帖

#!/usr/bin/perl  -w
open IN,"<1.txt";
open OUT1,">out1.txt";
while (<IN> {
        chomp;
        my @abc=split;
        if ($abc[1]=~/ccccAg/) {
                print OUT1 "$_\n";   
        }       
        }
close IN;
close OUT1;
27楼2014-07-21 21:48:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 essen11 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 关于代码变化问题,想知道的进来 +7 且听虎啸 2026-08-07 10/500 2026-08-07 20:43 by 医学老男孩
[基金申请] 基金中了 +13 laoda193707 2026-08-06 13/650 2026-08-07 20:33 by tchen18
[基金申请] 关于filecode +3 布布和一二 2026-08-07 6/300 2026-08-07 17:51 by 医学老男孩
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode与中标关系的预测 +3 布布和一二 2026-08-07 3/150 2026-08-07 15:09 by gltch
[论文投稿] 十年后又回来了,论文投稿求助 +4 哈哈114477 2026-08-01 4/200 2026-08-07 14:39 by jgy194592
[基金申请] 关于豆爷回答的JTJC与%2F数量 +4 yang182083 2026-08-06 6/300 2026-08-07 12:43 by 虫友是什么虫
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +23 低垂的野花 2026-07-31 31/1550 2026-08-07 12:22 by speculiar
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 娱乐 +4 Tide man 2026-08-03 4/200 2026-08-04 11:51 by wgch518
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见