0 1)这取决于此代码的位置。您有新的查看器并且想要从序列视图中获取选择吗?或者它是一个手术还是其他什么东西? 2) 要将按钮添加到内置工具栏,请覆盖DocumentViewer 中的getActionProvider()方法。有关其工作原理的详细信息,请参阅 com.biomatters.geneious.publicapi.plugin.ActionProvider上的 java 文档。您可能希望覆盖ActionProvider 中的 getOtherActions()方法。 理查德·摩尔 2013年6月10日22:45 0 票分享 评论动作 永久链接
0 你好1) 是的,我基于 ExampleDocumentViewer 创建了一个查看器。我想从序列视图中获取所选区域的间隔。我想知道如何获得开始和结束残差来提取间隔。2) getOtherActions() 正是我正在寻找的方法,谢谢。3) 我的文档由几个不同的注释组成,如果我开始单击复选框以启用/禁用特定注释的可见性,则需要时间。我正在考虑对注释进行分组,单击即可使它们可见或不可见。我找到了序列轨道的 api 文档。我认为它可以提供对注释进行分组的可能性。通常,我的代码是列表<SequenceAnnotation>结果 = 新的 ArrayList<SequenceAnnotation> ();最终的 SequenceAnnotationInterval 间隔 = 新的 SequenceAnnotationInterval(startPos, stopPos); SequenceAnnotation gene_annotation = new SequenceAnnotation(label_anno,"基因簇",interval); gene_annotation.addQualifier(new SequenceAnnotationQualifier("cluster1", ""));结果。添加(基因注释); 返回 Arrays.asList(results); 这段代码对我来说非常好。我对 SequenceTrack 有点困惑,因为它没有创建 SequenceAnnotation 的功能。有没有更好的方法来对不同的注释类型进行分组? SequenceTrack track = new SequenceTrack("序列注释"); track.addQualifier(new SequenceAnnotationQualifier("genes found", ""); // 没有指定间隔,这给出了一个空异常 SequenceTrack.Manager manager= new Manager(plugindocument); manager.addTrack(track); annotatedPluginDocument = DocumentUtilities.createAnnotatedPluginDocument(plugindocument); annotatedPluginDocument.saveDocument(); 问候,阿肖克 ashok 哑光 2013年6月11日14:58 0 票分享 评论动作 永久链接
0 1) 在这种情况下,您将需要收听序列查看器在选择更改时发出的选择消息。在您的查看器中覆盖方法getIncomingMessageHandler()并返回一个实现方法setSequenceSelection()的新 DocumentViewerMessageHandler 。每当序列视图(或任何其他视图)更改选择时,就会调用此方法。有关更多详细信息,请阅读 DocumentViewerMessageHandler上的 javadoc。 2) 很棒:) 3)我认为轨道是正确的使用方法。您应该以正常方式创建注释,然后使用SequenceTrack.setAnnotations(List<SequenceAnnotation> )将您的注释放在轨道中。 理查德·摩尔 2013年6月11日21:18 0 票分享 评论动作 永久链接
0 嗨,理查德,谢谢,很有帮助。 我无法将我的注释添加到曲目中。它导致没有任何注释的简单序列。我想我在这里错过了一些小事。我的代码在调用模块时有问题吗?我在 DocumentFileImporter 中使用它。 SequenceTrack track = new SequenceTrack("杂项簇");列表<SequenceAnnotation>结果 = 新的 ArrayList<SequenceAnnotation> ();结果。添加(注释); // 添加注释到序列注释列表track.setAnnotations(结果); SequenceTrack.Manager manager = new SequenceTrack.Manager((DefaultSequenceDocument)plugindocument); manager.addTrack(track); annotatedPluginDocument = DocumentUtilities.createAnnotatedPluginDocument(plugindocument); callback.addDocument(annotatedPluginDocument); 问候, 阿肖克马特。 ashok 哑光 2013年6月12日20:31 0 票分享 评论动作 永久链接
0 您需要从序列中获取一个,而不是构建一个新的轨道管理器: ((DefaultSequenceDocument)pluginDocument).getTrackManager(false).addTrack(track) 理查德·摩尔 2013年6月12日22:03 0 票分享 评论动作 永久链接