#define _COORDCOVERT_H#include "stdlib.h"
//WGS-84椭球体参数
const double a=6378137.0//长半轴
const double flattening=1/298.257223563//扁率
const double delta=0.0000001
typedef struct tagCRDCARTESIAN{
double x
double y
double z
}CRDCARTESIANtypedef CRDCARTESIAN *PCRDCARTESIAN
//笛卡尔坐标系typedef struct tagCRDGEODETIC{
double longitude
double latitude
double height
}CRDGEODETICtypedef CRDGEODETIC *PCRDGEODETIC
//大地坐标系typedef struct tagCRDTOPOCENTRIC{
double northing
double easting
double upping
}CRDTOPOCENTRICtypedef CRDTOPOCENTRIC *PCRDTOPOCENTRIC
//站心地平坐标系(线坐标形式)typedef struct tagCRDTOPOCENTRICPOLAR{
double range
double azimuth
double elevation
}CRDTOPOCENTRICPOLARtypedef CRDTOPOCENTRICPOLAR *PCRDTOPOCENTRICPOLAR
//站心地平坐标系(极坐标形式)//由笛卡尔坐标转换为大地坐标
void CartesianToGeodetic (PCRDGEODETIC pcg, PCRDCARTESIAN pcc,
double dSemiMajorAxis, double dFlattening)
//pcg:指向所转换出的大地坐标的指针;
//pcc:指向待转换的笛卡尔坐标的指针;
//dSemiMajorAxis:参考椭球的长半轴;
//dFlattening:参考椭球的扁率。//由大地坐标转换为笛卡尔坐标
void GeodeticToCartesian (PCRDCARTESIAN pcc, PCRDGEODETIC pcg,
double dSemiMajorAxis, double dFlattening)
//pcc:指向所转换出的笛卡尔坐标的指针;
//pcg:指向待转换的大地坐标的指针;
//dSemiMajorAxis:参考椭球的长半轴;
//dFlattening:参考椭球的扁率。//由笛卡尔坐标转换为站心地平坐标
void CartesianToTopocentric (PCRDTOPOCENTRIC pct,
PCRDCARTESIAN pcc,
PCRDCARTESIAN pccCenter,
double dSemiMajorAxis,
double dFlattening)
//pct:指向所转换出的站心地平坐标的指针;
//pcc:指向待转换的笛卡尔坐标的指针;
//pccCenter:指向站心的笛卡尔坐标的指针;
//dSemiMajorAxis:参考椭球的长半轴;
//dFlattening:参考椭球的扁芹租运率。//由站心地平直角坐标转换为站心地平极坐标
void TopocentricToTopocentricPolar (PCRDTOPOCENTRICPOLAR pctp,
PCRDTOPOCENTRIC pct)
//pctp:指向所转换出的站心地平极坐标的指针;
//pct:指向待转换的站心地平坐标的指针;//由站心地平极坐标转换为站心地平直角坐标
void TopocentricPolarToTopocentric (PCRDTOPOCENTRIC pct,PCRDTOPOCENTRICPOLAR pctp)
//pct:指向所转换的站心地平坐标的指针;
//pctp:指向待转换的站心地平极坐标的指针;#endif 源文件:#include "CoordCovert.h"
#include "math.h"void CartesianToGeodetic (PCRDGEODETIC pcg, PCRDCARTESIAN pcc,
double dSemiMajorAxis, double dFlattening)
{
double e2//第一偏心率的平方
e2=2*dFlattening-dFlattening*dFlatteningpcg->longitude=atan(pcc->y/pcc->x)
double W,N,N1=0,B,B1
B1=atan(pcc->z/sqrt(pcc->x*pcc->x+pcc->y*pcc->y))
while(1)
{
W=sqrt(1-e2*sin(B1)*sin(B1))
N1=dSemiMajorAxis/W
B=atan((pcc->z+N1*e2*sin(B1))/sqrt(pcc->x*pcc->x+pcc->y*pcc->y)) if(fabs(B-B1)<delta)
break
else
B1=B
}pcg->latitude=B
N=dSemiMajorAxis/sqrt(1-e2*sin(pcg->latitude)*sin(pcg->latitude))
pcg->height=sqrt(pcc->x*pcc->x+pcc->y*pcc->y)/cos(B)-N
}//由大地坐标转换为笛卡尔坐标
void GeodeticToCartesian (PCRDCARTESIAN pcc, PCRDGEODETIC pcg,
double dSemiMajorAxis, double dFlattening)
{
double e2//第一偏心率的平方
double N//卯酉圈半径
e2=2*dFlattening-dFlattening*dFlattening
N=dSemiMajorAxis/sqrt(1-e2*sin(pcg->latitude)*sin(pcg->latitude))pcc->x=(N+pcg->height)*cos(pcg->latitude)*cos(pcg->longitude)
pcc->y=(N+pcg->height)*cos(pcg->latitude)*sin(pcg->longitude)
pcc->z=(N*(1-e2)+pcg->height)*sin(pcg->latitude)}//由笛卡尔坐标转换为站心地平坐标
void CartesianToTopocentric (PCRDTOPOCENTRIC pct,
PCRDCARTESIAN pcc,
PCRDCARTESIAN pccCenter,
double dSemiMajorAxis,
double dFlattening)
{
double dx,dy,dz
dx=pcc->x-pccCenter->x
dy=pcc->y-pccCenter->y
dz=pcc->z-pccCenter->zPCRDGEODETIC pd
pd=(PCRDGEODETIC)malloc(sizeof(CRDGEODETIC)) CartesianToGeodetic (pd,pccCenter,dSemiMajorAxis,dFlattening)pct->northing=-sin(pd->latitude)*cos(pd->longitude)*dx
-sin(pd->latitude)*sin(pd->longitude)*dy
+cos(pd->latitude)*dz
pct->easting=-sin(pd->longitude)*dx
+cos(pd->longitude)*dy
pct->upping=cos(pd->latitude)*cos(pd->longitude)*dx
+cos(pd->latitude)*sin(pd->longitude)*dy
+sin(pd->latitude)*dz
free(pd)}//由站心地平直角坐标转换为站心地平极坐标
void TopocentricToTopocentricPolar (PCRDTOPOCENTRICPOLAR pctp,
PCRDTOPOCENTRIC pct)
{ pctp->range=sqrt(pct->northing*pct->northing+pct->easting*pct->easting+pct->upping*pct->upping)
pctp->azimuth=atan(pct->easting/pct->northing)
pctp->elevation=asin(pct->upping/pctp->range)
}//由站心地平极坐标转换为站心地平直角坐标
void TopocentricPolarToTopocentric (PCRDTOPOCENTRIC pct,
PCRDTOPOCENTRICPOLAR pctp)
{
pct->northing=pctp->range*cos(pctp->elevation)*cos(pctp->azimuth)
pct->easting=pctp->range*cos(pctp->elevation)*sin(pctp->azimuth)
pct->upping=pctp->range*sin(pctp->elevation)}
1、模板的取材主要依据PCR的圹增对象,可以是病原体标本如病毒、也可以是病理生理标本如细胞等。
2、标本处理的基本要求是除去杂质,并部分纯化标本中的核酸。多数样品霓要经过SDS和蛋白 酶K处理。难以破碎的细菌,可用溶菌酶加EDTA处理。
3、引物最好在模板cDNA的保守区内设计,引物长度一般在15~30碱基之间,引物长度常用的是18~27 bp,但不应大于38,因为过长会导致其延伸温度大于74℃,不适于Taq DNA 聚合酶进行反应
4、引物GC含量在40%~60%之间,Tm值最好接近72℃,族梁GC含量过高或过低都不利于引发反应。上下游引物的Tm值是寡核苷酸的解链温度,即在一定盐浓度条件下,50%寡核苷酸双链解链的温度
5、引物3’端要避开密码子的第3位,引物3′端不要终止枝氏于密码子的第3位,引物3′端不能选择A,最好选择T,引物3′端错配时,不同碱基引发效率存在着很大的差异。
扩展资料:
PCR能快速特异扩增任何已知目的基因或DNA片段,并能轻易在皮克(pg)水平起始DNA混合物中的目的基因扩增猛穗散达到纳克、微克、毫克级的特异性DNA片段。因此,PCR技术一经问世就被迅速而广泛地用于分子生物学的各个领域。
通过DNA基因追踪系统,能迅速掌握患者体内的病毒含量,其精确度高达纳米级别,精确检测乙肝病毒在患者体内存在的数量、是否复制、是否传染、传染性有多强、是否必要服药、肝功能有否异常改变。
能及时判断病人最适合使用哪类抗病毒药物、判断药物疗效如何、给临床治疗提供了可靠的检验依据。
重复循环变性--退火--延伸三过程,就可获得更多的“半保留复制链”,而且这种新链又可成为下次循环的模板。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)