solidworks二次开发及SNP开发验证的研究方法和技术路线.docx

上传人:b****8 文档编号:27685219 上传时间:2023-07-04 格式:DOCX 页数:18 大小:363.46KB
下载 相关 举报
solidworks二次开发及SNP开发验证的研究方法和技术路线.docx_第1页
第1页 / 共18页
solidworks二次开发及SNP开发验证的研究方法和技术路线.docx_第2页
第2页 / 共18页
solidworks二次开发及SNP开发验证的研究方法和技术路线.docx_第3页
第3页 / 共18页
solidworks二次开发及SNP开发验证的研究方法和技术路线.docx_第4页
第4页 / 共18页
solidworks二次开发及SNP开发验证的研究方法和技术路线.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

solidworks二次开发及SNP开发验证的研究方法和技术路线.docx

《solidworks二次开发及SNP开发验证的研究方法和技术路线.docx》由会员分享,可在线阅读,更多相关《solidworks二次开发及SNP开发验证的研究方法和技术路线.docx(18页珍藏版)》请在冰豆网上搜索。

solidworks二次开发及SNP开发验证的研究方法和技术路线.docx

solidworks二次开发及SNP开发验证的研究方法和技术路线

2.3Solidworks二次开发

Solidworks是在windows环境下实现的三维机械CAD软件。

它采用了windows用户界面,拥有强大、动态激活的属性管理器,以灵活的草图绘制为基础,辅助以特征建立能力以及装配控制功能,并提供了自由、开放、功能完整的API开发工具接口。

这些功能使solidworks实现了三维CAD软件所提倡的易操作性、高效性以及功能完全性。

Solidworks软件进行参数化建模的主要技术特点是:

(1)基于特征。

将某些具有代表性的平面几何形状定义为特征,并将其所有尺寸存为可调参数,进而形成实体,以此为基础来进行更为复杂的几何形体的构造。

(2)全尺寸约束。

将形状和尺寸联系起来考虑,通过尺寸约束来实现对几何形状的控制。

(3)尺寸驱动设计通过编辑尺寸数值来驱动几何形状的改变,尺寸参数的修改将导致其他相关模块中的相关尺寸的全盘更新。

采用这种技术的理由在于它能够彻底地克服了自由建模的无约束状态,几何形状均以尺寸的形式而被牢牢地控制住。

Solidworks通过OLE(对象的嵌入与链接)或者COM为用户提供了自由开放、功能完整的二次开发接口(API)。

因此,凡支持OLE和COM编程的开发工具,诸如VisualBasic、VisualC++等均可用于Solidworks的二次开发,以创建出使用人员所需的、专门化的Solidworks应用模块。

Solidworks支撑ActivexAutomation技术,在VB环境下建立客户程序可以直接访问Solidworks中的对象,在这里,为求方便,我们可将solidworks理解为一个服务程序,把二次开发工具的VB程序作为客户程序,它们之间只是服务器与客户的关系。

用户主要在VB上进行操作,VB就可以驱动Solidworks完成相应的工作。

通过调用API对象属性的设置和方法,就可以在开发的程序中实现与solidworks相同的功能。

对于一般零件我们可采用人机交互的形式建立模型,设定合理的设计变量,再通过VB程序驱动设计变量实现模型的更新方法,系统开发流程如图2-5示:

图2-5

二次开发几乎是所有应用CAD软件企业的共同需求,商品化软件开发机构为了开拓市场、扩大市场份额、保持产品的市场地位,也非常重视企业在应用CAD软件时的这个共性需求。

本设计阐述了利用SolidWorksAPI接口开发嵌入式功能模块以扩充原SolidWorks功能的关键技术,已在企业SolidWorks二次开发中得以广泛运用,并且形成了客户化定制的SolidWorks软件系统,具有明显的实用价值。

