亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xscore.c

?? 經典生物信息學多序列比對工具clustalw
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <stdio.h>#include <stdarg.h>#include <string.h>#include <vibrant.h>#include <document.h>#include "clustalw.h"#include "xmenu.h"static void build_profile(int prf_length,int first_seq,int last_seq,sint matrix[NUMRES][NUMRES],					sint *weight,sint **profile);static void calc_colscores(Boolean update_seqs,Boolean update_scores);static void calc_panel_segment_exceptions(PaneL p);static void calc_weights(PaneL p);static void remove_short_segments(PaneL p);extern Boolean aln_mode;extern Boolean profile1_empty,profile2_empty;extern int score_cutoff;    /* cutoff for residue exceptions */extern int score_hwin;    /* half window for summing alignment column scores */extern int score_scale;extern int segment_dnascale;extern int length_cutoff; /* cutoffs for segment exceptions */extern Boolean residue_exceptions;extern Boolean segment_exceptions;extern int score_matnum;extern char score_mtrxname[];extern int segment_matnum;extern char segment_mtrxname[];extern int score_dnamatnum;extern char score_dnamtrxname[];extern int segment_dnamatnum;extern char segment_dnamtrxname[];extern IteM segment_item;extern double   **tmat;extern short score_matrix[];extern short score_aa_xref[];extern short segment_matrix[];extern short segment_aa_xref[];extern short score_dnamatrix[];extern short score_dna_xref[];extern short segment_dnamatrix[];extern short segment_dna_xref[];extern WindoW mainw;extern FonT datafont;extern short idmat[];extern short   def_dna_xref[],def_aa_xref[];extern short   swgapdnamt[],clustalvdnamt[];  /* used for alignment scores */extern short   gon80mt[],gon120mt[],gon250mt[],gon350mt[];extern Boolean  dnaflag;extern sint     max_aa;extern sint     *seqlen_array;extern char     **seq_array;extern sint     gap_pos1, gap_pos2;extern sint	*output_index;extern spanel  seq_panel;        /* data for multiple alignment area */extern spanel  prf_panel[];       /* data for profile alignment areas */extern PrompT residue_cutofftext;extern PrompT length_cutofftext;extern PrompT scorescaletext;extern PrompT segmentdnascaletext;extern PrompT scoremattext;extern PrompT segmentmattext;extern PrompT scorednamattext;extern PrompT segmentdnamattext;extern PopuP show_seg_toggle;extern GrouP score_matrix_list,seg_matrix_list;extern GrouP score_dnamatrix_list,seg_dnamatrix_list;static Char filename[FILENAMELEN]; /* used in temporary file selection window */void draw_colscores(PaneL p){ 	RecT  block,r;	int i, b, x, y;	panel_data data;	UseWindow(mainw);	Select(p);	SelectFont(datafont);	GetPanelExtra(p, &data);	if(data.nseqs == 0) return;	if(data.colscore == NULL) return;	if(data.vcols<=0) return;	ObjectRect (p, &r);	InsetRect(&r,1,1);	block.bottom=r.bottom;	block.top=block.bottom-SCOREHEIGHT-1;	block.left=r.left;	block.right=r.right;	data_colors();	EraseRect(&block);	Gray();        r.left=block.left+data.charwidth;	r.bottom=b=block.bottom;	for(i=data.firstvcol;i<data.firstvcol+data.vcols && i<data.ncols;i++)	{		x=r.left;		MoveTo(x,b);		r.right=r.left+data.charwidth;        	r.top=block.bottom-SCOREHEIGHT*(float)data.colscore[i]/100.0;		PaintRect(&r);		r.left+=data.charwidth;	}	black_on_white();}  void make_colscores(panel_data data){/*	FILE *fd;*/	int n,i,s,p,r,r1;	short  *mat_xref, *matptr;	float median,mean;	float t,q1,q3,ul;	float *seqdist,*sorteddist,diff;	sint maxres;	sint *seqvector;	sint *freq,**profile;        sint   matrix[NUMRES][NUMRES];	Boolean include_gaps=FALSE;	panel_data data1;	if(dnaflag)	{		if (score_dnamatnum==1)		{			matptr = swgapdnamt;			mat_xref = def_dna_xref;		}		else if (score_dnamatnum==2)		{			matptr = clustalvdnamt;			mat_xref = def_dna_xref;		}		else		{			matptr = score_dnamatrix;			mat_xref = score_dna_xref;		}	}	else if (score_matnum==1)	{		matptr = idmat;		mat_xref = def_aa_xref;	}	else if (score_matnum==2)	{		matptr = gon80mt;		mat_xref = def_aa_xref;	}	else if (score_matnum==3)	{		matptr = gon120mt;		mat_xref = def_aa_xref;	}	else if (score_matnum==4)	{		matptr = gon250mt;		mat_xref = def_aa_xref;	}	else if (score_matnum==5)	{		matptr = gon350mt;		mat_xref = def_aa_xref;	}	else	{		matptr = score_matrix;		mat_xref = score_aa_xref;	}	maxres = get_matrix(matptr, mat_xref, matrix, FALSE, 100);	if (maxres == 0)	{		error("matrix not found for aln score");		return;	}	profile = (sint **) ckalloc( (data.ncols+2) * sizeof (sint *) );	for(p=0; p<data.ncols; p++)		profile[p] = (sint *) ckalloc( (max_aa+2) * sizeof(sint) );	freq = (sint *) ckalloc( (max_aa+2) * sizeof (sint) ); 	for(p=0;p<data.ncols;p++)	{		for(r=0;r<max_aa;r++)			freq[r]=0;		for(s=data.firstseq;s<data.firstseq+data.nseqs;s++)			if(p<seqlen_array[s+1] && seq_array[s+1][p+1]>=0 && seq_array[s+1][p+1]<max_aa)			{				freq[seq_array[s+1][p+1]]++;			}		for(r=0;r<max_aa;r++)		{			profile[p][r]=0;			for(r1=0;r1<max_aa;r1++)				profile[p][r]+=freq[r1]*matrix[r1][r];			profile[p][r]/=(float)data.nseqs;		}	}/*fprintf(fd,"Profile...\n");for(r=0;r<max_aa;r++){	for(p=0;p<data.ncols;p++)		fprintf(fd,"%d\t",profile[p][r]);	fprintf(fd,"\n");}*/	seqvector = (sint *) ckalloc( (max_aa+2) * sizeof(sint) );	seqdist=(float *)ckalloc((data.nseqs+1)*sizeof(float));	sorteddist=(float *)ckalloc((data.nseqs+1)*sizeof(float));    	for(p=0; p<data.ncols; p++)	{    		for(s=data.firstseq; s<data.firstseq+data.nseqs; s++)		{			if (p<seqlen_array[s+1])				for (r=0;r<max_aa; r++)					seqvector[r]=matrix[r][(int)seq_array[s+1][p+1]];			else				for (r=0;r<max_aa; r++)					seqvector[r]=matrix[r][gap_pos1];			seqdist[s-data.firstseq]=0.0;			for(r=0;r<max_aa;r++)			{				diff=profile[p][r]-seqvector[r];				diff/=1000.0;				seqdist[s-data.firstseq]+=diff*diff;			}			seqdist[s-data.firstseq]=sqrt((double)seqdist[s-data.firstseq]);		}/*fprintf(fd,"\n\nPosition %d:\n",p+1);fprintf(fd,"Sequence Distances...\n");for(s=0;s<data.nseqs;s++)	fprintf(fd,"%.1f\t",seqdist[s]);*//* calculate mean,median and rms of seq distances */		mean=median=0.0;		if(include_gaps)		{    			for(s=0; s<data.nseqs; s++)				mean+=seqdist[s];			mean/=data.nseqs;			n=data.nseqs;    			for(s=0; s<data.nseqs; s++)					sorteddist[s]=seqdist[s];		}		else		{			n=0;    			for(s=data.firstseq; s<data.firstseq+data.nseqs; s++)				if(p<seqlen_array[s+1] && seq_array[s+1][p+1]>=0 && seq_array[s+1][p+1]<max_aa)				{					mean+=seqdist[s-data.firstseq];					n++;				}			if(n>0) mean/=n;    			for(s=data.firstseq,i=0; s<data.firstseq+data.nseqs; s++)				if(p<seqlen_array[s+1] && seq_array[s+1][p+1]>=0 && seq_array[s+1][p+1]<max_aa)					sorteddist[i++]=seqdist[s-data.firstseq];		}		sort_scores(sorteddist,0,n-1);/*fprintf(fd,"\nSorted:\n");for(s=0;s<n;s++)	fprintf(fd,"%.1f ",sorteddist[s]);*/		if(n == 0)			median = 0;		else if(n % 2 == 0)			median=(sorteddist[n/2-1]+sorteddist[n/2])/2.0;		else			median=sorteddist[n/2];		if(score_scale<=5)			data.colscore[p]=exp((double)(-mean*(6-score_scale)/4.0))*100.0*n/data.nseqs;		else			data.colscore[p]=exp((double)(-mean/(4.0*(score_scale-4))))*100.0*n/data.nseqs;/*fprintf(fd,"\nMean %.1f Median %.1f Score %.1f\n",mean,median,data.colscore[p]);*/		if(n==0)		{			ul=0;		}		else		{			t = n/4.0 + 0.5;			if(t - (int)t == 0.5)			{				q3=(sorteddist[(int)t]+sorteddist[(int)t+1])/2.0;				q1=(sorteddist[n-(int)t]+sorteddist[n-(int)t-1])/2.0;			}			else if(t - (int)t > 0.5)			{				q3=sorteddist[(int)t+1];				q1=sorteddist[n-(int)t-1];			}			else 			{				q3=sorteddist[(int)t];				q1=sorteddist[n-(int)t];			}			if (n<4)ul=sorteddist[0];			else ul=q3+(q3-q1)*((float)score_cutoff/2.0);		}/*fprintf(fd,"\nMedian %.1f Q1 %.1f Q3 %.1f UL %.1f\n",median,q1,q3,ul);fprintf(fd,"\nExceptions: ");for(s=0;s<data.nseqs;s++)	if(seqdist[s]>ul) fprintf(fd,"%d ",s+1);*/		for(s=data.firstseq;s<data.firstseq+data.nseqs;s++)			if(seqdist[s-data.firstseq]>ul && p<seqlen_array[s+1] && seq_array[s+1][p+1]>=0 && seq_array[s+1][p+1]<max_aa)				data.residue_exception[s-data.firstseq][p]=TRUE;			else				data.residue_exception[s-data.firstseq][p]=FALSE;	}/*fclose(fd);*/	for(p=0;p<data.ncols;p++)		ckfree(profile[p]);	ckfree(profile);	ckfree(freq);	ckfree(seqvector);	ckfree(seqdist);	ckfree(sorteddist);} void sort_scores(float *scores,int f,int l){	int i,last;	if(f>=l) return;	swap(scores,f,(f+l)/2);	last=f;	for(i=f+1;i<=l;i++)	{		if(scores[i]>scores[f])			swap(scores,++last,i);	}	swap(scores,f,last);	sort_scores(scores,f,last-1);	sort_scores(scores,last+1,l);}void swap(float *scores,int s1, int s2){	float temp;	temp=scores[s1];	scores[s1]=scores[s2];	scores[s2]=temp;}void set_scorescale(BaR bar, GraphiC p, Nlm_Int2 newval, Nlm_Int2 oldval){        char str[FILENAMELEN];	panel_data data;         score_scale = newval+1;	calc_colscores(FALSE,TRUE);	sprintf(str,"Score Plot Scale:   %2d",score_scale);	SetTitle(scorescaletext,str);}void set_scorecutoff(BaR bar, GraphiC p, Nlm_Int2 newval, Nlm_Int2 oldval){        char str[FILENAMELEN];	int temp;	panel_data data;	temp=newval+1;        score_cutoff = temp;	calc_colscores(residue_exceptions,FALSE);	sprintf(str,"Residue Exception Cutoff:   %2d",score_cutoff);	SetTitle(residue_cutofftext,str);}  void calc_segment_exceptions(IteM i){	WatchCursor();	segment_exceptions=TRUE;	calc_seg_exceptions();	show_segment_exceptions();	SetValue(show_seg_toggle,1);	SetStatus(segment_item,segment_exceptions);	ArrowCursor();}void set_lengthcutoff(BaR bar, GraphiC p, Nlm_Int2 newval, Nlm_Int2 oldval){        char str[100];	int temp; 	temp=newval+1;        length_cutoff = temp;	sprintf(str,"Minimum Length of Segments:   %2d",length_cutoff);	if(aln_mode==MULTIPLEM)	{		remove_short_segments(seq_panel.seqs);	}	else	{		remove_short_segments(prf_panel[0].seqs);		remove_short_segments(prf_panel[1].seqs);	}	if(segment_exceptions) show_segment_exceptions();	SetTitle(length_cutofftext,str);}  void set_score_user_matrix(ButtoN but){	if(get_user_matrixname(score_mtrxname,score_matrix,score_aa_xref,6,&score_matnum,scoremattext))	{		calc_colscores(residue_exceptions,TRUE);		SetValue(score_matrix_list,score_matnum);	}} void set_score_matrix(GrouP g){	int tmp;        tmp = GetValue(g);	if(tmp>0 && tmp<6)	{		score_matnum=tmp;	}	else	{                if (score_mtrxname[0]=='\0')		{			get_user_matrixname(score_mtrxname,score_matrix,score_aa_xref,6,&score_matnum,scoremattext);		}		else score_matnum=6;	}	calc_colscores(residue_exceptions,TRUE);	SetValue(score_matrix_list,score_matnum);} void set_segment_user_matrix(ButtoN but){	if(get_user_matrixname(segment_mtrxname,segment_matrix,segment_aa_xref,5,&segment_matnum,segmentmattext))	{		calc_seg_exceptions();		if(segment_exceptions) show_segment_exceptions();		SetValue(seg_matrix_list,segment_matnum);	}}  void set_segment_matrix(GrouP g){	int tmp;        tmp = GetValue(g);	if(tmp>0 && tmp<5)	{		segment_matnum=tmp;	}	else	{		if (segment_mtrxname[0]=='\0')		{			get_user_matrixname(segment_mtrxname,segment_matrix,segment_aa_xref,5,&segment_matnum,segmentmattext);		}		else segment_matnum=5;	}	calc_seg_exceptions();	if(segment_exceptions) show_segment_exceptions();	SetValue(seg_matrix_list,segment_matnum);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内成人精品2018免费看| 国产成人免费视频网站| 亚洲狼人国产精品| 中文字幕一区二区视频| 国产喷白浆一区二区三区| 久久久久久9999| 国产丝袜美腿一区二区三区| 久久精品日产第一区二区三区高清版| 日韩一级二级三级精品视频| 日韩一区二区三免费高清| 欧美一区二区三区四区高清| 欧美日韩性生活| 51精品国自产在线| 91精品国产麻豆| 2021久久国产精品不只是精品| 日韩女优制服丝袜电影| 精品国产一区二区三区久久久蜜月| 欧美一二三区在线| 337p粉嫩大胆色噜噜噜噜亚洲| 久久久99精品久久| 中文子幕无线码一区tr| 亚洲欧美福利一区二区| 亚洲高清免费在线| 日韩成人精品在线| 久99久精品视频免费观看| 国产一区三区三区| 成人av资源站| 91成人在线观看喷潮| 欧美性猛交一区二区三区精品| 欧美久久久一区| 欧美变态tickle挠乳网站| 国产婷婷色一区二区三区四区| 亚洲日本在线看| 视频一区在线播放| 国产一区二区女| 91小视频在线观看| 欧美一区二区三区视频免费| 久久色.com| 亚洲一区二区在线免费观看视频| 美国十次综合导航| 成人黄页毛片网站| 欧美日韩亚洲综合在线 | 国产精品白丝jk黑袜喷水| 成人h动漫精品一区二区| 欧美视频在线一区| 国产日产欧美一区二区三区| 亚洲欧美欧美一区二区三区| 亚洲一二三四区不卡| 精品无人区卡一卡二卡三乱码免费卡 | 日韩av一级电影| 国产98色在线|日韩| 欧美日韩一区精品| 欧美韩国一区二区| 午夜激情综合网| 成人少妇影院yyyy| 91精品婷婷国产综合久久性色| 国产精品欧美久久久久无广告 | 成人h动漫精品| 日韩精品一区二区三区在线| 日韩毛片在线免费观看| 久久黄色级2电影| 日本黄色一区二区| 久久久精品人体av艺术| 丝袜亚洲精品中文字幕一区| av一区二区不卡| 精品国产一二三| 午夜久久电影网| 99视频一区二区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 94-欧美-setu| 精品成人私密视频| 香蕉av福利精品导航| 97精品国产露脸对白| 久久精品夜色噜噜亚洲aⅴ| 偷偷要91色婷婷| 色综合天天综合网国产成人综合天| 精品蜜桃在线看| 偷拍一区二区三区| 91精彩视频在线观看| 日本一区二区成人在线| 激情五月婷婷综合| 3atv一区二区三区| 亚洲国产精品一区二区久久| 91麻豆swag| 欧美国产乱子伦 | 日本一区二区三区dvd视频在线| 亚洲小说欧美激情另类| 91蜜桃网址入口| 国产精品美女久久久久av爽李琼 | 欧美午夜在线观看| 亚洲天天做日日做天天谢日日欢| 国产91综合网| 国产欧美日韩精品在线| 韩国精品免费视频| 欧美一区二区三区喷汁尤物| 亚洲一区二区在线免费观看视频| 91天堂素人约啪| 1区2区3区欧美| 不卡的av中国片| 国产精品视频九色porn| 国产成人免费在线观看| 欧美国产国产综合| 高潮精品一区videoshd| 国产午夜三级一区二区三| 激情综合色播激情啊| 久久久久久久综合日本| 国产高清不卡二三区| 国产片一区二区三区| 丁香啪啪综合成人亚洲小说| 国产农村妇女精品| 99re热视频这里只精品| 亚洲免费观看高清完整版在线观看| 91在线观看成人| 一区二区三区精品在线| 欧亚洲嫩模精品一区三区| 一区二区三区国产精华| 欧美日韩一区二区欧美激情 | 欧美丝袜第三区| 日韩精品每日更新| 欧美大黄免费观看| 国产精品亚洲一区二区三区妖精| 久久久久亚洲蜜桃| av动漫一区二区| 亚洲一区二区视频在线观看| 欧美日韩精品一区二区三区蜜桃| 日韩电影在线免费观看| 精品国产成人在线影院 | 欧美图区在线视频| 日韩精品乱码av一区二区| 精品国产精品网麻豆系列| 成人午夜大片免费观看| 亚洲精品福利视频网站| 91精选在线观看| 国产精品99久久久久久久女警| 中文字幕一区视频| 欧美视频一区二区三区在线观看| 日韩av中文字幕一区二区 | 久久国内精品视频| 中文字幕精品三区| 欧美在线综合视频| 麻豆精品精品国产自在97香蕉| 久久久久国产精品免费免费搜索| 91老师片黄在线观看| 婷婷综合另类小说色区| 2017欧美狠狠色| 色婷婷久久综合| 久久国产免费看| 亚洲人成小说网站色在线| 91精品久久久久久久久99蜜臂| 国产成人免费视频一区| 香港成人在线视频| 国产女主播一区| 欧美一区二区网站| aaa欧美色吧激情视频| 日本视频免费一区| 国产精品欧美一区喷水| 欧美一级二级三级蜜桃| 91在线精品一区二区| 看片的网站亚洲| 亚洲欧美国产高清| 久久精品日产第一区二区三区高清版| 欧洲精品视频在线观看| 国产综合色精品一区二区三区| 亚洲激情一二三区| 久久久久久日产精品| 欧美日韩在线免费视频| 成人久久久精品乱码一区二区三区 | 亚洲一区二区三区爽爽爽爽爽| 精品国产污污免费网站入口 | 一本一道久久a久久精品综合蜜臀| 日本特黄久久久高潮| 亚洲黄色免费网站| 国产欧美日韩视频在线观看| 欧美美女网站色| 色婷婷久久久久swag精品 | 国产无遮挡一区二区三区毛片日本| 欧美日韩精品系列| 91在线视频免费观看| 国产精品中文欧美| 奇米777欧美一区二区| 亚洲最大成人综合| 国产精品护士白丝一区av| 精品国产髙清在线看国产毛片| 91.com视频| 精品视频免费在线| 日本精品视频一区二区| 91视视频在线观看入口直接观看www | 久久久www成人免费毛片麻豆| 欧美军同video69gay| 在线视频一区二区三区| 99久久99久久精品国产片果冻| 国产精品羞羞答答xxdd | 久久综合九色综合久久久精品综合| 欧美三级日韩在线| 欧洲一区在线电影| 91国产视频在线观看| 91国偷自产一区二区使用方法| caoporm超碰国产精品| 成人成人成人在线视频| 成人污视频在线观看|