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]); } 理查德·摩尔 2020年1月6日21:34 0 票分享 评论动作 永久链接