其中SolidWorksAPI(SolidWorksApplicationProgrammingInterface)提供了支持二次开发的应用编程接口,通过该接口可以开发嵌入式功能模块以扩充原SolidWorks的功能,形成客户化定制的SolidWorks软件系统。

本节对SolidWorks二次开发接口API对象、DLL动态连接库三种SolidWorks二次开发关键技术分别进行分析和简要论述。

2.3.1SolidWorks二次开发接口API对象

SolidWorksAPI(ApplicationProgrammingInterface)是SolidWorks基于ActiveXAutomation的应用编程接口,利用SolidWorksAPI可以方便高效地设计具有Windows风格的、与SolidWorks无缝集成的应用程序。

SolidworksAPI的调用是指调用Solidworks的事件、方法、属性及相关功能,Solidworks是一个自上而下的树形网络结构,调用下层对象时,一定要先调用上层对象。

Solidworks应用程序对象是所有调用SolidworksAPI功能的最顶层,也是调用其他对象的入口。

在其之下是Solidworks活动文档对象,它包括“零件环境”、“装配环境”、“工程图环境”及“非工作环境”四个状态。

得到的Solidworks活动文档对象主要是当前活动的工作环境,一旦上述两个对象调用之后,就可以调用户提供的其他功能。

在进行二次开发的过程中,只有调用正确的对象,才可以调用对象相应的事件、属性、方法及相关函数。

所以,API的层次调用对二次开发有着重要的意义。

Solidworks的OLE对象总共可以分为十个大类,数百个对象,涵盖从Solidworks基本操作如打开、保存等到建模、修改等各个功能。

但是需要注意并不是所有的对象都可以被VB所调用。

Solidworks对象,可以实现应用程序的最基本的操作.如创建、打开、关闭和退出Solidworks文档,设置当前的活动文档,并可以对Solidworks的系统环境进行设置。

ModelDoc对象属于模型层,是sldworks的子对象。

用ModelDoc对象可以实现视图设置、轮廓线修改、参数控制、对象选择打开和保存文档、创建编辑特征参量、创建框架等与实体模型相关的各类操作,ModelDoc对象包括PartDoc、AssemblyDoc和DrawingDoc等三个常用的对象。

不管是用何种编程语言对Solidworks进行外部开发或在其内部进行开发,都是通过调用Solidworks的对象体系结构来进行的。

Solidworks的API编程接口封装了所有的ActiveX对象供编程所用。

Solidworks的对象层次结构可以描述为自上而下的树型结构模型如图所示。

最低层的根对象是Sldworks对象,其他对象都是他的子对象。

其中父对象与子对象之间的关系并不是继承关系,而是包含关系。

也就是说如果VB要与Solidworks的一个特定对象通信,必须先从Sldworks对象对其子对象进行遍历,直到找到该特定的对象。

另外,本节所提供的Solidworks对象表是所有SolidworksActive对象的总括,其中的箭头符号表示该对象下面还包含子对象。

SolidWorksAPI是一个自上而下的多层次的树形网络(层次结构见图)。

SldWorks是根目录对象类,位于应用程序的底层,是访问SolidWorksAPI所有对象的入口程序。

接口对SolidWorksAPI的调用实行逐级寻访,即先调用能实现所需功能的对象的父对象,然后调用与父对象相关的子对象,如果子对象所封装的属性和方法不能实现所需要的功能,则继续调用该子对象的下级子对象,如此逐级遍历,直到结束。

对SolidWorksAPI对象的调用不能跨级,因为父对象与子对象是包含关系,而不是继承关系,父对象包含子对象的属性和方法,子对象自身不带有该属性和方法,跨级调用程序将会出错。

SolidWorksAPI的常量SolidWorks提供了一个BASIC模块——swconst.bas,该模块包含了预先定义的许多SolidWorks常数值,swconst.bas在SolidWorks安装目录下的samples\appComm文件夹内。

编制应用程序时,添加VB模块,将swconst.bas包含在VB工程中,否则API函数调用将会出错。

SolidworksAPI中的各对象关系

