Chinaunix
标题:
怎样去掉不满足条件的块
[打印本页]
作者:
小猪Gina
时间:
2013-02-20 16:58
标题:
怎样去掉不满足条件的块
正常的fq文件有四行:
1.以@开头;
2.碱基ATCG(随意排列)序列;
3.+号
4.质量值,要求长度与第2行相等,由字母,括号,下划线等组成。
现在有n多行,发现行数不是4的倍数。
也就是说可能有某些行漏掉了。
怎样将这些缺失行的块从这个文件中删掉?
比如:
@A
ATCG
+
aaaa
@B
ATCG
+
aaaa
ATCG
+
aaaa
@c
ATCG
+
aaaa
输出:
@A
ATCG
+
aaaa
@B
ATCG
+
aaaa
@c
ATCG
+
aaaa
求帮助~
谢谢~
作者:
小猪Gina
时间:
2013-02-20 18:04
已解决,明天上班把程序贴出来
作者:
Perlvim
时间:
2013-02-20 20:50
想学点生物学方面DNA数据结构方面的东西,不知道该看什么资料
作者:
小猪Gina
时间:
2013-02-21 08:49
回复
3#
Perlvim
我是学统计的。。。生物方面不是特别懂。我只是用程序处理一些文件。真是很抱歉,帮不到你。
作者:
小猪Gina
时间:
2013-02-21 08:54
贴出程序:
$/="\@";
while (<IN>) {
chomp;
if (/(HWUSI.*\n)([ATCG]+\n)(\+\n)(.*\n)/) {
if (length($2)==length($4)) {
print "\@$1$2$3$4";
}
}
}
$/="\n";
作者:
rubyish
时间:
2013-02-21 08:57
keyima?
#!/usr/bin/perl
use 5.016;
my $data = do { local $/; <DATA>} ;
say map /^@.*?^[ATGC].*?\+\n.*?\n/msg, $data;
__DATA__
@A
ATCG
+
aaaa
@B
ATCG
+
aaaa
ATCG
+
aaaa
@c
ATCG
+
aaaa
复制代码
作者:
小猪Gina
时间:
2013-02-21 09:11
回复
6#
rubyish
运行了一下,没有达到要求,您的程序打印出了
@A
ATCG
+
aaaa
@B
ATCG
+
aaaa
而去掉的那个块之后的
@c
ATCG
+
aaaa
没有print出来。谢谢~
作者:
rubyish
时间:
2013-02-21 09:20
我总出现稀奇古怪的问题,郁闷。。。
没有print出来。谢谢~
作者:
小猪Gina
时间:
2013-02-21 09:50
回复
8#
rubyish
呵呵,大家互相学习,不断进步~会越来越好的~
作者:
rubyish
时间:
2013-02-21 09:58
小猪Gina 发表于 2013-02-21 05:50
回复 8# rubyish
谢谢~3Q~~{:3_188:}
作者:
小猪Gina
时间:
2013-02-21 10:23
实际运行中,我贴出的那个程序有一个致命的bug,就是质量值中也会出现“@”,所以,得改。。。
作者:
mcshell
时间:
2013-02-21 15:10
回复
9#
小猪Gina
my ($data,$x,$m)=do{local $/;<DATA>};
map{/(^\@\w+\s+([ATGC]+)\s+\+\s+(?{$m=length($2);$x = qr{\w{$m}}})(??{$x})$)(?{print "$1\n"})/smg}$data;
__DATA__
@A
ATCG
+
aaaa
@B
ATCG
+
aaaa
ATCG
+
aaaa
@c
ATCG
+
aaaab
复制代码
最后一个@c 我加了一个b 不会匹配到。长度不够。
作者:
jingwu110
时间:
2013-02-21 16:37
回复
3#
Perlvim
DNA数据结构?在具体点
作者:
小猪Gina
时间:
2013-02-22 11:55
回复
12#
mcshell
嗯嗯~谢谢~
作者:
小猪Gina
时间:
2013-02-25 14:27
回复
13#
jingwu110
DNA的数据结构?我不知道您想知道什么。它有好几种不同的文件类型。比如.fq文件,比如.gff3文件。不同的文件类型它的结构也不一样。。嗯,我通常是碰到一个自己不认识的文件格式就会上网去搜一下。也木有做过总结。不过您要是拿具体的文件格式来问我,也许我可以帮您回答。。。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2