未验证(为mRNA添加Note属性,Name属性不必须):
是的,你理解得完全正确。如果原始的GFF3文件中没有Note属性或其他包含功能注释的属性字段,你需要:
修改GFF3文件添加注释的简单示例:
scaffold00001 AUGUSTUS gene 1000 2000 . + . ID=gene001;Name=gene001;Note=光合作用相关蛋白
scaffold00001 AUGUSTUS mRNA 1000 2000 . + . ID=mRNA001;Parent=gene001;Name=mRNA001;Note=光合作用相关蛋白
重新导入命令应与你之前使用的命令相同:
bin/flatfile-to-json.pl --out ArtocarpusData/json/FE --gff /path/to/updated_FE.gff3 --type mRNA --autocomplete all --trackLabel genes --key 'Gene models' --getSubfeatures --className transcript --trackType CanvasFeatures --subfeatureClasses '{"CDS": "transcript-CDS", "exon": "hidden"}' --arrowheadClass arrowhead
完成后,你还需要按照之前建议的方式修改trackList.json文件,以确保JBrowse正确显示这些功能注释。
需要:
值得注意的是,在GFF3格式中,Name属性不是必需的,但ID属性通常是必需的。同样,功能注释信息可以存储在多种属性中,如product、Note、description、Dbxref(数据库交叉引用)等。
我需要告诉用户,即使没有Name属性也可以继续操作,JBrowse会使用ID属性作为显示名称。然后,我应该建议几种添加功能注释信息的方式,并解释如何配置JBrowse以显示这些注释。
是的,即使没有Name属性也可以继续操作。JBrowse会自动使用ID属性作为显示名称,所以Name属性可以省略。
对于添加功能注释信息,你需要:
bin/flatfile-to-json.pl --out ArtocarpusData/json/FE --gff /path/to/updated_FE.gff3 --type mRNA --autocomplete all --trackLabel genes --key 'Gene models' --getSubfeatures --className transcript --trackType CanvasFeatures --subfeatureClasses '{"CDS": "transcript-CDS", "exon": "hidden"}' --arrowheadClass arrowhead
json
{
"label" : "genes",
"key" : "Gene models",
"type" : "CanvasFeatures",
"style" : {
"className" : "transcript"
},
"fmtDetailValue_Name": "function(name, feature) { var annotation = feature.get('Note'); return name + '<br /><span style=\"color:gray;\">' + (annotation || '') + '</span>'; }",
"fmtMetaValue_Name": "function(name, feature) { var annotation = feature.get('Note'); return name + '<br /><span style=\"color:gray;\">' + (annotation || '') + '</span>'; }"
}
如果你决定使用"product"或其他名称作为注释属性,请将上面代码中的'Note'替换为你选择的属性名称。