图2-6对象模型

OtherObject:

图2-7solidworks对象模型

在调用solidworks的过程中,我们只有对各个函数之间的关系和层次分的明了清楚,才能保证正确调用。

如上图表所示,在编程中可以用作对象参考。

要调用solidworks的API其他功能,必须先调用接口对象。

一般的在程序里写作:

DimswAppAsObject

SetswApp=CreateObject("SldWorks.Application")

 

2.3.2DLL动态连接库

Solidworks本身自带有程序编辑器VBA,,通过宏录制可以实现对SolidWorks的驱动,应用程序在SolidWorks环境下直接执行,编程时不需要考虑SolidWorks的库文件,而直接调用SolidWorksAPI所有函数及对象,随时编辑应用程序,环境支持如单步调试、逐过程调试等多种调试手段,调试的同时可进行修改。

但VBA的功能较弱,所提供的控件数目较少,对象的属性、事件以及方法等不完全,用VBA二次开发SolidWorks将颇费周折,选用DLL动态连接库技术从外部操作SolidWorks非常方便。

DLL动态连接库(DynamicLinkLibrabry)是运行时连接的可执行代码和数据模块,用它能节省内存、方便地进行应用程序中的参数传递和通信、实现代码共享、升级方便、且独立于编程语言。

SolidWorks允许用户建立独立的可执行文件(StandaloneEXE)、应用型动态链接库文件(UserDLL)及扩展型动态链接库文件(ExtensionDLL)DLL是基于Windows程序设计的一个非常重要的组成部分。

在建立应用程序的可执行文件时,不必将DLL链接到程序中,而是在运行时动态装载DLL,装载时DLL被映射到进程的地址空间中。

在每次运行SolidWorks时,DLL文件自动装载,操作方便。

SolidworksAPI的调用是指调用Solidworks的事件、方法、属性及相关功能,Solidworks是一个自上而下的树形网络结构,调用下层对象时,一定要先调用上层对象。

Solidworks应用程序对象是所有调用SolidworksAPI功能的最顶层,也是调用其他对象的入口。

在其之下是Solidworks活动文档对象,它包括“零件环境”、“装配环境”、“工程图环境”及“非工作环境”四个状态。

得到的Solidworks活动文档对象主要是当前活动的工作环境,一旦上述两个对象调用之后,就可以调用用户提供的其他功能。

在进行二次开发的过程中,只有调用正确的对象,才可以调用对象相应的事件、属性、方法及相关函数。

所以,API的层次调用对二次开发有着重要的意义。

在接下来的几个章节中本设计将对轮腿机构的部分组成构件作参数化分析,并注相应程序代码。

 

SNP开发/验证的研究方法和技术路线

1分子标记:

分子标记,我想这部分是我们分子标记组最核心的任务。

现在,我们没有任何可用的标记检测我们的定位材料。

即使想要验证已经定位的QTLs,我们也需要相对应的区间内的分子标记,尤其是SNP标记。

1.1全基因组SNP—Affymetrix芯片:

一套完整的全基因组的SNP芯片,相对于Douglas体系,其操作简单,高通量。

可以直接对定位群体进行初定位的扫描或是对育种材料的背景进行分析。

在国家玉米改良中心,有一套3k的Illumina芯片,就是用来对玉米材料进行高通量检测,基因型检测结果通常可以用来QTLs初定位,育种材料的群体划分与纯度鉴定以及低密度的关联分析等。

在此,我建议我们应该开发一套番茄基因型检测的芯片。

目前,只是查找到Illumina芯片有一套全基因SNP信息,包含7,720条探针。

而Affymetrix公司目前并没有相应的产品。

但是通过跟Affymetrix公司了解,可以利用Illumina芯片已有的结果进行开发。

番茄目前测序结果显示其全基因组大小为~760Mb,而玉米为~2,500Mb,但是他们包括的基因数目~30,000个,整体情况相近。

另外,番茄作为自交植物,其LD的衰减值应该更大,有效的历史重组会更少,遗传多样性低。

因此,综合考虑,我建议我们可以开发~3k芯片,应该可以满足大多数研究材料、育种材料的基因型检测需求。

虽然目前下一代测序技术蓬勃发展,但是对于用于基因型检测来讲,其数据分析与成本相对于芯片都要更复杂和更高。

总之,我们番茄处于刚刚发展阶段,我认为就基因型检测方面,芯片有其很高的应用价值。

即使像玉米,这样测序技术发展很多年的材料,芯片技术也在应用。

1.2全基因组SNP—Douglas:

当用Affymetrix芯片检测鉴定完番茄基因型并完成基因型分析之后,1)对于优良的QTLs或是基因,我们可以直接选择覆盖整个区间的分子标记运行Douglas系统进行分子标记辅助育种,2)对于需要进一步验证的QTLs,我们也可以利用Douglas系统只检测材料覆盖定位区间的基因型,而不需要再一次利用Affymetrix芯片或是其他方法进行全基因检测(图1.1)。

3)对于一些高信息量,均匀分布在全基因的SNP分子标记,可以用来构建番茄的指纹图谱。

因此,一套完整能够与Affymetrix芯片相对应的SNP标记是必不可少的。

图1.1QTL区间上的SNP标记分布图

注:

蓝色为深入片段,棕色为背景染色体。

1.3Douglas系统下SNP标记的开发

通过建立稳定、可靠的番茄DNA提取流程与优化PCR反应体系,筛选具有一致性、稳定性与多态性SNP分子标记引物,从而构建番茄全基因组SNP分子标记。

全基因组的SNP分子标记,可以用于番茄QTL定位群体的检测,分子标记辅助育种的选择以及全基因组选择的群体基因型的检测。

同时,从中挑选高质量,高信息量的分子标记用于构建一套完成的番茄指纹图谱,检测品种一致性。

1.3.1供试材料:

22份材料的DNA用作特异性引物筛选,2份水作为NTC(NoneTemplateControl),共计24份模板作为SNP引物的初期筛选。

以上实验在Q6仪器上进行。

对于筛选获得的一致性引物,在利用94株番茄自交系与2份水作为模板,进一步在Douglas仪器上验证。

1.3.2DNA提取:

1.取~10mg植物组织,加入研磨介质和400μl裂解液,研磨5min,3000g离心5min。

2.加入裂解液1/3体积的提取液,旋涡振荡混匀,冰浴(或置于-20℃冰箱中)5min,于4℃,3200×g离心10min,吸取上清300~400μl加入到样品板中。

3.按照下表在各96孔板中加入试剂:

板号

板型

板名

成分

样品及试剂体积

1

Microtiterdeepwell96plate

样品板(Lysis)

样品反应液

无水乙醇

300~400μl

400μl

2

Microtiterdeepwell96plate

洗涤板I(W1)

PW

磁珠

800μl

30μl

3

Microtiterdeepwell96plate

洗涤板II(W2)

80%乙醇

磁套

800μl

4

KingFisher96KFplate

洗脱板(Elution)

TE1.0

50~100μl

4.将各96孔板按仪器提示顺序放入仪器中,运行程序。

5.程序运行结束后,将DNA溶液转移PCR板中并测量浓度(>100ng/μl),进行后续实验或于-20℃保存待用。

1.3.3分子标记命名:

分子标记全部采用统一的命名规则,这样有利于结果的修改与维护。

例如:

名称

ID

SNP位点

正向引物

反向引物

模板序列

SolBeckman-00001-V1

Sol00001

A/G

引物合成:

由上海生工公司负责引物合成。

1.3.4SNP分子标记的开发:

最近,Sim等人利用番茄的Illumina芯片检测410份自交系与16份番茄品种的基因型。

本研究在此基础上,利用Illumina开发的7,720条探针序列,选择其中丢失频率小于10%,等位基因频率大于10%的探针序列,获得~3,500条探针序列,作为SNP引物开发的模板序列(),每条序列的长度为~100bp,SNP上下游各50bp。

初期,我们可以从~3500条探针中,选取~120探针序列作为模板发展引物,这120条序列要求分布在12条染色体上而且在每条染色体上尽量保证均匀分布。

如果实验成功,我们可以逐步地将剩余的探针序列发展成为SNP引物。

1.3.5正向引物设计:

由于我们需要使用KASP基因分型检测试剂盒,本试剂盒对正向引物已经确定为SNP位点上游~20bp(包括SNP位点),同时需要人工加上FAM或是HEX序列(图1.2)。

因此,我们需要单独设计反向引物。

图1.2正向引物设计

1.3.6反向引物设计:

利用Primer3.0软件对模板序列进行引物选择,引物参数设定如下:

1引物长度为18~25bp;

2GC含量为40~60%;

3TM值58~62°C。

如果其上述模板序列不足以满足引物开发的需要:

我们可以利用剩余~4,200条探针,继续开发新的引物。

另外,我们还可以利用PCR产物测序的方式获得gap中序列,寻找新的SNP位点。

1.3.6PCR反应:

PCR反应体系:

PCR反应体系需要保证均一化,这样可以满足将来在Douglas系统下进行SNP检测。

初期我们会在Q6仪器上进行预实验,摸索一致后,再在Douglas系统中进行。

PrimerMix反应体系:

名称

体积(μl)

FAM-Primer

12

HEX-Primer

12

Reverse-Primer

30

ddH2O

46

Total

100

PCR反应体系:

名称

体积(μl)

ReactionMix

2.5

PrimerMix

0.7

ddH2O

0.8

DNA

1

Total

5

1.3.7PCR反应程序:

我们的PCR产物应该都为<100bp,因此我们可以采用统一设定,保证均一化。

采用两步法进行PCR反应,前期筛选引物我们设计3个复性梯度:

60°C、57°C以及55°C,以便找到最合适的复性温度。

首先,利用60°C的复性温度进行筛选:

步骤

参数

意义

1

25°C1:

30min

反应前收集荧光

2

94°C10min

预变性

3

94°C15s

变性

4

60°C1min

复性,延伸

5

3-4重复40个循环

6

25°C1:

30min

反应完收集荧光

如果SNP引物在60°C复性温度时扩增结果正常,则保留该引物在60°C复性进行PCR反应。

如果得到引物扩增效果不好,则降低复性温度,利用57°C进行复性。

57°C复性温度PCR反应程序筛选:

步骤

参数

意义

1

25°C1:

30min

反应前收集荧光

2

94°C10min

预变性

3

94°C15s

变性

4

57°C1min

复性,延伸

5

3-4重复40个循环

6

25°C1:

30min

反应完收集荧光

如果SNP引物在57°C复性温度时扩增结果正常,则保留该引物在57°C复性进行PCR反应。

如果得到引物扩增效果不好,则降低复性温度,利用55°C进行复性。

最终,如果55°C复性温度时,反应结果不好,则该SNP引物剔除去掉。

55°C复性温度PCR反应程序筛选:

步骤

参数

意义

1

25°C1:

30min

反应前收集荧光

2

94°C10min

预变性

3

94°C15s

变性

4

55°C1min

复性,延伸

5

3-4重复40个循环

6

25°C1:

30min

反应完收集荧光

1.3.8SNP分子标记准确性验证:

对于已在21份模板DNA扩增稳定的SNP引物,需要进一步在大群体中验证其稳定性、一致性、多态性。

选择84份番茄自交系或品种的DNA,通过相同的PCR方法,验证新开发的SNP分子标记。

1.3.9目标要求:

番茄全基因组SNP标记:

在番茄的全基因上,我们获得1200对特异的SNP引物(平均100对/染色体)覆盖番茄的全基因组。

已获得在12份模板DNA能够稳定扩增的SNP分子标记,全部保留。

2分子标记辅助育种:

2.1ILs群体:

如果利用现在群体不再进一步构建亚群体,ILs群体(Lpennellii渐渗系群体)~76个自交系,整个群体数目较小,不利于定位及QTLs验证(图2.1)。

但是对于这些材料的渗入片段都已经注视清楚,因此我们可以直接比较深入系与M82自交系的表型差异,如果存在显著性差异,则可以定义为有深入片段引起的表型差异。

当鉴定结果与已定位的QTLs信息一致时,我们就认为此QTL在区间内。

同时我们要检索此QTL定位时的位置,以此为基础发展SNP标记,用于以后分子标记辅助育种。

对于每个QTL的区间,需要发展4~8个SNP标记覆盖其定位区间(图1.1),其中,区间外两段各一个标记,内部2~6个SNP标记。

这样可以保证目标QTL被完整的应用。

SNP标记的开发,此时的SNP标记只需要在ILs群体的两个亲本中有多态性就可以应用。

引物设计同全基因组SNP引物设计相同。

性状验证:

对于确定的QTLs,我们需要开发对应的SNP标记,利用这些标记重新验证定位结果:

图2.1深入系材料的基因型

2.2IBLs群体:

IBLs群体本身就是分离群体,因此可以直接用作定位(图2.2)。

如果该群体基因型已经被鉴定,我们可以直接利用鉴定的基因型结合我们自己调查的表型,获得QTL初定位的结果。

同时,利用Affymetrix芯片进行全基因组的SNP检测,然后与表型数据相结合进行分析。

然后,需要查看定位的QTL区间内是否存在3Douglas系统下SNP标记,如果满足分子标记辅助育种的应用,可以直接应用。

如果QTL区间内的没有或是过少的SNP标记,则需要重新开发SNP标记(标记开发同上)。

图2.2IBLs群体构建

2.3性状调查:

从我的观点出发,对于分子育种比较有价值研究的QTL,应为育种家需求的性状所对应的QTL。

我认为我们需要跟番茄育种家合作并讨论育种需求与育种目标。

鉴于目前ILs群体定位情况(表1,表2),我认为我们可以从中选择一些我们能够鉴定测量的性状进行研究,例如:

糖分,可溶性固形物的含量,果实形状与大小等。

总之我们要能够测量这些性状。

同时,对于需要研究性状,我们需要对其进行界定,比如果实大小,我们需要测量成熟后几天的果实,作为统一的判定。

以保证性状测量的准确性。

为了能够获得准确的田间试验数据,应该采用良好的田间试验设计。

在此,建议:

现有的两个群体材料都为永久性群体,一般可以采用随机区组或是裂区设计,每个系2~3个重复,鉴定表型。

因此我认为我们应该进行田间实验设计,保证表型数据的准确性。

3SNP指纹图谱构建:

通过已经获得的全基因SNP分子标记,进一步可以从中挑选出稳定、一致的48对SNP分子标记构建番茄的指纹图谱。

挑选参数为:

3.1等位基因频率(AlleleFrequency)

在一个二倍体的某特定基因座上某一个等位基因占该基因座上等位基因总数的比率,是群体遗传结构的一个最基本的尺度,该基因座上所有等位基因的频率之和为1,对于SNP分子标记,一般只包括两种等位基因。

因此,其等位基因频率在~0.5时为最适宜值。

3.2多态性信息含量(PolymorphismInformationContent,PIC):

多态信息量(PolytnorphismInformationContent,PIC)由Botstein等在1980年提出,用来评价一个多态性基因座使用价值的一个量化概念。

PIC由该基因座的等位基因数、等位基因频率分布两个因素决定。

标记基因座的等位基因数越多、各等位基因频率分布越均匀,PIC越大。

i=第j个分子标记中第i个等位基因

n=第j个分子标记的等位基因的数目。

p=等位基因频率

3.3核心引物分组:

另外,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1