- 论坛徽章:
- 0
|
大家好,我有这样一些数据
# BLASTP 2.2.28+
# Query: AGL000001 locus=Scaffold1:332:538:+
# Database: /home/xuefeil/blastdata/db/lac_pro
# Fields: query acc., subject acc., evalue, alignment length, % identity
# 1 hits found
AGL000001 NC_015428.1_cdsid_YP_004397837.1 5e-16 68 50.00
# BLASTP 2.2.28+
# Query: AGL000002 locus=Scaffold1:660:842:+
# Database: /home/xuefeil/blastdata/db/lac_pro
# 0 hits found
# BLASTP 2.2.28+
# Query: AGL000003 locus=Scaffold1:1026:1379:+
# Database: /home/xuefeil/blastdata/db/lac_pro
# Fields: query acc., subject acc., evalue, alignment length, % identity
# 5 hits found
AGL000003 NC_015428.1_cdsid_YP_004397490.1 3e-05 57 43.86
AGL000003 NC_008530.1_cdsid_YP_815609.1 4e-05 74 29.73
AGL000003 NC_013198.1_cdsid_YP_003172141.1 1e-04 57 40.35
AGL000003 NC_017470.1_cdsid_YP_005854679.1 1e-04 59 35.59
AGL000003 NC_015428.1_cdsid_YP_004397954.1 0.002 81 32.10
# BLASTP 2.2.28+
# Query: AGL000004 locus=Scaffold1:1475:2236:+
# Database: /home/xuefeil/blastdata/db/lac_pro
# Fields: query acc., subject acc., evalue, alignment length, % identity
# 5 hits found
AGL000004 NC_015428.1_cdsid_YP_004399387.1 4e-17 206 31.07
AGL000004 NC_013198.1_cdsid_YP_003172141.1 6e-09 154 32.47
AGL000004 NC_006814.3_cdsid_YP_193465.1 1e-07 114 37.72
AGL000004 NC_015428.1_cdsid_YP_004397490.1 1e-07 234 27.35
AGL000004 NC_015428.1_cdsid_YP_004397954.1 3e-07 147 29.25
想提取含有0 hits found的数据,即得到这样的文件
# BLASTP 2.2.28+
# Query: AGL000002 locus=Scaffold1:660:842:+
# Database: /home/xuefeil/blastdata/db/lac_pro
# 0 hits found
我写了这样的脚本
#!/usr/bin/perl
use strict;
my @ff;
my $item;
open(F1,"< seq1.out") or die "false 1";
open(OUTPUT,'>',"out_file") or die "false 1";
my $f = <F1>;
my $ff = chomp $f;
while ( $ff ) {
push @ff, split /\# BLASTP 2.2.28\+/;
}
foreach $item(@ff) {
chomp;
if ($item =~ m/# 0 hits/) {
print OUTPUT $item;
}
}
电脑跑不出来,数据有几万条,求大神帮助 |
|