亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3896 | 回復(fù): 6
打印 上一主題 下一主題

求幫忙,寫的腳本不知錯(cuò)在哪里 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2014-08-03 15:54 |只看該作者 |倒序?yàn)g覽
本帖最后由 cxrfly 于 2014-08-03 17:58 編輯

1、

我有一個(gè)文件a,包括91個(gè)蛋白序列ID;另外一個(gè)b包括2萬多蛋白序列。

File a:
jgi|Physo3|320426|gm1.1_g
jgi|Physo3|551829|estExt_Genewise1Plus.C_1_t10001


File b:
>jgi|Physo3|320426|gm1.1_g
MAILAYVNFKREGLVSSYASDPVLALGAMKVCAGSGEVGEMVARILLLLAMDKCVMGDKDFSQCYHTIGQ
FVPVQQFLDVLQGNKERPIYRKKMDSEITKGPEFKVRRSKWEGWYVGFTHFVQLHLEPNEDTLWFLLGRR
AAGIFPRNQSGADLLIPMFKKRSNSRPVGGETTRGEQEGHEVLMMLIQNQLSFTGVHDTIRIYMTARGQE
ADGNCIYTTTMKDSLQKSPHQRGEATAKEDGMEAVGGNTVGASEMRAESLAKNETNPGVTIISEETQEGK
EKEPRRILVPERSMLANMVKSQYDPLGLVVDDRGDDEKQSVSSYAKLSVTANSAKLLKSARKALACAPGC
SSKNFGVNAVDDGSKGTSHCHNKGGDTIKRPREKKLEQSQGRKRAKCER*
>jgi|Physo3|551829|estExt_Genewise1Plus.C_1_t10001
MTTPARSPLSAPSSLLRRVASPVPAGPGSGGGARSQTLLSRLFRRKDRSPAAPRPLSRSLYGEEEETKTH
VDSPMRALLRSLSLQRKSRPQEVRTPPADAAQVLLEGVLTELAQTRYWRSKPCYFFTFTLRQFHFLPETR
RPGRLVAIATLSPDDVVSDLRTHRQVKHALELQLAAAHQRVEIAGARDADDDTREESASQLLRLAATDER
TLVKWLQMLNSCISRLVLQAEERQYRHGDAAGWNPVTEPAAKIVPMFGDEGRRSSMLVMTRDRDHNLSAI
SFTSSECSNNNHYEEDIPAEEIRAARKDAVGEEDEDETKPPADERYDRVTPALEDEELPARRAIEYCCTP
EYRSSGSGSSNSQNLVDTDNNNAADEKEGNNQEDNQGDDDSEEDSLAGDLATQSSVAPYKSAVLAGRGVA
AYQSVGLEDEYTKAGSRSAVANGRGRLPRAAFGATTSSSGLFPTLRPQTHSFNANGQVFTLDTRYQLVKP
IGNGAYGAVIAVKDVVNGGENLAVKKITNIFEDLVDAKRILREVRLLGHFNHKNITRLLDLSPPPSRKQF
DDMYIITELMETDLHQVIYSMQPMSDDHVKYFLYQMLCALHHIHSAGVLHRDMKPSNILLNANCDLKVCD
FGLARGGVGGQEELLQPGELTEYVVTRWYRAPEIMLNCLHYTTAIDVWAVGCIFAEMLLREPLFPGNDYL
HQLKLIIKFLGTPKQEDIGFVKNTKAMRFLTKLAISKPKKWRDVFAGSGTENAVSSEAIDLLSKMLFFNP
EKRISVDAALRHPYLATFFDENDLVVSTAFDFSFDLPDDQLSKDALINLLCEDIEQFHPPVPTSVTPMPL
SAAASRFFRMGMTASAS*


2、

我想利用91個(gè)ID,從另外的文件中抽取這些ID對應(yīng)的氨基酸序列。
腳本是這樣寫的,不對,沒有結(jié)果文件產(chǎn)生。煩您指點(diǎn)下!


#!/usr/bin/perl -w
use strict;
use warnings;

#welcome words
print "\n######Dear,";

print " Welcome you to use this code!\n";

print " Please give me your feedback after using.######\n\n\n";



my $proteinfile='file b';
unless (open(PROTEINFILE, $proteinfile)){
print "Could not open the file $proteinfile!\n";
}
#reset line seperator '$/' to '>' read in each set of genes one by one
$/= ">";

while (<PROTEINFILE>){
my $protein_ID='';
my $protein_sequence='';

if ($_=~/^>/){
next;}

if ($_=~/(.*\n)/){
$protein_ID=$1;
}
$_=~s/^[^\n]+\n//;

$protein_sequence=$_;
$protein_sequence=~s/>$//;


my $inputfile="file a";
my @ID_file=get_file ($inputfile);

my $ID='';

foreach $ID (@ID_file){
chomp $ID;
if ($protein_ID eq $ID){
my $data=">$protein_sequence\n";

my $outputfile = 'test.output';
open (OUTPUT,">>$outputfile");

print OUTPUT  "$data\n";

close OUTPUT;

   }
else {
exit;
       }

                              }
}
close PROTEINFILE;
exit;

#####################################################

#read in data from one file you input
sub get_file {
my ($filename)=@_;
unless (open (GET_FILE_DATA,$filename)){
print STDERR "Cann\'t open \"$filename\"\n";
exit;
}
my @filedata = ();
@filedata=<GET_FILE_DATA>;
close GET_FILE_DATA;
return @filedata;
}

論壇徽章:
8
技術(shù)圖書徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
2 [報(bào)告]
發(fā)表于 2014-08-03 18:42 |只看該作者
不考慮順序且文件a ID唯一的話:


否則:

http://www.72891.cn/forum.p ... mp;fromuid=29097174

論壇徽章:
3
天蝎座
日期:2013-12-10 19:37:11酉雞
日期:2014-08-04 20:05:38雙魚座
日期:2014-08-09 21:53:54
3 [報(bào)告]
發(fā)表于 2014-08-03 18:56 |只看該作者
回復(fù) 1# cxrfly


    已在原shell版給你回復(fù)了,這兒就不再復(fù)制一遍了。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2014-08-07 15:48 |只看該作者
回復(fù) 2# huang6894


    您寫的好簡潔,好多我還沒有學(xué),呵呵,需要消化下。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2014-08-07 15:50 |只看該作者
回復(fù) 3# 歐陽西風(fēng)


    謝謝你的提醒。我現(xiàn)在發(fā)現(xiàn)確實(shí)是我由于修改了行符,導(dǎo)致ID文件讀入后不對。
我已經(jīng)修改了,程序正常運(yùn)行了,謝謝你。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2014-08-07 15:54 |只看該作者
謝謝huang6894和歐陽西風(fēng)兩位的幫忙。我努力看了點(diǎn)書,自己把我之前寫的修改了下,現(xiàn)在可以準(zhǔn)確運(yùn)行了,也得到了希望的結(jié)果?赡芪业某绦虿皇亲詈啙嵶詈玫,但是畢竟它可以運(yùn)行了。
貼出來,希望有同樣困惑的人可以借鑒下,也請指導(dǎo)我如何提高代碼寫作水平。

#!/usr/bin/perl -w
use strict;
use warnings;

#welcome words
print "\n######Dear, ";

print " Welcome you to use this code!\n";

print " Please give me your feedback after using.######\n\n\n";

my $inputfile="file a";

unless (open (GET_ID,$inputfile)){
print STDERR "Cann\'t open \"$inputfile\"\n";
exit;
}

my @id1 = ();
my @id2 = ();

@id1=<GET_ID>;
foreach my $fileid (@id1){
$fileid=~ s/^\s*|\s*$//g;
push @id2, $fileid;
}
close GET_ID;


my $proteinfile="file b";
unless (open(GET_PROTEIN, $proteinfile)){
print "Could not open the file $proteinfile!\n";
}


#reset line seperator '$/' to '>' read in each set of genes one by one
$/= ">";

while (<GET_PROTEIN>){
my $protein_ID='';
my $protein_sequence='';

if ($_=~/^>/){
next;}

if ($_=~/(.*)\n/){
$protein_ID=$1;
}

$_=~s/^[^\n]+\n//;
$protein_sequence=$_;
$protein_sequence=~s/>$//;
$protein_sequence=~ s/\s*//g;

foreach my $ID (@id2){

if ($ID eq $protein_ID){
my $data=">$protein_ID\n$protein_sequence\n";

my $outputfile = 'test.output';
open (OUTPUT,">>$outputfile");

print OUTPUT  "$data\n";

close OUTPUT;
print "$ID\n";
   }
}
}

close GET_PROTEIN;
exit;

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2014-08-08 14:14 |只看該作者
什么叫蛋白序列id,什么是氨基酸序列呢
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP