24小时热门版块排行榜    

查看: 2431  |  回复: 26

essen11

铜虫 (初入文坛)

引用回帖:
9楼: Originally posted by jackie1179 at 2012-05-07 09:13:33:
对不起忘了贴代码,补上:
#!/usr/bin/perl
use strict;
use warnings;

my $subseq=$ARGV;
my $seq;
my $title;
open IN,"<$ARGV";
open OUTFILE, ">outfile.txt";
while(&l ...

你好。我还有一个问题,因为我的每条序列都很长,而不是单独的一行,如果gggggcg这个段片段是分布在两行中,那会返回吗?譬如说这样:
>name
ATGgcggggccccATAGGGGGGTTCCUTGggggtttcccgggaaagtttccgrrgggggcgaact
这个序列用上面的程序能找到吗?
11楼2012-05-07 15:20:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jackie1179

木虫 (正式写手)

引用回帖:
11楼: Originally posted by essen11 at 2012-05-07 15:20:09:
你好。我还有一个问题,因为我的每条序列都很长,而不是单独的一行,如果gggggcg这个段片段是分布在两行中,那会返回吗?譬如说这样:
>name
ATGgcggggccccATAGGGGGGTTCCUTGggggtttcccgggaaagtttccgrrggggg ...

如果你的序列名和序列之间有换行符即回车的话,那这个程序要稍加修改,所以你最好把你的原始文件给出来让我们下下来看下,这种文本处理对原始文本的格式必须要清楚才行,否则可能会有意外结果出现。
12楼2012-05-08 09:02:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

essen11

铜虫 (初入文坛)

引用回帖:
12楼: Originally posted by jackie1179 at 2012-05-08 09:02:09:
如果你的序列名和序列之间有换行符即回车的话,那这个程序要稍加修改,所以你最好把你的原始文件给出来让我们下下来看下,这种文本处理对原始文本的格式必须要清楚才行,否则可能会有意外结果出现。

我的序列是直接从UCSC上下载的fasta格式文件,因为比较大,我copy了两条。你帮忙看看!多谢了。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 1.fasta
  • 2012-05-08 11:16:53, 8.1 K
13楼2012-05-08 11:17:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jackie1179

木虫 (正式写手)

【答案】应助回帖

引用回帖:
13楼: Originally posted by essen11 at 2012-05-08 11:17:46:
我的序列是直接从UCSC上下载的fasta格式文件,因为比较大,我copy了两条。你帮忙看看!多谢了。

现在这个应该可以满足你的要求了
参数输入同前,贴上代码:
#!/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";
while({
  if (/^>/) {
    ++$cnt;
    $name[$cnt]=$_;   
   
  }

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

}
print $cnt,"\n";
my $i;
my $length;
foreach (1..$cnt) {
  if($seqs[$_]=~/$subseq/) {
    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";
      }
      
    }
  }
}
close IN;
close OUTFILE;
14楼2012-05-10 10:26:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jackie1179

木虫 (正式写手)

另外提醒你一下:
你直接down下来的fasta序列文件很有问题,里面有很多无关字符,请用记事本打开,去除无关字符,将“\par”等字符全部替换为空,否则程序提取会出错
15楼2012-05-10 10:33:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

essen11

铜虫 (初入文坛)

引用回帖:
14楼: Originally posted by jackie1179 at 2012-05-10 10:26:39:
现在这个应该可以满足你的要求了
参数输入同前,贴上代码:
#!/usr/bin/perl
use strict;
use warnings;

my @name;
my @seqs;
if($ARGV eq '-h' || $ARGV eq '--help') {
  print "Usage: perl . ...

多谢啊。运行程序倒是可以得到结果,但我一直在想是不是全部符合要求的序列都在结果里面了,因为我用查找替换功能搜索短序列可以得到一万九千多条序列,但是这个程序运行的结果只有一万多条,我在想是不是漏掉了我前面说的那种情况,就是gggggcg分布在两行的时候程序是否也能查找出来。另外,这个程序运行的时候提示 use of uninitialized value in pattern match at find.pl line36 ,line 3101570.出现这个错误是你说的那种有五官字符引起的吗?还是有变量未定义,之前。
16楼2012-05-10 21:41:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jackie1179

木虫 (正式写手)

引用回帖:
16楼: Originally posted by essen11 at 2012-05-10 21:41:54:
多谢啊。运行程序倒是可以得到结果,但我一直在想是不是全部符合要求的序列都在结果里面了,因为我用查找替换功能搜索短序列可以得到一万九千多条序列,但是这个程序运行的结果只有一万多条,我在想是不是漏掉了 ...

gggggcg即使分布在两行也能够查找到的,如果你把无关字符去除之后的话,那么程序应该没有问题。
17楼2012-05-11 11:24:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jackie1179

木虫 (正式写手)

还有一个可能就是你用查找替换可能是不区分大小写的,如果你不需要区分大小写的话,那么可以再修改下
18楼2012-05-11 11:28:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

essen11

铜虫 (初入文坛)

引用回帖:
17楼: Originally posted by jackie1179 at 2012-05-11 11:24:01:
gggggcg即使分布在两行也能够查找到的,如果你把无关字符去除之后的话,那么程序应该没有问题。

那我想可能就是无关字符引起的问题了,但是在记事本里怎么可以去除无关字符?
19楼2012-05-14 12:44:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

essen11

铜虫 (初入文坛)

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

你好,还有这个问题是什么原因?程序运行的时候提示 use of uninitialized value in pattern match at find.pl line36 ,line 3101570.出现这个错误是你说的那种有无关字符引起的吗?
20楼2012-05-14 13:53:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 essen11 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +16 爱看书的可乐 2026-08-26 18/900 2026-08-29 23:40 by winsaint
[基金申请] 国社科申报系统有变化 +3 kynobel 2026-08-23 3/150 2026-08-29 21:57 by 余韵清
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 gy1nBQXYQJqL 2026-08-29 5/250 2026-08-29 21:33 by 4qO8zhfjr2AX
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 gy1nBQXYQJqL 2026-08-29 6/300 2026-08-29 21:22 by 4qO8zhfjr2AX
[论文投稿] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 gy1nBQXYQJqL 2026-08-29 5/250 2026-08-29 21:11 by 4qO8zhfjr2AX
[基金申请] 面上意见出来了 +8 黄鸟于飞Chao 2026-08-29 16/800 2026-08-29 20:45 by 黄鸟于飞Chao
[论文投稿] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 gy1nBQXYQJqL 2026-08-29 3/150 2026-08-29 18:26 by 4FFAWE8HcgUD
[论文投稿] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 ASdOkHsho7FD 2026-08-28 4/200 2026-08-29 13:51 by jCd0dEvKHShX
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 ASdOkHsho7FD 2026-08-28 5/250 2026-08-29 11:49 by jCd0dEvKHShX
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 9/450 2026-08-29 09:59 by jklily
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +5 yuleib84 2026-08-26 6/300 2026-08-28 00:02 by yudaoqian88
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
信息提示
请填处理意见