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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? malign.c

?? 生物序列比對程序clustw的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <stdio.h>#include <string.h>#include <ctype.h>#include <stdlib.h>#include "clustalw.h"/* *       Prototypes *//* *       Global Variables */extern double  **tmat;extern Boolean no_weights;extern sint     debug;extern sint     max_aa;extern sint     nseqs;extern sint     profile1_nseqs;extern sint     nsets;extern sint     **sets;extern sint     divergence_cutoff;extern sint     *seq_weight;extern sint     output_order, *output_index;extern Boolean distance_tree;extern char    seqname[];extern sint     *seqlen_array;extern char    **seq_array;sint malign(sint istart,char *phylip_name) /* full progressive alignment*/{   static 	sint *aligned;   static 	sint *group;   static 	sint ix;   sint 	*maxid, max, sum;   sint		*tree_weight;   sint 		i,j,set,iseq=0;   sint 		status,entries;   lint		score = 0;   info("Start of Multiple Alignment");/* get the phylogenetic tree from *.ph */   if (nseqs >= 2)      {       status = read_tree(phylip_name, (sint)0, nseqs);       if (status == 0) return((sint)0);     }/* calculate sequence weights according to branch lengths of the tree -   weights in global variable seq_weight normalised to sum to 100 */   calc_seq_weights((sint)0, nseqs, seq_weight);/* recalculate tmat matrix as percent similarity matrix */   status = calc_similarities(nseqs);   if (status == 0) return((sint)0);/* for each sequence, find the most closely related sequence */   maxid = (sint *)ckalloc( (nseqs+1) * sizeof (sint));   for (i=1;i<=nseqs;i++)     {         maxid[i] = -1;         for (j=1;j<=nseqs;j++)            if (j!=i && maxid[i] < tmat[i][j]) maxid[i] = tmat[i][j];     }/* group the sequences according to their relative divergence */   if (istart == 0)     {        sets = (sint **) ckalloc( (nseqs+1) * sizeof (sint *) );        for(i=0;i<=nseqs;i++)           sets[i] = (sint *)ckalloc( (nseqs+1) * sizeof (sint) );        create_sets((sint)0,nseqs);        info("There are %d groups",(pint)nsets);/* clear the memory used for the phylogenetic tree */        if (nseqs >= 2)             clear_tree(NULL);/* start the multiple alignments.........  */        info("Aligning...");/* first pass, align closely related sequences first.... */        ix = 0;        aligned = (sint *)ckalloc( (nseqs+1) * sizeof (sint) );        for (i=0;i<=nseqs;i++) aligned[i] = 0;        for(set=1;set<=nsets;++set)         {          entries=0;          for (i=1;i<=nseqs;i++)            {               if ((sets[set][i] != 0) && (maxid[i] > divergence_cutoff))                 {                    entries++;                    if  (aligned[i] == 0)                       {                          if (output_order==INPUT)                            {                              ++ix;                              output_index[i] = i;                            }                          else output_index[++ix] = i;                          aligned[i] = 1;                       }                 }            }          if(entries > 0) score = prfalign(sets[set], aligned);          else score=0.0;/* negative score means fatal error... exit now!  */          if (score < 0)              {                return(-1);             }          if ((entries > 0) && (score > 0))             info("Group %d: Sequences:%4d      Score:%d",             (pint)set,(pint)entries,(pint)score);          else             info("Group %d:                     Delayed",             (pint)set);        }        for (i=0;i<=nseqs;i++)          sets[i]=ckfree((void *)sets[i]);        sets=ckfree(sets);     }   else     {/* clear the memory used for the phylogenetic tree */        if (nseqs >= 2)             clear_tree(NULL);        aligned = (sint *)ckalloc( (nseqs+1) * sizeof (sint) );        ix = 0;        for (i=1;i<=istart+1;i++)         {           aligned[i] = 1;           ++ix;           output_index[i] = i;         }        for (i=istart+2;i<=nseqs;i++) aligned[i] = 0;     }/* second pass - align remaining, more divergent sequences..... *//* if not all sequences were aligned, for each unaligned sequence,   find it's closest pair amongst the aligned sequences.  */    group = (sint *)ckalloc( (nseqs+1) * sizeof (sint));    tree_weight = (sint *) ckalloc( (nseqs) * sizeof(sint) );    for (i=0;i<nseqs;i++)   		tree_weight[i] = seq_weight[i];/* if we haven't aligned any sequences, in the first pass - align thetwo most closely related sequences now */   if(ix==0)     {        max = -1;	iseq = 0;        for (i=1;i<=nseqs;i++)          {             for (j=i+1;j<=nseqs;j++)               {                  if (max < tmat[i][j])		  {                     max = tmat[i][j];                     iseq = i;                  }              }          }        aligned[iseq]=1;        if (output_order == INPUT)          {            ++ix;            output_index[iseq] = iseq;          }         else            output_index[++ix] = iseq;     }    while (ix < nseqs)      {             for (i=1;i<=nseqs;i++) {                if (aligned[i] == 0)                  {                     maxid[i] = -1;                     for (j=1;j<=nseqs;j++)                         if ((maxid[i] < tmat[i][j]) && (aligned[j] != 0))                            maxid[i] = tmat[i][j];                  }              }/* find the most closely related sequence to those already aligned */            max = -1;	    iseq = 0;            for (i=1;i<=nseqs;i++)              {                if ((aligned[i] == 0) && (maxid[i] > max))                  {                     max = maxid[i];                     iseq = i;                  }              }/* align this sequence to the existing alignment *//* weight sequences with percent identity with profile*//* OR...., multiply sequence weights from tree by percent identity with new sequence */   if(no_weights==FALSE) {   for (j=0;j<nseqs;j++)       if (aligned[j+1] != 0)              seq_weight[j] = tree_weight[j] * tmat[j+1][iseq];/*  Normalise the weights, such that the sum of the weights = INT_SCALE_FACTOR*/         sum = 0;         for (j=0;j<nseqs;j++)           if (aligned[j+1] != 0)            sum += seq_weight[j];         if (sum == 0)          {           for (j=0;j<nseqs;j++)                seq_weight[j] = 1;                sum = j;          }         for (j=0;j<nseqs;j++)           if (aligned[j+1] != 0)             {               seq_weight[j] = (seq_weight[j] * INT_SCALE_FACTOR) / sum;               if (seq_weight[j] < 1) seq_weight[j] = 1;             }	}         entries = 0;         for (j=1;j<=nseqs;j++)           if (aligned[j] != 0)              {                 group[j] = 1;                 entries++;              }           else if (iseq==j)              {                 group[j] = 2;                 entries++;              }         aligned[iseq] = 1;         score = prfalign(group, aligned);         info("Sequence:%d     Score:%d",(pint)iseq,(pint)score);         if (output_order == INPUT)          {            ++ix;            output_index[iseq] = iseq;          }         else            output_index[++ix] = iseq;      }   group=ckfree((void *)group);   aligned=ckfree((void *)aligned);   maxid=ckfree((void *)maxid);   tree_weight=ckfree((void *)tree_weight);   aln_score();/* make the rest (output stuff) into routine clustal_out in file amenu.c */   return(nseqs);}sint seqalign(sint istart,char *phylip_name) /* sequence alignment to existing profile */{   static 	sint *aligned, *tree_weight;   static 	sint *group;   static 	sint ix;   sint 	*maxid, max;   sint 		i,j,status,iseq;   sint 		sum,entries;   lint		score = 0;   info("Start of Multiple Alignment");/* get the phylogenetic tree from *.ph */   if (nseqs >= 2)      {       status = read_tree(phylip_name, (sint)0, nseqs);       if (status == 0) return(0);     }/* calculate sequence weights according to branch lengths of the tree -   weights in global variable seq_weight normalised to sum to 100 */   calc_seq_weights((sint)0, nseqs, seq_weight);      tree_weight = (sint *) ckalloc( (nseqs) * sizeof(sint) );   for (i=0;i<nseqs;i++)   		tree_weight[i] = seq_weight[i];/* recalculate tmat matrix as percent similarity matrix */   status = calc_similarities(nseqs);   if (status == 0) return((sint)0);/* for each sequence, find the most closely related sequence */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道综合亚洲| 国产999精品久久久久久绿帽| 日本高清不卡视频| 亚洲综合色在线| 欧美色窝79yyyycom| 亚洲福中文字幕伊人影院| 在线观看91av| 麻豆国产精品777777在线| 欧美v日韩v国产v| 国产成人精品影视| 亚洲美腿欧美偷拍| 6080亚洲精品一区二区| 国产在线一区观看| 国产精品久久久久久一区二区三区 | 日韩欧美精品三级| 久久精品国产秦先生| 2017欧美狠狠色| 国产成人亚洲综合a∨猫咪| 国产精品视频你懂的| 欧美自拍偷拍午夜视频| 美女性感视频久久| 国产精品理论在线观看| 欧美精品色一区二区三区| 精品一区二区三区在线播放| 中文字幕乱码久久午夜不卡 | 欧美精三区欧美精三区| 久久99精品久久久| 亚洲欧美日韩小说| 日韩美女视频在线| eeuss鲁片一区二区三区在线看| 亚洲自拍偷拍欧美| 久久综合资源网| 色狠狠综合天天综合综合| 日韩精品一级二级| 国产精品久久久久永久免费观看| 欧美日韩视频不卡| 成人va在线观看| 另类中文字幕网| 亚洲综合偷拍欧美一区色| 精品电影一区二区| 欧美日韩一本到| 成人性生交大片免费看中文| 亚洲成av人**亚洲成av**| 久久久久久一级片| 7777精品久久久大香线蕉| 成人av网站免费观看| 蜜桃久久久久久| 亚洲成人高清在线| 中文字幕色av一区二区三区| 日韩精品自拍偷拍| 欧美日韩一级黄| av电影天堂一区二区在线观看| 美女脱光内衣内裤视频久久影院| 亚洲欧美激情一区二区| 久久精品在线观看| 日韩一级大片在线观看| 欧美日韩免费一区二区三区| 99精品一区二区三区| 国产伦理精品不卡| 免费高清视频精品| 日韩va亚洲va欧美va久久| 亚洲视频小说图片| 中文字幕精品三区| 国产亚洲午夜高清国产拍精品| 日韩午夜电影av| 51精品国自产在线| 欧美无乱码久久久免费午夜一区| 99精品一区二区| 99精品热视频| 91蜜桃在线观看| 成人不卡免费av| 99国产精品久| av资源站一区| 99久久久免费精品国产一区二区| 国产不卡视频一区二区三区| 国产黑丝在线一区二区三区| 国产精品一区2区| 国产成人亚洲综合a∨婷婷| 国产一区不卡视频| 国产精品小仙女| 成人天堂资源www在线| 成人国产精品免费| 91猫先生在线| 日本韩国欧美三级| 欧美精品亚洲一区二区在线播放| 欧美人与性动xxxx| 日韩欧美一二三区| 久久久蜜桃精品| 国产精品欧美久久久久无广告 | 日韩欧美资源站| 欧美sm美女调教| 欧美激情资源网| 中文字幕视频一区二区三区久| 一区二区三区久久| 日本v片在线高清不卡在线观看| 美女网站色91| 成人国产精品免费观看视频| 一本到一区二区三区| 欧美日韩精品是欧美日韩精品| 久久精品视频免费观看| 综合久久综合久久| 中文字幕在线视频一区| 国产日韩v精品一区二区| 欧美国产激情一区二区三区蜜月| 亚洲国产成人午夜在线一区| 成人欧美一区二区三区白人| 一区二区三区国产精华| 久久精品国产在热久久| 国产精品亚洲一区二区三区在线 | 日韩精品中文字幕一区二区三区| 精品国产乱码久久久久久免费| 国产农村妇女精品| 亚洲国产一区二区在线播放| 精品亚洲porn| 色婷婷综合五月| 精品久久久久av影院 | 亚洲女同女同女同女同女同69| 亚洲二区视频在线| 国产精品一区三区| 色婷婷av一区二区三区大白胸| 日韩欧美在线123| 国产精品不卡视频| 美女mm1313爽爽久久久蜜臀| 成人亚洲精品久久久久软件| 欧美一区二区成人6969| 亚洲欧美综合另类在线卡通| 青青国产91久久久久久| av激情亚洲男人天堂| 日韩一级片在线播放| 亚洲人一二三区| 国模少妇一区二区三区| 欧美视频中文字幕| 日本一区二区久久| 久久99精品国产.久久久久| 91免费在线播放| 国产日韩欧美综合一区| 日本午夜精品视频在线观看 | 麻豆91在线播放| 色婷婷精品久久二区二区蜜臀av | 91精品福利视频| 欧美激情一区二区三区蜜桃视频 | 亚洲第一主播视频| av亚洲精华国产精华精| 精品毛片乱码1区2区3区| 亚洲国产成人av网| 99久久精品国产精品久久| 久久无码av三级| 美女免费视频一区二区| 在线观看视频91| 亚洲日本在线观看| 成人久久久精品乱码一区二区三区| 欧美xxxx在线观看| 久久不见久久见免费视频7| 欧美少妇xxx| 亚洲午夜久久久久| 91视频观看免费| 最新国产成人在线观看| 国产一区二区调教| 精品国产成人在线影院| 久久精品99久久久| 日韩亚洲欧美中文三级| 免费视频一区二区| 制服丝袜国产精品| 日本网站在线观看一区二区三区 | 菠萝蜜视频在线观看一区| 国产亚洲一二三区| 国产在线视频一区二区| 精品欧美久久久| 极品少妇xxxx精品少妇| 精品少妇一区二区三区日产乱码| 偷窥国产亚洲免费视频| 欧美一卡二卡在线观看| 日本午夜一区二区| 精品国产一区二区三区久久久蜜月| 美女脱光内衣内裤视频久久网站 | 亚洲精品自拍动漫在线| 99在线精品免费| 亚洲色图视频网站| 在线观看成人小视频| 亚洲福利视频一区二区| 日韩视频一区在线观看| 狠狠色狠狠色综合日日91app| 久久这里只有精品视频网| 风间由美中文字幕在线看视频国产欧美| 久久精品人人做人人综合| 不卡免费追剧大全电视剧网站| 亚洲欧洲精品天堂一级| 91精品福利视频| 美女国产一区二区| 久久久精品日韩欧美| 91麻豆精东视频| 婷婷六月综合亚洲| 精品播放一区二区| proumb性欧美在线观看| 亚洲夂夂婷婷色拍ww47 | 欧美日韩精品二区第二页| 日本人妖一区二区| 国产欧美日韩三级| 欧美影片第一页| 国产一区二区三区在线观看精品 |