0
头像

对primer3 计算的API 访问

我正在编写一个用于设计引物的自定义插件。是否可以通过Geneious API 调用primer3?

我特别想访问 Tm 计算,但其他一些计算也可能有用。

肖恩·约翰逊

1条评论

0
头像

这是一个您可以复制的方法,它调用我们的primer3 插件:

/**
* 调用与“Characteristics for Selection...”相同的操作,使用primer3 计算Tm
* @param 序列
* @return 解链温度或 -1 如果序列为空
* @throws DocumentOperationException 例如,如果序列对于primer3 来说太长(超过36bp)
*/
私有静态双计算熔化温度(CharSequence 序列)抛出 DocumentOperationException {
if (sequence == null || sequence.length() == 0) return -1;
if (sequence.length() > 36) throw new DocumentOperationException("Sequence too long for prime3");

SequenceAnnotationGenerator generator = PluginUtilities.getSequenceAnnotationGenerator("com.biomatters.plugins.primerDesign.CharacteristicsAnnotationGenerator");
if (generator == null) throw new DocumentOperationException("未启用初级设计插件。");

AnnotatedPluginDocument apdDoc = DocumentUtilities.createAnnotatedPluginDocument(new DefaultNucleotideSequence("temp", sequence));
SequenceAnnotationGenerator.SelectionRange selectionRange = new SequenceAnnotationGenerator.SelectionRange(0, 0, 0, sequence.length() - 1);
列表<List<SequenceAnnotation> > 特征注释;
选项 annealingCharacteristicOptions = generator.getOptions(new AnnotatedPluginDocument[] {apdDoc}, selectionRange);
featureAnnotations = generator.generateAnnotations(selectionRange, ProgressListener.EMPTY, annealingCharacteristicOptions, apdDoc);
String tm =characteristicAnnotations.get(0).get(0).getQualifierValue("Tm");
//其他特征如发夹可以在这里检索
return Double.parseDouble(tm.split("-")[0]);
}
理查德·摩尔 0 票
评论动作 永久链接