0
头像

SequenceAlignmentDocument.getReferencedDocuments() 返回 NULL

 

大家好,

 

我正在使用 Geneious Public API 开发插件。我使用 SequenceAlignmentDocument.getReferencedDocuments() 方法来获取引用的文档。
在我的测试中,有 3 个核苷酸序列文档,但 getReferencedDocuments() 方法仅返回一个有效文档,其他 2 个文档返回 NULL。

 

你能帮我解决这个问题吗?

谢谢,
查尔斯

卡鲁皮

6 条评论

0
头像

嗨,查尔斯,

如果 getReferencedDocuments() 为某些索引返回 NULL,则意味着对齐确实引用了该索引的任何原始文档。  这可能是由于多种原因。  最常见的两种是:

  1. 用户对对齐进行了更改并放弃了对原始的引用。
  2. 无论创建对齐方式的内容都没有引用 Geneious 中的任何原始文档

这仍然是一个有效的对齐方式。

如果您自己创建这些对齐方式,那么如果您告诉我您如何创建它们或共享代码片段,我可以提供一些建议,以便在适用的情况下包含参考文档。

如果您是从其他地方获得这些信息,那么很可能是您需要处理的有效案例。  你使用参考文件做什么?

马修·张 0 票
评论动作 永久链接
0
头像

嗨,马修,

感谢您的答复。

我使用 Geneious'''''''''''''''''''''''''''''''''''''功能来生成序列比对重叠群。基本上,这就是我所做的:

- 用户通过“搜索”选项创建序列或从其他系统导入序列。

- 用户使用“映射到参考”对齐序列。

- 一旦生成序列比对重叠群,插件就会读取重叠群。这是我使用 getReferencedDocuments() 并且此 API 返回 NULL 的地方

如果您需要更多详细信息,请告诉我。

谢谢,

查尔斯

卡鲁皮 0 票
评论动作 永久链接
0
头像

嗨,查尔斯,

如果您使用 Geneious Mapper 执行此操作,则默认情况下对齐的序列应参考原始文档。  但是,如果您要映射大量序列,我们不会创建这些引用,因此这可能就是您所看到的。

你映射了多少序列,你需要参考文档做什么?

干杯,
马修

马修·张 0 票
评论动作 永久链接
0
头像

嗨,马修,

我正在将 96 个序列与 53 个(参考)序列进行比对。您能否让我知道是否对参考序列的使用设置了任何限制?

谢谢,

查尔斯

卡鲁皮 0 票
评论动作 永久链接
0
头像

嗨,马修,

因此,为了验证我面临的问题是否与大量序列有关,我只对齐了 2 个序列并且效果很好。它有效,即引用不为空,最多 48 个引用序列。当我尝试使用超过 48 个参考序列时,getReferencedDocuments() 返回 NULL。

很明显,问题在于比对中使用的参考序列的数量。

请确认是否有任何此类限制?

Thanks for your help!

问候,

查尔斯

卡鲁皮 0 票
评论动作 永久链接
0
头像

嗨,查尔斯,

我可以确认有一个限制。  我们这样做是出于性能原因。  它取决于许多因素,包括被映射的序列数量和参考序列的长度。

如果您告诉我以下长度,我可以确认您是否应该达到此限制:

  1. 你的参考序列
  2. 被映射的最长序列
  3. 被映射的最短序列

但是,您的插件应该仍然能够处理引用文档为空的情况。  你需要参考文件做什么?  如果您只需要知道哪些文档被用作输入,您可能可以使用 DocumentHistory 或 Lineage 来获取它。 

请参阅 OperationRecordDocument: https ://assets.geneious.com/developer/geneious/javadoc/latest/com/biomatters/geneious/publicapi/documents/OperationRecordDocument.html 或
文档历史:https://assets.geneious.com/developer/geneious/javadoc/latest/com/biomatters/geneious/publicapi/documents/AnnotatedPluginDocument.html#getDocumentHistory--

干杯,
马修

马修·张 0 票
评论动作 永久链接