在对象中存储和管理特性注释
在GFFAnnotation或GTFAnnotation对象中表示特征注释
的GFFAnnotation
和GTFAnnotation
对象表示一个或多个引用序列的特性注释的集合。您从GFF(通用特征格式)和GTF(基因传输格式)文件构建这些对象。对象中的每个元素表示一个注释。与对象相关联的属性和方法允许您根据参考序列、特征(如CDS或外显子)或特定基因或转录本调查和过滤数据。
构造注释对象
使用GFFAnnotation
构造函数,用于构造GFFAnnotation
对象从GFF或gtf格式的文件:
GFFAnnotObj = GFFAnnotation('tair8_1.gff')
GFFAnnotObj =带有属性的GFFAnnotation: FieldNames: {1x9 cell} NumEntries: 3331
使用GTFAnnotation
构造函数,用于构造GTFAnnotation
对象从gtf格式的文件:
GTFAnnotObj = GTFAnnotation('hum37_2_1M.gtf')
GTFAnnotObj = GTFAnnotation with properties: FieldNames: {1x11 cell} NumEntries: 308
从注释对象中检索常规信息
属性来确定注释对象中的字段名称和条目数字段名
和NumEntries
属性。例如,要查看上一节构造的每个注释对象的字段名,请查询字段名
属性:
GFFAnnotObj。字段名
ans =第1至第6列'Reference' 'Start' 'Stop' 'Feature' 'Source' 'Score'第7至第9列'Strand' 'Frame' 'Attributes'
GTFAnnotObj。字段名
ans =第1 ~ 6列“Reference”“Start”“Stop”“Feature”“Gene”“Transcript”第7 ~ 11列“Source”“Score”“Strand”“Frame”“Attributes”
方法确定功能注释所涵盖的引用序列的范围getRange
方法,使用上一节中构造的注释对象:
range = getRange(GFFAnnotObj)
范围= 3631 498516
访问注释对象中的数据
创建注释数据的结构
创建注释数据的结构使您可以访问字段值。使用getData
类中数据子集的结构GFFAnnotation
在前一节中构造的。
提取%引用序列中位置1到10000的注释
注释struct = 60x1结构数组与字段:参考开始停止特征源得分链帧属性
访问结构中的字段值
使用点索引访问结构中的所有或特定字段值。
例如,提取所有注释的起始位置:
start = AnnotStruct.Start;
提取注释12到17的起始位置。请注意,在索引位置范围时必须使用方括号:
Starts_12_17 = [AnnotStruct(12:17).]开始)
Starts_12_17 = 4706 5174 5174 5439 5439 5631
提取第12个标注的起始位置和特征:
Start_12 = AnnotStruct(12)。开始
Start_12 = 4706
Feature_12 = AnnotStruct(12)。功能
Feature_12 = CDS
对序列读取数据使用特征注释
对HTS测序实验结果进行了研究GFFAnnotation
和GTFAnnotation
对象与BioMap
对象。例如,您可以:
确定与特定注释相关的参考序列区域对齐的序列读取计数,例如在RNA-Seq工作流程中。
在参考序列(如ChIP-Seq工作流)中,在感兴趣的峰值的特定范围内查找注释。
确定感兴趣的注释
构造一个
GTFAnnotation
对象从GTF格式的文件:gtfnotobj = GTFAnnotation('hum37_2_1M.gtf');
使用
getReferenceNames
方法返回注释对象的引用序列的名称:refNames = getReferenceNames(GTFAnnotObj)
refNames = 'chr2'
使用
getFeatureNames
方法从注释对象中检索特征名称:featureNames = getFeatureNames(GTFAnnotObj)
featureNames = 'CDS' '外显子' '开始密码子' '停止密码子'
使用
getGeneNames
方法从注释对象中检索唯一基因名称的列表:geneNames = getGeneNames(GTFAnnotObj)
geneNames = 'uc002qvu. '2“uc002qvv。2“uc002qvw。2“uc002qvx。2“uc002qvy。2“uc002qvz。2“uc002qwa。2“uc002qwb。2“uc002qwc。1“uc002qwd。2“uc002qwe。3“uc002qwf。2“uc002qwg。2“uc002qwh。2“uc002qwi。3“uc002qwk。2“uc002qwl。2“uc002qwm。1“uc002qwn。1“uc002qwo。1“uc002qwp。2“uc002qwq。2“uc010ewe。2“uc010ewf。1“uc010ewg。2“uc010ewh。1“uc010ewi。2 ' ' uc010yim.1 '
前面的步骤为我们提供了与可用注释相关的可用参考序列、特征和基因的列表。使用这些信息来确定感兴趣的注释。例如,您可能只对与uc002qvv相关联的外显子注释感兴趣。2号染色体上的2个基因。
过滤注释
使用getData
方法过滤注释并创建一个只包含感兴趣的注释的结构,这些注释是与uc002qvv关联的外显子。2号染色体上的2个基因。
notstruct = getData(GTFAnnotObj,'Reference','chr2',…)“功能”、“外显子”、“基因”,“uc002qvv.2”)
AnnotStruct = 12x1结构数组与字段:参考开始停止特征基因转录源得分链帧属性
返回结构包含12个元素,表明有12个注释满足您的筛选标准。
提取感兴趣注释的位置范围
筛选数据后,只包含与uc002qvv相关联的外显子注释。使用Start和Stop字段创建与12个注释相关的范围的开始和结束位置的向量。
StartPos = [AnnotStruct.Start];EndPos = [AnnotStruct.Stop];
确定与注释对齐的序列读取计数
构造一个BioMap
对象,该文件包含与染色体2对齐的序列读取数据。
BMObj3 = BioMap('ex3.bam');
然后使用感兴趣的注释的范围作为输入getCounts
a方法BioMap
对象。这将返回与感兴趣的注释对齐的短读计数。
count = getCounts(BMObj3,StartPos,EndPos,'independent', true)
计数= 1399 1 54 221 97 125 0 1 0 65 9 12