⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fasta_func.doc

📁 序列对齐 Compare a protein sequence to a protein sequence database or a DNA sequence to a DNA sequenc
💻 DOC
字号:
Over all structure of the fasta3 program.  (Some functionsare different for translated comparisons FASTX, FASTY, TFASTX, TFASTY.)main() {	/* complib.c structure */  /* get command line arguments, set up initial parameter values */  initenv (argc, argv, &m_msg, &pst,&aa0[0],outtty);  /* allocate space for sequence arrays */  /* get the query file name if not on command line */  /* get query */  m_msg.n0 = getseq (m_msg.tname,aa0[0], MAXTOT, m_msg.libstr,&pst.dnaseq,		     &m_msg.sq0off);  /* reset some parameters if DNA */		       resetp (aa0[0], m_msg.n0, &m_msg, &pst);  /* get a library name if not on command line */  libchoice(m_msg.lname,sizeof(m_msg.lname),&m_msg);  /* use library name to build list of library files */  libselect(m_msg.lname, &m_msg);  /* get additional options (ktup, prss-window) if not specified */  query_parm (&m_msg, &pst);  /* do final parameter initializations */  last_init(&m_msg, &pst);  /* set up structures for saved scores[20000], statistics[50000] */  nbest = 0;    /* initialize the comparison function */  init_work (aa0[0], m_msg.n0, &pst, &f_str[0]);  /* open the library */  for (iln = 0; iln < m_msg.nln; iln++) {    if (openlib(m_msg.lbnames[iln],m_msg)!=1) {continue;}  }  /* get the library sequence and do the comparison */  while ((n1=GETLIB(aa1ptr,maxt,libstr,&lmark,&lcont))>0) {    do_work (aa0[itt], m_msg.n0, aa1, n1, itt, &pst, f_str[itt], &rst);  /* save the scores */  /* save the scores for statistics */  }  /* all done with all libraries */  process_hist(stats,nstats,pst);  /* sort the scores by z-value */  sortbestz (bptr, nbest);  /* sort the scores by E-value */  sortbeste (bptr, nbest);  /* print the histogram */  prhist (stdout,m_msg,pst,gstring2);  /* show the high scoring sequences */  showbest (stdout, aa0, aa1, maxn, bptr, nbest, qlib, &m_msg, pst,            f_str, gstring2);  /* show the high-scoring alignments */  showalign(outfd, aa0, aa1, maxn, bptr, nbest, qlib, m_msg, pst,	    f_str, gstring2);  /* thats all folks !!! */}================complib.c	/* version set as mp_verstr */main()printsum()	/* prints summary of run (residues, entries, time) */void fsigint() 	/* sets up interrupt handler for HUP not used */================compacc.cvoid selectbest() /* select best 15000/20000 based on raw score */void selectbestz() /* select best 15000/20000 based on z-score */void sortbest()  /* sort based on raw score */void sortbestz() /* sort based on z-score */void sortbeste() /* sort based on E() score - different from z-score for DNA */prhist()	/* print histogram */shuffle()	/* shuffle sequence (prss) */wshuffle()	/* window shuffle */================showbest.cvoid showbest()	/* present list of high scoring sequences */================showalign.cvoid showalign() /* show list of high-scoring alignments */void do_show()	/* show an individual alignment */void initseq()	/* setup seqc0/seqc1 which contain alignment characters */void freeseq()	/* free them up */================htime.ctime_t s_time()	/* get the time in usecs */void ptime()	/* print elapsed time */================apam.cinitpam ()	/* read in PAM matrix or change default array */void mk_n_pam()	/* make DNA pam from +5/-3 values */================doinit.cvoid initenv()	/* read environment variables, general options */================initfa.c	/* version set as "verstr" */alloc_pam()	/* allocate 2D pam array */initpam2()	/* fill it up from 1D pam triangle */f_initenv()	/* function-specific environment variables */f_getopt()	/* function-specific options */f_getarg()	/* function specific argument - ktup */resetp()	/* reset scoring matrix, optional parameters for DNA-DNA */reseta()	/* reset scoring matrix, optional parameters for prot-DNA */query_parm()	/* ask for additional program arguments (ktup) */last_init()	/* last chance to set up parameters based on query,lib,parms */f_initpam()	/* not used - could set parameters from pam matrix */================scaleswn.cprocess_hist()	/* do statistics calculations */  proc_hist_r()	/* regression fit z=1, also used by z=5 */    float find_z() /* gives z-score for score, length, mu, rho, var */    float find_zr() /* gives z-score for score, length, mu, rho, var */    fit_llen()	/* first estimate of mu, rho, var */    fit_llens()	/* second estimate of mu, rho, var, mu2, rho2 */  proc_hist_r2()  /* regression_i fit z=4 */    float find_zr2() /* gives z-score for score, length, mu, rho, mu2, rho2 */    fit_llen2()	/* iterative estimate of mu, rho, var */  proc_hist_ln()  /* ln()-scaled z=2 */ /* no longer used */    float find_zl() /* gives z-score from ln()-scaled scores */  proc_hist_ml() /* estimate lambda, K using Maximum Likelihood */    float find_ze() /* z-score from lambda, K */  proc_hist_n()   /* no length-scaling z=0 */    float find_zn() /* gives z-score from mu, var (no scaling) */  proc_hist_a()   /* Altschul-Gish params z= 3 */    ag_parm()	/* match pst.pamfile name, look_p() */    look_p()	/* lookup Lambda, K, H given param struct */    float find_za()eq_s()	/* returns (double)score (available for length correction) */ln_s()	/* returns (double)score * ln(200)/ln(length) */proc_hist_r()	/* regression fit z=1, also used by z=5 */alloc_hist()	/* set up arrays for score vs length  */free_hist()	/* free them */inithist()	/* calls alloc_hist(), sets some other globals */addhist()	/* update score vs length hist */ inithistz()	/* initialize displayed (z-score) histogram hist[]*/addhistz()	/* add to hist[], increment num_db_entries */addhistzp()	/* add to hist[], don't change num_db_entries */prune_hist()	/* remove scores from score vs length */update_db_size() /* num_db_entries = nlib - ntrimmed */set_db_size()	/* -Z db_size; set nlib */double z_to_E()	/* z-value to E() (extreme value distribution */double zs_to_E() /* z-score (mu=50, sigma=10) to E() */double zs_to_bit() /* z-score to BLAST2 bit score */float E_to_zs()	/* E() to z-score */double zs_to_Ec() /* z-score to num_db_entries*(1 - P(zs))summ_stats()	/* put stat summary in string */vsort()		/* not used, does shell sort */calc_ks()	/* does Kolmogorov-Smirnoff calculation for histogram */================dropnfa.c	/* contains worker comparison functions */init_work()	/* set up struct f_struct fstr - hash query */get_param()	/* actually prints parameters to string */close_work()	/* clean up fstr */do_work()	/* do a comparison */  do_fasta()	/* use the fasta() function */    savemax()	/* save the best region during scan */    spam()	/* rescan the best regions */    sconn()	/* try to connect the best regions for initn */    kssort()	/* sort by score */    kpsort()	/* sort by left end pos */    shscore()	/* best self-score */    dmatch()	/* do band alignment for opt score */      FLOCAL_ALIGN()	/* fast band score-only */do_opt()	/* do an "optimized comparison */do_walign()	/* put an alignment into res[] for calcons() */  sw_walign()	/* SW alignment driver - find boundaries */    ALIGN()	/* actual alignment driver */      nw_align()	/* recursive global alignment */    CHECK_SCORE()	/* double check */    DISPLAY()	/* Miller's display routine */  bd_walign()	/* band alignment driver for DNA */    LOCAL_ALIGN()	/* find boundaries in band */    B_ALIGN()		/* produce band alignment  */      bg_align()	/* recursively produce band alignment */    BCHECK_SCORE()	/* double check */calcons()	/* calculate ascii alignment  seqc0,seqc1 from res[]*/calc_id()	/* calculate % identity with no alignment */================nxgetaa.cgetseq()	/* get a query (prot or DNA) */getntseq()	/* get a nt query (for fastx, fasty) */gettitle()	/* get a description */int openlib()	/* open a library */closelib()	/* close it */GETLIB()	/* get a fasta-format next library entry */RANLIB()	/* jump back in, get description, position for getlib() */lgetlib()	/* get a Genbank flat-file format next library entry */lranlib()	/* jump back in, get description, position for lgetlib() */pgetlib()	/* get CODATA format next library entry */pranlib()	/* jump back in, get description, position for lgetlib() */egetlib()	/* get EMBL format next library entry */eranlib()	/* jump back in, get description, position for egetlib() */igetlib()	/* get Intelligenetics format next library entry */iranlib()	/* jump back in, get description, position for igetlib() */vgetlib()	/* get PIR/VMS/GCG format next library entry */vranlib()	/* jump back in, get description, position for vgetlib() */gcg_getlib()	/* get GCG binary format next library entry */gcg_ranlib()	/* jump back in, get description, position for gcg_getlib() */int scanseq()	/* find %ACGT */revcomp()	/* do reverse complement */sf_sort()	/* sort superfamily numbers */================c_dispn.cdiscons()	/* display alignment from seqc0, seqc1 */disgraph()	/* display graphical representation, -m 4,5 */aancpy()	/* copy a binary sequence to ascii */r_memcpy()l_memcpy()iidex()		/* lookup ascii-encoding of residue */cal_coord()	/* calculate coordinates of alignment ends */================ncbl_lib.cncbl_openlib()ncbl_closelib()ncbl_getliba()ncbl_getlibn()ncbl_ranlib()src_ulong_read()src_long_read()src_char_read()src_fstr_read()newname()================lib_sel.cgetlnames()libchoice()libselect()addfile()ulindex()================nrand48.cirand(time)	/* initialize random number generator */nrand(n)	/* get a number 0 - n */================url_subs.cvoid do_url1()	/* setup search links */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -