24小时热门版块排行榜    

查看: 2323  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 化学口download_prp&amp;fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 关于代码变化问题,想知道的进来 +9 且听虎啸 2026-08-07 12/600 2026-08-07 21:53 by 理想三旬2025
[基金申请] 听说今天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
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[论文投稿] 十年后又回来了,论文投稿求助 +4 哈哈114477 2026-08-01 4/200 2026-08-07 14:39 by jgy194592
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] 关于豆爷回答的JTJC与%2F数量 +4 yang182083 2026-08-06 6/300 2026-08-07 12:43 by 虫友是什么虫
[基金申请] 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 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 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 学教育滴
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见