Details
Description
Import the default jalview project, and import a few structures - enough to build a tree (three?). Add all reference annotation and try to use the 'Secondary Structure Similarity' function in the calculate dialog to build a tree or PCA.
The analysis window opens, but no tree or PCA is calculated - because a Null pointer exception has been thrown:
at jalview.analysis.scoremodels.SecondaryStructureDistanceModel.findDistances(SecondaryStructureDistanceModel.java:153)
at jalview.analysis.TreeBuilder.computeTree(TreeBuilder.java:124)
at jalview.analysis.TreeBuilder.<init>(TreeBuilder.java:78)
at jalview.analysis.NJTree.<init>(NJTree.java:46)
at jalview.gui.TreePanel$TreeLoader.run(TreePanel.java:391)
This doesn't work when the calculation is done on one of the other views. It turns out the exception is because there is secondary structure annotation that was manually created (and so sequenceRef == null !)
if (alignAnnotList.length > 0)
{
for (AlignmentAnnotation aa : alignAnnotList)
{
if (selectedSSSource.equals(aa.label))
{
ssAlignmentAnnotationForSequences
line 153 ----> .computeIfAbsent(aa.sequenceRef.getName(),
k -> new HashSet<>())
.add(aa.description);
}
}
}
The analysis window opens, but no tree or PCA is calculated - because a Null pointer exception has been thrown:
at jalview.analysis.scoremodels.SecondaryStructureDistanceModel.findDistances(SecondaryStructureDistanceModel.java:153)
at jalview.analysis.TreeBuilder.computeTree(TreeBuilder.java:124)
at jalview.analysis.TreeBuilder.<init>(TreeBuilder.java:78)
at jalview.analysis.NJTree.<init>(NJTree.java:46)
at jalview.gui.TreePanel$TreeLoader.run(TreePanel.java:391)
This doesn't work when the calculation is done on one of the other views. It turns out the exception is because there is secondary structure annotation that was manually created (and so sequenceRef == null !)
if (alignAnnotList.length > 0)
{
for (AlignmentAnnotation aa : alignAnnotList)
{
if (selectedSSSource.equals(aa.label))
{
ssAlignmentAnnotationForSequences
line 153 ----> .computeIfAbsent(aa.sequenceRef.getName(),
k -> new HashSet<>())
.add(aa.description);
}
}
}