| 9 | 1/1 | 返回列表 |
| 查看: 1560 | 回復: 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文本,其中重復的只輸出一個, 另外,再輸出一個文本,提取后面蛋白序列的GI號:gi|219980050,gi|388506924。。。重復的也是只輸出一個。 各位大蝦,請問怎樣編寫一個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ā)表 | |
|---|---|---|---|---|
|
[考研] 求調(diào)劑一志愿海大,0703化學學碩304分,有大創(chuàng)項目,四級已過 +3 | 幸運哩哩 2026-03-22 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 354求調(diào)劑 +7 | Tyoumou 2026-03-18 | 10/500 |
|
|
[基金申請] 山東省面上項目限額評審 +4 | 石瑞0426 2026-03-19 | 4/200 |
|
|
[考研] 286求調(diào)劑 +10 | Faune 2026-03-21 | 10/500 |
|
|
[考研] 廣西大學材料導師推薦 +3 | 夏夏夏小正 2026-03-17 | 5/250 |
|
|
[考研] 333求調(diào)劑 +5 | 87639 2026-03-21 | 7/350 |
|
|
[考研] 材料 271求調(diào)劑 +5 | 展信悅_ 2026-03-21 | 5/250 |
|
|
[考研] 279求調(diào)劑 +5 | 紅衣隱官 2026-03-21 | 5/250 |
|
|
[考研] 265求調(diào)劑 +12 | 梁梁校校 2026-03-19 | 14/700 |
|
|
[考研] 22408 344分 求調(diào)劑 一志愿 華電計算機技術(shù) +4 | solanXXX 2026-03-20 | 4/200 |
|
|
[考研] 材料專碩英一數(shù)二306 +7 | z1z2z3879 2026-03-18 | 7/350 |
|
|
[考研] 295求調(diào)劑 +4 | 一志愿京區(qū)211 2026-03-18 | 6/300 |
|
|
[考研] 304求調(diào)劑 +7 | 司空. 2026-03-18 | 7/350 |
|
|
[考研]
|
然11 2026-03-19 | 4/200 |
|
|
[考研] 261求B區(qū)調(diào)劑,科研經(jīng)歷豐富 +3 | 牛奶很忙 2026-03-20 | 4/200 |
|
|
[論文投稿]
申請回稿延期一個月,編輯同意了。但系統(tǒng)上的時間沒變,給編輯又寫郵件了,沒回復
10+3
|
wangf9518 2026-03-17 | 4/200 |
|
|
[考研] 328求調(diào)劑,英語六級551,有科研經(jīng)歷 +4 | 生物工程調(diào)劑 2026-03-16 | 12/600 |
|
|
[考研] 本科鄭州大學物理學院,一志愿華科070200學碩,346求調(diào)劑 +4 | 我不是一根蔥 2026-03-18 | 4/200 |
|
|
[考研] 344求調(diào)劑 +6 | knight344 2026-03-16 | 7/350 |
|
|
[考研] 070303 總分349求調(diào)劑 +3 | LJY9966 2026-03-15 | 5/250 |
|