| 9 | 1/1 | 返回列表 |
| 查看: 1559 | 回復(fù): 8 | ||
湖人湖人鐵桿木蟲 (小有名氣)
|
[求助]
請幫忙編寫一個perl程序處理文本(提取GI號) 已有1人參與
|
|
現(xiàn)在我碰到這樣一個問題,我有一個文本文件1.txt,是Blastx的結(jié)果,內(nèi)容如下: gi|293567070|gb|FS329526.1|FS329526,gi|219980050|emb|CAX06392.1|,33.96,106,70,0,406,723,256,361,5e-014,72.0 gi|293567070|gb|FS329526.1|FS329526,gi|219980050|emb|CAX06392.1|,30.43,161,107,3,244,711,28,188,7e-013,68.2 gi|293567070|gb|FS329526.1|FS329526,gi|219980050|emb|CAX06392.1|,32.31,130,84,2,334,711,180,309,1e-012,67.4 gi|293567065|gb|FS329521.1|FS329521,gi|388506924|gb|AFK41528.1|,42.27,220,115,1,107,766,67,274,9e-043, 167 gi|293567064|gb|FS329520.1|FS329520,gi|388510998|gb|AFK43565.1|,80.84,167,32,0,239,739,16,182,1e-079, 289 。。。。。。 后面還有很多序列,總共大概3M左右。 現(xiàn)在想提取前面核酸序列的GI號:gi|293567070,gi|293567065。。。輸出為txt文本,其中重復(fù)的只輸出一個, 另外,再輸出一個文本,提取后面蛋白序列的GI號:gi|219980050,gi|388506924。。。重復(fù)的也是只輸出一個。 各位大蝦,請問怎樣編寫一個perl程序處理上面的問題?謝謝了! |
鐵桿木蟲 (正式寫手)
木蟲 (正式寫手)
|
#!/usr/bin/perl use strict; use warnings; open (IN, "<1.txt" ;open (OUT, ">>out.txt" ;while (my $line= my @cut=split("|gb|",$line); print OUT $cut[0]."\n"; } close IN; close OUT; 去重的話用EXCEL吧,一下就搞定了,不用寫程序。 |
至尊木蟲 (著名寫手)
驃騎將軍

鐵桿木蟲 (正式寫手)
鐵蟲 (初入文壇)
鐵桿木蟲 (小有名氣)
銅蟲 (正式寫手)
|
#!/usr/bin/perl -w use strict; open FH,'<','C:\Users\Administrator\Desktop\1.txt' or die "Cannot open this file $!"; open OUT, '>>','C:\Users\Administrator\Desktop\2.txt'; print OUT "核酸gi\t\t蛋白gi\n"; while (<FH> {chomp; push my @cut, split("gb",$_); foreach (@cut){ if (m/^(gi\|\d+\|)/){ print OUT $1."\t"; }elsif (m/(gi\|\d+\|)/){ print OUT $1."\n"; } } } close FH; close OUT; |
木蟲 (小有名氣)
|
#!/usr/bin/perl -w open IN,"<1.txt"; my (@nuclearacid,@protein,@nuclearacidnew,@proteinnew); my %hash; while (<IN> {my @abc=split /\|gb\|/,$_; push @nuclearacid,$abc[0]; my @def=split /,/,$abc[1]; push @protein,$def[1]; } close IN; open OUT1,">out1.txt"; foreach (@nuclearacid) { print OUT1 "$_\n" unless $hash{$_}++; } close OUT1; open OUT2,">out2.txt"; foreach (@protein) { print OUT2 "$_\n" unless $hash{$_}++; } close OUT2; |
| 9 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 生物學(xué)一志愿985,分?jǐn)?shù)349求調(diào)劑 +4 | zxts12 2026-03-21 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 一志愿北京化工大學(xué)070300 學(xué)碩336求調(diào)劑 +4 | vv迷 2026-03-21 | 5/250 |
|
|
[考研] 0805 316求調(diào)劑 +3 | 大雪深藏 2026-03-18 | 3/150 |
|
|
[考研] 一志愿天津大學(xué)化學(xué)工藝專業(yè)(081702)315分求調(diào)劑 +12 | yangfz 2026-03-17 | 12/600 |
|
|
[考研] 求調(diào)劑 +3 | Ma_xt 2026-03-17 | 3/150 |
|
|
[考研] 材料 336 求調(diào)劑 +3 | An@. 2026-03-18 | 4/200 |
|
|
[考研]
|
.6lL 2026-03-18 | 8/400 |
|
|
[考研] 材料專碩英一數(shù)二306 +7 | z1z2z3879 2026-03-18 | 7/350 |
|
|
[考研] 考研調(diào)劑求學(xué)校推薦 +3 | 伯樂29 2026-03-18 | 5/250 |
|
|
[考研] 求調(diào)劑,一志愿:南京航空航天大學(xué)大學(xué) ,080500材料科學(xué)與工程學(xué)碩,總分289分 +4 | @taotao 2026-03-19 | 4/200 |
|
|
[考研] 350求調(diào)劑 +5 | weudhdk 2026-03-19 | 5/250 |
|
|
[考研] 319求調(diào)劑 +3 | 小力氣珂珂 2026-03-20 | 3/150 |
|
|
[考研] 求調(diào)劑 +3 | @taotao 2026-03-20 | 3/150 |
|
|
[考研] 一志愿南理工085701環(huán)境302求調(diào)劑院校 +3 | 葵梓衛(wèi)隊 2026-03-20 | 3/150 |
|
|
[考研] 298-一志愿中國農(nóng)業(yè)大學(xué)-求調(diào)劑 +9 | 手機用戶 2026-03-17 | 9/450 |
|
|
[考研] 材料專碩306英一數(shù)二 +10 | z1z2z3879 2026-03-16 | 13/650 |
|
|
[考研] 0703化學(xué)336分求調(diào)劑 +6 | zbzihdhd 2026-03-15 | 7/350 |
|
|
[考研] 293求調(diào)劑 +11 | zjl的號 2026-03-16 | 16/800 |
|
|
[考研] 283求調(diào)劑 +3 | 聽風(fēng)就是雨; 2026-03-16 | 3/150 |
|
|
[考研] 321求調(diào)劑 +5 | 大米飯! 2026-03-15 | 5/250 |
|