24小时热门版块排行榜    

查看: 2032  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0703化学调剂 290分有科研经历,论文在投 +7 腻腻gk 2026-03-14 7/350 2026-03-16 10:12 by houyaoxu
[考研] 本人考085602 化学工程 专硕 +9 不知道叫什么! 2026-03-15 10/500 2026-03-16 10:04 by houyaoxu
[考研] 求老师收留调剂 +4 jiang姜66 2026-03-14 5/250 2026-03-15 20:11 by Winj1e
[考研] 0703化学调剂,求各位老师收留 +7 秋有木北 2026-03-14 7/350 2026-03-15 17:30 by 小物理化学
[考研] 085601材料工程315分求调剂 +3 yang_0104 2026-03-15 3/150 2026-03-15 10:58 by peike
[考研] 289求调剂 +5 步川酷紫123 2026-03-11 5/250 2026-03-15 00:45 by kruisytel
[考研] 304求调剂 +5 小熊joy 2026-03-14 5/250 2026-03-14 21:07 by peike
[考研] 材料工程327求调剂 +3 xiaohe12w 2026-03-11 3/150 2026-03-14 20:20 by ms629
[考研] 265求调剂 +4 威化饼07 2026-03-12 4/200 2026-03-14 17:23 by userper
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 5/250 2026-03-14 16:30 by JourneyLucky
[考研] 267一志愿南京工业大学0817化工求调剂 +5 SUICHILD 2026-03-12 5/250 2026-03-14 14:53 by jean5056
[考研] 290求调剂 +4 @将就将就看 2026-03-10 8/400 2026-03-14 14:23 by 千千运气
[考研] 材料371求调剂 +9 鳄鱼? 2026-03-11 11/550 2026-03-13 22:53 by JourneyLucky
[考研] 0703,333分求调剂 一志愿郑州大学-物理化学 +3 李魔女斗篷 2026-03-11 3/150 2026-03-13 22:24 by JourneyLucky
[考研] 材料工程调剂 +9 咪咪空空 2026-03-12 9/450 2026-03-13 22:05 by 星空星月
[考研] 一志愿211化学学硕310分求调剂 +8 努力奋斗112 2026-03-12 9/450 2026-03-13 15:41 by JourneyLucky
[考研] 277求调剂 +4 anchor17 2026-03-12 4/200 2026-03-13 11:15 by 白夜悠长
[考博] 26读博 +4 Rui135246 2026-03-12 10/500 2026-03-13 07:15 by gaobiao
[考研] 333求调剂 +3 152697 2026-03-12 4/200 2026-03-13 07:08 by Iveryant
[考研] 279求调剂 +3 莫xiao 2026-03-10 4/200 2026-03-11 08:06 by 斩魂滴兔子!
信息提示
请填处理意见