24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2056  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 286求调剂 +11 Faune 2026-04-06 11/550 2026-04-06 12:50 by zllcz
[考研] 求调剂 +11 xzghyuj 2026-04-04 11/550 2026-04-06 11:49 by lijunpoly
[考研] 294求调剂 +4 Grey_Ey 2026-04-01 5/250 2026-04-05 23:05 by Grey_Ey
[考研] 求调剂 +7 张.1 2026-04-05 7/350 2026-04-05 20:40 by 啵啵啵0119
[考研] 308求调剂 +3 终不似从前 2026-04-05 3/150 2026-04-05 20:07 by 啵啵啵0119
[考研] 329求调剂 +17 miaodesi 2026-04-02 20/1000 2026-04-05 18:33 by 蓝云思雨
[考研] 301求调剂 +12 121. 2026-04-04 12/600 2026-04-05 09:00 by 来看流星雨10
[考研] 296材料专硕求调剂 +21 202451007219 2026-04-02 22/1100 2026-04-04 21:48 by hemengdong
[考研] 085601,一志愿厦大334复试被刷求调剂 +13 曾仰之 2026-04-03 15/750 2026-04-04 20:13 by dongzh2009
[考研] [调剂信息]085408光电信息 求调剂 总分291分数一英一 +3 iz11az 2026-04-02 3/150 2026-04-04 19:09 by 蓝云思雨
[考研] 求调剂 +3 ffyyu 2026-04-02 3/150 2026-04-04 19:03 by 蓝云思雨
[考研] 272求调剂 +4 松柏常青5 2026-04-03 4/200 2026-04-04 17:03 by babysonlkd
[考研] 材料调剂 +11 吴棂颖! 2026-04-03 11/550 2026-04-04 09:56 by 小小树2024
[考研] 372分材料与化工(085600)一志愿湖南大学求调剂 +3 蓝笺片 2026-04-03 4/200 2026-04-03 17:58 by Jimmyandyou
[考研] 260求调剂 +3 朱芷琳 2026-04-02 3/150 2026-04-03 08:44 by yulian1987
[考研] 一志愿山东大学,085600,344 +7 魏子per 2026-04-02 8/400 2026-04-02 21:12 by 百灵童888
[考研] 318求调剂,计算材料方向 +10 吸喵有害笙命 2026-04-01 11/550 2026-04-02 16:29 by oooqiao
[考研] 一志愿北京科技大学085601材料工程英一数二初试总分335求调剂 +9 双马尾痞老板2 2026-04-01 9/450 2026-04-02 12:14 by oooqiao
[考研] 085601一志愿中山大学深圳材料工程330求调剂 +8 pipiver 2026-03-30 8/400 2026-04-02 12:01 by ms629
[考研] 材料调剂 +12 一样YWY 2026-04-01 12/600 2026-04-02 00:21 by 百秒光年
信息提示
请填处理意见