24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2055  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085600材料与化工301分求调剂院校 +14 刺痛jk 2026-04-06 15/750 2026-04-06 11:57 by lijunpoly
[考研] 一志愿 江南大学 085602 化工专硕 338分求调剂 +15 路痴小琪 2026-04-05 15/750 2026-04-06 09:27 by cql1109
[考研] 301求调剂 +6 细胞相关蛋白 2026-04-02 10/500 2026-04-06 08:34 by jp9609
[考研] 一志愿北交大材料工程总分358求调剂 +6 cs0106 2026-04-05 6/300 2026-04-05 16:34 by imissbao
[考研] 0854求调剂 +4 assdll 2026-04-04 4/200 2026-04-05 09:44 by zhq0425
[考研] 材料与化工306分找调剂 +12 沧海轻舟e 2026-04-03 13/650 2026-04-04 23:45 by lqwchd
[考研] 320求调剂 +3 一样圆 2026-04-04 3/150 2026-04-04 22:29 by 啵啵啵0119
[考研] 调剂 +4 是可乐不是可乐 2026-04-04 4/200 2026-04-04 19:41 by 唐沐儿
[考研] 085602 找调剂 +4 逆时针快乐 2026-04-02 4/200 2026-04-04 19:32 by 蓝云思雨
[考研] 334求调剂 +8 曾仰之 2026-04-03 8/400 2026-04-04 11:16 by w_xuqing
[考研] 调剂0855-288 +5 x熊二a 2026-04-03 5/250 2026-04-04 00:19 by 猪会飞
[考研] 抱歉 +5 田洪有 2026-03-30 5/250 2026-04-03 10:24 by linyelide
[考研] 085600,320分求调剂 +6 大馋小子 2026-04-02 6/300 2026-04-02 21:54 by dongzh2009
[考研] 求调剂 +7 Aniyaio 2026-04-02 7/350 2026-04-02 16:42 by zzsw+
[考博] 材料工程专业硕士申博 +3 麟正宇 2026-03-30 3/150 2026-04-02 15:04 by greychen00
[考研] 初试301,代码085701环境工程,本硕一致,四六级已过,有二区一作,共发表5篇论文 +6 axibli 2026-04-01 6/300 2026-04-02 13:42 by Ecowxq666!
[考研] 266求调剂 +4 学员97LZgn 2026-04-02 4/200 2026-04-02 09:52 by yulian1987
[考研] 0710生物学,325求调剂 +3 mkkkkkl 2026-04-01 3/150 2026-04-02 09:48 by Jaylen.
[考研] 379求调剂 +3 ?苦瓜不苦 2026-04-01 3/150 2026-04-01 20:09 by 暮云清寒
[考研] 0703一志愿南师大334求调剂 +4 seven7yu 2026-03-30 4/200 2026-04-01 16:10 by oooqiao
信息提示
请填处理意见