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

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

?? wgts_categs.c

?? fastDNAml is an attempt to solve the same problem as DNAML, but to do so faster and using less memo
?? C
字號:
#include  <stdlib.h>#include  <stdio.h>#include  <string.h>#include  "fastDNAml_types.h"#include  "fastDNAml_funcs.h"void makeboot (analdef *adef, rawdata *rdta, cruncheddata *cdta)  { /* makeboot */    int  i, j, nonzero;    double  randum();    nonzero = 0;    for(i=1; i<=rdta->sites; i++)      if(rdta->wgt[i]>0)        nonzero++;    for(j=1; j<=nonzero; j++)      cdta->aliaswgt[j] = 0;    for(j=1; j<=nonzero; j++)      cdta->aliaswgt[(int)(nonzero*randum(&adef->boot))+1]++;    j = 0;    cdta->wgtsum = 0;    for(i=1; i<=rdta->sites; i++) {      if (rdta->wgt[i] > 0)        cdta->wgtsum += (rdta->wgt2[i] = rdta->wgt[i] * cdta->aliaswgt[++j]);      else        rdta->wgt2[i] = 0;      }  } /* makeboot */void sitesort (rawdata *rdta, cruncheddata *cdta)    /* Shell sort keeping sites with identical residues and weights in     * the original order (i.e., a stable sort).     * The index created in cdta->alias is 1 based.  The     * sitecombcrunch routine packs it to a 0 based index.     */  { /* sitesort */    int  gap, i, j, jj, jg, k, n, nsp;    int  *index, *category;    boolean  flip, tied;    yType  **data;    index    = cdta->alias;    category = rdta->sitecat;    data     = rdta->y;    n        = rdta->sites;    nsp      = rdta->numsp;    for (gap = n / 2; gap > 0; gap /= 2) {      for (i = gap + 1; i <= n; i++) {        j = i - gap;        do {          jj = index[j];          jg = index[j+gap];          flip = (category[jj] >  category[jg]);          tied = (category[jj] == category[jg]);          for (k = 1; (k <= nsp) && tied; k++) {            flip = (data[k][jj] >  data[k][jg]);            tied = (data[k][jj] == data[k][jg]);            }          if (flip) {            index[j]     = jg;            index[j+gap] = jj;            j -= gap;            }          } while (flip && (j > 0));        }  /* for (i ...   */      }    /* for (gap ... */  } /* sitesort */void sitecombcrunch (rawdata *rdta, cruncheddata *cdta)    /* combine sites that have identical patterns (and nonzero weight) */  { /* sitecombcrunch */    int  i, sitei, j, sitej, k;    boolean  tied;    i = 0;    cdta->alias[0] = cdta->alias[1];    cdta->aliaswgt[0] = 0;    for(j=1; j<=rdta->sites; j++) {      sitei = cdta->alias[i];      sitej = cdta->alias[j];      tied = (rdta->sitecat[sitei] == rdta->sitecat[sitej]);      for(k=1; tied && (k<=rdta->numsp); k++)        tied = (rdta->y[k][sitei] == rdta->y[k][sitej]);      if(tied) {        cdta->aliaswgt[i] += rdta->wgt2[sitej];      }      else {        if(cdta->aliaswgt[i] > 0) i++;        cdta->aliaswgt[i] = rdta->wgt2[sitej];        cdta->alias[i] = sitej;      }    }    cdta->endsite = i;    if(cdta->aliaswgt[i] > 0) cdta->endsite++;  } /* sitecombcrunch */boolean makeweights (analdef *adef, rawdata *rdta, cruncheddata *cdta)    /* make up weights vector to avoid duplicate computations */  { /* makeweights */    int  i;    if(adef->boot)      makeboot(adef,rdta,cdta);    else      for(i=1; i<=rdta->sites; i++)        rdta->wgt2[i] = rdta->wgt[i];    for(i=1; i<=rdta->sites; i++)      cdta->alias[i] = i;    sitesort(rdta,cdta);    sitecombcrunch(rdta,cdta);    printf("Total weight of positions in analysis = %d\n", cdta->wgtsum);    printf("There are %d distinct data patterns (columns)\n\n", cdta->endsite);    return TRUE;  } /* makeweights */boolean makevalues (rawdata *rdta, cruncheddata *cdta)    /* set up fractional likelihoods at tips */  { /* makevalues */    double  temp, wtemp;    int  i, j;    for (i = 1; i <= rdta->numsp; i++) {    /* Pack and move tip data */      for (j = 0; j < cdta->endsite; j++) {        rdta->y[i-1][j] = rdta->y[i][cdta->alias[j]];        }      }    for (j = 0; j < cdta->endsite; j++) {      cdta->patcat[j] = i = rdta->sitecat[cdta->alias[j]];      cdta->patrat[j] = temp = rdta->catrat[i];      cdta->wr[j]  = wtemp = temp * cdta->aliaswgt[j];      cdta->wr2[j] = temp * wtemp;      }    return TRUE;  } /* makevalues */boolean empiricalfreqs (rawdata *rdta, cruncheddata *cdta)    /* Get empirical base frequencies from the data */  { /* empiricalfreqs */    double  sum, suma, sumc, sumg, sumt, wj, fa, fc, fg, ft;    int     i, j, k, code;    yType  *yptr;    rdta->freqa = 0.25;    rdta->freqc = 0.25;    rdta->freqg = 0.25;    rdta->freqt = 0.25;    for (k = 1; k <= 8; k++) {      suma = 0.0;      sumc = 0.0;      sumg = 0.0;      sumt = 0.0;      for (i = 0; i < rdta->numsp; i++) {        yptr = rdta->y[i];        for (j = 0; j < cdta->endsite; j++) {          code = *yptr++;          fa = rdta->freqa * ( code       & 1);          fc = rdta->freqc * ((code >> 1) & 1);          fg = rdta->freqg * ((code >> 2) & 1);          ft = rdta->freqt * ((code >> 3) & 1);          wj = cdta->aliaswgt[j] / (fa + fc + fg + ft);          suma += wj * fa;          sumc += wj * fc;          sumg += wj * fg;          sumt += wj * ft;          }        }      sum = suma + sumc + sumg + sumt;      rdta->freqa = suma / sum;      rdta->freqc = sumc / sum;      rdta->freqg = sumg / sum;      rdta->freqt = sumt / sum;      }    return TRUE;  } /* empiricalfreqs */void reportfreqs (analdef *adef, rawdata *rdta)  { /* reportfreqs */    double  suma, sumb;    if (adef->empf) printf("Empirical ");    printf("Base Frequencies:\n\n");    printf("   A    %10.5f\n",   rdta->freqa);    printf("   C    %10.5f\n",   rdta->freqc);    printf("   G    %10.5f\n",   rdta->freqg);    printf("  T(U)  %10.5f\n\n", rdta->freqt);    rdta->freqr = rdta->freqa + rdta->freqg;    rdta->invfreqr = 1.0/rdta->freqr;    rdta->freqar = rdta->freqa * rdta->invfreqr;    rdta->freqgr = rdta->freqg * rdta->invfreqr;    rdta->freqy = rdta->freqc + rdta->freqt;    rdta->invfreqy = 1.0/rdta->freqy;    rdta->freqcy = rdta->freqc * rdta->invfreqy;    rdta->freqty = rdta->freqt * rdta->invfreqy;    printf("Transition/transversion ratio = %10.6f\n\n", rdta->ttratio);    suma = rdta->ttratio*rdta->freqr*rdta->freqy         - (rdta->freqa*rdta->freqg + rdta->freqc*rdta->freqt);    sumb = rdta->freqa*rdta->freqgr + rdta->freqc*rdta->freqty;    rdta->xi = suma/(suma+sumb);    rdta->xv = 1.0 - rdta->xi;    if (rdta->xi <= 0.0) {      printf("WARNING: This transition/transversion ratio\n");      printf("         is impossible with these base frequencies!\n");      printf("Transition/transversion parameter reset\n\n");      rdta->xi = 0.000001;      rdta->xv = 1.0 - rdta->xi;      rdta->ttratio = (sumb * rdta->xi / rdta->xv                        + rdta->freqa * rdta->freqg                       + rdta->freqc * rdta->freqt)                    / (rdta->freqr * rdta->freqy);      printf("Transition/transversion ratio = %10.6f\n\n", rdta->ttratio);      }    printf("(Transition/transversion parameter = %10.6f)\n\n",            rdta->xi/rdta->xv);    rdta->fracchange = 2.0 * rdta->xi * (rdta->freqa * rdta->freqgr                                       + rdta->freqc * rdta->freqty)                     + rdta->xv * (1.0 - rdta->freqa * rdta->freqa                                       - rdta->freqc * rdta->freqc                                       - rdta->freqg * rdta->freqg                                       - rdta->freqt * rdta->freqt);  } /* reportfreqs */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人三级小说| 91精品国产欧美日韩| 欧美精品一区二区三区很污很色的 | 国产日产欧美一区二区三区| 日本欧美肥老太交大片| 制服视频三区第一页精品| 亚洲成人福利片| 欧美午夜精品电影| 中文字幕综合网| 成人激情黄色小说| 国产精品久久久久久久久快鸭 | 一区二区三区国产精华| 国产成人亚洲精品青草天美| 精品欧美黑人一区二区三区| 精品一区二区三区免费观看| 日韩视频一区二区三区在线播放| 日韩在线一区二区三区| 91精品国产91久久久久久一区二区 | 色一情一乱一乱一91av| 亚洲免费视频中文字幕| 在线亚洲一区二区| 五月婷婷综合在线| 91精品国产欧美一区二区18| 黑人巨大精品欧美一区| 国产欧美视频一区二区三区| 91亚洲国产成人精品一区二三| 亚洲欧美另类久久久精品2019| 成人午夜免费电影| 亚洲女人的天堂| 8x福利精品第一导航| 激情图片小说一区| 国产日产亚洲精品系列| 一本到不卡精品视频在线观看| 欧美精品一区二区久久婷婷 | 亚洲乱码中文字幕| 亚洲精品中文字幕乱码三区| 亚洲高清免费观看高清完整版在线观看| 色噜噜狠狠色综合欧洲selulu| 日韩一区精品视频| 欧美一区二区三区播放老司机| 精品一区二区三区影院在线午夜| 国产视频不卡一区| 91浏览器在线视频| 天天操天天干天天综合网| 精品国产三级a在线观看| 成人免费毛片aaaaa**| 亚洲欧美区自拍先锋| 久久免费美女视频| 91麻豆免费看片| 亚洲成人免费在线观看| 久久精品亚洲麻豆av一区二区| 久久99精品久久久久久国产越南 | 成人av电影在线网| 中文字幕一区二区三区av| 欧美色手机在线观看| 亚洲国产欧美在线人成| 国产精品久久久久三级| 欧美精品欧美精品系列| 成人一区在线看| 日韩精品电影在线观看| 国产亚洲精品aa| 精品欧美一区二区在线观看| 欧美在线一二三四区| 国产成人av网站| 精品在线播放午夜| 五月婷婷综合激情| 亚洲色图都市小说| 精品国产91久久久久久久妲己 | 精品日韩一区二区三区 | 日本一区二区三区电影| 国产精品三级电影| 91精品国模一区二区三区| 99精品国产热久久91蜜凸| 免费日韩伦理电影| 久久久99久久精品欧美| 国产69精品久久99不卡| 亚洲精品久久嫩草网站秘色| 欧美精品一区二区三区在线播放| 欧美日韩国产精选| 成人午夜视频免费看| 国产乱人伦精品一区二区在线观看| 国产精品免费视频一区| 欧美国产日韩亚洲一区| 欧美一级欧美三级在线观看| 国产成人小视频| 成人激情综合网站| 99精品偷自拍| 亚洲女人的天堂| 蜜臀精品一区二区三区在线观看 | 亚洲激情六月丁香| 中文字幕中文字幕中文字幕亚洲无线| 欧美一区二区三区人| 欧美日本免费一区二区三区| 91丨porny丨国产| 亚洲国产精品自拍| 亚洲婷婷国产精品电影人久久| 亚洲一区二区在线免费观看视频| 色综合久久中文综合久久97 | 欧美人xxxx| 中文字幕一区视频| 福利一区在线观看| 国产成人综合亚洲91猫咪| 亚洲精品国产精品乱码不99| 日本不卡高清视频| 久久女同互慰一区二区三区| 欧美嫩在线观看| 欧美一三区三区四区免费在线看| 欧美区视频在线观看| 欧美乱妇15p| 欧美本精品男人aⅴ天堂| 日韩欧美中文字幕一区| 久久综合一区二区| 久久久精品国产免费观看同学| 国产精品狼人久久影院观看方式| 国产精品天美传媒沈樵| 一区二区三区中文字幕电影| 亚洲电影中文字幕在线观看| 久久激情五月婷婷| 久久成人久久爱| 久久国产精品72免费观看| 欧美国产精品久久| 午夜精品久久久久久久| 国产大片一区二区| 欧美成人免费网站| 国产精品全国免费观看高清 | 欧美一二三区在线观看| 欧美日本国产视频| 波多野结衣中文字幕一区 | 亚洲国产wwwccc36天堂| 麻豆成人在线观看| 欧美三级在线播放| 亚洲成年人影院| 波多野结衣一区二区三区| 精品裸体舞一区二区三区| 洋洋av久久久久久久一区| 欧美专区亚洲专区| 夜夜精品浪潮av一区二区三区| 成人深夜福利app| 国产精品久久久久久久久免费桃花| 丁香六月综合激情| 精品乱码亚洲一区二区不卡| 精久久久久久久久久久| 精品日韩99亚洲| jizzjizzjizz欧美| 国产亚洲精品久| 成人动漫一区二区在线| 亚洲一线二线三线久久久| 大尺度一区二区| 日韩专区欧美专区| 精品日韩99亚洲| gogogo免费视频观看亚洲一| 中文字幕人成不卡一区| 99久久精品国产麻豆演员表| 亚洲免费大片在线观看| 在线一区二区三区做爰视频网站| 日韩国产欧美在线观看| 欧美大片顶级少妇| 99久久久精品| 亚洲高清一区二区三区| 精品久久久久久久久久久久久久久久久| 视频在线观看一区二区三区| 久久九九影视网| 欧美日韩一区二区电影| 狠狠色狠狠色综合系列| 亚洲成人在线免费| 国产精品午夜免费| 日韩精品专区在线影院重磅| 不卡欧美aaaaa| 蜜臀av一区二区在线观看| 最近日韩中文字幕| 2020国产精品自拍| 欧美日韩一卡二卡| 91丨porny丨蝌蚪视频| 国产剧情一区在线| 免费人成在线不卡| 亚洲国产精品一区二区久久恐怖片| 久久精品人人做人人爽人人| 欧美日韩激情在线| 欧美日韩国产免费| 久久精品噜噜噜成人av农村| 视频在线观看91| 亚洲国产综合91精品麻豆| 一区二区三区成人在线视频| 精品国精品国产尤物美女| 欧美一二区视频| 日韩精品中文字幕在线不卡尤物| 97久久精品人人做人人爽50路| 久久爱另类一区二区小说| 九九精品一区二区| 精品无人码麻豆乱码1区2区| 丁香婷婷综合激情五月色| 不卡的av电影| 91视视频在线观看入口直接观看www | 亚洲欧美日韩小说| 亚洲精品少妇30p| 日韩精品一二三四| 国产一区二区三区四区五区美女| 无吗不卡中文字幕| 国产精品99久久久久久似苏梦涵| 99久久伊人精品|